comparison 3rdparty/roms/dos/SuperDos/romdefs.asm @ 1985:4037b23c848d

SuperDos rom, assembalable for Dragon Dos, Dragon Alpha or RS-DOS
author afra
date Fri, 20 Jan 2006 01:54:33 +0000
parents
children b2f58a220c08
comparison
equal deleted inserted replaced
1984:cbb405567d04 1985:4037b23c848d
1 *
2 * Deinitions for ROM entry points and low memory variables on Dragon
3 * 32/64/Alpha.
4 *
5 * 2005-11-10. P.Harvey-Smith.
6 *
7
8 ;
9 ; Low memory vars in page 0 and 1
10 ;
11
12 BasTextPtr EQU $19 ; Basic text pointer
13 BasVarsPtr EQU $1B ; Pointer to start of vars
14 BasArrayPtr EQU $1D ; Pointer to start of arrays
15 BasEndInUse EQU $1F ; End of storage in use
16
17 BasFACExponent EQU $4F ; Floating point accumulator exponent
18 BasFACMantissa EQU $50 ; FAC mantissa (4 bytes)
19 BasStrAddr EQU $52 ; Address of string argument
20 BasFACManSgn EQU $54 ; Sign of mantissa
21 BasFACManSTemp EQU $55 ; Tempory sign of mantissa
22
23 BasCurrentLine EQU $68 ; Current line number
24 BasDeviceNo EQU $6F ; Current device number
25 ResetVecAddr EQU $72 ; Reset vector address, points to a NOP
26 Zero16Bit EQU $8A ; 16 bit zero
27 BasChrGet EQU $9F ; Get next character from basic program
28 BasChrGetCurr EQU $A5 ; Get current character from basic program
29 BasUsrBasePtr EQU $B0 ; Pointer to base of usr vectors
30 GrfTopPtr EQU $B7 ; Pointer to top of graphics screen
31 GrfBasePtr EQU $BA ; Graphics area base pointer
32
33 BasJoyRX EQU $15A ; Basic, Right Joystick X
34 BasJoyRY EQU $15B ; Basic, Right Joystick Y
35 BasJoyLX EQU $15C ; Basic, Left Joystick X
36 BasJoyLY EQU $15D ; Basic, Left Joystick Y
37 RamHooks EQU $15E ; Begining of ram hooks (see below)
38
39 ;
40 ; Ram hooks
41 ;
42 ;
43 ; Some hooks share the same address, the only way to determine which is
44 ; in use is to check the return address -- Source : "Inside the Dragon".
45 ;
46
47 HookOpenDev EQU $15E ; Open device or file
48 HookCheckIONum EQU $161 ; Check I/O device number
49 HookRetDevParam EQU $164 ; Return device parameters
50 HookCharOut EQU $167 ; Character output
51 HookCharIn EQU $16A ; Character input
52 HookCheckInput EQU $16D ; Deech dev open for input
53 HookCheckOutput EQU $170 ; Deech dev open for output
54 HookCloseAll EQU $173 ; Close all devices & files
55 HookCloseSingle EQU $176 ; Close a single device or file
56 HookNewStat EQU $179 ; About to dela with first char of new satement
57 HookDiskItem EQU $17C ; Disk file item scanner
58 HookPollBreak EQU $17F ; Poll for break key
59 HookReadInput EQU $182 ; Read a line of input
60 HookFinishASCII EQU $185 ; Finish loading ascii program
61 HookEOF EQU $188 ; End of file function
62 HookEval EQU $18B ; Evaluate expression
63 HookUsrError EQU $18E ; User error trap
64 HookSysError EQU $191 ; System error trap
65 HookRun EQU $194 ; Run statement
66 HookStrCopy EQU $197 ; String copy check
67 HookClear EQU $197 ; Clear statement
68 HookFetchNext EQU $19A ; Fetch next statement
69 HookLet EQU $19D ; LET statement
70 HookCLS EQU $1A0 ; CLS statement
71 HookRENUM EQU $1A0 ; RENUM statment
72 HookPUTGET EQU $1A0 ; PUT or GET statement
73 HookFunction EQU $1A0 ; Function assignment
74 HookCompress EQU $1A3 ; Compress basic line
75 HookExpand EQU $1A6 ; Expand basic line for listing.
76
77
78 ;
79 ; Basic rom related stuff.
80 ;
81
82 BasicHWInit EQU $8000 ; Hardware initialisation
83 BasicSWInit EQU $8003 ; Software initialisation
84 BasicKbdIn EQU $8006 ; Keyboard input
85 BasicCursorB EQU $8009 ; Cursor blink
86 BasicScreenOut EQU $800C ; Screen output
87 BasicPrintOut EQU $800F ; Printer output
88 BasicJoyIn EQU $8012 ; Joystick input
89 BasicCassOn EQU $8015 ; Cassette player motor on
90 BasicCassOff EQU $8018 ; Cassette player motor off
91 BasicWriteLead EQU $801B ; Cassette write leader
92 BasicCassByOut EQU $801E ; Cassette byte output
93 BasicCassOnRd EQU $8021 ; Cassette on for reading
94 BasicCassByIn EQU $8024 ; Cassette byte input
95 BasicCassBitIn EQU $8027 ; Cassette bit input
96 BasicSerIn EQU $802A ; Read a byte from serial
97 BasicSerOut EQU $802D ; Write a byte to serial port
98 BasicSetBaud EQU $8030 ; Set baud rate
99
100 BasOMError EQU $8342 ; ?OM error
101 CmdMode EQU $8371 ; Go to basic command mode
102 BasResetStack EQU $8434 ; Reset basic stack
103
104 VarGetExpr EQU $8877 ; Get (and evaluate?) espression, addrss of expresion in $52
105 VarGetStr EQU $8887 ; Get string variable from basic, and store it
106 VarCKComma EQU $89AA ; Check for comma
107 BasSNError EQU $89B4 ; ?SN ERROR basic routine
108 BasFCError EQU $8B8D ; ?FC Error basic routine
109 VarDelVar EQU $8D9F ; Delate a (tempory) var
110 VarGet8Bit EQU $8E51 ; Get 8bit value
111 VarGet16Bit EQU $8E83 ; Get 16 bit var from basic
112
113 TextOutCRLF EQU $90A1 ; Output CRLF
114 BasPrintStr EQU $90E5 ; Basic, print string.
115 TextOutQuestion EQU $90F8 ; output a ?
116
117 BasicEntry EQU $B39B ; Basic entry point
118 BasicEntry2 EQU $B3CE
119 BasicResetVec EQU $B3B4 ; Basic rom reset vetcor
120
121 BasSignonMess EQU $B4B2 ; Address of basic signon message
122
123 TextWaitKey EQU $B505 ; Display cursor and await keypress
124
125 UtilCopyBXtoU EQU $B7CC ; copy B bytes from X to U
126
127 TextCls EQU $BA77 ; Clear screen
128 SndDisable EQU $BAC3 ; Disable (cassette) sound
129 SndDTOAOn EQU $BAED ; Turn on D to A sound
130 CasMotorOff EQU $BDDC ; Turn off casette motor
131 CasByteOut EQU $BE12 ; Byte output to cassette