home *** CD-ROM | disk | FTP | other *** search
- 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Ă¥