It is currently Sun Nov 18, 2018 6:56 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 9 posts ] 
Author Message
PostPosted: Fri Dec 17, 2004 8:59 pm 
Offline

Joined: Tue Nov 23, 2004 9:35 pm
Posts: 707
While the other boards in Nintendo's naming system have documented differences, the SxROM board series is puzzling. There are a lot of boards, someused in one game, others used in a few and one used in 100 games. While some of these boards have been identified, others have not.

Now, some boards have 32 pin ROMs, others have only 28 pin ROMs. For Program ROM, a 28 pin socket can house a 128KB ROM or lower. But for a Character ROM, a 28 pin socket can only house a 64KB or lower ROM. 32 pin sockets can house 256KB PRG ROMs and 128KB CHR ROMs.

SAROM
128KB PRG ROM (28 pin) (64KB Max)
64KB CHR ROM (28 pin) (16KB Max)
8KB WRAM
battery

SBROM
128KB PRG ROM (28 pin) (64KB Max)
64KB CHR ROM (28 pin) (32KB Max)

SCROM
128KB PRG ROM (28 pin)
128KB CHR ROM (32 pin)

SC1ROM
128KB PRG ROM (28 pin) (64KB Max)
128KB CHR ROM (28 pin)
74LS32

SEROM - How does this differ from SBROM?
128KB PRG ROM (28 pin) (32KB Max)
64KB CHR ROM (28 pin) (32KB Max)

SFROM
256KB PRG ROM (28 pin ROM/32 pin socket)
64KB CHR ROM (28 pin)

SGROM
256KB PRG ROM (128KB ROM 28 pin/32 pin socket)
8KB CHR RAM

SHROM
128KB PRG ROM (28 pin) (32KB Max)
128KB CHR ROM (32 pin)

SH1ROM
128KB PRG ROM (28 pin) (32KB Max)
128KB CHR ROM (28 pin)
74LS32

SJROM
256KB PRG ROM
64KB CHR ROM (28 pin)
battery

SKROM
256KB PRG ROM (128KB Max)
128KB CHR ROM
8KB WRAM
battery

SLROM
256KB PRG ROM
128KB CHR ROM

SL1ROM
256KB PRG ROM (128KB Max)
128KB CHR ROM (28 pin)
74LS32

SL2ROM - I dont have this cart, presumably used only in some copies of Blaster Master. Considering Blaster Master is a 128KB/128KB cart, I don't see how this would differ from SL1ROM.

SL3ROM - Again, what is the real difference between this and SL1ROM?
256KB PRG ROM
128KB CHR ROM (28 pin)
74LS32

SLRROM - Is this another extended board? If not, how would it differ from SLROM?
256KB PRG ROM (128KB Max)
128KB CHR ROM

SNROM
256KB PRG ROM
8KB CHR RAM
8KB WRAM
battery

SOROM
256KB PRG ROM
8KB CHR RAM
8KB WRAM x2 (CHR bit used for banking)
battery

SUROM
512KB PRG ROM (CHR bit used for banking)
8KB CHR RAM
8KB WRAM
battery

SVROM - I have an idea which game uses this board. My guess is that the Famicom combo Final Fantasy I + II cart uses it. It probably has two 8KB W-RAMs, both battery backed, so that the games would not overwrite each other's save games. Thus it is a combination of SOROM and SUROM. (The method those boards is mutually exclusive, however.) Otherwise how would you account for the extra large size cart?


Top
 Profile  
 
 Post subject:
PostPosted: Fri Dec 17, 2004 9:34 pm 
The FF1&2 cartridge definitely has two 8k SRAMs, one for each game. On emulators (which treat the game as having a single 8k SRAM) playing FF2 erases the FF1 saved game, and playing FF1 even as far as the Continue/New Game screen erases the first FF2 save slot (it erases all of them if you actually start playing the game)


Top
  
 
 Post subject:
PostPosted: Fri Dec 17, 2004 11:14 pm 
Offline

Joined: Tue Nov 23, 2004 9:35 pm
Posts: 707
I had expected as much. I will buy one the next time one pops up on eBay for a reasonable price. For now, how are we to implement this unnamed board? Let us remember that Final Fantasy I and Final Fantasy II both used SNROM boards, which didn't allow W-RAM banking. So I believe that the programmers, adapting the code to this cart, did not want to rock the boat. I would suggest that they used the 8KB banking method exclusively, eschewing SOROM's ability to bank in 4KB. That method does not seem to be incompatible with SUROM's method of addressing 512KB of PRG-ROM. (There is room for both bits in the register.) Am I correct?


Top
 Profile  
 
 Post subject:
PostPosted: Fri Dec 17, 2004 11:53 pm 
I've just investigated the FF1&2 ROM using FCEUD.

The menu program and FF1 are located in the lower 256k of the ROM, and FF2 is located in the upper 256k. When the game is reset, 0x00 is written to MMC1 register 1 (address $BFFF). When Final Fantasy 2 is selected from the menu, 0x18 is written to register 1. I suspect that bit 4 of this register selects the lower or upper 256k of PRG ROM (as in SUROM) and bit 3 selects the WRAM bank (as in SOROM)

I seem to remember that in Nesticle (which "emulated" the nonexistent "MMC1 with 1024k PRG" configuration in order to run the overdumps of DQ4 and DW4) this ROM would either hang or return to the menu immediately if you selected FF2.

By the way, Heirophant, SOROM doesn't have the capability to switch WRAM in 4k banks. You've misunderstood the documentation (Kevin Horton's, right?). Rather, the register bits you use to select the 8k WRAM bank differ depending on whether CHR ROM is being switched in 4k or 8k banks (the SOROM board has CHR ROM, unlike the SUROM board and the board FF1&2 uses)


Top
  
 
 Post subject:
PostPosted: Sat Dec 18, 2004 10:15 am 
Offline

Joined: Tue Nov 23, 2004 9:35 pm
Posts: 707
Quote:

By the way, Heirophant, SOROM doesn't have the capability to switch WRAM in 4k banks. You've misunderstood the documentation (Kevin Horton's, right?). Rather, the register bits you use to select the 8k WRAM bank differ depending on whether CHR ROM is being switched in 4k or 8k banks (the SOROM board has CHR ROM, unlike the SUROM board and the board FF1&2 uses)


You are partially correct, I misread the documentation. While the board switches W-RAM only in 8KB banks, it can still switch CHR-RAM, (SOROM does not have CHR-ROM) in 4KB banks. Why would anyone want to do this is a mystery.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Dec 18, 2004 12:41 pm 
Whoops, my bad. I thought SOROM had CHR ROM for some reason. Must've confused it with another board.

Anyway, I think all MMC1 (and MMC3) boards with CHR RAM can bankswitch the CHR RAM just as if it were CHR ROM.


Top
  
 
 Post subject:
PostPosted: Tue Dec 21, 2004 8:10 pm 
Offline

Joined: Tue Nov 23, 2004 9:35 pm
Posts: 707
Quote:
The menu program and FF1 are located in the lower 256k of the ROM, and FF2 is located in the upper 256k. When the game is reset, 0x00 is written to MMC1 register 1 (address $BFFF). When Final Fantasy 2 is selected from the menu, 0x18 is written to register 1. I suspect that bit 4 of this register selects the lower or upper 256k of PRG ROM (as in SUROM) and bit 3 selects the WRAM bank (as in SOROM)


What I gather from this is the following. The two games are dumb, not really updated for the new cartridge hardware. If the player selects Final Fantasy I, the menu program doesn't do squat other than point to the beginning of the program. Final Fantasy I will play just as if it was alone on the cart, using both the lower 256KB of PRG-ROM and the default 8KB of W-RAM But if the player were to select Final Fantasy II, then the menu must also set the bit to select the high 256KB of PRG-ROM and the other 8KB of W-RAM. Final Fantasy II will play just as if it were alone on the cart, not knowing that its bankswitching is being manipulated from without.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Dec 22, 2004 12:27 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7574
Location: Chexbres, VD, Switzerland
VitruaNES seems to emulate this cartidge correctly. I'm able to save both FF1 and FF2 at the same time and the .sav file is 16kb large.

_________________
Life is complex: it has both real and imaginary components.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jan 18, 2005 11:21 am 
Offline

Joined: Tue Nov 23, 2004 9:35 pm
Posts: 707
One note, Dragon Warrior IV does use SUROM, just like Dragon Warrior III. At least my cart does.


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

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 7 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