Commit Graph

258 Commits

Author SHA1 Message Date
Jeremy Rand dbbdd156e3 Fix the bug where the tiles on the RHS may be marked dirty and accumulate garbage if the player dies on the RHS. Add some more debug for the crashing bug I am chasing. It looks like more than 12 segments have been added so I am adding debug to detect when the number of segments exceeds 12. 2020-12-25 23:59:09 -05:00
Jeremy Rand a5296ee1b8 Fix the bug where shots can pass through a mostly destroyed mushroom, this time for real. 2020-12-25 22:26:13 -05:00
Jeremy Rand 929343aead Add a bug for the muddy sound on real HW. 2020-12-25 01:19:19 -05:00
Jeremy Rand 917c5b97f0 Also change the volume to 0 for looping sounds which are to be stopped. 2020-12-25 00:38:58 -05:00
Jeremy Rand 58cc259d67 Track whether the looping sounds are or are not playing with some boolean values. 2020-12-24 23:50:17 -05:00
Jeremy Rand e80579f983 Add some TODO items and remove the sound TODO. 2020-12-24 00:45:34 -05:00
Jeremy Rand 493473724b Add some more bugs to the list based on tonight's play testing. 2020-12-24 00:31:39 -05:00
Jeremy Rand 91ce6ada31 Extend the length of the flea sound and describe the spider junk bug some more. 2020-12-24 00:15:50 -05:00
Jeremy Rand d65a4ca307 Fix the high pitched sound at the end of the flea sound. It was an off by one leading to an extra frequency being played. 2020-12-24 00:02:41 -05:00
Jeremy Rand 9f74cb46b2 Hit the sound GLU registers directly instead of calling the ROM routines for setting DOC registers. 2020-12-23 23:26:52 -05:00
Jeremy Rand ea49a5d11c Add the scorpion sounds. 2020-12-23 14:54:17 -05:00
Jeremy Rand b952d42427 Some cleanup of some dead code for flea sounds. 2020-12-22 23:43:17 -05:00
Jeremy Rand b432cf654b Implement stereo sound. Sounds now come from the left or the right speaker depending on where the sound is coming from on the screen as much as possible. 2020-12-22 23:40:21 -05:00
Jeremy Rand d4d511ee4f Fix the bug where the "can shoot" indicator was sometimes not cleaned up. The real problem was that the mouseAddress was incorrect on the first frame of the next life. It still pointed to where the player died. 2020-12-22 21:25:20 -05:00
Jeremy Rand 0dee9929a8 Update the flea sound. 2020-12-22 02:57:09 -05:00
Jeremy Rand d962e98368 Add the flea sound. 2020-12-22 01:00:10 -05:00
Jeremy Rand 2f3b04b306 Fix typo in acknowledgements. 2020-12-18 13:42:53 -05:00
Jeremy Rand da6fbb2831 Add Dagen to the acknowledgements. 2020-12-18 13:41:14 -05:00
Jeremy Rand 4d2a96673d Add some more bugs to the list. 2020-12-18 13:26:42 -05:00
Jeremy Rand 32aee75462 Add the segment, spider and extra life sounds. Add some more information about the mysterious crash. 2020-12-18 00:50:01 -05:00
Jeremy Rand ec1eb7cc0e Directly control the Ensoniq sound chip by writing to its registers to play sounds rather than using the free form synthesizer functions in the sound toolbox. 2020-12-17 00:35:56 -05:00
Jeremy Rand 763ce0626e Fix problem on real HW where the player will start the next level shooting if they died while shooting, regardless of the state of the mouse. It now ignores the first poll of the mouse at the start of a level to avoid stale poll information. Add some debug in the code for jumping to the head and body segment draw routines to confirm that the table offsets are sane. I have seen a crash which indicates that sometimes the offset is incorrect. 2020-12-16 12:51:37 -05:00
Jeremy Rand d201f80c3b Move the sound code into a gameSound.s file. This is the first step towards going around the sound toolset for playing sounds. 2020-12-16 12:00:56 -05:00
Jeremy Rand 622f0e5f9f Add an acknowledgement and a bug based on testing on real HW. 2020-12-10 22:31:46 -05:00
Jeremy Rand 0136579125 Disassociate sound resources from the generators they are connected with. Use multiple generators to play multiple shot sounds at the same time. It sounds weird but it kind of works. 2020-12-10 21:55:13 -05:00
Jeremy Rand bae931aaa6 Add sounds for shooting, killing bugs, dying and resetting mushrooms after death. The shoot sound isn't great because it doesn't restart when rapid fire is happening but this is a start. 2020-12-10 00:45:48 -05:00
Jeremy Rand 8b2e753b68 Load the sounds at startup. 2020-12-09 01:38:03 -05:00
Jeremy Rand 42585898a4 Rename tileData.pl to genData.pl because we are generating more than just tile data now. 2020-12-08 00:28:04 -05:00
Jeremy Rand 73458254e5 Add an acknowledgements file and fill in some information but I need to go through and make sure more people are recognized for their support. Add some raw sounds and include them as resources in the binary. 2020-12-08 00:23:42 -05:00
Jeremy Rand 1650e8e040 Fix bug where slow head segments would not detect collisions with other segments and change direction. 2020-12-04 00:32:42 -05:00
Jeremy Rand 7368281d58 Fix a long standing bug I have ignored for too long. When adding centipede segments on the left or right, if there was a mushroom right where the segment was arriving, it would try to change direction even though it was still mostly off-screen. This lead to some very strange segment tracks that should never happen. I have added code to ignore blocking mushrooms and not change direction when the segment is partially off-screen. 2020-12-02 23:51:06 -05:00
Jeremy Rand 8c40086e03 Add the code to prevent the player from passing through a mushroom. 2020-12-01 23:37:17 -05:00
Jeremy Rand 94c7e3f9e4 Add some infrastructure to block the player from passing through mushrooms. The next step will be to code that algorithm. Also, added a build improvement to better handle assembly errors and pass them in to Xcode. 2020-11-30 00:11:55 -05:00
Jeremy Rand ae8dde2d87 Add the ability to use mame as the GS emulator. The mouse works better under mame than GSPlus for this game. For now, I have both options in the launchEmulator script with one of them commented out. It would be good to put this into the base Makefile infrastructure so mame could be selected as the emulator to use. 2020-11-27 02:19:31 -05:00
Jeremy Rand 5258e79176 Add the code to reset the mushrooms after death. 2020-11-24 23:44:50 -05:00
Jeremy Rand 7264cf907d Clamp mouse movement to a max of 8 pixels per frame. Add some code which will become the "refresh the mushrooms after death" implementation. 2020-11-24 22:59:08 -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 868f4a3199 Fix a crash that would happen if the last centipede segment collided with the player. Both level and player code was trying to start the next level and the corrupted things badly. Now, the level code is always responsible for starting the next level. The player code only restarts a level when the player dies and doesn't finish the level. 2020-11-19 23:45:23 -05:00
Jeremy Rand fd40c12d31 Explode a bug when it crashes into the player. When the last segment collides with the player, go onto the next level. 2020-11-18 23:36:01 -05:00
Jeremy Rand 7d64340b5d Ignore offscreen collisions 2020-11-17 23:43:28 -05:00
Jeremy Rand 520aaa5a34 Add collision detection for all of the bug types. Remove the debug code for shooting bugs. It is almost a functional game now! 2020-11-17 22:53:30 -05:00
Jeremy Rand 64f96896f7 Add the ability to shoot. Detect shot collisions with mushrooms and shoot the mushrooms. Remove the ability to randomly shoot the mushrooms because that debug is no longer needed. Fix a bug where the number of infield mushrooms was not being updated for mushrooms which were shot until gone. 2020-11-16 23:48:36 -05:00
Jeremy Rand 4e6bad0ae7 Start adding the code for supporting shooting. 2020-11-16 00:14:08 -05:00
Jeremy Rand 51b047e58b Add some items to the todo. But this is by no means a complete list. 2020-11-11 23:54:34 -05:00
Jeremy Rand 2abb57b1a5 Add the code for detecting player collisions, exploding the player, decrementing the number of lives and maybe ending the game. 2020-11-11 23:51:09 -05:00
Jeremy Rand 6e49c4c483 Add sprites for ship explosions which are different from the other explosions. 2020-11-10 00:07:10 -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 f58a831eb9 Fix the bugs related to marking dirty tiles for the player. Everything seems to move smoothly now and works well at 2.8MHz. Next, I need to block the player from going over top of mushrooms. 2020-11-05 01:54:12 -05:00
Jeremy Rand edcddc0bd8 This build has the player moving in X and Y directions and with cleaner handling of the dirty tile to remove the inefficiencies. The good news is that there is no longer any performance problem at 2.8 MHz now that the inefficient dirty tile handling has been removed. The bad news is that they player leaves garbage behind indicating some kind of problem with dirty tile marking. But it is close. 2020-11-05 00:21:46 -05:00
Jeremy Rand bb66ef4b03 Replace the C code which built tables at game launch time with a script which generates these tables at build time. This reduces the start time of the application and saves code space and is a necessary step before adding some new tables to handle the mouse efficiently. 2020-11-04 22:48:18 -05:00