It is currently Sun May 26, 2019 8:35 am

All times are UTC - 7 hours



Forum rules


1. NO BLATANT PIRACY. This includes reproducing homebrew less than 10 years old, with the exception of free software.
2. No advertising your reproductions, with the exception of free software.
3. Be nice. See RFC 1855 if you aren't sure what this means.



Post new topic Reply to topic  [ 20 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: NES SNROM to 512K cart?
PostPosted: Thu Oct 14, 2010 8:37 pm 
Offline
Formerly 65024U

Joined: Sat Mar 27, 2010 12:57 pm
Posts: 2269
Okay...well....looking at this Zelda 1 cart, I am going to make the board a 512K cart. I see that there is space for a 32-Pin EPROM. Is that for 256K EPROMS? If so, does the wiring change since it is using a 128K 28 pin MROM at the moment?



Should I use the 256K pinout on the board with the 32-pin extension and wire up char line 16 up to the extra address pin to get a 512K ROM/cart?


And if I do, to get Char 16 high/low, what register do I write to in what CHR-ROM modes (Since it uses CHR-RAM it doesn't matter).....



I am kind of confused how this will work....I know it will but it seems like it shouldn't some how. :P It's magical.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Oct 15, 2010 4:28 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 21403
Location: NE Indiana, USA (NTSC)
See the SUROM article for a start.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Oct 15, 2010 8:22 am 
Offline
Formerly 65024U

Joined: Sat Mar 27, 2010 12:57 pm
Posts: 2269
But I don't have a SUROM cart :'(


I have a SNROM on my zelda game :P So it should be the same, but since it uses 128K PRG ROM, does that affect the 32-pin socket pinout? Or is it the same as the list says?



And if I DID have a dragon warrior 3 cart.....no way I'd kill it! XD


Top
 Profile  
 
 Post subject:
PostPosted: Fri Oct 15, 2010 9:49 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 21403
Location: NE Indiana, USA (NTSC)
I too would recommend taking a cheap SNROM game (like the Ultima games) and converting it to SUROM behavior, as you mention, but I've never seen a step-by-step rewiring guide. If there were a homebrew game that used SUROM, someone would feel more incentive to write such a guide.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Oct 15, 2010 11:25 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7711
Location: Chexbres, VD, Switzerland
Oh my god why should there always need to be guides ? Can't people use their brain instead ? Just wire A18 to the proper MMC1 pin and you'll "magically" turn a cheap zelda cart into a SUROM cart. But there is 99% of chances this is used to recreate a fake Dragon Warrior cart as the real ones are expensive, and that might be sold later for a high price. So I don't know why I even bother explaining that.
Quote:
I see that there is space for a 32-Pin EPROM. Is that for 256K EPROMS? If so, does the wiring change since it is using a 128K 28 pin MROM at the moment?

The extra pins are for Nintendo's 256k mask roms. The wiring is almost the same as Nintendo's 128k mask roms, just more pins. It is however different from 128k/256k EPROMs. (the same applies with 512k mask ROMs and EPROMs too).

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


Top
 Profile  
 
 Post subject:
PostPosted: Fri Oct 15, 2010 12:01 pm 
Offline
Formerly 65024U

Joined: Sat Mar 27, 2010 12:57 pm
Posts: 2269
So basically use the 256K chip guide and thats how the pins should be? Okay that makes it easier to understand. I am not that good with electronics and just want to check before I start going in and hacking up my zelda game....And nah I'm not making a repro of any kind. Maybe to test to make sure it works, and thats a good idea for playing, but it's going to be a development cart.....I just have never needed to rewire a board and it will really be a bummer to kill a zelda, which I only have 2 of and this board is good for development of really cool stuff and I decided to develop on it.



So yeah, A16 through A19 on the CHR bank select pins on the MMC1 can tie to A19. I get that. I am just wondering, if it is in 2x 4K banks for MMC1, do both registers need to set A18 high? And also, since there is one register on the MMC1, if you set it so that one bank of 16K isn't movable, then I am guessing bank 0 will be put in that spot automatically? Is that correct?


Top
 Profile  
 
 Post subject:
PostPosted: Fri Oct 15, 2010 1:17 pm 
Offline
User avatar

Joined: Sun Feb 21, 2010 6:06 pm
Posts: 108
65024U wrote:
So basically use the 256K chip guide and thats how the pins should be?


Pretty close with one minor addition. The other day I took an Ultima Exodus cart and rewired it with a 39SF040 burned with Dragon Warrior 4. The trace between MMC1 pin 11 and WRAM pin 20 must be cut. MMC1 pin 11 should then be tied to A18 (pin 1) on your 4Mb EEPROM chip. Tie WRAM pin 20 to GND. I'm not sure if simply tying EEPROM pin A18 to MMC1 pin 11 would work. If the game happens to be using the upper 256KB section of the chip, usage of the WRAM would be disabled since /CE would be high. I played it safe and cut the trace. Fired right up and played without issue.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Oct 15, 2010 2:10 pm 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7711
Location: Chexbres, VD, Switzerland
Ok since it's not for a repro, I'm going to tell more details.

I'm pretty sure the only difference between SNROM and SUROM is that PRG-A18 is connected to MMC1's CHR-A16 (it's A16, not A19 like you said). On SNROM, MMC1's CHR-A16 is just left unconnected, and I'm pretty sure the pin that would hold A18 on a Nintendo's mask ROM is just tied to +5V or something in the like.
I'm pretty sure all SNROM games would work just fine on a SUROM board without altering Nintendo's mask ROM (by disoldering them without damaging them and soldering them back on a SUROM board) - Nintendo just used SNROM because they didn't think about the A18 trick in 1987.

I don't know what is this think about the WRAM, but it's functionality is identical in both board so I doubt you'd need to touch the WRAM in any way.

And yes, you should set both CHR-registers to the same value. Or even better, set the CHR-switching mode to 8k, and then only use the first CHR-Register.
If you set both CHR-registers to different values, your PRG-ROM's A18 will be switched twice per scanline in the same fashion as MMC3's scanline counter (in the case of BG using table #0 and sprites using table #1, switching once per line, in the other case, switching about 36 times).

You COULD abuse this in a game to do a "software" MMC3 scanline counter but it's probably not the best method, and probably won't work in any emulator.

EDIT : in fact this method isn't that stupid... considering that the MMC1 has no scanline counter of any kind, and that doing it with DPCM is complex and annoying... why not abuse this behavior ?

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


Top
 Profile  
 
 Post subject:
PostPosted: Fri Oct 15, 2010 6:04 pm 
Offline
User avatar

Joined: Sun Feb 21, 2010 6:06 pm
Posts: 108
Bregalad wrote:
I'm pretty sure the only difference between SNROM and SUROM is that PRG-A18 is connected to MMC1's CHR-A16 (it's A16, not A19 like you said). On SNROM, MMC1's CHR-A16 is just left unconnected, and I'm pretty sure the pin that would hold A18 on a Nintendo's mask ROM is just tied to +5V or something in the like.


You may have different versions of the SNROM board outside the US, but every SNROM board I've seen so far ties MMC1 CHR-A16 to WRAM /CE. The SUROM boards tie MMC1 CHR-A16 to PRG ROM A18 and WRAM /CE to GND. I opened up a total of 7 retail SxROM carts and found the following...
    Dragon Warrior 3, Dragon Warrior 4
    NES-SUROM-01
    MMC1 Pin 11 (CHR16) -> PRG ROM A18
    WRAM Pin 20 (/CE) -> GND


    Dragon Warrior 2, Ultima: Exodus (1st copy)
    NES-SNROM-05
    MMC1 Pin 11 (CHR16) -> WRAM Pin 20 (/CE)

    Ultima: Exodus (2nd copy)
    NES-SNROM-04
    MMC1 Pin 11 (CHR16) -> WRAM Pin 20 (/CE)

    Ultima: Exodus (3rd copy)
    NES-SNROM-03
    MMC1 Pin 11 (CHR16) -> WRAM Pin 20 (/CE)

    Zelda
    NES-SNROM-02
    MMC1 Pin 11 (CHR16) -> WRAM Pin 20 (/CE)

That being said, the SNROM->SUROM conversion instructions I gave were correct with one exception. I left out step 3 as shown here.
    1. Follow the 256K chip guide to replace the mask ROM with a flash chip
    2. Cut the trace going from MMC1 pin 11 to WRAM pin 20
    3. Cut the trace going from MMC1 pin 4 to PRG ROM pin 1
    4. Connect WRAM pin 20 to GND
    5. Connect MMC1 pin 11 to PRG ROM pin 1
    (MMC1 pin 4 should already be connected to PRG ROM pin 2 according to the guide)

(I did this conversion on an SNROM-05 board, have not tested others)

I can see why you thought that the WRAM /CE was tied to ground. From what I've seen on the oscilloscope, the SNROM games I listed above never seem to set MMC1 CHR-A16 high. This means you could probably get away with converting the cart from SNROM->SUROM then using it to play both 256K and 512K ROMs.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Oct 15, 2010 9:43 pm 
Offline
Formerly 65024U

Joined: Sat Mar 27, 2010 12:57 pm
Posts: 2269
Yeah, okay I get it. I thought that the two registers would need to be set for 4K mode, because having two different banks from one chip requires SOME change on the pins, and that's not good for the PRG-ROM, right? :P



Ahh, I said 19 because 2^19 is 512K and 2^16 is 64K so yeah....I screwed up. :P


Ahh thanks. I'm going to get into hacking this up soon. My cart I am using is a Zelda 1 cart, gold, terrible condition. I want to start messing with MMC1 and doing bigger stuff, and seeing what CHR-RAM is like, and I don't want to have 8 MMC1 boards, so this seemed like the best board to do because it has everything I could ever want in one package....


As for the chip enable pin.....I take it it requires a low to enable the chip? If so then connecting it to ground would make sense.....right? Beause it's not going anywhere. Atleast not in this cart. :P And I am guessing that the other games used that CHR-16 line to disable/enable it so thats how they wired it up, but for the 512K carts they tied it to the ROM 256K bank bit?


I understand how electronics work but not really into it so this is another noobfest of questions from me. Sorry! XD


Top
 Profile  
 
 Post subject:
PostPosted: Fri Oct 15, 2010 9:48 pm 
Offline

Joined: Sat May 01, 2010 9:58 am
Posts: 60
Or you get one board, put sockets on it, and have it handle everything - http://www.retrousb.com/product_info.ph ... ucts_id=43


Top
 Profile  
 
 Post subject:
PostPosted: Fri Oct 15, 2010 10:15 pm 
Offline
Formerly 65024U

Joined: Sat Mar 27, 2010 12:57 pm
Posts: 2269
I don't have $15 to buy just a board when I have a crappy game cart with the same one needed. :P Plus....the learning is worth it so I don't have to look this dumb again....


Top
 Profile  
 
 Post subject:
PostPosted: Sat Oct 16, 2010 2:05 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7711
Location: Chexbres, VD, Switzerland
Thanks for clarifying yourself, chykn.
So since WRAM /CE is connected to CHR-A16 on SNROM boards, this means it's possible to disable WRAM by writing $1x on the CHR-ROM select registers. This feature has never been documented anywhere - they said that writing $1x on the PRG-ROM select register will disable SRAM internally in the MMC1 (the MMC1 is only connected to the positive CE pin). So I guess in the very particular case of SNROM, you have both WRAM enable bits instead of just one like other MMC1 boards ?

And what about SOROM and SAROM ? Those have not all CHR-selct pins used and have SRAM too. I'm pretty sure the negative /CE pin on SOROM is used by the SRAM chip select circuitery (connected to CHR-A15 directly for one chip, and though a transistor-inverter for the second chip). I don't know on SAROM though. Anyone with a DW1 card could check this and upload the wiki ? Thanks.

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


Top
 Profile  
 
 Post subject:
PostPosted: Sat Oct 16, 2010 8:50 am 
Offline
Formerly 65024U

Joined: Sat Mar 27, 2010 12:57 pm
Posts: 2269
I don't know what you mean but I have a DW1 cart, I'll take pics later and upload them for you guys to do your thing. Wow, still finding stuff out every day is pretty cool. I can't believe I guessed it right, chip select....I am getting smarter! :P


Top
 Profile  
 
 Post subject:
PostPosted: Sat Oct 16, 2010 9:54 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7711
Location: Chexbres, VD, Switzerland
You should check where MMC1's CHR out pins are connected. I guess the low 4 should be connected to CHR-ROM (obviously), although DW1 only uses two of them (16k CHR-ROM), I'd assume the cart to support up to 64k CHR-ROM (using up 4 adress lines) because all other Nintendo boards does that (they only got custom pinout for mask ROMs of 128k or above).

So there is a free adress line (A16) which may be connected to WRAM /CE like on SNROM, or that might just be left unconnected.

Quote:
Wow, still finding stuff out every day is pretty cool.

I agree. Some time ago we were running out of new stuff to discover about the NES, but not it has just started back again.

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


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 20 posts ]  Go to page 1, 2  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: Google Adsense [Bot] 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