[2/4] CP/M for Spectrum-128
ZXNet echo conference «zx.spectrum»
From Michael Markowsky → To All 24 October 1997
Hello, All!
CP/M 2.2 for ZX Spectrum 128 & Sinclair PROFI.
CP/M BIOS by Michael Markowsky.
CP/M 2.2 is one of the most common
operating systems for computers with an 8-bit processor.
Dividing the system into 3 parts - CCP, BDOS and BIOS allows
to simplify the process of installing an operating system on a computer
with a different architecture, since CCP and BDOS do not depend on the machine
and their interface with the hardware is provided by the BIOS. Thus
you only need to develop a BIOS for a specific machine.
The presented CP/M 2.2 system was originally
developed for the Spectrum 128K with a slight modification - one additional port was introduced, allowing you to disable the ROM and
allow access to the drive controller ports (1818VG93).
The modification scheme is given in end of the text. The system contains CCP
and BDOS from Digital Research, and the CP/M BIOS was developed by auto-rom.
The system provides 53K of free memory for user programs, RAM-disk, 64x24 console, the screen is in the shadow page and does not take up memory from the main 64K, a full set of
ASCII codes (alternative encoding), 4 selectable encoding
for text output, high speed of disk processing, fast
working with the screen, disk format is fully compatible with
Sinclair PROFI format, console control codes are a
subset of Sinclair PROFI console codes, fast loading
process due to the location of all drivers on system
tracks.
A little later, CP/M BIOS was adapted to
Sinclair PROFI hardware and now CP/M 2.2 can be loaded on both
Pentagon 128 and Sinclair PROFI.
The advantage of the developed CP/M BIOS is
high disk read/write speed. This is achieved by
buffering the entire track (with lazy recording). You can experience a noticeable gain in time when loading the same
programs in SP-DOS and on my system.
CP/M BIOS also contains a built-in RAM disk driver E.
After the system boots, the driver checks for free
memory and automatically configures itself to the appropriate
volume of RAM disk. If your machine contains 128K (Spectrum 128
or Sinclair PROFI 128), then the RAM disk will have a capacity of 48K.
If you have more memory (Sinclair PROFI), then the volume of the disk
E: is equal to the size of the entire memory minus 128K.
To the question "Ramdisk E: format?", which appears
after booting the system, Spectrum 128K owners should always
answer “Y”, since the memory pages in which the
RAM disk is located are filled after RESETzeros. Sinclair
PROFI owners should answer "Y" only after the first boot. Subsequently, after the reset, you can with a fairly high probability
be sure that the information on the memory pages allocated
for the RAM disk will remain uncorrupted, and in response to the formatting request, answer “N”.
...to be continued
Best wishes! Michael KLUG