[BIOS intercept vector] |
POINTER | OFFSET | TYPE | Description |
68H | | inst. | Warm boot jump vector for the banked BDOS. Normally a jump to the BIOS WBOOT vector, but can be changed to LXI H,wboot-addr to redirect Warm boots to a routine in bank 1. |
6BH | | inst. | Jump instruction to resident BDOS bank switch routine for redirected WBOOT. |
6EH | | inst. | Console status jump vector for the banked BDOS. Normally a jump to the BIOS CONST vector, but can be changed to LXI H,const-addr to redirect console status to a routine in bank 1. |
71H | | inst. | Jump instruction to resident BDOS bank switch routine for redirected CONST. |
74H | | inst. | Console input jump vector for the banked BDOS. Normally a jump to the BIOS CONIN vector, but can be changed to LXI H,conin-addr to redirect console input to a routine in bank 1. |
77H | | inst. | Jump instruction to resident BDOS bank switch routine for redirected CONIN. |
7AH | | inst. | Console output jump vector for the banked BDOS. Normally a jump to the BIOS CONOUT vector, but can be changed to LXI H,conout-addr to redirect console output to a routine in bank 1. |
7DH | | inst. | Jump instruction to resident BDOS bank switch routine for redirected CONOUT. |
80H | | inst. | List output jump vector for the banked BDOS. Normally a jump to the BIOS LIST vector, but can be changed to LXI H,list-addr to redirect list output to a routine in bank 1. |
83H | | inst. | Jump instruction to resident BDOS bank switch routine for redirected LIST. |
86H-8FH | | | Unknown. |
90H | | word | Bit mapped vector of drives with open files. |
92H | | word | Bit mapped vector of drives accessed. |
94H-97H | | | Unknown. |
98H | | word | BDOS entry point address. |
9AH | | word | Reserved for use by non-banked BDOS |
[System Control Block] |
[Expansion area - 6 bytes] |
POINTER | OFFSET | TYPE | Description |
9CH | 00H | byte | Hash length 0, 2, or 3 |
9DH-A0H | 01H | 2 words | Hash entry |
A1H | 05H | byte | CP/M version. Contains 31H. |
[Utilities Section - 8 bytes] |
POINTER | OFFSET | TYPE | Description |
A2H-A5H | 06H | | 4 bytes for user use. |
A6H-A9H | 0AH | | Unknown. |
[CLP Section - 4 bytes] |
POINTER | OFFSET | TYPE | Description |
AAH | 0EH | | Unknown. |
ABH | 0FH | byte | Submit file drive. |
ACH | 10H | word | Program return code. |
[CCP Section - 8 bytes] |
POINTER | OFFSET | TYPE | Description |
AEH | 12H | byte | Base page of RSX containing the 2nd of multiple commands (next to be executed). |
AFH | 13H | byte | CCP drive. |
B0H | 14H | byte | CCP user number. |
B1H | 15H | word | If non-zero, address of 2nd of multiple commands. |
B3H | 17H | byte | Bit mapped CCP flags:
0 | Submit flag |
1 | RSX flag |
2-5 | Unknown |
6 | Set CCP drive/user to current drive/user. |
7 | Chain flag. Next command is taken from default DMA buffer (80H). |
|
B4H | 18H | byte | Bit mapped CCP flags:
0-1 | Display command source drive/user. |
2 | Unknown |
3-4 | File type search order:
00 | .COM only |
01 | .COM, then .SUB |
10 | .SUB, then .COM |
11 | .PRL, then .COM |
|
5 | Reset disk system |
6 | GET RSX flag. Set if GET RSX is redirecting. |
7 | CCP is executing (used by ^W recall) |
|
B5H | 19H | byte | Bit mapped CCP flags:
0 | Unknown |
1 | Cold start flag (0=cold) |
2-7 | Unknown |
|
[Device I/O Section - 32 bytes] |
POINTER | OFFSET | TYPE | Description |
B6H | 1AH | byte | Console width [eg 79 for 80-column screen] |
B7H | 1BH | byte | Current console column position |
B8H | 1CH | byte | Console page length [eg 23 for 24-line screen] |
B9H | 1DH | | Unknown |
BAH | 1EH | word | If non-zero, address of redirected console input characters. |
BCH | 20H | word | If non-zero, address of next line of redirected console input characters. |
BEH | 22H | word | Bit mapped console input physical devices. |
C0H | 24H | word | Bit mapped console output physical devices. |
C2H | 26H | word | Bit mapped auxiliary input physical devices. |
C4H | 28H | word | Bit mapped auxiliary output physical devices. |
C6H | 2AH | word | Bit mapped list output physical devices. |
C8H | 2CH | byte | Console page mode (0 = page pause). |
C9H | 2DH | byte | Default page mode. |
CAH | 2EH | byte | Ctrl-H mode (backspace). [0 => backspace, else echo deleted character] |
CBH | 2FH | byte | Rub/Del mode. [0 => Echo deleted character, else backspace] |
CCH | 30H | byte | When this byte is 0FFh, the BDOS does not check for Control-S during the Console status call. |
CDH | 31H | word | Used by console routines. Use unknown. |
CFH | 33H | word | Console mode. |
D1H | 35H | word | Address of 128 byte buffer in common memory. This buffer is used only during BDOS function calls by the system, so it can be used freely between BDOS calls as a scratch buffer. Also used by the BIOS during warm boot. |
D3H | 37H | byte | Output delimiter. [normally '$'] |
D4H | 38H | byte | List echo flag (non-zero = echo console output). |
D5H | 39H | byte | Scroll flag (used by console routines), bit map:
7 | Set if the next call to CONST is to check for Control-C. |
6 | Set if the next call to CONST or CONIN is to check for Control-S or Control-Q. |
|
[BDOS Section - 42 bytes] |
POINTER | OFFSET | TYPE | Description |
D6H | 3AH | word | Address of System Control Block. |
D8H | 3CH | word | Current DMA address. |
DAH | 3EH | byte | Current drive. |
DBH | 3FH | word | Current FCB address (in common memory). |
DDH | 41H | byte | FCB error flag. If this byte is FFH, the word at 3FH is a valid FCB address. |
DEH | 42H | byte | Same drive flag. |
DFH | 43H | byte | Current BDOS function number. |
E0H | 44H | byte | Current user number. |
E1H | 45H | word | Last directory slot number accessed (first = 0) |
E3H | 47H | word | Address of FCB for function 18 (search next). |
E5H | 49H | byte | Function 17, 18 search type (0 = ? in drive code, 0FH = normal search). |
E6H | 4AH | byte | Multi-sector count. |
E7H | 4BH | byte | BDOS error mode. |
E8H | 4CH | 4 bytes | Drive search chain 1..4. [0=Current, 1-16 = drive A-P, 255=end of chain] |
ECH | 50H | byte | Temporary file drive. [0=Current, 1-16 = drive A-P] |
EDH | 51H | byte | Error drive. |
EEH-EFH | 52H | | Unknown. |
F0H | 54H | byte | Drive door open flag. |
F1-F2H | 55H | | Unknown. |
F3H | 57H | byte | Bit mapped BDOS flags:
0-5 | Unknown. |
6 | Single allocation vectors. |
7 | Expanded error messages. |
|
F4H | 58H | word | Date (days since Jan 1, 1978). |
F6H | 5AH | byte | Hour (BCD). |
F7H | 5BH | byte | Minute (BCD). |
F8H | 5CH | byte | Second (BCD). |
F9H | 5DH | word | Common memory base address (non-banked = 0). |
FBH | 5FH | inst. | Error message jump instruction to a routine in the banked BDOS. |
FDH | 61H | byte | BDOS page in bank 0. |
FEH | 62H | word | Current top of TPA (points to entry in lowest RSX). |