It is currently Tue Dec 11, 2018 5:50 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 11 posts ] 
Author Message
PostPosted: Fri Oct 12, 2018 2:28 pm 
Offline

Joined: Fri Oct 28, 2016 12:37 pm
Posts: 52
Hi all,

I'm looking to buy some EPROMs for my homebrew projects.

I found some online (27c64 and 27c128) for my 8KB CHR ROM and 16KB PRG ROM.

The chips I found are postfixed with 120ns, 150ns, etc. Does that matter when it comes to NES chips? Is there a value I should be targetting?

Thanks


Top
 Profile  
 
PostPosted: Fri Oct 12, 2018 2:39 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 20853
Location: NE Indiana, USA (NTSC)
200 ns or faster should be good enough for NES or for Super NES slow ROM. For Super NES fast ROM, you want 120 ns or faster.


Top
 Profile  
 
PostPosted: Fri Oct 12, 2018 3:11 pm 
Offline

Joined: Sun Jun 12, 2011 12:06 pm
Posts: 446
Location: Poland
Older and smaller EPROMS (2764) tends to be slower.
When using 250ns, I had issues with graphics (but Kazzo readbacks were OK), so probably yes, 200ns or faster.


Top
 Profile  
 
PostPosted: Fri Oct 12, 2018 3:36 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 11011
Location: Rio de Janeiro - Brazil
Keep in mind that you don't need chips of the exact sizes of the binaries you're programming on them, you can safely use larger chips and ground the upper address lines. So if by any chance you find chips that are cheaper, faster, etc. but are larger than what you need, you can get those too.


Top
 Profile  
 
PostPosted: Fri Oct 12, 2018 4:14 pm 
Offline

Joined: Fri Oct 28, 2016 12:37 pm
Posts: 52
Quote:
Keep in mind that you don't need chips of the exact sizes of the binaries you're programming on them, you can safely use larger chips and ground the upper address lines. So if by any chance you find chips that are cheaper, faster, etc. but are larger than what you need, you can get those too.


Nice, thanks

Quote:
200 ns or faster should be good enough for NES


Thanks, I'll pick up some of the 120 or 150ns pairs.

Excited :D


Top
 Profile  
 
PostPosted: Wed Oct 17, 2018 10:23 pm 
Offline

Joined: Fri Oct 28, 2016 12:37 pm
Posts: 52
tokumaru, when you mentioned grounding the address lines I assume that's only if the chip isn't packed right?

So I ended up getting two 27c128 eproms for my NROM game. 16KB PRG and 8KB CHR. PRG will fit nicely, but what are options for CHR? If I just write an 8KB CHR file will it cause problems?

I picked up a cheap little programmer to get started, a TL866ll Plus.


Top
 Profile  
 
PostPosted: Wed Oct 17, 2018 11:09 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 11011
Location: Rio de Janeiro - Brazil
No problem at all. Here's a little crash course on address lines:

The address lines in a memory chip are controlled by the console, and they're used to tell the chip which address the NES is going to access. Each address pin is a bit, and as you probably know, a bit can only be 0 or 1 (from the hardware's point of view, GND or +5V), so each bit is only enough to choose which half of a portion of the chip will be accessed. Say you have a 16KB chip, with address lines labeled A0 through A13 (not coincidentally, 2 to the 14th power is 16384: 2 values per bit ^ 14 bits = 16384 combinations). The highest line, A13, will select which 8192 (8K) half to access. The next line, A12, will select a 4192 (4K) half from the chosen 8K block. A11 will select a 2048 (2K) half from the 4K block, A10 will select a 1024 (1K) half out of the selected 2K, and so on, until A0 selects one byte out of a pair of bytes, and that's the byte that will be accessed.

If you need a 16KB chip to hold only 8KB of data, all you have to do is take control of the highest address line (A13) and force it to either GND or +5V, in order to force the lower or upper 8KB to be accessed, respectively. You can take a look at the pinouts of the chip and the PCB to see what the A13 line will be connected to in order to predict which half of the chip will be read. If the pin goes to GND or +5V, you're in luck, and don't need to do any rewiring, just drop the chip in.

To improve your chances of things working correctly even more, write the 8KB of data TWICE (i.e. double the file before writing), filling the entire chip, so that regardless of what A13 is connected to, the correct data will be returned. If both halves of the chip contain the same data, it doesn't matter which half gets selected for reading. Note that this is only true of ROM! If you ever need to use RAM that's larger than needed, you absolutely need to connect the unneeded address lines to a constant signal (either GND or +5V will work), so the same part of the chip is used every time.


Top
 Profile  
 
PostPosted: Thu Oct 18, 2018 10:44 pm 
Offline

Joined: Fri Oct 28, 2016 12:37 pm
Posts: 52
Wow, very cool information, I appreciate the in depth explanation.

So for my first board sounds like doubling the chr data should work by itself, though that does feel a little dirty / grounding seems more elegant. I ordered some wipe sockets so I can practice writing the eproms a bit first so for now I'm soldering the other components.

I may be going off tangent a bit but since my chip is 16KB should I leave the mirror jumpers alone? And I read how the nes header needs to be stripped from my rom prior to writing to the eprom, so I found this utility and was wondering if you've used it or if it seems legit?

https://www.romhacking.net/utilities/683/


Top
 Profile  
 
PostPosted: Thu Oct 18, 2018 11:56 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 11011
Location: Rio de Janeiro - Brazil
casprog wrote:
I may be going off tangent a bit but since my chip is 16KB should I leave the mirror jumpers alone?

Mirror jumpers? Do you mean the H and V solder pads? If so, those control the name table (background) mirroring, and are not related to the CHR-ROM chip in any way. Different games need different mirroring types. If you're gonna socket the board and use different games with it, it's better to install a switch so you can change the NT mirroring depending on the game, otherwise, just solder the pads to permanently select the type of mirroring the game needs.

Do note that the information on the NES header refers to MIRRORING, while the letters on the board refer to ARRANGEMENT (whoever came up with that header format probably didn't have a cartridge PCB in front of him!). Horizontal mirroring is vertical arrangement (solder the pads marked "V"), and vice versa.

Quote:
And I read how the nes header needs to be stripped from my rom prior to writing to the eprom, so I found this utility and was wondering if you've used it or if it seems legit?

I've always used hex editors to split ROMs, so I can't really vouch for any specialized tools. It's a very simple procedure though, so I'm sure there are tons of tools out there that can do it.


Top
 Profile  
 
PostPosted: Sat Oct 20, 2018 11:18 pm 
Offline

Joined: Fri Oct 28, 2016 12:37 pm
Posts: 52
Thanks for the help tokumaru. I got my eproms programmed and board all ready to go, however the eproms are not in yet (waiting for my switches to arrive). I will make this first board my test board and solder the eproms to other boards after they have been tested. This has been a lot of fun : ) I'm currently using the repro x boards which so far seem very straight forward.


Top
 Profile  
 
PostPosted: Sun Oct 21, 2018 5:38 pm 
Offline

Joined: Fri Oct 28, 2016 12:37 pm
Posts: 52
And it works! After verifying on my test board with the switches I went ahead and soldered the chips onto a dedicated board.

What's the best way to cover the eprom windows? Just some electrical tape?


Attachments:
20181021_173012.jpg
20181021_173012.jpg [ 2.58 MiB | Viewed 2320 times ]
20181021_173021.jpg
20181021_173021.jpg [ 3.74 MiB | Viewed 2320 times ]
Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 11 posts ] 

All times are UTC - 7 hours


Who is online

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