Most recently I’ve been implementing the top grid which comes down on Stages 4,9 and 14. Here’s a screenshot of the original to give you some idea.

I thought I had already been through the code for doing the floor grid and the sky, but when I started going through it to incorporate the top grid, I found things could have been better. So I took some extra time out to try and improve them, while I was at it.
Another thing was adding the mirror function to the sprite loader. In Space Harrier you’ll notice there are often objects that are exactly the same, expect one is a mirror image of the other. E.G. The robot can face to the left with its gun pointing right, or it can face to the right with the gun pointing to the left. The arcade machine can mirror its sprites easily by telling the hardware just to draw it the other way round. Unfortunately the Atari is too slow to do this and has to waste memory by storing another sprite drawn facing the other way already. But during the loading of each stage there is enough time to do this, so we don’t need to store or load the extra sprite from the disk, just calculate it for use later.
I also did some fooling around with the sample playback routines. Although you don’t notice on a real Atari, on an emulator, you can hear some clicks and pops as the sample plays back. Part of this is due to the emulator having to resample to playback at a different rate from the original, but it highlights some timing difficulties in the game. Moving the position of when the horizontal colour changes (done with Display List Interrupts on the Atari), to either odd or even scan lines, makes a difference. I think it will sound a bit better now on emulators.



Recent Comments