z80 memory io selection

Hello,

is it possible to use io on a z80 to select different memory chips. Something like bankswitching, using an out command to select a memory chip?

Greetings

Frank

Reply to
Frank Eggink
Loading thread data ...

Whyever not? But why are you using a Z80, are you an antique dealer?

Reply to
Paul Burke

No not an antique dealer. Just trying to build some z80 system to learn and for fun. But how can it be done? using io to select memory chips.

Gr.. Frank

Reply to
Frank Eggink

The Z80 supports 64K memory without bank switching. That should be enough for learning and having fun.

If you need more, pick a CPU with a wider address bus.

Reply to
Arlet Ottens

Many of the later Z80 micros did this. The Amstrad PCW and Cambridge Z88 both did for instance. I've found schematics for the PCW at

formatting link
if you are interested in a little reverse engineering.

--
Andrew Smallshaw
andrews@sdf.lonestar.org
Reply to
Andrew Smallshaw

?

Hi Frank,

decode /IORQ for the chip select ld BC,address in a,(c) out (c),a This gives full 64k mapping for the ioMemory.

Rocky

Reply to
Rocky

You betcha.

(You mean that chip hasn't died yet?)

JJS

Reply to
John Speth

Then you're an antique reproductionist.

Remembering back to my hobbyist use of the "Timex Sinclair ZX80" in 1982, It's very easy to do what you want. (Warning: 25 year old memory is not accurate.) Referring to your Z80 manual, you'll see that when you call the OUT instruction you trigger an I/O pulse plus the A register on the data bus. Latch the data bus data onto an 273 type latch using the I/O pulse. Use the latched data for bank switching. I have a memory that the B register is also placed on the address bus so you can use that for additional addressing. This will only work with SRAM because you will turn off DRAM refreshing capability if you switch out DRAM.

JJS

Reply to
John Speth

I have lost my schematics for the Coleco Adam, which bank switched the Z80 for 128kB RAM and mapped ROMs. The AdamNet bus was token passing; the entire design was quite interesting. Anyone have the schematics?

Michael

Reply to
msg

I built a 128kb Z80 back in 1982. I added a second bank of 64kb dram and used a page register to map 16kb pages in and out of the top 16kb physical memory. Putting an interrupt routine up there will definitely fsk you up (:

Reply to
Jim Stewart

I designed a Z80 product for operation with 4Meg of Dram which used only a 74LS00 and 74LS04 for interfacing to the Drams.

Without additional hardware support, it was possible to go to 64Meg, but I never tried it.

This was in a commercial product called PBUFF, which was a centronics port driven printer buffer.

The Z80 was getting a bit long in the tooth, and the need for large buffers, was overcome by manufacturers building more memory into their printers, so the product was dropped eventually.

Sold 1000's of units world wide, well before the internet days. Also featured in Australian Electronics magazines, such as Silicon Chip. Around 1989 I think it was.

schematics and source code at:

formatting link

Please don't contact me for additional support. I am somewhere between old age and death these days, so I have trouble remembering it all, but you are very welcome to make use of the information on the pages and files. :-)

Cheers Don...

--
Don McKenzie

Affiliate Program:   http://www.dontronics.com/affiliate
 Click to see the full signature
Reply to
Don McKenzie

Yus.

You might want to look into the 64180, which is effectively the Z80 with bank switching ;).

Tip: leave the vector area unbanked.

Steve

formatting link

Reply to
Steve at fivetrees

It is possible (albeit more complicated) to have the refresh logic handle multiple DRAM devices at once, regardless of which is currently selected. Bank-switching on old processors like the Z80 was more often used on ROMs than RAM...

Regards,

--
Mark McDougall, Engineer
Virtual Logic Pty Ltd, 
 Click to see the full signature
Reply to
Mark McDougall

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.