Commit Graph

23 Commits

Author SHA1 Message Date
Jeremy Rand 37faafb698 More work isolating the global high score code from the game so it can be made a generic library. 2022-05-25 22:58:53 -04:00
Jeremy Rand 701585df1a Move non-game code out of the main segment to make more room for more high score code. 2021-06-28 22:33:01 -04:00
Jeremy Rand 5e26684fd2 Retrieve global high scores from the Internet and display them in the game. 2021-06-01 23:13:14 -04:00
Jeremy Rand f6ecb9bf65 Add some comments about my testing at 50Hz and add a new bug for the lack of a "GAME OVER PLAYER #" message in a two player game. 2021-01-27 23:28:06 -05:00
Jeremy Rand a4a4b9ae4d Start to change the sound code to wait for the doc to be free and to write and then read to verify that the register write succeeded or try again. That seems to cleanup the sound on real HW. I have only done this for the bonus and the firing sound but probably all register writes should be done this way. 2021-01-22 00:34:07 -05:00
Jeremy Rand 384a9ea233 Make more globals per player and index into them with the player number at game time. 2021-01-10 23:17:05 -05:00
Jeremy Rand 4d6f8d39f1 Change the prompt when the stereo channels are swapped so the user gets some feedback. Display the high score list. Still need to add the code to update the high score list. 2020-12-30 23:10:22 -05:00
Jeremy Rand aee2b26fea Add some info about how to start a game and quit and make space for showing the high score list. 2020-12-29 14:15:25 -05:00
Jeremy Rand 10a1d075fd Add support for pausing the resuming the game. Now, any key pressed during a game pauses the game. Pressing q from the paused game will quit the game and any other key will resume the game. So, quiting with a game in progress takes two key presses. One key press to pause the game and then the user must press q or Q to actually quit. 2020-12-29 00:00:39 -05:00
Jeremy Rand 34d16c9944 Implement the code to compare and update the high score. Add a todo for a high score list with initials. Remove the border colour performance debug. 2020-11-20 00:31:09 -05:00
Jeremy Rand c24b8ad072 Change the spider score colour to be the same as mushroom colours so the player does not detect it as a collision. Add code to display the number of lives and add to the number of lives ever 12,000 points. This lays the groundwork for handling player death and collisions. 2020-11-09 00:12:51 -05:00
Jeremy Rand 0dd8222611 Add the code to handle restricting the spider to lower and lower rows as the score goes up. This is the final bit of game logic necessary for the bugs in the game I think. 2020-10-26 22:32:46 -04:00
Jeremy Rand 96a6b6f51f Implement the code to add the flea at the right time. This includes tracking the score in multiples of 20,000 and adjusting the number of mushrooms required in the infield before a flea will appear. Simplify the other score based thresholds which are based on multiples of 20,000 to use this test. Add debug which allows me to add 20,000 to the score whenever I want so I can test these thresholds more easily. 2020-10-25 23:11:11 -04:00
Jeremy Rand b85000b4ed Start adding the infrastructure for levels and score. 2020-10-13 00:09:37 -04:00
Jeremy Rand 36617cbf9d Lay some more groundwork for animating centipede segments. We now have an array of 96 (97 actually) entries which describe the position of the segment now or in the past. By keeping past information, body segments which follow head segments will take no calculation to update. We just have to animate head segments and body segments will follow them 8 pixels behind automatically. 2020-09-07 22:35:32 -04:00
Jeremy Rand 3b541f8482 Fix bug leading to crash when trying to add centipede body segments. I needed to have a nop instruction after the self-modifying long jump. I am writing 4 bytes of the address into the long jump which only uses a 3 byte address and I was corrupting the next instruction. Inserting a nop ensures no corruption happens. 2020-09-06 13:39:00 -04:00
Jeremy Rand f5d1aa9ee6 Improve the performance of the centipede segment draw function. 2020-09-06 02:05:33 -04:00
Jeremy Rand 92c02ded0f Simplify the handling of the dirty tiles to just store the dirty word and not keep the array of dirty tile offsets. Have the flea use game and non-game dirty tiles to fix the problem with LHS tiles being marked dirty all the time. 2020-09-04 01:55:38 -04:00
Jeremy Rand 22a22d3533 Change the code to race the beam down the screen, redrawing the dirty game rows as it goes. 2020-09-04 00:17:19 -04:00
Jeremy Rand b07221c363 Change from an array of structs to a series of individual arrays for the tile information. This makes it easier to index into the arrays because the tile number * 2 is the offset, rather than tile number * 16. 2020-09-02 00:15:53 -04:00
Jeremy Rand df56cdecf1 Add the ability to display head segments of the centipede. Body segments is not working yet. 2020-08-27 23:36:16 -04:00
Jeremy Rand 3a63b2ef1b Add code to support marking dirty tiles under head and body segments. 2020-08-27 22:36:04 -04:00
Jeremy Rand 7d7afc908d Use macros to reduce the copy/pasted code for marking tiles as dirty. Rough out the support for body and head segments. 2020-07-30 23:34:48 -04:00