It is currently Fri Oct 19, 2018 10:15 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 4 posts ] 
Author Message
PostPosted: Mon Oct 06, 2014 10:09 pm 
Offline

Joined: Tue Nov 23, 2004 9:35 pm
Posts: 702
The trouble with Action 52 is that it has 1.5MB of PRG-ROM while the Powerpak and Everdrive only have 512KB of ROM. The end result is most games will not run. I wondered if it was possible to "break up" the ROM into three ROMs, each possessing 1/3 of the total PRG space. However, the menu is probably not in all three ROMs. Since the games themselves seem pretty simple and discrete, I wonder if they could be individually extracted from the main ROM, have a header put on them and be run individually? I believe all except for Cheetamen are NROM-sized. However, if they share CHR-ROM or PRG-ROM, it would be much more difficult.

_________________
Nerdly Pleasures - My Vintage Video Game & Computing Blog


Top
 Profile  
 
PostPosted: Mon Oct 06, 2014 11:43 pm 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 3132
Location: Tampere, Finland
Yes, should be very much possible. Should also be possible to split to 3 or 4 and include one page of the menu in each one.

_________________
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi


Top
 Profile  
 
PostPosted: Tue Oct 07, 2014 12:37 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 7664
Location: Seattle
Bright side first: Action 52 is basically GNROM plus mirroring control. So, yes, it's totally possible to do that for any game that's only 16 or 32 KiB in size.
Down side: The games all include a stub so that the reset button goes back to the menu, so you'll have to patch that out. Looks like they all fall through to $8016, so that might be the right patch.
Annoying: The bankswitching is done by copying a 18-byte sequence to RAM, executing it ... and it then jumps back to ROM to actually do the bankswitch. This table starts at $85A3 (0x805A3) and consists of the sequence of LDA #lower / STA $FE / LDA #upper / STA $FF / LDA #0,1,or2 / STA $07FF / lda #CHRbankLSBs / JMP $8012 ; at that address is LDY #0 / STA ($FE),y / &c which actually does the bankswitch (see the documentation)


Top
 Profile  
 
PostPosted: Mon Aug 20, 2018 6:02 pm 
Offline

Joined: Tue Nov 23, 2004 9:35 pm
Posts: 702
Almost four years later, I have finally learned enough to make this happen :

https://www.youtube.com/watch?v=ocvFcOWbroM

My initial hurdle was I did not understand how exactly Action 52 does its bankswitching. Once I understood that the address that is accessed is just as important as the data written to it, then I could understand what the breakpoint I set in Mesen's debugger was trying to tell me.

I tried extracting each individual game as its own ROM, but this did not work for all games because some 32KB banks had the code for two or three games. Each game had to have the whole 512KB of CHR-ROM tacked on, making for very large ROMs. Without the menu, only one game would work. So I found out where the menu was, the first 32KB bank of the second 512KB, carved out that 512KB and the games within the second 512KB appear to work as well as they ever did. Then I replaced the first 32KB of the third 512KB and with the menu code. That seems to work fine for those games in the third 512KB bank.

What is left is the Intro, the game I booted out of the third 512KB and the three games contained in the first 512KB. As you can see, I kind of left them to their own ROMs. In the first 512KB, Bounty Bob takes up the first seven 32KB banks, followed by a 32KB bank for the Intro ("Make your selection now"), then Cheetamen has the next seven 32KB banks, and Ninja Assault rounds out the last 32KB bank.

The Cheetamen ROM is essentially the first 512KB with a slight adjustment to the code to make it boot instead of Bounty Bob. I tried combining all the Billy Bob banks into one ROM but I could not get past Level 2, Level 3 being in the next 32KB bank. I might revisit this at some point, but Billy Bob is such an awful game, I don't feel like playtesting it. :P

_________________
Nerdly Pleasures - My Vintage Video Game & Computing Blog


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group