Commit Graph

255 Commits

Author SHA1 Message Date
Jeremy Rand
0e1e35c7cb Lots of updates to the readme. Add some bars along the left and the right to delineate the play area. 2021-02-12 17:31:30 -05:00
Jeremy Rand
10c8111397 Mark support for Versions as done. 2021-02-10 00:19:43 -05:00
Jeremy Rand
a890cc8212 Bump the version. Fix the download URL resource. Fix a typo in the readme file. 2021-02-09 23:10:37 -05:00
Jeremy Rand
b87d3e8870 Update the version information and add a readme to the distribution. 2021-02-09 01:01:11 -05:00
Jeremy Rand
c0b76e46bc Add the icon into the resources so if the Icon folder isn't copied, the icon of the application will be preserved in the resources. Start to add some of the resources to support Versions updates. 2021-02-05 00:14:24 -05:00
Jeremy Rand
49c17c2005 Bump the version number to 0.9.5 beta. 2021-02-01 22:32:20 -05:00
Jeremy Rand
e213cc918b Fix the last known bug. The "Game Over" screen is now shown when the first of the two players in a two player game runs out of lives. 2021-02-01 22:31:53 -05: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
94738ca54c Change the template BuGS.2mg disk image so that the BuGS executable is clearly visible in the finder window. 2021-01-26 23:16:37 -05:00
Jeremy Rand
23b37d095b Fix the mysterious appearing mushroom bug. 2021-01-26 00:25:35 -05:00
Jeremy Rand
da99d84437 Update the bug list. 2021-01-25 10:53:21 -05:00
Jeremy Rand
7382a7f4aa Just do writes to the DOC when initializing the sound without a read check. The read check seems to fail for the size register for some reason. Bump the version number. 2021-01-24 14:04:49 -05:00
Jeremy Rand
13f8602048 Finish changing the sound code to adopt the new method for modifying registers. 2021-01-23 11:39:01 -05:00
Jeremy Rand
9d42dd3c59 Move to a table based approach for setting up the DOC registers, still have some more sounds to move to the tables. 2021-01-22 17:44:13 -05:00
Jeremy Rand
a7b404c676 Turn on optimizations on the C code to make it smaller. Ran out of code space in the main 64k bank. More changes to the sound register accesses. 2021-01-22 14:41:05 -05:00
Jeremy Rand
25765e6975 More rework from last night of the sound code to adopt new register writes. 2021-01-22 14:15:22 -05:00
Jeremy Rand
0d681e3571 Move more sounds to the new modify and verify method of writing to the DOC. 2021-01-22 00:52:41 -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
cf85ec4cb3 Update the version information. 2021-01-20 22:33:09 -05:00
Jeremy Rand
14cef25d9b Mark this build as 0.9.3 beta. I think this project is now feature complete for release. 2021-01-20 22:20:43 -05:00
Jeremy Rand
2a52b21f8a Fix bug where the flea sometimes would appear before the second level actually started. 2021-01-20 22:14:59 -05:00
Jeremy Rand
815758f3ff Rework the game logic to support one and two player games. 2021-01-20 00:06:32 -05:00
Jeremy Rand
3a77ba1367 Add the source wav files that I used for the sound samples and add a script which I used to convert them to a raw format that can be played on the GS. That should make it easier to modify the sounds if necessary in the future. Converting the sounds from wav to raw is not part of the build. The raw files themselves are committed in the repository although the build could be changed to generate the raw sounds at build time. 2021-01-18 00:34:50 -05:00
Jeremy Rand
1b7d2e240b Fix a bug where it was possible for the player to collide with an exploding bug and then die. Change explosions so they are drawn using background colours which do not result in player collisions. 2021-01-18 00:18:31 -05:00
Jeremy Rand
678a9ee104 Add code to keep track of two separate screens of mushrooms for player 1 and player 2. 2021-01-17 14:51:36 -05:00
Jeremy Rand
230d1f344c Fix the message to print the right player number when there is a high score. 2021-01-14 23:18:52 -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
1cd4ccea3a Start work on supporting two player games. When the user starts a two player game now, two scores are initialized and the number of lives of the two players are independently tracked. Also, all of the score code has been updated to increment the player one or player two score correct. Still need to implement the logic to save the game state per player and switch between the players on each death. 2021-01-06 23:27:51 -05:00
Jeremy Rand
4700bd9cff Fix a bug where the collision and collisionAddr writes went to the wrong bank, leading to memory corruption and crashes. 2021-01-06 22:21:31 -05:00
Jeremy Rand
e2e4da9e37 Modify the build to also put a copy of the disk image on my webserver so it is easy to get onto my real GS for testing. 2021-01-05 22:43:00 -05:00
Jeremy Rand
b8ab0d80aa Change the build to put the executable into a 800k disk image and have a separate boot image. This will make it easier to distribute because the 800k disk image is the release. Bump the version to 0.9.1. 2021-01-04 22:34:45 -05:00
Jeremy Rand
50c924e1ff Look at two pixels wide when detecting collisions with a shot. I believe this solves the problem of shots passing through a centipede. 2021-01-03 23:57:21 -05:00
Jeremy Rand
a84d135819 Mark managing a local high score list as done. 2021-01-01 23:15:11 -05:00
Jeremy Rand
3bb4572eb8 Prompt for the initials of the player when they get a high score. 2021-01-01 23:09:46 -05:00
Jeremy Rand
767a8ba9ab Fix bug in how the old scores are pushed down. They must be copied backwards. 2020-12-31 15:03:08 -05:00
Jeremy Rand
4c7e52af58 Scores are now added to the top ten list of high scores and saved to the settings file. There seems to be a bug with moving all of the other scores down but it is a start. The initials are hard coded to my own for now. 2020-12-31 14:04:20 -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
6947d8762c Add a way to swap left and right stereo channels and save the value in the settings. 2020-12-30 02:31:18 -05:00
Jeremy Rand
1cd301548a Validate the magic number and the version of the settings file. For now, I am not trying to handle backwards compatibility of settings file but it will be possible to do that in the future. 2020-12-30 00:01:58 -05:00
Jeremy Rand
9228f247e5 Add code to load and save a settings file which will hold high scores and some other information. 2020-12-29 23:56:51 -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
24bce50a6e Update the todos and the aknowledgements. 2020-12-28 00:52:47 -05:00
Jeremy Rand
acfb7bec13 Add the new icon from fatdog. 2020-12-28 00:48:49 -05:00
Jeremy Rand
8963a9d76c I believe I have fixed the invisible mushroom bug. I have inspected all of the code which sets a tileType to something that didn't mark the tile as dirty. I believe the problem occurred because the code in update which placed/changed mushrooms assumed that the draw code which then mark the tile as dirty because the bug which caused the change which dirty that tile. But that is an assumption. If the bug is shot, perhaps the draw routine will not mark the tile dirty. So, now the tile is always marked dirty right at the point where the mushroom is placed. I believe this will fix the problem but more play testing is required to confirm I don't see it anymore. 2020-12-26 15:26:19 -05:00
Jeremy Rand
cdded307f9 When looking for collisions, treat the lowest collision as the one that counts. Before this, if you had two stacked mushrooms, it was possible to shoot through the mushroom below and "hit" the mushroom above. This happened because the first collision found was the one that the game handled. If the shot ended up being draw across both mushrooms, then the upper mushroom would record the collision. Now, the collision we care about most is the lowest one which should ensure that the bottom mushroom records to collision always with stacked mushrooms. This is similar to the "shoot through a partial mushroom" problem but is restricted to just when the mushrooms are stacked. 2020-12-26 15:03:29 -05:00
Jeremy Rand
3f0578d142 Fix the crashing bug when the previous game ends with the player colliding with the last remaining segment. 2020-12-26 00:31:54 -05:00
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