RST and DISK BASIC Vectors

ROM RST Vectors - Bob Alger (10/27/83)

RSTJumpContentsPurpose
0none Re-boot- power on or RESET
84000JP 1C96If (HL) = ((SP))- do RST10H logic, else print SN error
104003JP 1D78Find next non-blank character in a string
184006JP 1C90DE compared to HL. Z set if DE = HL, C set if DE > HL
204009JP 25D9Test NTF flag at 40AF. Z flag set if string, M if integer, P&C if single, P&NC if double, A=NTF - 3.
28400CRET
NOP
NOP
BREAK key vector. You can put your own 3 byte instruction here to jump to your own routine.
30400FRET
NOP
NOP
Used by DOS
384012EI
RET
NOP
Used by DOS

DISK BASIC COMMAND VECTORS

Hex AddressDec AddressCommandModel I NEWDOS/80
v2.0 Jump
Model I TRSDOS
v2.3 Jump
415216722CVI58F5H5F18H
415516725FN*577FH558EH
415816728CVS58F2H5F1BH
415B16731DEF5852H5655H
415E16734CVD58EFH5F1EH
416116737EOF5EC5H62B8H
416416740LOC5ED1H62FEH
416716743LOF5EC9H630FH
416A16746MKI$58DEH5EFFH
416D16749MKS$58DBH5F02H
417016752MKD$58D8H5F05H
417316755CMD57FFH56CBH
417616758TIME$*58C4H5745H
417916761OPEN5795H6434H
417C16764FIELD5E63H61AFH
417F16767GET6126H6355H
418216770PUT6125H6354H
418516773CLOSE5FA1H6173H
418816776LOAD574AH606EH
418B16779MERGE572EH6109H
418E16782NAME1E4AH6544H
419116785KILL643CH6521H
419416788&*5790H5913H
419716791LSET5908H620BH
419A16754RSET5909H620AH
419D16797INSTR*5786H588BH
41A016800SAVE573BH6148H
41A316803LINE579FH5786H

* Items marked with an asterisk are called during expression evaluation.

BASIC Code for Jump Calculation

The following BASIC program was used to calculate the jumps between 4152H and 41A6H:

10 OPEN "O",1,"OUTPUT:0"
20 FOR X=16722 TO 16806 STEP 3
30 V=PEEK(X) : GOSUB 110 : O$=H$
40   V=PEEK(X+1) : GOSUB 110 : L$=H$
50 V=PEEK(X+2) : GOSUB 110 : M$=H$
60 IF O$="C3" THEN X$="JP "+M$+L$ ELSE X$="nojp "+M$+L$
70 PRINT #1,X,X$;"H"
80 NEXT X
90 CLOSE
100 END
110 C = V/16
120 F = INT(C)
130 IF F < 10 THEN A$=CHR$(F+48) ELSE A$=CHR$(F+55)
140 D=(C-F) * 16
150 IF D < 10 THEN B$=CHR$(D+48) ELSE B$=CHR$(D+55)
160 H$=A$+B$ 170 RETURN