• Please review our updated Terms and Rules here

27C256 ROM question

chris_nh

Experienced Member
Joined
Jan 28, 2019
Messages
372
Location
New Hampshire
I have a question about using 27C256 ROMs ...

I'm sure the explanation has been given before, but I can't seem to find any info about it.

I see that if I"m using a 27C256 rom (w/ adapter), the rom image needs to be written 4x, right? I see the same explanation that a 27C128 rom needs the image written 2x.

I'm planning to use Ruud's diagnostic, which is an 8k image, so I need to write it to the rom 8x ??

I'm looking for an explanation of why this is necessary. Why does the ROM not just read from the beginning, where the code should be written 1x??? Why do we need to write the code multiple times in the ROM?

I'm just looking for a better understanding of why it is this way. Thanks!
 
Easy--let's look at the pinout of a 2764 (8Kx8 bits):
27C64-eprom.gif


Now, let's look at the 27256 (32Kx8 bits):
27C256-eprom.gif


Note that the 27256 pins A14 and A15 are /PGM and NC on the 2764. In the case of A15, it's impossible to say if the pin on a 2764 socket will be high or low or simply floating. So, to cover all bases there, we need to write our 8KB image in both places where A15 will be high or low. Since we're pretty sure that A14 will be high in most cases of a 2764, we'll need to write an image in the following locations:

11xxxxx xxxxxxxx (where x is the address within the 8KB image)
01xxxxx xxxxxxxx

Note that neither of these is the base image at 00xxxxx xxxxxx. The easiest way to handle this, rather than selectively programming each 8K block in the EPROM is to simply replicate the 8KB image throughout the entire
32KB of the 27256 EPROM. That way, it doesn't matter what A14 and A15 will be--you'll always get the same data.
 
I assume you mean A13 and A14? Why then doesn't the adapter just tie these lines high so we don't have to worry about writting the image multiple times?
 
Also a follow-up question ... if we are shooting for 32k, I only then need to write Ruud's 8k image 4x or do I need to write it 8 times?

Thanks again
 
Yes, A13 and A14. I was still on my first cuppa th' morning.

2764 = 64K bits = 8KB
27256 = 256K bits = 32KB

32/8 = 4.

Assuming Ruud's image is 8KB.
 
Thanks for the info ... I think I understand it now ;) I have to remember that 27c256=32k because my brain keeps telling me it's 256k ;)

Makes sense ... thanks for helping me out. My ROMs and programmer arrive tomorrow (allegedly), so I"m looking forward to trying this out!
 
If you have a way to program them, the Motorola type 68764 or 68766's are an 8Kx8 EPROM that will directly substitute for many mask ROMs.
 
Wonder why nobody mentions the 68765?

At any rate, what @gekaufman is talking about is the requirement for a 24-pin 64Kbit ROM. IBM 5150s, for example use those, but not the 5160s. I've got an EPROM programmer that can handle the 24 pin Moto EPROMs, if anyone's interest.
 
I recently burned Ruud's diagnostic ROM to an ATMEL AT27C256R-70PU , first I copied the file 4x , and then burned the resultant file:

copy /b DIAGROM.bin + DIAGROM.bin + DIAGROM.bin + DIAGROM.bin DIAGROM32K.bin

This ROM then worked fine in my 5160 XT.
 
Last edited:
Yes, A13 and A14. I was still on my first cuppa th' morning.

2764 = 64K bits = 8KB
27256 = 256K bits = 32KB

32/8 = 4.

Assuming Ruud's image is 8KB.
It is 8 KB indeed. But why writing it four times? In the '80 people replaced the original Kernal ROM of the C64 with a 27256 or 27512 give them the means to have four or eight different Kernals. To name some: SpeedDOS, DolphinDos, JiffyDOS, EXOS V3, etc. The trick was to connect the address pins A13, A14 and A15 with a resistor to +5V and to use switches to connect these pins to Ground. The combination of switches determines what Kernal is chosen.

What about using this trick to select between different BIOSes and diagnostic ROMs?

FYI: I don't use EPROMs anymore but EEPROMs/FlashRAMs like the ST29EE0x0 (IIRC). Not that I can have 16 or more Kernals/BIOSes but a FRAM can be reprogrammed much much faster than an EPROM.
 
Thanks Ruud, I was thinking about the same thing. IF we came up with an adapter that didn't leave the pins floating, we could better utilize the roms. A switch for selecting address would be awesome. This might have to be a future project if nobody beats me to it ;)

Thanks Mikey99 for confirming the Atmel 27C256R ... I ordered the -45 version and should arrive today.
 
Someplace in my piles, I have a vector board with ca could connectors on it and a dip switch. I did it for a different reason. I needed to program larger parts on a programmer for smaller sized EPROMs. It is not a knew idea to add switches.
Dwight
 
Back
Top