Nukey Shay Posted June 5, 2007 Author Share Posted June 5, 2007 No prob. I just hate to see antique hardware being chopped up if it doesn't really need to be. I figure as long as I'm looking into a game's code, I might as well find a few bytes to save and post an unmodded-compatable version of it. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted June 10, 2007 Author Share Posted June 10, 2007 Chopper Command... Chopper_Command.zip Quote Link to comment Share on other sites More sharing options...
mimo Posted June 10, 2007 Share Posted June 10, 2007 cant wait for my supercharger to arrive. Keep the coming Quote Link to comment Share on other sites More sharing options...
Atariboy2600 Posted August 4, 2007 Share Posted August 4, 2007 Anyway you can make Pac-Man, Space Invaders, Donkey Kong, even Berzerk??^_^ Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted August 4, 2007 Author Share Posted August 4, 2007 Pac-Man is simple. Just change the JMP instruction at $FFE5 to be an unconditional branch instead after disassembly. It jumps to less than 128 bytes away, and you only need to save 1 byte to keep the starting tune from crashing the game (data originally ends at $FFF8). The preceding LSR instruction keeps the accumulator a positive value, so in this case BPL could be used in place of JMP. That'll make the data end at $FFF7, avoiding the Supercharger's bankswitch trigger. Fresh disassembly + binary to see how this was achieved: Pac_Man_Supercharger_.zip Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted August 4, 2007 Author Share Posted August 4, 2007 (edited) Space Invaders is already Supercharger-compatable AFAIK. No addresses above $FFF7 are called by the program. Edited May 27, 2008 by Nukey Shay Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted August 5, 2007 Author Share Posted August 5, 2007 About the same story with Donkey Kong...but even more scattered unused bytes in the binary. There's a group of 5 at $FBFB to $FBFF (most likely filler before the page break). One of the last tables that exists in the binary is also 5 bytes long. So, I just moved that table into the unused space. 5 bytes are now unused at the end...nothing addressed beyond $FFF6. Yada yada... DonkeyKong_Supercharger_.zip Quote Link to comment Share on other sites More sharing options...
Atariboy2600 Posted August 5, 2007 Share Posted August 5, 2007 Thanks^_^ Quote Link to comment Share on other sites More sharing options...
rba04 Posted September 15, 2007 Share Posted September 15, 2007 can any atari rom be rewritten to run on the supercharger? Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted September 15, 2007 Author Share Posted September 15, 2007 Any 2k/4k rom. You just need to avoid any program access from rom adresses $xFF8 on up. 2k by nature is no problem, since they only use 2k of the addressing space. 4k programs would need hacking if they do this. Quote Link to comment Share on other sites More sharing options...
supercat Posted September 15, 2007 Share Posted September 15, 2007 can any atari rom be rewritten to run on the supercharger? Any 2K or 4K ROM can run on a modded SuperCharger; I doubt there are any exceptions. Most 4K ROMs can be hacked so that they will run on an unmodified SuperCharger, but in some cases extreme reworking would be required. For example, suppose the code has a shape table stored at addresses $1C00-$1FFD, with the last shape chosen to fit with the interrupt vector at $1FFC-$1FFD. The zero-page pointers are set up: lda (textptr),y sta shape_ptr_lo ora #$FC sta shape_ptr_hi Nice quick easy way of setting up the shape pointers, but the shape table has to go from $1C00-$1FFE. There may not be enough cycles to do them any other way. In a scenario like that, accessing shape $F7 (assuming seven-line-high shapes) would result in accesses from $1FF7 to $1FFD. If addresses $1FFC-$1FFD hold the desired data for the shape, this would pose no problem on a 4K cart. But on an unmodded SuperCharger it would crash. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 2, 2008 Author Share Posted March 2, 2008 Thunderground / Alien Ants: Thunderground.zip Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 2, 2008 Author Share Posted March 2, 2008 Super Football, NTSC and PAL60 versions. Boot error: The NTSC version may default to PAL in Z26. Hit the minus key twice to correct. Super_Football.zip Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 2, 2008 Author Share Posted March 2, 2008 Super Baseball, NTSC and PAL60 versions. Super_Baseball.zip Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 4, 2008 Author Share Posted March 4, 2008 (edited) Atlantis 1 and 2: I put both versions in the same game...use the left difficulty switch to choose Atlantis II (the score doesn't use a different font, tho). I also added a bit of color shading, and made a PAL60 binary too. Atlantis.zip Edited May 3, 2008 by Nukey Shay Quote Link to comment Share on other sites More sharing options...
cosmosiss Posted March 4, 2008 Share Posted March 4, 2008 I put both versions in the same game...use the left difficulty switch to choose Atlantis II. Awesome! Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 6, 2008 Author Share Posted March 6, 2008 Planet Of The Apes proto I corrected the scanline count, fixed the screen glitch when the statue is displayed, and freed up some space if somebody wants to try to make something challenging out of it Planet_Of_The_Apes.zip Quote Link to comment Share on other sites More sharing options...
ovalbugmann Posted March 9, 2008 Share Posted March 9, 2008 Thanks! Nukey!, I just got a supercharger recently along with a H6er and I have not done the supercharger mod, but would like to use it unmodified to run some programs other than the original Arcadia/Starpath programs & demos that are on the Stella Gets a NewBrain CD. Thank you very much for these conversions for the supercharger, I heard even 2K & 4K regular games can crash on an umodded unit. I know that once I cut that trace on the supercharger board, I will have to make sure my modding work is correct or I will have ruined my Supercharger, so I'm a little hesitant to do it. I don't have a Crokodile cart or Cuddlecart and am waiting for a Chimera cart (If I can afford it) when it comes out so I may not need to do the mod. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 10, 2008 Author Share Posted March 10, 2008 All that is required to to remove the conditions that would crash the unit...in this case, rom access beyond address $xFF7 (tho one-byte instructions like RTS existing at $xFF7 supposedly has the ability too...as well as sloppy code that inadvertently trips one of these addresses). So it's only a maximum of 9 bytes of space that needs to be cut from the game...recovered by sharing data or optimizing program code. I'd vote against modding the Supercharger, because it lowers the value it...and how easy it is to alter binaries (very quick...but I usually spend extra time on them fixing other things or using reclaimed space for new stuff). Any requests? Boing! This Q*Bert ripoff ran @251 (248 when reset is pressed). Both problems fixed. Additional binary made to hide the HMOVE lines with PF0, but this had the consequences of turning the ball sprite black too (so I altered the stage colors slightly so the screen color is always non-black). TODO: kill the last movement & collision status when you lose a chance (glitches present in the original game). Boing_.zip Quote Link to comment Share on other sites More sharing options...
ovalbugmann Posted March 10, 2008 Share Posted March 10, 2008 Great info Nukey!. I wish I knew more about how to save those nine bytes of space to alter the software rather than the hardware, but I am glad you are doing this for people. Yeah, I would rather not mod the supercharger and I am pretty happy with the RF video quality of this H6er so I probably won't do the s-video mod for it. Great!, could you alter Imagic's Star Voyager to run with the supercharger without crashing? (it's 4.00 kb) Thanks in advance! I downloaded all the games you tailored to the Supercharger in this thread, as I don't have any of the cool rom carts or many cartridges yet. late. Quote Link to comment Share on other sites More sharing options...
supercat Posted March 10, 2008 Share Posted March 10, 2008 (tho one-byte instructions like RTS existing at $xFF7 supposedly has the ability too...as well as sloppy code that inadvertently trips one of these addresses). Any time the 6502 fetches an instruction opcode, it will also fetch the following byte. Essentially, the 6502 has to know before the it gets the data from one cycle what address it's supposed to use for the next cycle; the only exceptions are (1) with zero-page operations, the 6502 can route the data bus directly to the address LSB for the next cycle; and (2) with absolute and indexed addressing modes, the 6502 can route the data bus directly to the address MSB for the next cycle. BTW, the strangest instruction execution sequence is JSR; it is the only instruction which writes memory before the entire instruction has been fetched. RTS is also somewhat strange; that one fetches and throws out a byte at the newly-popped program counter address. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 10, 2008 Author Share Posted March 10, 2008 (edited) Star Voyager... The audio table was originally in the last page of ROM. I was a bit worried about the audio pointer hitting beyond $xFF7 since it uses an index of #$FF to indicate no sound, so I swapped pages $1F and $1D. I trimmed out some code (no illegals used), and began adding more HMOVE's to try to mask out the rest of the left border (this might be impossible to finish in the dual-line resolution the game uses tho). Abandoning that for now, I altered the B&W data to be the PAL set instead (no provision for 7800 users currently). The assembly file includes invincibility options if you want a boring game Star_Voyager.zip Edited March 10, 2008 by Nukey Shay Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 11, 2008 Author Share Posted March 11, 2008 Bank Heist: Pretty tricky to hack this one...as many of the branches count on added cycles (from page crossing). The disassembly reflects this, with various ORG's that I'd scattered around to check addresses from shifting around. Anyway, a bunch of free space used to expand the GFX tables and provide NTSC/PAL switching via the B&W switch (2600 only). Bank_Heist.zip Quote Link to comment Share on other sites More sharing options...
vmelvin69 Posted March 11, 2008 Share Posted March 11, 2008 Bank Heist:Pretty tricky to hack this one...as many of the branches count on added cycles (from page crossing). The disassembly reflects this, with various ORG's that I'd scattered around to check addresses from shifting around. Anyway, a bunch of free space used to expand the GFX tables and provide NTSC/PAL switching via the B&W switch (2600 only). what about Adventure? it is our favorite! Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 11, 2008 Author Share Posted March 11, 2008 Adventure has already been done a plethora of times (all the 4k hacks created based off the optimized code already are Supercharger-compatable). I dunno if a PAL conversion was added tho...so here's a palette-switching version of the original gameplay. Nearly 300 bytes free space left if more changes are desired. NOTE: the original room calculation routine has been put back in, now that an additional value is needed in the matrix to hold the PAL color values. The game uses the 7800 autodetection routine developed for Hack'Em to handle palette switching. Adventure.zip Quote Link to comment 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.