home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
BDOS
/
DOSPLS25.ARK
/
DOSOPS
< prev
next >
Wrap
Text File
|
1986-12-08
|
4KB
|
97 lines
Command table, DOS+ ver 2.5
All returned values are in HL, with BA a copy. Thus 8 bit values are
also returned in A. Function 0 ignores the pointer at 1, and can be
used to force system reloading.
"*" marks differences or enhancements from CPM 2.2
FUNC NAME INPUT PARAMS RETURNED VALUES
0 Boot none none
1 Console input (echo) " char
2 Console output E=char 0
3 Reader input none char
4 Punch output E=char 0
5 List output E=char 0
* 6 Direct console i/o E=0FFH input char
* 0 if no char ready
* E=0FEH console status (0/ffh)
* E=0FDH input char, wait
* E=0FCH look-ahead input char
* output char E=000H..0FBH xy posn (if bios)
7 Get i/o byte none i/o byte (ramlow+03H)
8 Set i/o byte E=i/o byte 0
9 Print string DE=addr string 0
* 10 Read console buffer DE=addr buffer 0
11 Get console status none 0 if no char ready
& check for CTL-S pause ffh if char ready
* 12 DOS+ version number " version num (025H)
(compatible mode 022h)
* 13 Reset disk system " 0 if no A0:$*.* file
0FFH $*.* file present
14 Select disk E=disk number 0
* 15 Open file DE=addr. FCB directory code
(Uses path, can return byte count)
16 Close file DE=addr. FCB directory code
17 Search for first file " "
18 Search for next file " "
19 Delete file " error code
20 Read sequential " read/write code
21 Write sequential " "
22 Make file " directory code
23 Rename file " error code
24 Get login vector none login vector
25 Get current disk " current disk
26 Set DMA address DE=DMA address DMA address
27 Get allocation address none addr alloc vector
28 Write protect disk " 0
29 Get R/O vector " R/O vector
* 30 Set file attributes DE=addr. FCB error code
(can set byte count)
31 Get address DPB none addr. DPB
* 32 Set/get user code E=0FFH get user number
E=0..0feh (set) e MOD 32
* 33 Read random DE=addr. FCB read/write code
* 34 Write random " "
(random ops to rcd 262,143)
* 35 Compute file size " error code
* 36 Set random record " 0
37 Reset multiple drive DE=mask 0
* 40 Write random, zero fill DE=addr. FCB read/write code
* 104 Set time (as CPM3) DE^= time rcd. 0
* 105 Get time " " Seconds field (BCD)
* 210 Get info E=subcommand
0 BDOS base address
1 DMA setting
2 0, flush cons. input
3 list status
4 punch status (if bios)
5 rdr status (if bios)
* 211 Type Decimal DE=value write to console,
suppress lead zeroes.
Notes
Call 210 subcommand 0 can discriminate between CPM2.2 and DOS+ running
in compatibility mode. CPM returns 0, DOS+ non-zero. in h
All other commands return 0 (unless RSX's provide a value/action)
Directory code : 00H,01H,02H,03H if no error
0FFH if error
Error code : 00H if no error
0FFH if error
Read/write code : 00H if no error
01H read => end of file
write => directory full
02H disk full
03h cannot close current extent
04h attempt to (random) read unwritten data
05h No available directory space (random write)
06h random record no. out of range
Time Stamps : Access set on file open, modified on close, create on make
(when time stamping enabled and directory formatted).
Archive bit reset only on those extents modified (on file close).
rå