I have started to look at the Atari 2600 PoP project again now that the Harmony software is essentially done. I am making no promises on getting it finished, but I intend to do a bit more work on it to see where it goes. At the very least, I want to include the excellent sprites that LS_Dracon has produced. The first thing that I have done is to completely rewrite the kernel:
From the screen-shot, it looks almost identical to the old kernel, but there are two important differences.
- The old kernel had only a single ball sprite for the sword, which I intended to flicker between the player and guard. The new kernel displays separate missile sprites for the player and guard, and so it can display the swords flicker-free.
- The old kernel had blank lines for repositioning above and below the floors. The new kernel displays the playfield without any gaps at all.
This new PoP kernel is probably the most complex Atari 2600 kernel that I have written so far. It doesn't use any self-modifying code or extra RAM, yet it displays an asymmetric playfield with two player and two missile sprites in full colour (glitch-free). It also uses my favourite mid-kernel repositioning trick to display the playfield without any gaps. Note that both the player1 and missile1 sprite are repositioned mid-kernel. The only restriction is that the player missile sprite can't be drawn on the same lines as the floor, but we probably don't need the missile on these lines anyway.
I have attached the binary and source for the new kernel. You can move the player (no animation) with Joystick 0, the guard with Joystick 1 (keys G & J on Stella), and change the playfield colours with Fire.
The next step is to merge this kernel with the previous PoP code. I will probably also convert the game from Supercharger format to another bankswitching type. The Supercharger 6K format is quite limited, and the Harmony cart can now support many other types.