parse-wormedit: parsing modules in seperate files
[wormy.git] / ti86asm.inc
1 ;
2 ;       version : 1/14/98
3 ;
4 ;
5 ;       some helpful system routine addresses
6 ;
7 ;
8 ;       For now refer to existing TI-85 or TI-83 documentation
9 ;       from the WEB.
10 ;
11 ;
12
13
14 ;
15 ;
16 ;       added 1/14/98 - Pat
17 ;
18 ;
19 _homeup         equ       4A95h       ; cursror to top left of home screen
20 _mov10B         equ       427Bh       ; move 10 bytes, (hl) to (de)
21 _stoans         equ       4C9Fh       ; store op1 to 'Ans' var
22 _exec_pg3       equ       5714h       ; rom page 3 asm jump table routine
23 _MEMCHK         equ       46BBh       ; ahl = # bytes of free memory
24 ;
25 _clrLCD                          equ            4A7Eh
26 _clrScrn                         equ            4A82h
27 _putmap                          equ            4A27h
28 _putc                            equ            4A2Bh
29 _puts                            equ            4A37h
30 _putps                           equ            4A3Bh
31 _vputmap                         equ            4AA1h
32 _vputs                           equ            4AA5h
33 _vputsn                          equ            4AA9h
34 _GRBUFCPY                        equ            4E39h
35 _ILine                           equ            4E51h
36 _IPoint                          equ            4E59h
37 _PDspGrph                        equ            4D6Fh
38 _CLine                           equ            51E9h
39 _getkey                          equ            55AAh
40 _getky                           equ            5371h
41 _RANDOM                          equ            55DAh
42 _newline                         equ            4A5Fh
43 _runindicoff                     equ            4AB1h
44 _runindicon                      equ            4AADh
45 _CONVOP1                         equ            5577h
46 ;
47 ;       VARIABLE ROUTINES SEE FILE 'VARS.DOC' & '
48 ;
49 _RCLY                            equ            4CDFh   ; rcl y to OP1
50 _RCLX                            equ            4CE3h   ; rcl x to OP1
51 ;
52 _CREATEREAL    equ      46EBh   ; CREATE REAL VAR OP1, NO INPUTS
53 ;
54 _CREATECPLX    equ      46F7h   ; CREATE CPLX VAR OP1, NO INPUTS
55 ;
56 _CREATERCONST  equ      46EFh   ; CREATE REAL CONSTANT VAR OP1, NO INPUTS
57 _CREATECCONST  equ      46F3h   ; CREATE CPLX CONSTANT VAR OP1, NO INPUTS
58 ;
59 _CREATERVECT   equ      46FFh   ; CREATE REAL VECTOR OP1, L = # ELEMENTS
60 _CREATECVECT   equ      4707h   ; CREATE CPLX VECTOR OP1, L = # ELEMENTS
61 ;
62 _CREATERLIST   equ      470Fh   ; CREATE REAL LIST OP1, HL = # ELEMENTS
63 _CREATECLIST   equ      4717h   ; CREATE CPLX LIST OP1, HL = # ELEMENTS
64 ;
65 _CREATERMAT    equ      471Fh   ; CREATE REAL MATRIX OP1, HL = ROW,COL
66 _CREATECMAT    equ      4727h   ; CREATE CPLX MATRIX OP1, HL = ROW,COL
67 ;
68 _CREATESTRNG   equ      472Fh   ; CREATE STRING OP1, HL = # BYTES
69 ;
70 _CREATEEQU     equ      4737h   ; CREATE EQUATION OP1, HL = # BYTES
71 ;
72 _CREATEPICT    equ      473Bh   ; CREATE PICTURE VAR OP1, NO INPUTS
73 ;
74 _CREATEPROG    equ      474Fh   ; CREATE PROGRAM VAR OP1, HL = # BYTES
75 ;
76 _FINDSYM       equ      46CBh   ; LOOK UP VAR
77 _delvar        equ      475Fh   ; DELETE VAR
78 ;
79 ;
80 ;
81 ;
82 _flushallmenus  equ     49DCh   ; clear the 86's menu key stacks
83 ;
84 ;
85 ;  ASM MODULE EXECUTOR
86 ;
87 _exec_assembly equ      5730h
88 ;
89 ;  RAM EQUATES FOR ASM MODULE CALLING
90 ;
91 _asm_reg_af    equ         0D624h
92 _asm_reg_a     equ         0D625h
93 _asm_reg_l     equ         0D626h
94 _asm_reg_hl    equ         0D626h
95 _asm_reg_h     equ         0D627h
96 _asm_reg_bc    equ         0D628h
97 _asm_reg_c     equ         0D628h
98 _asm_reg_b     equ         0D629h
99 _asm_reg_de    equ         0D62Ah
100 _asm_reg_e     equ         0D62Ah
101 _asm_reg_d     equ         0D62Bh
102 ;
103 ;
104 ;       start address for all ASM programs
105 ;
106 ;
107 _asm_exec_ram             equ         0D748h
108 ;
109 ;
110 ;       op1 to op6 ram equates
111 ;
112 ;
113 _OP1                      equ         0C089h
114 _OP1EXPM                  equ         0C08Ah
115 _OP1EXPL                  equ         0C08Bh
116 _OP1M                     equ         0C08Ch
117 _OP1EXT                   equ         0C093h
118 _OP2                      equ         0C094h
119 _OP2EXPM                  equ         0C095h
120 _OP2EXPL                  equ         0C096h
121 _OP2M                     equ         0C097h
122 _OP2EXT                   equ         0C09Eh
123 _OP3                      equ         0C09Fh
124 _OP3EXPM                  equ         0C0A0h
125 _OP3EXPL                  equ         0C0A1h
126 _OP3M                     equ         0C0A2h
127 _OP3EXT                   equ         0C0A9h
128 _OP4                      equ         0C0AAh
129 _OP4EXPM                  equ         0C0ABh
130 _OP4EXPL                  equ         0C0ACh
131 _OP4M                     equ         0C0ADh
132 _OP4EXT                   equ         0C0B4h
133 _OP5                      equ         0C0B5h
134 _OP5EXPM                  equ         0C0B6h
135 _OP5EXPL                  equ         0C0B7h
136 _OP5M                     equ         0C0B8h
137 _OP5EXT                   equ         0C0BFh
138 _OP6                      equ         0C0C0h
139 _OP6EXPM                  equ         0C0C1h
140 _OP6EXPL                  equ         0C0C2h
141 _OP6M                     equ         0C0C3h
142 _OP6EXT                   equ         0C0CAh
143 ;
144 ;
145 ;       screen shadow ram equates
146 ;
147 ;
148 _textShadow               equ         0C0F9h
149 _cmdShadow                equ         0CFABh
150 _plotSScreen              equ         0C9FAh
151 ;
152 ;
153 ;       display cursor ram equates
154 ;
155 ;
156 _curRow                   equ         0C00Fh
157 _curCol                   equ         0C010h
158 _penCol                   equ         0C37Ch
159 _penRow                   equ         0C37Dh
160 ;
161 ;
162 ;       link port equates
163 ;
164 ;
165 BPort           equ     7               ;4-bit I/O
166 D0LD1L      EQU              0FCH
167 D0LD1H      EQU              0D4H
168 D0HD1L      EQU              0E8H
169 D0HD1H      EQU              0C0H
170 ;
171 ;       SYSTEM FLAG EQUATES
172 ;       ALL OF THESE FLAGS CAN BE ACCESSED THROUGH THE 'IY' REGISTER
173 ;
174 trigflags       EQU       0           ; IY OFFSET VALUE
175 trigdeg         EQU       2
176 ;
177 plotflags       EQU       2           ; IY OFFSET VALUE
178 plotloc         EQU       1
179 plotdisp        EQU       2
180 ;
181 grfmodeflags    EQU       2           ; IY OFFSET VALUE
182 grffuncm        EQU       4
183 grfpolarm       EQU       5
184 grfparamm       EQU       6
185 grfrecurm       EQU       7
186 ;
187 graphflags      EQU       3           ; IY OFFSET VALUE
188 graphdraw       EQU       0
189 graphcursor     EQU       2
190 ;
191 grfdbflags      EQU       4           ; IY OFFSET VALUE
192 grfdot          EQU       0
193 grfsimul        EQU       1
194 grfgrid         EQU       2
195 grfpolar        EQU       3
196 grfnocoord      EQU       4
197 grfnoaxis       EQU       5
198 grflabel        EQU       6
199 ;
200 textflags       EQU       5           ; IY OFFSET VALUE
201 textEraseBelow  EQU       1
202 textScrolled    EQU       2
203 textInverse     EQU       3
204 ;
205 onflags         EQU       9           ; IY OFFSET VALUE
206 onRunning       EQU       3
207 onInterrupt     EQU       4
208 ;
209 fmtflags        EQU       10          ; IY OFFSET VALUE
210 fmtExponent     EQU       0
211 fmtEng          EQU       1
212 ;
213 curflags        EQU       12          ; IY OFFSET VALUE
214 curAble         EQU       2
215 curOn           EQU       3
216 curLock         EQU       4
217 ;
218 appflags        EQU       13          ; IY OFFSET VALUE
219 appTextSave     EQU       1
220 appAutoScroll   EQU       2
221 ;
222 indicflags      EQU       18          ; IY OFFSET VALUE
223 indicRun        EQU       0
224 indicOnly       EQU       2
225 ;
226 shiftflags      EQU       18          ; IY OFFSET VALUE
227 shift2nd        equ       3
228 shiftAlpha      equ       4
229 shiftLwrAlph    equ       5
230 shiftALock      equ       6
231 ;
232 new_grf_flgs    EQU       24          ; IY OFFSET VALUE
233 textwrite       EQU       6
234 ;
235 ;
236 ;    character font equates
237 ;
238 ;
239 Lbinary equ     001h
240 Loctal  equ     002h
241 Ldecimal        equ     003h
242 Lhexadecimal    equ     004h
243 Lconvert        equ     005h
244 LsqUp   equ     006h
245 LsqDown equ     007h
246 Lintegral       equ     008h
247 Lcross  equ     009h
248 LhexA   equ     00Ah
249 LhexB   equ     00Bh
250 LhexC   equ     00Ch
251 LhexD   equ     00Dh
252 LhexE   equ     00Eh
253 LhexF   equ     00Fh
254 Lroot   equ     010h
255 Linverse        equ     011h
256 Lsquare equ     012h
257 Langle  equ     013h
258 Ldegree equ     014h
259 Lradian equ     015h
260 Ltranspose      equ     016h
261 LLE     equ     017h
262 LNE     equ     018h
263 LGE     equ     019h
264 Lneg    equ     01Ah
265 Lexponent       equ     01Bh
266 Lstore  equ     01Ch
267 Lten    equ     01Dh
268 LupArrow        equ     01Eh
269 LdownArrow      equ     01Fh
270 Lspace  equ     020h
271 Lexclam equ     021h
272 Lquote  equ     022h
273 Lpound  equ     023h
274 Ldollar equ     024h
275 Lpercent        equ     025h
276 Lampersand      equ     026h
277 Lapostrophe     equ     027h
278 LlParen equ     028h
279 LrParen equ     029h
280 Lasterisk       equ     02Ah
281 LplusSign       equ     02Bh
282 Lcomma  equ     02Ch
283 Ldash   equ     02Dh
284 Lperiod equ     02Eh
285 Lslash  equ     02Fh
286 L0      equ     030h
287 L1      equ     031h
288 L2      equ     032h
289 L3      equ     033h
290 L4      equ     034h
291 L5      equ     035h
292 L6      equ     036h
293 L7      equ     037h
294 L8      equ     038h
295 L9      equ     039h
296 Lcolon  equ     03Ah
297 Lsemicolon      equ     03Bh
298 LLT     equ     03Ch
299 LEQ     equ     03Dh
300 LGT     equ     03Eh
301 Lquestion       equ     03Fh
302 LatSign equ     040h
303 LcapA   equ     041h
304 LcapB   equ     042h
305 LcapC   equ     043h
306 LcapD   equ     044h
307 LcapE   equ     045h
308 LcapF   equ     046h
309 LcapG   equ     047h
310 LcapH   equ     048h
311 LcapI   equ     049h
312 LcapJ   equ     04Ah
313 LcapK   equ     04Bh
314 LcapL   equ     04Ch
315 LcapM   equ     04Dh
316 LcapN   equ     04Eh
317 LcapO   equ     04Fh
318 LcapP   equ     050h
319 LcapQ   equ     051h
320 LcapR   equ     052h
321 LcapS   equ     053h
322 LcapT   equ     054h
323 LcapU   equ     055h
324 LcapV   equ     056h
325 LcapW   equ     057h
326 LcapX   equ     058h
327 LcapY   equ     059h
328 LcapZ   equ     05Ah
329 LlBrack equ     05Bh
330 Lbackslash      equ     05Ch
331 LrBrack equ     05Dh
332 Lcaret  equ     05Eh
333 Lunderscore     equ     05Fh
334 Lbackquote      equ     060h
335 La      equ     061h
336 Lb      equ     062h
337 Lc      equ     063h
338 Ld      equ     064h
339 Le      equ     065h
340 Lf      equ     066h
341 Lg      equ     067h
342 Lh      equ     068h
343 Li      equ     069h
344 Lj      equ     06Ah
345 Lk      equ     06Bh
346 Ll      equ     06Ch
347 Lm      equ     06Dh
348 Ln      equ     06Eh
349 Lo      equ     06Fh
350 Lp      equ     070h
351 Lq      equ     071h
352 Lr      equ     072h
353 Ls      equ     073h
354 Lt      equ     074h
355 Lu      equ     075h
356 Lv      equ     076h
357 Lw      equ     077h
358 Lx      equ     078h
359 Ly      equ     079h
360 Lz      equ     07Ah
361 LlBrace equ     07Bh
362 Lbar    equ     07Ch
363 LrBrace equ     07Dh
364 Ltilde  equ     07Eh
365 LinvEQ  equ     07Fh
366 Lsub0   equ     080h
367 Lsub1   equ     081h
368 Lsub2   equ     082h
369 Lsub3   equ     083h
370 Lsub4   equ     084h
371 Lsub5   equ     085h
372 Lsub6   equ     086h
373 Lsub7   equ     087h
374 Lsub8   equ     088h
375 Lsub9   equ     089h
376 LcapAAcute      equ     08Ah
377 LcapAGrave      equ     08Bh
378 LcapACaret      equ     08Ch
379 LcapADier       equ     08Dh
380 LaAcute equ     08Eh
381 LaGrave equ     08Fh
382 LaCaret equ     090h
383 LaDier  equ     091h
384 LcapEAcute      equ     092h
385 LcapEGrave      equ     093h
386 LcapECaret      equ     094h
387 LcapEDier       equ     095h
388 LeAcute equ     096h
389 LeGrave equ     097h
390 LeCaret equ     098h
391 LeDier  equ     099h
392 LcapIAcute      equ     09Ah
393 LcapIGrave      equ     09Bh
394 LcapICaret      equ     09Ch
395 LcapIDier       equ     09Dh
396 LiAcute equ     09Eh
397 LiGrave equ     09Fh
398 LiCaret equ     0A0h
399 LiDier  equ     0A1h
400 LcapOAcute      equ     0A2h
401 LcapOGrave      equ     0A3h
402 LcapOCaret      equ     0A4h
403 LcapODier       equ     0A5h
404 LoAcute equ     0A6h
405 LoGrave equ     0A7h
406 LoCaret equ     0A8h
407 LoDier  equ     0A9h
408 LcapUAcute      equ     0AAh
409 LcapUGrave      equ     0ABh
410 LcapUCaret      equ     0ACh
411 LcapUDier       equ     0ADh
412 LuAcute equ     0AEh
413 LuGrave equ     0AFh
414 LuCaret equ     0B0h
415 LuDier  equ     0B1h
416 LcapCCed        equ     0B2h
417 LcCed   equ     0B3h
418 LcapNTilde      equ     0B4h
419 LnTilde equ     0B5h
420 Laccent equ     0B6h
421 Lgrave  equ     0B7h
422 Ldieresis       equ     0B8h
423 LquesDown       equ     0B9h
424 LexclamDown     equ     0BAh
425 Lalpha  equ     0BBh
426 Lbeta   equ     0BCh
427 Lgamma  equ     0BDh
428 LcapDelta       equ     0BEh
429 Ldelta  equ     0BFh
430 Lepsilon        equ     0C0h
431 Ltheta  equ     0C1h
432 Llambda equ     0C2h
433 Lmu     equ     0C3h
434 Lpi     equ     0C4h
435 Lrho    equ     0C5h
436 LcapSigma       equ     0C6h
437 Lsigma  equ     0C7h
438 Ltau    equ     0C8h
439 Lphi    equ     0C9h
440 LcapOmega       equ     0CAh
441 LxMean  equ     0CBh
442 LyMean  equ     0CCh
443 LsupX   equ     0CDh
444 Lellipsis       equ     0CEh
445 Lleft   equ     0CFh
446 Lblock  equ     0D0h
447 Lper    equ     0D1h
448 Lhyphen equ     0D2h
449 Larea   equ     0D3h
450 Ltemp   equ     0D4h
451 Lcube   equ     0D5h
452 Lenter  equ     0D6h
453 LblockArrow     equ     0D7h
454 ;
455 ;
456 ;       'getkey' equates
457 ;
458 ;
459 kRight  equ     001h
460 kLeft   equ     002h
461 kUp     equ     003h
462 kDown   equ     004h
463 kColon  equ     005h
464 kEnter  equ     006h
465 kExit   equ     007h
466 kClear  equ     008h
467 kDel    equ     009h
468 kIns    equ     00Ah
469 kNext   equ     00Bh
470 kAdd    equ     00Ch
471 kSub    equ     00Dh
472 kMul    equ     00Eh
473 kDiv    equ     00Fh
474 kExpon  equ     010h
475 kLParen equ     011h
476 kRParen equ     012h
477 kLBrack equ     013h
478 kRBrack equ     014h
479 kEqual  equ     015h
480 kStore  equ     016h
481 kRecall equ     017h
482 kComma  equ     018h
483 kAng    equ     019h
484 kChs    equ     01Ah
485 kDecPnt equ     01Bh
486 k0      equ     01Ch
487 k1      equ     01Dh
488 k2      equ     01Eh
489 k3      equ     01Fh
490 k4      equ     020h
491 k5      equ     021h
492 k6      equ     022h
493 k7      equ     023h
494 k8      equ     024h
495 k9      equ     025h
496 kEE     equ     026h
497 kSpace  equ     027h
498 kCapA   equ     028h
499 kCapB   equ     029h
500 kCapC   equ     02Ah
501 kCapD   equ     02Bh
502 kCapE   equ     02Ch
503 kCapF   equ     02Dh
504 kCapG   equ     02Eh
505 kCapH   equ     02Fh
506 kCapI   equ     030h
507 kCapJ   equ     031h
508 kCapK   equ     032h
509 kCapL   equ     033h
510 kCapM   equ     034h
511 kCapN   equ     035h
512 kCapO   equ     036h
513 kCapP   equ     037h
514 kCapQ   equ     038h
515 kCapR   equ     039h
516 kCapS   equ     03Ah
517 kCapT   equ     03Bh
518 kCapU   equ     03Ch
519 kCapV   equ     03Dh
520 kCapW   equ     03Eh
521 kCapX   equ     03Fh
522 kCapY   equ     040h
523 kCapZ   equ     041h
524 ka      equ     042h
525 kb      equ     043h
526 kc      equ     044h
527 kd      equ     045h
528 ke      equ     046h
529 kf      equ     047h
530 kg      equ     048h
531 kh      equ     049h
532 ki      equ     04Ah
533 kj      equ     04Bh
534 kk      equ     04Ch
535 kl      equ     04Dh
536 km      equ     04Eh
537 kn      equ     04Fh
538 ko      equ     050h
539 kp      equ     051h
540 kq      equ     052h
541 kr      equ     053h
542 ks      equ     054h
543 kt      equ     055h
544 ku      equ     056h
545 kv      equ     057h
546 kw      equ     058h
547 kx      equ     059h
548 ky      equ     05Ah
549 kz      equ     05Bh
550 kVarx   equ     05Ch
551 kAns    equ     05Dh
552 kPi     equ     05Eh
553 kInv    equ     05Fh
554 kSin    equ     060h
555 kASin   equ     061h
556 kCos    equ     062h
557 kACos   equ     063h
558 kTan    equ     064h
559 kATan   equ     065h
560 kSquare equ     066h
561 kSqrt   equ     067h
562 kLn     equ     068h
563 kExp    equ     069h
564 kLog    equ     06Ah
565 kALog   equ     06Bh
566 kMath   equ     06Ch
567 kCplx   equ     06Dh
568 kString equ     06Eh
569 kTest   equ     06Fh
570 kConv   equ     070h
571 kChar   equ     071h
572 kBase   equ     072h
573 kCustom equ     073h
574 kVars   equ     074h
575 kCatalog        equ     075h
576 kQuit   equ     076h
577 kLastEnt        equ     077h
578 kLinkIO equ     078h
579 kMem    equ     079h
580 kList   equ     07Ah
581 kVector equ     07Bh
582 kConst  equ     07Ch
583 kMatrix equ     07Dh
584 kPoly   equ     07Eh
585 kSimult equ     07Fh
586 kStat   equ     080h
587 kGrMenu equ     081h
588 kMode   equ     082h
589 kPrgm   equ     083h
590 kCalcu  equ     084h
591 kSolver equ     085h
592 ;
593 kTable  equ     086h            ; new key added for LEO
594 ;
595 kBOL    equ     087h
596 kEOL    equ     088h
597 kCUSTM  equ     093h
598 kF1     equ     0C2h
599 kF2     equ     0C3h
600 kF3     equ     0C4h
601 kF4     equ     0C5h
602 kF5     equ     0C6h
603 kF6     equ     0C7h
604 kF7     equ     0C8h
605 kF8     equ     0C9h
606 kF9     equ     0CAh
607 kF10    equ     0CBh
608 kGRAPH  equ     0FFh
609 \1a