I originally was trying to get the entire test rom into 4k, so that it would take two 2716 /2532 / 2732s. However, In order hold the data required to test all the games this won't be possible. So I've added bank switching and have increased the maximum size of the program to 8k. Note: I will have a separate slimmed down 4k version that only tests the 4k games: Space War, Starhawk and Barrier.
This means I've outgrown some of the initial assumptions I had in writing routines. I've had to backtrack a bit to spread the program across the two banks and manage bank switched subroutines and data. Without a stack, return addresses from subroutines have to be maintained by the programmer. Add to that the return can be to the same bank or a different one and that the routines can be nested and I've got a bit of a mess to clean up.
Left to do:
- Adjust Ram test to work without JMI: so that it will work with the older games.
- Finish Sundance keypad control tests: Only game that one press changes multiple inputs
- Rework returns from Bank-switched subroutines: this is a pain, but has to be done
- Add vector frame around game selection screen for yoke adjustment.
- Tweak vector timing in ram test and text drawing to fix smearing: vector draw is being turned on before beam has reached it's intended destination.
- Add Gear 4 control for Speed Freak: it's an exception to the rule, on when nothing's pressed
- Expand timing routine for sound triggers: My current routine just plays each sound for a fixed length of time and then moves to the next sound. This works fine in Mame where samples are being played, but on the actual game hardware doesn't simulate the sound heard in the game well at all. This will be a two part timer: length of time sound played and length of time sound is off. Sounds will still be able to be locked with sound on.
- Finish tweaking and testing sound data where I'm able and cleanup silencing of sound boards.
I'll post pics / video at some point soon with more updates & notes on Cinematronics programming to come. The good part about all the work for the test rom is that many of these routines will be able to be used for future new games making me that much further along for those projects.
No comments:
Post a Comment