Date : Mon, 16 Mar 1992 06:24:04 PST
From : Sprague.Wbst311@xerox.com
Subject: Re: Televideo 803H information wanted
> Anyway, most machines that run CPM have the boot ROM in high memory, usually
> at F000 or F800. Various hardware tricks are used to get the CPU to start
> executing at that address.
Whoa! Are we talking Boot ROM, or are we talking the BIOS? A number CP/M
machines *DO* have boot ROM at 0000h. For example, the Xerox 820 series boots
at address 0000 with the Boot ROM enabled, transfer the BIOS from slow ROM to
faster RAM at F400 using a block move, then jumps to Cold Boot, which swaps out
the the ROM, leaving RAM at the lower address.
Your "cycle through the addresses" is not at all elegant, though it is a cheap
and dirty solution that works. The above method I listed is not "brute force"
as you might have sugested. It simply needs an additional flip-flop (in I/O
space) to determine if the lower memory bank is ROM or RAM. The Z-80 takes a
lot less time to block move a few K of BIOS code, than to cycle through all the
address space.
For that matter if you wanted to keep the BIOS in ROM, it is real simple to
build in banked memory. When you power up (or reset), the ROM is at both
locations 0000h *AND* F000 (or F800). You then jump to Cold Boot, and part of
that swaps out the Shadow ROM at 0000 and puts RAM in it's place. Again, this
is simple, "elegant", and requires little hardware.
~ Mike (Sprague.Wbst311@Xerox.Com)