home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Source Code 1992 March
/
Source_Code_CD-ROM_Walnut_Creek_March_1992.iso
/
usenet
/
altsrcs
/
2
/
2037
/
README.upm
< prev
next >
Wrap
Text File
|
1990-12-28
|
2KB
|
50 lines
The BIOS is implemented like this:
xx00: 76 C9 00 76 C9 00 76 C9 00......
For the non-z80-literate, that is a series of HALT and RETurn from
subroutine statements. HALT instructions return control to the calling
(c program) routine that started the Z-80 running in the first place.
By dividing the low 8 bits of the PC by 3, we can find out what BIOS
routine the caller wanted, do it in C, then return.
upm takes various paramaters either on the command line or in
~/.upmrc. If specified, command line paramaters take precedence over
.upmrc options. Options are in the form of dev:file, where dev is
A-O, for disk devices, or TY, LP, PT, U1 or U2, for alternate physical
devices. The files specified are attached to the coresponding disks or
physical devices. The above identifiers corespond to these CP/M physical
devices:
TY TTY:
LP LPT:
PT PTP: PTR:
U1 UC1: UL1: UP1: UR1:
U2 UP2: UR2:
The CRT: device is permanently assigned to stdin/stdout. stdin/stdout
are set to RAW mode, to make all keys work. The last BIOS jump table
entry is non-standard, and causes the CP/M system to halt and control
return to unix. The CP/M program EXIT.COM will do this.
As usual, the BAT: device is a combination of CRT: and LPT:
The default I/O byte assigns as follows:
CON:=CRT:
RDR:=PTP:
PUN:=PTR:
LST:=LPT:
A typical command line might say:
% upm a:cpm.adrive lp:printer_file pt:copy_file
The device identifiers may be in upper-case, but the files, of course,
will be literal-cased.
All device files except LP: will be fopen()ed "r+". LP: will be
fopen()ed "w".
Any device not specifically assigned will act like /dev/null.