Nobody knows why exactly, but my cartridge code is now alive.
The problem is on the C64 side of things and mainly has to
do with the routine that would copy my bootloader into a safe
RAM location.
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.
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.
Had a few days off this project. Obviously that doesn’t mean
that no on-topic thinking takes place, and it’s been fruitful. The
Easyflash generator works correctly now as far as I can tell. Not
releasing it to the world just yet, but for now I can generate
a working EasyFlash cartridge.
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.
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.
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.
In the last post I explored why porting the AGI engine would be a fruitless
endeavour. So now what? Hand-code the whole thing 6502 Assembler! Yes! Well,
sure, but how to go about that? This blog describes some of the design choices
I made while weighing my options on the Commodore 64.
Back in 1987 Sierra OnLine released an adventure game that shaped a significant part of
my “gaming upbringing”. Leisure Suit Larry may not have been very appropriate for my
10 year-old self but it was fun! Walk the guy around a city and try to get him to do all
sorts of things in order to finally win the game. The game came out on the IBM PC, which
is also what I played it on. Later on, I saw the very bad Amiga port and at some point I
wondered why it never came out for the C64. Looking for a hobby project, I decided to
bite off a lot more than I can chew and started porting the game.