Area536 :: Rebooted

Nov 1, 2023 - 6 minute read - C64 gamedev

Musings on text input for Larry 64

Leisure Suit Larry originally featured a free text input system that allows the player to enter instructions for Larry to carry out. These instructions take the form of sentences in plain everyday English. Parsing and interpreting this so that a video game can make sense of it is quite a challenge. Can we teach a computer English? It seems so, but not one from the 1980’s. The Commodore 64 does not have the RAM nor does it have the CPU to completely parse English setence structures and grammar. But the good news is: neither did the PC on which Larry first came out. There are tricks involved!

Oct 30, 2023 - 8 minute read - C64 gamedev

Larry 64 core - drawing the screen

As mentioned earlier, I’m not porting AGI but writing Larry again from scratch to cater to the specific strengths and weaknesses of the C64 as a platform. I’m doing this in 6502 Assembler as that’s the only way for me to gain the required speed and control over the hardware that is needed to pull all the tricks I need. In this post I’ll provide more detail on how the screen actually gets drawn.

Oct 27, 2023 - 3 minute read - C64 gamedev

Massive hiatus, NAS crash from hell

To borrow the words of the greatest hero of all time who never was, Samwise Gamgee: I’m back! And it’s been quite a ride this past month. Let’s stick with the project and surrounding computer stuff for now.

Sep 9, 2023 - 2 minute read - C64 gamedev

Figuring out bank switching on EasyFlash

Started a new Git project for Larry on cartridge. Adapted the framework I found online and things now work. I can actually load a cartridge reliably and get the machine into a state that I can work with. Decided to do an intro sequence for the game. It helps that this forces me to deal with bitmapped graphics again, which is something I hadn’t incorporated into the automated build before.

Sep 8, 2023 - 2 minute read - C64 gamedev

Back on the project, EasyFlash still not completely understood

Started a new Git project for Larry on cartridge. Adapted the framework I found online and things now work. I can actually load a cartridge reliably and get the machine into a state that I can work with. Decided to do an intro sequence for the game. It helps that this forces me to deal with bitmapped graphics again, which is something I hadn’t incorporated into the automated build before.

Sep 6, 2023 - 1 minute read - C64 gamedev

EasyFlash lives!

Spending a little bit of time today on my EasyFlash generator. Decided to feed the tool YAML files instead of command line parameters. Defined the YAML spec in the README that goes with the tool.

Sep 5, 2023 - 2 minute read - C64 gamedev

Building my own tools in Rust

Not much time to work on Larry or its surrounding projects today. Read up on the cartridge formats most of yesterday and decided on implementing EasyFlash as a CRT image. The CRT format seems to be canonically defined by the VICE emulator nowadays, so that’s what I’m going to use. The main problem there is a lack of scriptable tooling. I will not proceed with a game of this size without the ability to automate the build process.

Sep 4, 2023 - 4 minute read - C64 gamedev

Cartridges and REU

The C64 community on Twitter pointed me in the direction of releasing Larry in a cartridge format. That’s something I never even considered because it used to mean creating physical hardware. Nowadays cartridges are just files so it could be useful, so next steps: figure out what they are and how they work.