If you're writing your own, it might be well to keep in mind that the BIOS
used in several late-generation CP/M systems used device drivers which could
be swapped in and out of PROM. This seems like a decent idea in view of the
way in which some compilers handled their TPA usage. You could end up with
a pretty big BIOS if you make it any sort of fancy at all , and that could
mean you can't run some compiled programs.
California Computer Systems (CCS) had a pretty nice boot process in which
they loaded a skeletal BIOS in a 32K CP/M, since 32K was the smallest memory
in which they claimed they could run. It wrote that to the boot blocks,
then, under the control of that skeletal system, they loaded a "full-size"
(you get to define that!) CP/M and transfer control to it. It's pretty
solid and makes the preparation of a bootable disk a straightforward if not
a quick process.
IIRC, the XEROX 820 used a swapped-in BIOS which lived in PROM and was
mapped into the TPA during file transfers, or something on that order. If
your machine can handle that, it saves on BIOS size, especially tables, etc,
and, generally speaking, if the READ operations from the TPA are from
temprorarily mapped-in PROMs, you can overwrite the TPA in the event you're
loading overlays, with complete impunity. That way your blocking/deblocking
buffer space can still reside in high memory.
Just a thought . . .
Dick
-----Original Message-----
From: Dwight Elvey <elvey(a)hal.com>
To: Discussion re-collecting of classic computers
<classiccmp(a)u.washington.edu>
Date: Thursday, May 27, 1999 3:25 PM
Subject: Re[4]: Bringing up a CPM
allisonp(a)world.std.com wrote:
I guess
the issue is that the additional space is the BIOS and
since I'll be replacing this with my own BIOS, and I write efficient
code, I don't have to worry about it until I run out of space?
Dwight
???HUH??? Figure this if your running a SSSD 8" to be compatable with
media out there the system has two tracks to use for the CCP, BDOS and
bios. Thats 52 sectors!
The first sector DOES NOT HAVE TO BE THE BOOT.
Hi
It does on my system unless I toggle in a loader or have
EPROMs to do it. I'd like to not have any EPROMs if I don't
need it. The controller automatically loads track 0 sector 1.
I start executing at address zero and it boot loads the
CPM system. The boot loader then jumps to the start of
the CPM and it over writes info at address zero with what
it requires there. As far as I know, I am following the examples
for a non-MDS800 type system and following exactly what is
shown on 6-14/6-15 of the CPM manual that I got from the
unofficial site. The mapping shows that the first sector
is a cold start loader and the CPM ( CCP ) part doesn't start until
the second sector.
It would seem that there was additional BOIS info loaded that
didn't fit into the 51 sectors. It sounds like I can ignore
this because I'll be replacing it anyway.
Let me say, no EPROM's, boots from disk.
Dwight