I’ve been working on a couple projects. The first is a new loader program for the CoCo 3 that uses the excellent ZX0 compression by Einar Saukas and the efficient and fast 6809 decompression routine written by Doug Masten. The loader allows me to not only compress the program I’m working on but also allows me to load it anywhere in memory, including onto memory where the ROMs are located (even over the built in loading sections of BASIC). I’m using a loading technique from William Astle’s PDF on the topic. This means I can just write a program and not care if it’s going to overwrite part of BASIC or the stack space or the variables space in low memory. The loader takes care of all that for me. If there’s interest in it I’ll upload it to GitHub once it’s polished and more user friendly. It’s written using the QB64 BASIC compiler which is cross platform so anyone will be able to use it.
Now that I have a new loader program I can concentrate on Joust and not have to think about where to load blocks of the program and when I need to add new code I just write it knowing the loader will make sure it ends up where I want it.
Back to Joust, I now have Joust in a pretty good working position and I thought I’d record the progress. I wrote some code to simulate the blitter hardware built in to the Williams arcade machines (all but Defender) to allow me to see if the game is working properly. The graphics are working but it’s glitchy because the blitter code I wrote doesn’t handle transparencies and even though the code is pretty optimized it’s not as fast as drawing compiled sprites on the screen. Even with the glitches I think it’s nice to see the demo animation on a CoCo 3 screen. It helps to keep me motivated…
Click on the video link below if you want to see the progress. I commented the video a little but I was pretty tired when I recorded it and I sound like it. 😊
See you in the next post,