Re: Adapting EPROM/SRAM to replace 6540/6550...

From: Ethan Dicks (ethan.dicks_at_gmail.com)
Date: 2007-01-22 23:20:41

On 1/22/07, Bryan Pope <bpope@wordstock.com> wrote:
> Hello!,
>
>         According to
> http://www.cbmhardware.de/cbmpet/cbm2001mos.php?Lang=D&from=pet2001 ,
> it sounds like it should be fairly easy to adapt say a 2716 or 2764
> EPROM to replace a 6540 ROM and a 2114 SRAM to replace a 6550 RAM.

In general, yes, it's easy with a minimum of external logic or
toggle/DIP switches.

>         To do this would I wire all of the Chip Selects together and
> then connect them to the Output Enable on the EPROM/SRAM?

Nope.   The reason these older chips had multiple selects is to
simplify the external logic that takes a wide address space and
multiplexes it to a number of individual chips.  Later circuits used
parts like 74LS138s or 74LS154s to take 3 or 4 bits and make 8 or 16
chip selects, but older (mid 1970s) stuff could use much simpler
circuits based on buffered and inverted address lines to feed positive
(high-true) and negative (low-true) chip selects at the ROMs/SRAMs.

To replace a single 6550 with a single 2114, you'd need to determine
what chip selects are high-true, what ones are low-true, and with a
series of gates (inverters, ORs, NANDs...), combine the chip selects
to a single chip select for the 2114.

If you want to map several 2K/4K ROMs or 1K/2K SRAMs to a _single_,
modern part, a 32K SRAM (62256) or EPROM (27256), for example, you
will either need to tap into the address bus above the 2K/4K decode
logic (A12, A13...) _or_, take the chip selects and reverse-encode
them back into address bits that would happen to follow the original
address bus, but a few ns later (since the signals will get run
through a few gates between the CPU and the new EPROM/SRAM).  This is
the sort of thing you'd do if you wanted to make a low-chip-count
addon board for the expansion connector where all you have are bank
selects and low-order address bits.

There was a project some time ago to stick a board between the CPU and
the CPU socket for any PET... you could then have up to 32K of SRAM
and whatever banks of ROM were required for your particular machine
(the ROM setup took a bit of mapping to leave holes for screen RAM and
the I/O block, but otherwise mapped across $8000-$FFFF).  I don't know
if any blank boards are still available, but the concept is simple
enough to do your own, from veroboard or your own PCB, etc.  However
you do it, it's easiest to tap all the required signals from the CPU
directly and just not populate the RAM and ROM sockets on the
mainboard.

For other projects, I've made in-socket adapaters using 3 stacked
machined-pin sockets to allow me to, say, install a 1Mbit FLASH ROM
into a 2732 socket and use switches to pick which 4K portion of the
FLASH ROM maps to the 4K socket - handy if you have one ROM socket -
less handy if you have 8 ROM sockets.

It all sort of depends on your construction skills and how much effort
you want to go to, but the electronics of it aren't tricky.

>         Also, what is pin 16 on the 6540 ROM for?  It is labeled "02"

Should be the "Phi 2" clock, no?  It might equate to some chip select
on modern parts, but C= gear it might be used to prevent clocking
address or data when the CPU isn't looking for it (since the 6502 does
different things on different phases of the system clock).

-ethan

       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.