More EEPROM / EPROM Questions

Hi Again Everyone,

I just wanted to say a quick thanks for the reponses so far, i'm new to all this and am full of questions.

I was wanting to make some changes to the ROM of a Commodore 64 as I am quite comfortable with assembly language, All the sites which give guides on this mention 2764 & 27256 chips which are EPROMs only, I was wanting to use EEPROMs insted.

I am able to get myself a smallish supply of Winbond W27C512-45 chips which look ok for what I want to try and do. I just have a couple of questions.. Looking at the datasheets for these chips they state that they have 16 address lines (A0-A15), but other 27Cxxx have lines marked A0-A13. Will these Windbond chips work in place in a system that only uses A0-A13? I'm not quite clear on what the lines do.

Thanks once again for all the help,

Cheers,

Adam.

Reply to
Adam
Loading thread data ...

On 16 Oct 2006 21:37:37 -0700, "Adam" put finger to keyboard and composed:

Just tie the unused address lines to ground. Otherwise connect them to a 2-way header and jumper them high or low. The two extra bits will allow you to partition your EEPROM/EPROM into four sections, each with different code, effectively giving you four C64 machines in one. Note that the C64 uses ROMs (23xx) so you will need to make an adapter socket. I've actually replaced all three (?) ROMs in a Commodore FDD with a single EPROM in this way.

BTW, how can you be "comfortable" with assembly language if you don't understand addressing?

- Franc Zabkar

--
Please remove one 'i' from my address when replying by email.
Reply to
Franc Zabkar

Hi Franc,

I am comfortable in the software side i.e, I can code in assembly, but I have no idea what address lines do on an EPROM having never touched the hardware side before. BTW, I should mention that the only assembly I have done is on finished products such as a C64 an a PC, I have not done any low level stuff such as prototype boards and the like since uni.

Thanks for your response.

Adam.

Reply to
Adam

The purpose of the address and data lines is pretty simple: the CPU sends an address (binary value) to the EPROM using the address lines, and then the ROM sends back the number on the data lines. The number sent back by the EPROM is whatever you have programmed into the address which is being specified on the address lines. There is some time delay involved, but modern chips will normally be faster than the old ones whichwere used in a C64, and almost always it is OK to use a faster chip instead of a slower one. Normally there are also one or more chip-select or output-enable pins on the chip, and if the chip is not selected then it will not drive the data lines, so that another chip can use the data lines (e.g. if RAM is being accessed at the time instead of EPROM.)

Chris

Reply to
Chris Jones

Hi Chris,

Thanks! That is really quite simple!

So if the EPROM chip does have extra address lines then they can be just pulled to ground because the CPU can't use them as it doesn't have enough address lines anyway, is that right?

Cheers,

Adam.

Reply to
Adam

That is correct, otherwise their state is undetermined.

Reply to
Lord Garth

The newer chips have more memory, so they have more address lines. You don't need the extra space, so as long as you ground (or pullup) the unneeded lines (A14-A15 or whatever), it'll work correctly. Just make sure that you program your code into the part of the ROM that matches however you hadwire the extra address lines. Alternatively, you could replace two 27256s or eight 2764s with one of your 512s, which would be a lot more elegant.

--
   W          
 . | ,. w ,   "Some people are alive only because
  \|/  \|/     it is illegal to kill them."    Perna condita delenda est
---^----^---------------------------------------------------------------
Reply to
Lionel

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.