| 0000 | 0 | DOSCLD | Jp | In cassette systems, reset computer; in disk systems, cold boot of DOS. Could also be done via RST 00H. |
| 0008 | 8 | SYNTAX | RST | Checks for syntax. HL points to byte to be checked and proper byte follows RST 08H instruction. |
| 000B | 11 | WHERE | Call | Vector used to resolve relocation address of calling routine. On exit, HL points to address following Call instruction. |
| 0013 | 19 | GET | Call | This routine gets a byte from a logical device or a file that is open. When calling, DE =starting address of DCB of device. On exit, A= byte received from device, z set if device ready. Uses AF. |
| 0018 | 24 | CP16 | Rst | Compare DE and HL as 16 bit unsigned intergers. |
| 001B | 27 | PUT | Call | Outputs a byte to a logical device or FCB. Outputs a byte to a device. When calling, A = output byte, DE = starting address of DCB of device. On exit, z set if device ready. Uses AF. Don't confuse with CTL at 0023. |
| 0023 | 35 | CTL | Call | Outputs a control byte to a logical device or FCB. DE = FCB and A = control byte. |
| 0028 | 40 | | Rst | Pressing Break key RST's here and then jumps to location 400CH. Also normal DOS function vector. |
| 002B | 43 | KBDSCN | Call | Scan keyboard and return with accumulator containing result. DE is used. |
| 0033 | 51 | VDCHAR | Call | Displays a character at current cursor location. |
| 003B | 59 | PRCHAR | Call | Waits until printer is ready then prints charatcter. A = ASCII character. If BREAK is pressed, a return to caller is made. |
| 0040 | 64 | KBLINE | Call | Call Input a line from the keyboard. B = max length of line. HL points at buffer. Buffer should be the length of B plus 1. To terminate, hit BREAK or ENTER. On exit, HL points at buffer and B = number of characters entered. Carry will be set if BREAK was pressed. |
| 0049 | 73 | KBWAIT | Call | Scans the keyboard until a key is pressed. If BREAK is pressed, it is returned like other keys. |
| 0050 | 80 | RSRCV | Call | Recieve a character from RS-232. No entry conditions. On exit, memory location 16872 contains character recieved. DE is altered. This routine honors wait status. |
| 0055 | 85 | RSTX | Call | Transmit character to RS-232. On entry, Accumulator or memory location 16880 contains character. On exit, 16880 = 0 if no character sent. Wait status honored. |
| 005A | 90 | RSINIT | Call | Call Initialize RS-232 interface. On entry, memory location 16888 = send/recieve baud rate code, location 16890 = wait/don't wait switch, location 16889 = RS-232 characteristics switch. On exit, DE is altered. For more detail, consult Model 3 reference manual. |
| 0060 | 96 | DELAY | Call | Load BC with how many times to loop, then call. |
| 0069 | 105 | INITIO | Call | Initialize all I/O drivers to their ROM routines. No entry conditions. On exit, all registers changed. |
| 006C | 108 | ROUTE | Call | On entry, location 4222H = two byte source device ASCII abbreviation and location 4220H = two byte destination ASCII abbreviation. On exit, DE is altered. |
| 0072 | 114 | | | An alternative for entering Basic. See also 1A19H. |
| 00B1 | 177 | | | Type in SYSTEM (even from DISK BASIC) and reply to the "*?" prompt with /177. The computer will then ask you for memory size. Upon return, you'll still be in DISK BASIC, but your program will be gone. Also, it doesn't get along with any high memory routines present. |
| 00FA | 250 | | | Call this routine from BASIC and your computer will brag about it having Level II or Model III BASIC. |
| 0132 | 306 | POINT | | Basic's POINT routine. |
| 0135 | 309 | SET | | Basic's SET routine. |
| 0138 | 312 | RESET | | Basic's RESET routine. |
| 0150 | 336 | GRAPH | Jp | This is the routine that is Basic's SET, RESET, and POINT functions. Here's how to use it. Load HL with return address and push. Load register A with one of the following: 00H = POINT, 01H = RESET, and 80H = SET. Push AF onto stack. Load A with X coordinate and push onto stack. Load A with Y coordianate and JP GRAPH. |
| 018C | 396 | | Call | Checks for syntax of "")"" via RST 08H. |
| 01C9 | 457 | CLS | Call | Clear screen. |
| 01D3 | 467 | RANDOM | Call | Randomize. |
| 01F8 | 504 | CSOFF | Call | This routine turns off the cassette drive. |
| 0212 | 530 | DEFCAS | Call | A register contains a 0 or 1 which is the cassette number. This routine defines cassette number and turns on cassette. Model I only. |
| 022C | 556 | | | Model I only (also may be used with Model III). Blinks right asterisk during tape load operations. NOTE: On Model III this location has jump to 0212H (zeroes A register and returns). Uses AF. |
| 0235 | 565 | CSIN | Call | Inputs data one byte at a time from cassette after you use CSHIN. A = the data byte. |
| 0264 | 612 | CSOUT | Call | Outputs data one byte at a time to cassette after you use CSHWR. A = the output byte. |
| 0287 | 647 | CSHWR | Call | Turns on the cassette and writes the header. |
| 0296 | 662 | CSHIN | Call | Finds the cassette header info at the beggining of cassette file. |
| 02B2 | 690 | SYSTEM | | Basic's SYSTEM routine. |
| 0314 | 788 | | | Reads two bytes (LSB/MSB) and transfers to HL registers (used when reading SYSTEM format tapes). Uses AF,HL. |
| 032A | 810 | OUTCHR | Call | Output a byte to device determined by byte stored at (409CH) - FFH=Tape, 0=Video, l=Printer. When calling, A = output byte. Uses AF (may use other registers as well). Warning: This routine CALLS a Disk BASIC link at address 41ClH which may have to be "plugged" with a RETurn (C9H) instruction |
| 033A | 826 | DISPA | Call | Displays character in A on screen at next print position. Uses AF. |
| 0358 | 856 | | | Calls keyboard scan routine. |
| 035B | 859 | | Call | Same as 002BH. |
| 0361 | 865 | KIBUFF | Call | Reads keyboard into buffer until a carriage return is entered. 40A7H contains the address of the buffer. |
| 03C2 | 962 | | | Line printer driver for Model I. |
| 03E3 | 995 | | | Keyboard driver for Model I. Model III = 3024H. |
| 0458 | 1112 | | | Video driver for Model I. |
| 0473 | 1139 | | | Video driver for Model III. |
| 0506 | 1286 | CURCON | | Start of cursor control table. Model I. 80 Microcomputing, Sept. 1980, p. 187. |
| 0540 | 1344 | | | End of cursor control table. |
| 058D | 1421 | | | Line printer driver for Model I. |
| 05D9 | 1497 | KLINE | Call | Same as KBLINE. See 0040. |
| 06CC | 1740 | | | An alternative for entering Basic. See also 1A19H. |
| 06D2 | 1746 | | | Start of Model 1 interrupts relocated to RAM on boot up. |
| 06E6 | 1766 | | | End of Model 1 interrupts relocated to RAM on boot up. |
| 06E7 | 1767 | | | Start of Model 1 keyboard DCB. |
| 06EE | 1774 | | | End of Model 1 keyboard DCB. |
| 06EF | 1775 | | | Start of Model 1 Video DCB. |
| 06F6 | 1782 | | | End of Model 1 Video DCB. |
| 06F7 | 1783 | | | Start of Model 1 Printer DCB. |
| 06FE | 1790 | | | End of Model 1 Printer DCB. |
| 0713 | 1811 | SUBSP | Call | Subtract SA from RA; result in SA. |
| 0716 | 1814 | ADDSP | Call | Add RA and SA; result in SA. |
| 0778 | 1912 | RSETSA | Call | If SA contains a 00H, RND generates a number between 0 and 1. Use this call to place a 00H in SA. |
| 0809 | 2057 | LOG | Call | Basic's LOG function. |
| 0847 | 2119 | MLTSP | Call | Multiply RA and SA; result in SA. |
| 08A2 | 2210 | DIVSP | Call | Divide RA by SA; result in SA. |
| 0977 | 2423 | ABS | Call | Basic's ABS function. |
| 0982 | 2434 | MVVAR | Call | Move number of bytes shown by typeflag from area pointed to by DE to area pointed to by HL. |
| 098A | 2442 | SGN | Call | Basic's SGN function. |
| 09A4 | 2468 | LDSTSA | Call | Load SA into stack. |
| 09B1 | 2481 | LDSAHL | Call | Load single precision number pointed to by HL into SA. |
| 09B4 | 2484 | LDSARA | Call | Load RA into SA. |
| 09BF | 2495 | LDRASA | Call | Load SA into RA. |
| 09C2 | 2498 | LDRAHL | Call | Load single precision number pointed to by HL into RA. |
| 09CB | 2507 | LDHLSA | Call | Load SA into area pointed to by HL. |
| 09D2 | 2514 | LDDEHL | Call | Load single precision number pointed to by HL into area pointed to by DE; needs FLAGSP. |
| 09D3 | 2515 | LDHLDE | Call | Load single precision number pointed to by DE into area pointed to by HL; needs FLAGSP. |
| 09D6 | 2518 | MOVEA | Call | Move data; DE = source, HL = destination, A = how much to move. |
| 09D7 | 2519 | MOVEB | Call | Same as above, except B contains the count. |
| 09F7 | 2551 | MVSAHL | Call | Move number pointed to by HL into SA; needs FLAGDP. |
| 09FC | 2556 | MVALT | Call | Move SA into SA1. |
| 0A0C | 2572 | CPSP | Call | Compare RA and SA1. |
| 0A39 | 2617 | CPINT | Call | Compare DE and HL. |
| 0A78 | 2680 | CPDP | Call | Compare SA and SA1. |
| 0A7F | 2687 | GETPAR | Call | Load parameter in USR(x) into HL; this must be first instruction of USR call. Also used for CINT function. |
| 0A9A | 2714 | BSCPAR | Jp | Return to Basic program with parameter. |
| 0A9D | 2717 | FLAGIN | Call | Set typeflag of SA to interger. |
| 0AB1 | 2737 | CSASP | Call | Convert SA to single precision. Also Basic's CSNG routine. |
| 0ACC | 2764 | CHGIS | Call | Value in workspace/accumulator is changed from integer to single precision. |
| 0ADB | 2779 | CSADP | Call | Convert SA to double precision. Also Basic's CDBL routine. |
| 0AEC | 2796 | FLAGDP | Call | Set typeflag for SA to double precision. |
| 0AEF | 2799 | FLAGSP | Call | Set typeflag for SA to single presision. |
| 0B26 | 2854 | FIX | Call | Basic's FIX function. |
| 0B37 | 2871 | INT | Call | Basic's INT function. |
| 0BC7 | 3015 | SUBINT | Call | Subtract HL from DE; result in HL and SA if no overflow (flag = 2); result in SA only if overflow (flag = 4). |
| 0BD2 | 3026 | ADDINT | Call | Add DE and HL; result in HL and in SA if no overflow. |
| 0BF2 | 3058 | MLTINT | Call | Multiply DE and HL; result in HL and SA if no overflow (flag=2), result in SA only if overflow (flag=4) |
| 0C70 | 3184 | SUBDP | Call | Subtract SA1 from SA; result in SA. |
| 0C77 | 3191 | ADDDP | Call | Add SA and SA1; result in SA. |
| 0DA1 | 3489 | MLTDP | Call | Multiply SA and SA1; result in SA. |
| 0DE5 | 3557 | DIVDP | Call | Divided SA by SA1; result in SA. |
| 0FAF | 4015 | | | Display integer number in HL in ASCII decimal. The ASCII number will also be in memory at 4131H - 4135H. |
| 0FBD | 4029 | CSAASC | Call | Convert SA (set typeflag) to ASCII. Result (in dec) is placed in buffer starting at 4130H and terminated by a 00H byte and HL = 4130H. |
| 13E7 | 5095 | SQR | Call | Basic's SQR function. |
| 13F7 | 5111 | POWER | Call | Raise RA to the power SA; result in SA. |
| 1439 | 5177 | EXP | Call | Basic's EXP function. |
| 14C9 | 5321 | RND | Call | Basic's RND function. |
| 14CC | 5321 | RND | Call | BASIC's RND function if there is a number in the parenthetical |