eproms

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
eproms
by on (#4823)
so i just bought a willem pcb4 eprom programmer, now i need some eproms. i was wondering if i can use 27c256 in place of 128k eproms on the donor board. i was looking at these:

http://cgi.ebay.com/28-EPROMS-27c256-20 ... dZViewItem

is that too much to pay? i have no clue how much they go for, does anyone know a good place to get them besides ebay? thanks

by on (#4836)
Most companies that sell electronic components still sell EPROMs. I recently paid 3.11 USD per chip for some erasable 27C256s from Digi-Key. They were a little more expensive than the ones you linked, but they were also twice as fast, new, and came from a respected distributor.

A 27C256 is only 32 kB big. I think you probably want a 27C010. You can replace a 128 kB NES ROM with a 27C010 EPROM by following the instructions in NES EPROM Conversions.txt. (For example, CHR ROM on an SLROM board is 128 kB.)

by on (#4842)
Thanks for the info!! That clears up alot


crossraleigh wrote:
Most companies that sell electronic components still sell EPROMs. I recently paid 3.11 USD per chip for some erasable 27C256s from Digi-Key. They were a little more expensive than the ones you linked, but they were also twice as fast, new, and came from a respected distributor.

A 27C256 is only 32 kB big. I think you probably want a 27C010. You can replace a 128 kB NES ROM with a 27C010 EPROM by following the instructions in NES EPROM Conversions.txt. (For example, CHR ROM on an SLROM board is 128 kB.)

by on (#4873)
i was wondering if you could tell me what does N ROM, UNROM, SNROM etc. relate to the mapper. i saw that the mapper of the rom was MMC3 (4) or MMC1 (1), is there something that can tell me what the mapper is and what kind of board it is? i need this so i can us those instructions to solder the eprom onto the board. thanks

crossraleigh wrote:
Most companies that sell electronic components still sell EPROMs. I recently paid 3.11 USD per chip for some erasable 27C256s from Digi-Key. They were a little more expensive than the ones you linked, but they were also twice as fast, new, and came from a respected distributor.

A 27C256 is only 32 kB big. I think you probably want a 27C010. You can replace a 128 kB NES ROM with a 27C010 EPROM by following the instructions in NES EPROM Conversions.txt. (For example, CHR ROM on an SLROM board is 128 kB.)

by on (#4875)
The first letter of a board name usually gives witch mapper is used, S = MMC1, P = MMC2, T = MMC3 (I saw on the wiki that F=MMC4, but I didn't saw it anywhere else, if someone has more info that would be cool), E = MMC5. For discrete logic, U= 16kb low PRG ROM banswitched mapper (mapper 2), C=8kb CHR ROM bankswitched mapper (mapper 3), A = 32kb PRG ROM bankswitched + single screen mirroring mapper (mapper 7).
The segond letter means variants, so N is the standard one, O and extended one for disrete logic mappers. For MMCs, N is CHR RAM and SRAM, G CHR RAM without SRAM, K CHR ROM and SRAM, L CHR ROM and no SRAM. There also is lots of other variants, but here you are a good overview.

by on (#4876)
ok, so i understand the first part about the letters and the mappers, but the variants are confusing me. i dont know what SRAM is. So say that Batman returns is 128k PRG, 256 CHR and the mapper is MMC3 (4), what board is this? I assume it would start with S so it would be a SNROM, SLROM or SVROM.


Bregalad wrote:
The first letter of a board name usually gives witch mapper is used, S = MMC1, P = MMC2, T = MMC3 (I saw on the wiki that F=MMC4, but I didn't saw it anywhere else, if someone has more info that would be cool), E = MMC5. For discrete logic, U= 16kb low PRG ROM banswitched mapper (mapper 2), C=8kb CHR ROM bankswitched mapper (mapper 3), A = 32kb PRG ROM bankswitched + single screen mirroring mapper (mapper 7).
The segond letter means variants, so N is the standard one, O and extended one for disrete logic mappers. For MMCs, N is CHR RAM and SRAM, G CHR RAM without SRAM, K CHR ROM and SRAM, L CHR ROM and no SRAM. There also is lots of other variants, but here you are a good overview.

by on (#4878)
It will start with T because it is MMC3, S is MMC1.
SRAM is additionnal RAM on the cartridge, usually battery-backed to handle save games in RPGs, but there also is games that have SRAM and no battery backup, so this just expands usual RAM, for example Kid Icarus, Metroid, Air Fortress, Chessmaster, Batman-Return of the Jocker, etc... are games with SRAM and with no Save games. To check if the game has SRAM, checking the battery bit in iNES header isn't a good idea because all games I mentionned above would have this bit clear (no battery), but they still uses SRAM. So, the best way is to use the FCEUltra's debbuger and put breakpoint for all read and writes to $6000-$7fff. If there is any, the game has probably SRAM. Or use VirtuaNES' memory viewer, go at loctaion $6000-$7fff and see if its data seems used or not.
Batman Begins has CHR ROM and no SRAM, so it's second letter is probably L. So you're checking for a TLROM board. It is one of the most common board, and there is a lot of common bad games using it, so buy one, and modify the board in funtion of what drk414 says.

by on (#4885)
Thanks, it all makes sense now!!

Bregalad wrote:
It will start with T because it is MMC3, S is MMC1.
SRAM is additionnal RAM on the cartridge, usually battery-backed to handle save games in RPGs, but there also is games that have SRAM and no battery backup, so this just expands usual RAM, for example Kid Icarus, Metroid, Air Fortress, Chessmaster, Batman-Return of the Jocker, etc... are games with SRAM and with no Save games. To check if the game has SRAM, checking the battery bit in iNES header isn't a good idea because all games I mentionned above would have this bit clear (no battery), but they still uses SRAM. So, the best way is to use the FCEUltra's debbuger and put breakpoint for all read and writes to $6000-$7fff. If there is any, the game has probably SRAM. Or use VirtuaNES' memory viewer, go at loctaion $6000-$7fff and see if its data seems used or not.
Batman Begins has CHR ROM and no SRAM, so it's second letter is probably L. So you're checking for a TLROM board. It is one of the most common board, and there is a lot of common bad games using it, so buy one, and modify the board in funtion of what drk414 says.

by on (#4923)
how do you use FCE Ultras Debugger? i typed in the $6000 to $7fff in the breakpoints box, but i dont know what to do after this.

by on (#4928)
Check the read and/or write boxes below, and click on add to make the breakpoint valid. Play trough a big part of the game, not just the title screen. If the game never writes or reads $6000-$7ffff, there is surely no SRAM. I just know that Goonies uses an obscure mapper where $6000 is a mapper register, but this is a very particular case.

by on (#5026)
if a game has a battery, does it have to have SRAM? because i just converted Sugoro's Quest and it said it had a battery backup, but then i used virutuaNES and it didnt look like it had SRAM.

Bregalad wrote:
It will start with T because it is MMC3, S is MMC1.
SRAM is additionnal RAM on the cartridge, usually battery-backed to handle save games in RPGs, but there also is games that have SRAM and no battery backup, so this just expands usual RAM, for example Kid Icarus, Metroid, Air Fortress, Chessmaster, Batman-Return of the Jocker, etc... are games with SRAM and with no Save games. To check if the game has SRAM, checking the battery bit in iNES header isn't a good idea because all games I mentionned above would have this bit clear (no battery), but they still uses SRAM. So, the best way is to use the FCEUltra's debbuger and put breakpoint for all read and writes to $6000-$7fff. If there is any, the game has probably SRAM. Or use VirtuaNES' memory viewer, go at loctaion $6000-$7fff and see if its data seems used or not.
Batman Begins has CHR ROM and no SRAM, so it's second letter is probably L. So you're checking for a TLROM board. It is one of the most common board, and there is a lot of common bad games using it, so buy one, and modify the board in funtion of what drk414 says.

by on (#5027)
actually i just checked robocop vs terminator and i guess i dont know what the SRAM looks like in the memory viewer of VirtuaNES, becuase RvsT has SRAM. All i see is a bunch of FF's between $6000 and $fff. Thanks, i dont know much about this yet, so bear with me. thanks
Re: eproms
by on (#5042)
coinheaven wrote:
so i just bought a willem pcb4 eprom programmer, now i need some eproms. i was wondering if i can use 27c256 in place of 128k eproms on the donor board. i was looking at these:

http://cgi.ebay.com/28-EPROMS-27c256-20 ... dZViewItem

is that too much to pay? i have no clue how much they go for, does anyone know a good place to get them besides ebay? thanks



I go with 27c020's only...even if a game is 128k, the file can get copied in dos on top of itself (copy /b smb.prg+smb.prg whatyouwantthiscalled.prg)

by on (#5051)
so i just got some 32 pin 27c010 eproms. i opened up some carts and they seem to have 28 pin ROMs. will these work with them?

by on (#5052)
coinheaven wrote:
so i just got some 32 pin 27c010 eproms. i opened up some carts and they seem to have 28 pin ROMs. will these work with them?



Nope. But just because they are 28 pin doesnt mean the board cant accept 32. Look to the end of the 28 pin chip, and are there 2 holes (that would continue the row of pin's) that are soldered up?

by on (#5054)
yea, some of the boards i looked at had the 2 holes that end of the chip, some didnt. why is that?

by on (#5076)
Some boards like SNROM were made to support both 128kb PRG (nintendo made 28 pins, even if the 27C010 are 32 pins), and to support 256kb PRG-ROM nintendo made 32 pin. So yeah, put a 32 pin 27C010 is possible.
For example, CNROM has only room for 28 pin PRG ROM and CHR ROM, and you can't put your own 32-pin ROM in it, even if you would modify the board logic to allow largest bankswitching

by on (#5078)
so how would i put a 128k rom on an UNROM board if it only has 28 pin sockets and the 27c010 eprom has 32 pins?

Bregalad wrote:
Some boards like SNROM were made to support both 128kb PRG (nintendo made 28 pins, even if the 27C010 are 32 pins), and to support 256kb PRG-ROM nintendo made 32 pin. So yeah, put a 32 pin 27C010 is possible.
For example, CNROM has only room for 28 pin PRG ROM and CHR ROM, and you can't put your own 32-pin ROM in it, even if you would modify the board logic to allow largest bankswitching

by on (#5085)
I've done this.

Use an 32 pin IC socket, and it sticks out a little.
Bend up the pins (1,2,31,32) and put a piece of tape underneath.

by on (#5088)
Howww.... I never did an UNROM devcard, and I haven't even thinking about that. But now, I'm afaid I wouldn't do any.... You mean bend the pins without soldering them, but solder them to wires directly ? Isn't that pretty much risked electrically (noise immunity, bad contats, etc...) ?

by on (#5092)
what about this guy:


http://www.nesworld.com/devcart.htm


he put Heroquest on an UNROM (check out board scan). do you think he used a socket? the cart pic doesnt show any holes. i opened up castlevania and it had a 28 pin PRG. i wonder how he did it?

by on (#5093)
I oppened CastleVania (UNROM-07), Metal Gear (UNROM-08) and Skate or Die (UNROM-09). All of them had 28-pins EPROM and no holes for 32-pins EPROM.
The only differense that were is that UNROM-07 had all connecor pins present, even if not used, and that it was written "LS-32" and "LS-161", while UNROM-08 and UNROM-09 had "HC-32" and "HC-161" written on them. However, CastleVania had HC chips even if it is written LS on the board. I think LS chips would render less reliable voltage in their outputs, but they would be faster (delay is 8ns instad of 15, I did that at scrool :wink: )
An alternative would be to burn it on a SGROM board with a MMC1... It would need few software modifiactions, and SGROM has room for 32 pins chips, and is perfectly compatible with UNROM, as well than ANROM, AOROM, BNROM, and UOROM. Only the software should have a few modifications. For example, to burn a UNROM board on a SGROM card :
Instead of :
Code:
lda #Banknumber
tay
sta BusCfxTable,Y ;Write bankswitching to the mapper

There should be once at reset :
Code:
lda #$80
sta $9ffff
.if Mirroring="horizontal"
lda #$0f   ;Put MMC1 in UNROM emulation mode :
.else        ;16kb LOW aera switching, 8kb CHRAM, vertical/horizontal mirroring
lda #$0e
.endif
sta $9fff
lsr A
sta $9fff
lsr A
sta $9fff
lsr A
sta $9fff
lda #$80
sta $bfff
ldx #$05
lda #$00
- sta $bfff ;Reset both CHR ports, to be sure that there is no problem
dex
bne -
lda #$80
sta $dfff
ldx #$05
lda #$00
sta $dfff
dex
bne -
rts

Then, when it's time to bankswitch :
Code:
lda #BanswitchNmr
sta $ffff
lsr A
sta $ffff
lsr A
sta $ffff
lsr A
sta $ffff
lsr A
sta $ffff
rts

It's not a lot of modifications, but it would just need some room in PRG ROM.
AOROM would be compatible as well, but writing to $9fff would be needed to each bankswitching, because the single screen selection is merged with the rombank swlection. Also, the MMC1 should be set in 32kb bankswitching mode.
CNROM and GNROM are also emulatble as well, with a SLROM MMC1 board with CHRAM.

by on (#5094)
Yeah, bend the pins up, solder wires to them.

Noise isn't a problem at all, just make sure you connect any unused pins (like PRM to vdd or vcc).

by on (#5120)
damn, i wish i knew something about programming. im a dummy with that suff. where do you make the modifications, to the rom file itself, before you split it?

Bregalad wrote:
I oppened CastleVania (UNROM-07), Metal Gear (UNROM-08) and Skate or Die (UNROM-09). All of them had 28-pins EPROM and no holes for 32-pins EPROM.
The only differense that were is that UNROM-07 had all connecor pins present, even if not used, and that it was written "LS-32" and "LS-161", while UNROM-08 and UNROM-09 had "HC-32" and "HC-161" written on them. However, CastleVania had HC chips even if it is written LS on the board. I think LS chips would render less reliable voltage in their outputs, but they would be faster (delay is 8ns instad of 15, I did that at scrool :wink: )
An alternative would be to burn it on a SGROM board with a MMC1... It would need few software modifiactions, and SGROM has room for 32 pins chips, and is perfectly compatible with UNROM, as well than ANROM, AOROM, BNROM, and UOROM. Only the software should have a few modifications. For example, to burn a UNROM board on a SGROM card :
Instead of :
Code:
lda #Banknumber
tay
sta BusCfxTable,Y ;Write bankswitching to the mapper

There should be once at reset :
Code:
lda #$80
sta $9ffff
.if Mirroring="horizontal"
lda #$0f   ;Put MMC1 in UNROM emulation mode :
.else        ;16kb LOW aera switching, 8kb CHRAM, vertical/horizontal mirroring
lda #$0e
.endif
sta $9fff
lsr A
sta $9fff
lsr A
sta $9fff
lsr A
sta $9fff
lda #$80
sta $bfff
ldx #$05
lda #$00
- sta $bfff ;Reset both CHR ports, to be sure that there is no problem
dex
bne -
lda #$80
sta $dfff
ldx #$05
lda #$00
sta $dfff
dex
bne -
rts

Then, when it's time to bankswitch :
Code:
lda #BanswitchNmr
sta $ffff
lsr A
sta $ffff
lsr A
sta $ffff
lsr A
sta $ffff
lsr A
sta $ffff
rts

It's not a lot of modifications, but it would just need some room in PRG ROM.
AOROM would be compatible as well, but writing to $9fff would be needed to each bankswitching, because the single screen selection is merged with the rombank swlection. Also, the MMC1 should be set in 32kb bankswitching mode.
CNROM and GNROM are also emulatble as well, with a SLROM MMC1 board with CHRAM.