On Mon, 13 Jun 2005, Allison wrote:
Yes, you will have to have rom at 0000h though and
Mwrite
was derived and delivered from the front pannel if memory
serves. So that means ram will have to be set up to not
require Mwrite. Either that or you will have to through
something small together to create Mwrite.
As to mapping rom out once operational, thats a later problem.
It's fairly easy to do.
My S100 system has a homemade EPROM card that powers up into the
address space, on top of RAM, where the Z80 jumps to it and
executes from it.
The first thing the EPROM code does is copy itself, in place. This
reads from EPROM, writes to RAM (well, to EPROM too, but the write
line is ignored by the EPROM board).
There is a flip-flop set by the RESET line that enables the EPROM
board. Any I/O instruction (eg. address not decoded) resets the
flip-flop, disabling the board.
Therefore, right after the EPROM monitor copies itself to RAM, it
jumps to the serial port init code, and any old IN or OUT
instruction disables the EPROM card, leaving the full 64K address
space available.
My EPROM monitor occupies the top 2K? of the first 32K of address
space. It fits in the lower 32K static memory card. Hitting reset
does not disturb CP/M (up at ef00h), and leaves "most" TPA
programs intact.
The board was designed/made by Tom Campbell, who I worked for way
back when. It's elegantly simple.
di ; everyone shut up, please
lxi h, epromstartaddress ; EPROM address
lxi d, epromstartaddress ; likewise, I'm sure,
lxi b, 2048 ; BC=EPROM size
ldir ; whirl!
in 0 ; disables EPROM
...