Page 1 of 2
SNES PowerPak 1.04b mappers
Posted: Thu Feb 25, 2010 2:30 pm
by bunnyboy
(link removed for ROMs)
Adds SPC player. This is certainly beta, sometimes a song will not start playing. I am sure there are lots of tricks to loading the SPC I am missing. Press start at any time to reset back to the menus. Not sure how much more work will be done on this or if rsn/rar support will ever be started.
Adds header guessing if no valid internal header is found. Right now it will only guess hirom/lorom but that is enough to fix games like Contra 3 where the name overlaps the mapper. Should never break a previously working game because it doesn't happen until the header already failed.
Adds faster scrolling using shoulder buttons. Thought I already had this

Posted: Thu Feb 25, 2010 2:57 pm
by mic_
I don't know if you're not setting all DSP registers or what's wrong, but there's certainly something strange about it.
I've got my own little "test set" with 17 songs from different games. My own SPC loader plays 12 of them right now IIRC while failing with 5. The PowerPak only managed to play 4 or 5 of them. A few caused a jump back to the PowerPak logo screen (e.g. Map.spc from Dracula X, or Wild-F.spc from Wild Guns).
I'll probably release my SPC loading code eventually. Right now I'm still trying to improve it further.
Posted: Thu Feb 25, 2010 3:12 pm
by bunnyboy
First $0002-00EF is loaded, then $00F8-FFA0.
Then the init code is copied to $FFA0-FFBF
All DSP registers are loaded in reverse pairs (01,00,03,02,etc) to avoid the problem you saw.
$00F1 is set, hopefully for less time between timer enable and timer overflow.
Then the init code is run which sets A/X/Y/SP/etc.
I would guess there are more DSP loading problems in my code, or some other init step that is missing. Sometimes when a song doesn't start picking it again will work. I am waiting for the io port echos at every step so it shouldn't be a protocol problem. None should jump back to the title screen, can you email those ones to me?
Wonder if the F2/F3 DSP regs need to be set using the SPC data before or after loading all the DSP registers...
Posted: Thu Feb 25, 2010 3:34 pm
by mic_
I'm not sure if the F2/F3 init values in the .SPC are needed at all, they don't seem to make much difference to me.
Your loading procedure sounds pretty much the same as mine, so there must be some mismatch between how you describe it and how you've actually implemented it ;P
Posted: Thu Feb 25, 2010 9:25 pm
by MottZilla
Thanks for the update. Particularly the header guessing and fast scroll. =)
Posted: Fri Feb 26, 2010 2:11 am
by Bregalad
This is VERY good news !! I'll definitely order a Super Power Pak before my credit cards expires in 1 month or so (I don't want to pay for a new one).
Posted: Fri Feb 26, 2010 9:42 am
by Eyedunno
Yeah, the header guessing is cool (any improvement in compatibility with clean ROMs is certainly welcome) as is the R-L scolling (I wondered what was wrong there

), but I've been checking these forums several times a week in the hope of getting autoloading of savefiles. Oh well, maybe next time. Keep up the good work.
Posted: Fri Feb 26, 2010 11:39 am
by Fab
I want to play Demos and Hacks on it!!!
Posted: Fri Feb 26, 2010 11:50 am
by Zoigl
A better snes compatibility would be nice...
for example:
ISSD works on all of my 2 GPU snes but it doesnt work on my 1 GPU snes.
Super Demo World works on one of my 2GPU snes but not on the other 2GPU snes.
Following error occurs while loading Super Demo World:
Error $51 - CF card status
Error $10 - CF card error
c=$01 0=$69 1=$43 2=$0C 3=$E2
Posted: Fri Feb 26, 2010 3:31 pm
by bunnyboy
mic_ wrote:A few caused a jump back to the PowerPak logo screen (e.g. Map.spc from Dracula X, or Wild-F.spc from Wild Guns).
This should have been more obvious to me. The player reads the play length in the .spc and will reset when the song is supposed to be over. Those have zeros, so it resets immediately. I know I am not handling those correctly (they are ascii, not binary values) and may just end up ignoring them.
Posted: Fri Feb 26, 2010 6:03 pm
by pcmantinker
I'd like to confirm that Mottzilla's BS Zelda works with the new mappers.

I bet that other variants will work as well, but I've not tested them extensively.
EDIT: Just finished testing BS The Legend of Zelda Ancient Stone Tablets week 1 with the latest mappers. To get saving working, you'll need to play the game in an emulator and pad the sram to the correct size. Since the PowerPak uses 8KB sram, it's necessary to pad the 4KB sram created by your emulator.
I used a hex editor to create a blank 4KB file. Then I inserted the 4KB srm at the beginning of the file at address $000. Your 4KB srm should be exactly $FFF bytes. When you add it to the blank 4KB file, your new file size should be $1FFF bytes or 8KB. After that, you should be able to save.
Alternatively, you can download the sram here:
http://www.iga-home.net/downloads/snes/ ... da_ast.srm
Also, you should be able to use the same sram for weeks 1-4 to keep your progress. Let me know if this works for you.
Posted: Sat Feb 27, 2010 3:02 am
by orwannon
The SRAM size byte of BS Zelda AST's internal header is actually set to 256 Kbits. So I played through all 4 weeks recently using a 256 Kbit (32 KB) SRM file. Worked like a charm.

Posted: Sat Feb 27, 2010 6:26 am
by pcmantinker
That's interesting becuase it's saving my progress with an 8KB SRAM. I'm not sure how it's doing that though if the SRAM size is 32KB.
Posted: Sun Feb 28, 2010 10:16 pm
by bunnyboy
Future updates like this will be on the nintendoage.com forums. The FDS BIOS is always included, so no ROM linking forbids it here.
Re: SNES PowerPak 1.04b mappers
Posted: Sat Mar 06, 2010 3:35 pm
by remowilliams
bunnyboy wrote:Right now it will only guess hirom/lorom but that is enough to fix games like Contra 3 where the name overlaps the mapper.
Tried it out on Contra 3 and Test Drive II and it wouldn't load either.