Jump to content
IGNORED

generate Supercharger Safe 4K ROM


SpiceWare

Recommended Posts

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

Link to comment
Share on other sites

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 by batari
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...