Page 1 of 2

New MMC1 board - HVC-SXROM

Posted: Tue Oct 10, 2006 11:36 am
by Marty
While investigating why WRAM emulation in Best Play Pro Yakyuu Special wouldn't work properly, Pongbashi and I found that the cartridge uses a rather unique board labeled SXROM. I've never heard of this board before so I thought it would be interesting to post about it here.

PCB shots by Pongbashi: http://nestopia.netfast.org/mmc1.html

It differs from other MMC1 based boards with 16K WRAM (SOROM,SVROM?) in that the lower three bits of register 1 (CHR0) appear to control WRAM banking. The game always set it to $7 for upper bank select and $0 for lower bank select, although perhaps only the first bit is what matters.

Emulation related:

Since the game needs special treatment for full WRAM emulation, this board should be a good sub-mapper candidate for iNES 2.0. :)

Edit: Spoke too soon. Looking up 62256 revealed that this is a 32K WRAM(!) cart and not 16K.

Posted: Tue Oct 10, 2006 12:36 pm
by dvdmth
It would not be bit 0 that controls the WRAM bank, since that bit doesn't get output by the MMC1 in 8K mode. It would have to be either bit 1 or bit 2 that controls the bankswitching.

Re: New MMC1 board - HVC-SXROM

Posted: Wed Oct 11, 2006 8:40 pm
by kevtris
Marty wrote:While investigating why WRAM emulation in Best Play Pro Yakyuu Special wouldn't work properly, Pongbashi and I found that the cartridge uses a rather unique board labeled SXROM. I've never heard of this board before so I thought it would be interesting to post about it here.

PCB shots by Pongbashi: http://nestopia.netfast.org/mmc1.html

It differs from other MMC1 based boards with 16K WRAM (SOROM,SVROM?) in that the lower three bits of register 1 (CHR0) appear to control WRAM banking. The game always set it to $7 for upper bank select and $0 for lower bank select, although perhaps only the first bit is what matters.

Emulation related:

Since the game needs special treatment for full WRAM emulation, this board should be a good sub-mapper candidate for iNES 2.0. :)

Edit: Spoke too soon. Looking up 62256 revealed that this is a 32K WRAM(!) cart and not 16K.
There appears to be *32K* of RAM on that board, not just 16K. It could use different 8K sections for the various saved games. The RAM on the board is indeed a 62256 which is 32K bytes.

As for NES 2.0, I will add this to it. And speaking of that, I have about completed my NES 2.0 additional mappers and I have almost finished processing the ROMs/headers. I still need to work on the Vs. system stuff, but I'm a little hesitant since I don't have a complete set of boards yet. I just got Vs. TKO boxing so I will be able to reverse engineer its custom protection chip when I get that.

Posted: Thu Oct 12, 2006 7:21 am
by dvdmth
Ahh, in that case it's possible that both bits 1 and 2 of $A000 are meaningful here. Either that, or they used a 32KB chip with the MSB pulled low to make only 16KB accessible. Examining the MMC1's wiring should provide a more definite answer here (see if CHR A13 and/or A14 go to the SRAM chip).

Posted: Thu Oct 12, 2006 2:01 pm
by Bregalad
If my unerstanding is right, the only difference between SXROM and SOROM is that SOROM allow 16kb of WAM, and SXROM 32kb, that has nothing to do with "Final Fantasy I&II" that has 16kb of WRAM and one more PRG select adress, right ?

Posted: Thu Oct 12, 2006 2:14 pm
by Quietust
A brief visual inspection shows CHR A14 and A15 leading toward the PRG RAM, and CHR A16 leading toward the CHR RAM chip. CHR A12 and A13 might lead underneath the PRG RAM as well, though I can't be certain since a bunch of signals come out from underneath the chip.

It would help to know the actual pin to pin connections to figure out exactly what's going on here.

Posted: Sat Oct 14, 2006 11:58 am
by Marty
Pongbashi has opened up a few other MMC1 carts now. Final Fantasy I & II being one of them, turned out to be an... <drum roll>... SXROM.

Posted: Tue Oct 17, 2006 1:05 pm
by Bregalad
So, as my understanding, on a SXROM card :
CHR bit 4 controls upper 512kb PRG selection, and this affect the hardwired bank as well, making 2 different "hardwired" banks, the first at the end of the first 256k, and the second at the end of the second 256k, just like SUROM does.

SXROM also controls the upper lines of a 32kb WRAM chip via CHR bits 2 and 3, in 8kb banks, as opposed to SOROM, wich only control 2 8kb WRAM chips via CHR bit 4 (and only one is battery backed).

Also, by the way SVROM doesn't exist at all and is just a misreading of SUROM, wich has later be assumed to be a variant of SUROM supporting WRAM banking, wich obviously was a wrong assumption since this variant is SXROM.

By the way, eveyone should stop at once to say "SxROM", "TxROM", etc, to refer to the whole group of boards using the same mapper, because this obviously confuses everything with the SXROM board aknowledged.

All of this should be definitely confirmed and wikified.

Posted: Wed Oct 18, 2006 9:14 am
by dvdmth
I thought SOROM used bit 4 of $A000 for its SRAM banking - perhaps I'm mistaken though.

If CHR A14 and A15 go to SRAM, then that should correspond to bits 2-3 of $A000, not bits 1-2 as I was thinking. I suppose bit 4 could control 256K PRG segmentation like SUROM, leaving bit 1 the only unused bit (with bit 0 controlling CHR banking in 4K mode, as is the case for all MMC1 variants).

Posted: Wed Oct 18, 2006 9:21 am
by Bregalad
Sorry, those bits are confusing me. I've edited my old post to correct the information. Say if there is still something wrong.

Posted: Wed Oct 18, 2006 12:13 pm
by dvdmth
OK, your post looks right now, at least to the extent I can make out from what is known. As stated earlier, an inspection on the individual pin connections should clear up any remaining issues with regard to this board type.

Incidentally, I took a peek at Final Fantasy I & II, and it appears to set the CHR bank register to either $00 or $18, depending on the game selected.

Posted: Wed Oct 18, 2006 1:49 pm
by Bregalad
That means the game actually only uses banks 0 and 2 of its 32kb SRAM chip, if I understand things right.

Posted: Sat Oct 28, 2006 3:10 am
by Bregalad
OK, I've put most things on the Wiki.
Now, I guess something should be done to avoid confusion between SxROM and SXROM (that is, the whole set of 'S' board using MMC1 and the particular SXROM). The 'x' letter probably come from it is the most used algebra variable letter, and has been used to show the letter can vary in the whole section of MMC1 board, while the 'S' letter doesn't varry. While the case currently distinct both, I think somethiny better could come up. That implict make a lot of changes on the Wiki, and rename whole pages, so I cannot go on and just do it myself.

Posted: Sun Oct 29, 2006 4:46 am
by Bregalad
Sorry for triple-posting, but wait ...
Tokmaru's New thread made me wondering something :

The SOROM board has no inverter to handle both chips, but I assume the thing noted Q1 is a transistor in an uncomon package, and that it does the inversion.

However, the SXROM has a 74HC04 inverter and I really cannot see what it is used. Look like only 3 gates are used, because the 3 others seems just tied to either VCC or GND (cannot see well), and Nintendo always did that with unused gate on their board. The inverter is obvioulsy close to the 32kb RAM chip, so it would have to do something with it, but normally the adresses don't need to be inverted or anything. Does anybody have an idea ?

Posted: Sun Oct 29, 2006 9:09 am
by tepples
Is the inverter used as an inverting buffer to clean up the signal coming off the CHR address lines?