Subject: Re: Hand-rolling a CP/M machine
From: "Ethan Dicks" <ethan.dicks at gmail.com>
Date: Tue, 24 Apr 2007 12:01:24 -0400
To: "General Discussion: On-Topic and Off-Topic Posts" <cctalk at
classiccmp.org>
On 4/24/07, Dave Dunfield <dave06a at dunfield.com> wrote:
The point
of ROM vs RAM at $0000 has been gone over a few times. Do
"standard" CP/M machines use a shadow-ROM technique, or what, to
cold-start?
There are many ways to accomplish getting RAM at 0, even though the CPU
has to boot from there.
I'm with you there.
Some systems force a JMP instruction onto the BUS
during the first three
fetches, which transfers control to a ROM at a higher location.
That seems like it would take a bit of extra circuitry to do.
Not bad at all, Three states and one is always 00h. Doesn't take much
to do that. The sequency you want is say "JMP FOOOH" or C3h, 00h, F0h
I think a pair of 74157s could encode that.
Another equally sneeky/sleezy trick was to force NOPs (00h) on the buss
till you hit the rom address where you disable the force nop logic.
That's slow (takes 61.4mS at 4mhz) though.
Allison
Allison