(Topic ID: 169522)

WPC EPROM & ROM File sizes

By ForceFlow

7 years ago


Topic Heartbeat

Topic Stats

  • 30 posts
  • 12 Pinsiders participating
  • Latest reply 5 years ago by barakandl
  • Topic is favorited by 8 Pinsiders

You

Linked Games

No games have been linked to this topic.

    Topic Gallery

    View topic image gallery

    27c301 (resized).png

    #1 7 years ago

    On WPC-89 and WPC-95 games, when using an EPROM that is larger than the ROM file for the game or sound ROMs, does the ROM image need to be "doubled up" like on older game systems?

    For example, if I have a 128KB file and have a 1MB 27c080 EPROM, would I just burn the 128KB ROM file as-is, or would it have to be doubled up 8 times to fill the whole EPROM?

    #2 7 years ago

    I'm..honestly not even sure you can do that. Be curious to see what other say.

    #3 7 years ago

    Standard practice is to double it up so the entire ROM is filled with data and nothing random. This would eliminate any potential floating data/address lines from jumping to portions of code with garbage in them.

    #4 7 years ago
    Quoted from ForceFlow:

    On WPC-89 and WPC-95 games, when using an EPROM that is larger than the ROM file for the game or sound ROMs, does the ROM image need to be "doubled up" like on older game systems?
    For example, if I have a 128KB file and have a 1MB 27c080 EPROM, would I just burn the 128KB ROM file as-is, or would it have to be doubled up 8 times to fill the whole EPROM?

    A 27c080 is an 8MB chip.

    #5 7 years ago
    Quoted from Brtlkat:

    A 27c080 is an 8MB chip.

    8 megabits is 1 megabyte. A 128KB file will fit into that chip 8 times.

    #6 7 years ago

    Can't hurt, though technically the CPU should always be keeping those lines low? Just don't burn a 1MB image to a 512KB rom like the guy who sold me his Black Rose did. Took me forever to figure out...

    #7 7 years ago
    Quoted from zacaj:

    Can't hurt, though technically the CPU should always be keeping those lines low? Just don't burn a 1MB image to a 512KB rom like the guy who sold me his Black Rose did. Took me forever to figure out...

    Quoted from Brtlkat:

    A 27c080 is an 8MB chip.

    MB=MegaByte
    Mb=Megabit

    It can be confusing I usually have to double check when something uses bits and bytes are both used on the same thing.

    #8 7 years ago

    Oops I didn't mean to post this. Anyways let me know if you have any further questions.

    #9 7 years ago
    Quoted from Coyote:

    I'm..honestly not even sure you can do that. Be curious to see what other say.

    Yeah, I wasn't able to find anything explicitly written about it for WPC, which is why I'm asking.

    #10 7 years ago
    Quoted from ForceFlow:

    Yeah, I wasn't able to find anything explicitly written about it for WPC, which is why I'm asking.

    In theory, it should be okay. Helm, if no-one has an answer by tomorrow, I'll just try it..!

    #11 7 years ago

    I'd just do it to be sure. Repeat the same DOS double-up copy command 3 times and it's done.

    #12 7 years ago

    When deciding if you can use a larger size eprom in place, check out the pin outs. If the pinouts basically match, yet the larger eprom just has more address lines, you can double, quadruple, etc the image and use it.

    2732 can replace 2716 with a doubled up image because the pinout match except 2732 has an extra address line connected to P21

    Bit and Byte confuses people. EPROM sizes are expressed in megabit, but windows expresses file sizes in megabyte or KB. There is a chart on this page that should help you pick what EPROM you should use based on the image file size.

    https://en.wikipedia.org/wiki/EPROM

    Fun tip.... you can even use a FM1608 as a really expensive 2764 EEPROM.

    #13 7 years ago

    When doubling or quadrupling up images in windows. I recommend using batch files (.bat).

    Open up notepad application and put a line like this into it. Then save that notepad as a .bat file (not .txt) in the same folder with your image.

    copy /b GAME.ROM + GAME.ROM + GAME.ROM + GAME.ROM QUADGAME.ROM

    When you execute the batch file That string would quadruple the file GAME.ROM and output a quadrupled image file as QUADGAME.ROM. You must use the /b flag (binary)

    #14 7 years ago
    Quoted from ForceFlow:

    Yeah, I wasn't able to find anything explicitly written about it for WPC, which is why I'm asking.

    If you aren't sure if it's required for a particular board (WPC in this case) it should always work by doubling or copying the image as needed to fill the EPROM. Some boards may have the unused lines tied (to either ground or +5V, I forget which) and then wouldn't need the image copied over. Some boards leave these unused lines floating and that's when you really need the additional rom space filled so it doesn't float to a garbage block, it just floats to another region with the exact same data and thus sees no change.

    In short, it never hurts and you will always be safe by filling up the EPROM.

    #15 7 years ago

    As long as it's a size that's used by that board is any game, shouldn't it be fine without doubling up?

    #16 7 years ago
    Quoted from zacaj:

    As long as it's a size that's used by that board is any game, shouldn't it be fine without doubling up?

    Some EPROMs do not follow the standard pinout. Check out 27C301

    27c301 (resized).png27c301 (resized).png

    I don't think this will come up in pinball systems, but i had to deal with it when putting custom software inside some atari 7800 cartridges.

    #17 7 years ago
    Quoted from barakandl:

    Some EPROMs do not follow the standard pinout. Check out 27C301

    I don't think this will come up in pinball systems, but i had to deal with it when putting custom software inside some atari 7800 cartridges.

    Those aren't both proms that would be 'correct' for some game though, right?

    #18 7 years ago

    I am not sure if I understand properly. The 27C301 is an EPROM that is close to the pinout used in masked PROMs, but not exactly. I had to modify the atari pcb board to take a standard pinout erpom like 27c010. Once the atari cart pcb was modded to the standard pinout, then i could sub larger eproms in that are doubled up.

    #19 7 years ago
    Quoted from barakandl:

    I am not sure if I understand properly. The 27C301 is an EPROM that is close to the pinout used in masked PROMs, but not exactly. I had to modify the atari pcb board to take a standard pinout erpom like 27c010. Once the atari cart pcb was modded to the standard pinout, then i could sub larger eproms in that are doubled up.

    Ah, sorry. When I said "any game", I meant that it would be used in any WPC game that works with that version of the WPC MPU board. Eg, if you have a 128KB game rom you want to burn, but all you have on hand is a 1MB eprom (which would be a compatible eprom if the original game rom was 1MB), then since that eprom is compatible with the same board, the CPU would necessarily have all the right hookups and hold them correctly when accessing the smaller rom or the larger one, unless the game has a bug where it addresses memory above its smaller rom size.

    #20 7 years ago
    Quoted from zacaj:

    As long as it's a size that's used by that board is any game, shouldn't it be fine without doubling up?

    Yes. Doulbing or quadrupling, etc. only applies when using a larger than necessary eprom that shares the same pinout as the intended smaller size eprom.

    #21 7 years ago

    This is probably more important when you're using a chip that is larger than what the board is capable of directly addressing because you don't know how the MPU will treat the upper address line(s). If there's a chance the unused lines could float or go high you want to be sure to have your code doubled-up.

    2 years later
    #22 5 years ago

    Need some support.
    I have a 27M1001 Rom 1MB.
    When I burn a 256k size rom into it, it doesn't work.
    When I burn a 128k size rom, it works well.

    What is the secret?

    #23 5 years ago
    Quoted from onlydjz:

    Need some support.
    I have a 27M1001 Rom 1MB.
    When I burn a 256k size rom into it, it doesn't work.
    When I burn a 128k size rom, it works well.
    What is the secret?

    Maybe it's a 1Mb rom, not MB? Not turning up that part number on Google...

    #24 5 years ago
    Quoted from onlydjz:

    Need some support.
    I have a 27M1001 Rom 1MB.
    When I burn a 256k size rom into it, it doesn't work.
    When I burn a 128k size rom, it works well.
    What is the secret?

    27C1001 has a capacity of 128k.

    #25 5 years ago

    bit or bye i think is the confusion.

    if you binary file is one megabyte in size on the computer you need an eight megaBIT to burn it.

    The way i think about it to pick eprom to use is I look at the file size and multiply by eight. If the file size on the computer is 4 kByte then I need a 2732 or 32 kBIT EPROM.

    this chart on wikipedia helps.
    https://en.wikipedia.org/wiki/EPROM#EPROM_generations,_sizes_and_types

    #26 5 years ago

    Great.
    It means .
    128 K -> 27C1001
    256 K -> 27C2001
    512 K -> 27C4001

    #27 5 years ago

    Ignoring core type "e.g. CMOS" here is a list of base part numbers. CMOS (low power) cores typically had a "27C" prefix.

    Popular sizes:
    1702 = 256 x 8 bit = 256 Byte = 2048 bit
    2704 = 512 x 8 bit = 512 Byte = 4096 bit (I have never seen a 2704)
    2708 = 1K x 8 bit = 1K Byte = 8096 bit
    2716 = 2K x 8 bit = 2K Byte = 16384 bit
    2732 = 4K x 8 bit = 4K Byte = 32768 bit
    2764 = 8K x 8 bit = 8K Byte or 65536 bit
    27128 = 16K x 8 bit = 16K Byte = 128K bit
    27256 = 32K x 8 bit = 32K Byte = 256K bit
    27512 = 64K x 8 bit = 64K Byte = 512K bit
    27010 = 128K x 8 bit = 128K Byte = 1M bit (or 27C1001)
    27020 = 256K x 8 bit = 256K Byte = 2M bit (or 27C2001)
    27040 = 512K x 8 bit = 512K Byte = 4M bit (or 27C4001)
    and up

    Always -> little b = bit, big B = Byte. A 2716 is a 16Kb EPROM and a 27128 is a 16KB EPROM. Big difference.

    There were variations of pretty much each size EPROM, sometimes from the same manufacturer.
    You need to examine the specific part you are replacing to make sure the replacement part has the same pin out.

    Starting mostly with the 64KB EPROMs - there were several variations such as where the EPROM would be configured as 16 bits wide.
    For Example: 27C1024 = 64K x 16 bit or 1Mb -- same number of bits as the 27C010 but a shallower depth and wider data bus.

    And when some of the EPROMs went above 28 pins, several manufacturers tried to get their specific pinout to become the JEDEC standard... which explains variations such as the one shown in post 16 above.

    Note that devices as small as the 27256's are *still* being made but are no longer considered eraseable. They are now available as OTP or One Time Programmable devices. They are plastic encased rather than the pricey ceramic, windowed case. Program it once - if wrong, toss it, get another and try again. Bad point to this is that it cannot be reused. Good point to this is they are *CHEAP* and still available as alternatives to cheap ebay knockoffs. A brand new 27C256 can be bought for just over a buck apiece.

    Ed

    #28 5 years ago

    I would like to clarify, that if you have floating address line inputs to a memory chip you may get into trouble regardless. As it is no-go to change the address input while chip select is active. Even though it looks to be working on paper. It has to be stable.

    And it is likely not an issue. Having floating connections to a chip, even for "no purpose" pins, is baaaaad practise.

    The reason for mirror filling a ROM is to be independant of if the, now be, addresse lines are set high or low.

    #29 5 years ago
    Quoted from G-P-E:

    Note that devices as small as the 27256's are *still* being made but are no longer considered eraseable. They are now available as OTP or One Time Programmable devices. They are plastic encased rather than the pricey ceramic, windowed case. Program it once - if wrong, toss it, get another and try again.

    <RANT>
    The one thing that irritates the $#!+ out of me on these is that they are listed and sold as EPROMS...the "E" in the acronym EPROM (Erasable Programmable Read Only Memory) stands for ERASABLE! They should be sold as PROMS as that's what they are...is it only me?
    </RANT>

    Ok, I'm better now.

    #30 5 years ago
    Quoted from soren:

    I would like to clarify, that if you have floating address line inputs to a memory chip you may get into trouble regardless. As it is no-go to change the address input while chip select is active. Even though it looks to be working on paper. It has to be stable.
    And it is likely not an issue. Having floating connections to a chip, even for "no purpose" pins, is baaaaad practise.
    The reason for mirror filling a ROM is to be independant of if the, now be, addresse lines are set high or low.

    hopefully when the board layout was done all the extra JEDEC standard pins are logically tied to something when larger memory is available in the same pin count package used. In pinball world I think this is always done, but probably worth checking the board or schematic.

    sneak a pull resistor in or just be handcuffed to the original memory size... but I'd like to think that is a rare case.

    Reply

    Wanna join the discussion? Please sign in to reply to this topic.

    Hey there! Welcome to Pinside!

    Donate to Pinside

    Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!


    This page was printed from https://pinside.com/pinball/forum/topic/wpc-eprom-rom-file-sizes?hl=onlydjz and we tried optimising it for printing. Some page elements may have been deliberately hidden.

    Scan the QR code on the left to jump to the URL this document was printed from.