I recently got a pretty strange idea. I decided to reverse engineer the C64 tape loader, Invade-a-Load.
Invade-a-Load is a Space Invaders clone written in 1987 by Richard Aplin, who also wrote the Load 'n' Play tape loader game. These tape loader games were pretty cool. It was really neat that you could play a game while the actual game was loading from tape. Tape loader games made the loading time on tape seem much shorter because you already got to play a game while waiting for the main game to finish loading.
When I found out how exactly the loader works, I replaced the original tape loader game with my own game, Break Free!, which is a simple-ish Break Out clone.
Changing the loader game wasn't too complicated. The only thing I had to do was to remove the old program at $F87B-$FF8F and put my own code there instead. My game begins at a slightly different address, so I also re-directed the JMP at address $F803 to JMP at my own game code.
I also changed a tiny little thing in the loader. Invade-a-Load loads 3 files for the loader game. One of those files is the Rob Hubbard music. However, since my game has only sound effects and no music, it only loads two files: the character set at $F000-$F1FF and the actual game at $F800-$FFF8. So, I changed the value at address $0349 (ROM Loader file) from 3 to 2.
Before I started creating Break Free!, I experimented with SID sound effects. I was actually going to make a soundless tape loader game at first, but after having fun with sound FX experiments and coming up with sounds that sounded pretty neat to me, I quickly changed my mind. In fact, for some reason it was the sounds that made me want to build a game around them. :)
Creating the new tape loader game was great fun. Stay tuned for future releases from me. I have several upcoming C64 games in the pipeline after all, one of them being Electro Gates. I might write something about that game in my blog one day.
See you in my next blog entry!