+SpiceWare Posted July 15, 2006 Share Posted July 15, 2006 When I gave my brother his Atari setup, I included a modified Supercharger. Over the years, something went wrong with the modification and the Supercharger stopped working, so I removed the modification while I was visiting for the 4th and the Supercharger works again. However, the batari BASIC programs would crash when a score displayed a 9. The bytes for the 9 graphics overlap the "hot spots" of the supercharger. To fix it, I modified score_graphics.asm and changed the starting point for the graphics so they'd start 4 bytes earlier. This prevents the crash at the cost of 4 bytes of ROM space for your program. ifconst ROM2k ORG $F7AC else ifconst bankswitch if bankswitch == 8 ORG $2FA4-bscode_length RORG $FFA4-bscode_length endif if bankswitch == 16 ORG $4FA4-bscode_length RORG $FFA4-bscode_length endif if bankswitch == 32 ORG $8FA4-bscode_length RORG $FFA4-bscode_length endif else ; ORG $FFAC subtract 4 to make a supercharger safe ROM ORG $FFA8 endif endif Please note - I made this change for the 0.99 version of batari BASIC. I've not used earlier versions, so do not know if this change will work for them. batari - I don't know if you'd like to add this as a permanent 4K ROM fix or maybe as a "bankswitch type" of 4KSS for a 4K Supercharger Safe rom? score_graphics.asm.zip Quote Link to comment https://forums.atariage.com/topic/90676-generate-supercharger-safe-4k-rom/ Share on other sites More sharing options...
+batari Posted July 16, 2006 Share Posted July 16, 2006 (edited) batari - I don't know if you'd like to add this as a permanent 4K ROM fix or maybe as a "bankswitch type" of 4KSS for a 4K Supercharger Safe rom? Yes, I will make this permanent. I actually had this on my todo list, so this effort saved me some time! Edited July 16, 2006 by batari Quote Link to comment https://forums.atariage.com/topic/90676-generate-supercharger-safe-4k-rom/#findComment-1102440 Share on other sites More sharing options...
SeaGtGruff Posted July 16, 2006 Share Posted July 16, 2006 batari BASIC programs would crash when a score displayed a 9. The bytes for the 9 graphics overlap the "hot spots" of the supercharger. To fix it, I modified score_graphics.asm and changed the starting point for the graphics so they'd start 4 bytes earlier. This prevents the crash at the cost of 4 bytes of ROM space for your program. [...] Please note - I made this change for the 0.99 version of batari BASIC. I've not used earlier versions, so do not know if this change will work for them. The versions before 0.99 don't have the score_graphics.asm file. Instead, the data for the score graphics, and the ORGs that go with them, are in the 2600basicfooter.asm file. Thus, anyone who uses bB 0.1 through 0.35, who wants to create Supercharger-compatible bB games, can modify the 2600basicfooter.asm file similar to what you've done. Thanks for posting this! Michael Rideout Quote Link to comment https://forums.atariage.com/topic/90676-generate-supercharger-safe-4k-rom/#findComment-1102442 Share on other sites More sharing options...
cd-w Posted July 16, 2006 Share Posted July 16, 2006 This prevents the crash at the cost of 4 bytes of ROM space for your program. To avoid the loss of 4 bytes, I think that you could overlap the sprite data. For example, the last line of 2 is the same as the first line of 3. Thomas came up with a very tight encoding some time ago: One DC.B %00001100 Seven DC.B %00001100 DC.B %00001100 Four DC.B %00001100 DC.B %00001100 Zero DC.B %01111000 DC.B %11001100 DC.B %11001100 DC.B %11001100 Three DC.B %01111000 DC.B %00001100 Nine DC.B %01111000 DC.B %00001100 Eight DC.B %01111000 DC.B %11001100 Six DC.B %01111000 DC.B %11001100 Two DC.B %01111000 DC.B %11000000 Five DC.B %01111000 DC.B %00001100 DC.B %01111000 DC.B %11000000 DC.B %01111000 Quote Link to comment https://forums.atariage.com/topic/90676-generate-supercharger-safe-4k-rom/#findComment-1102589 Share on other sites More sharing options...
+SpiceWare Posted July 16, 2006 Author Share Posted July 16, 2006 That's an idea. The score routine would have to be rewritten though, it uses 3 asl's for a times 8 to come up with the score pointer. Rewritting it to use a lookup table might negate the overlap savings. Quote Link to comment https://forums.atariage.com/topic/90676-generate-supercharger-safe-4k-rom/#findComment-1102717 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.