Reply by Mark McDougall●February 7, 20082008-02-07
John Speth wrote:
> This will only work with SRAM because you will turn
> off DRAM refreshing capability if you switch out DRAM.
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, <http://www.vl.com.au>
21-25 King St, Rockdale, 2216
Ph: +612-9599-3255 Fax: +612-9599-3266
Reply by Steve at fivetrees●February 7, 20082008-02-07
"Frank Eggink" <freggink@gmx.net> wrote in message
news:47aaff55$0$13746$ba620dc5@text.nova.planet.nl...
> 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?
Yus.
You might want to look into the 64180, which is effectively the Z80 with
bank switching ;).
Tip: leave the vector area unbanked.
Steve
http://www.fivetrees.com
Reply by Don McKenzie●February 7, 20082008-02-07
Frank Eggink wrote:
> 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
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:
http://www.dontronics.com/z80.html
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
Site Map: http://www.dontronics.com/sitemap
E-Mail Contact Page: http://www.dontronics.com/email
No More Damn Spam: http://www.wizard-of-oz.com
Parallax Propeller Powered .96" OLED module
http://tinyurl.com/2vr2gr
Reply by Jim Stewart●February 7, 20082008-02-07
Frank Eggink wrote:
> 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?
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 by msg●February 7, 20082008-02-07
Andrew Smallshaw wrote:
> On 2008-02-07, Frank Eggink <freggink@gmx.net> wrote:
>
>>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?
>
>
> 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
> http://www.caliban.org/pcw_home.html if you are interested in a
> little reverse engineering.
>
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 by John Speth●February 7, 20082008-02-07
> No not an antique dealer.
Then you're an antique reproductionist.
> Just trying to build some z80 system to learn and for fun.
> But how can it be done? using io to select memory chips.
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 by John Speth●February 7, 20082008-02-07
> 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?
You betcha.
(You mean that chip hasn't died yet?)
JJS
Reply by Rocky●February 7, 20082008-02-07
On Feb 7, 2:53=A0pm, "Frank Eggink" <fregg...@gmx.net> wrote:
> 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
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 by Andrew Smallshaw●February 7, 20082008-02-07
On 2008-02-07, Frank Eggink <freggink@gmx.net> wrote:
>
> 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?
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
http://www.caliban.org/pcw_home.html if you are interested in a
little reverse engineering.
--
Andrew Smallshaw
andrews@sdf.lonestar.org
Reply by Arlet Ottens●February 7, 20082008-02-07
Frank Eggink wrote:
>>> 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?
>>>
>> Whyever not? But why are you using a Z80, are you an antique dealer?
>
> 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.
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.