1010 *-------------------------------- 1020 * ZERO PAGE LOCATIONS: 1030 *-------------------------------- 1040 GOWARM .EQ $00,01,02 GETS "JMP RESTART" 1050 GOSTROUT .EQ $03,04,05 GETS "JMP STROUT" 1060 USR .EQ $0A,0B,0C GETS "JMP " 1070 * (INITIALLY $E199) 1080 CHARAC .EQ $0D ALTERNATE STRING TERMINATOR 1090 ENDCHR .EQ $0E STRING TERMINATOR 1100 TKN.CNTR .EQ $0F USED IN PARSE 1110 EOL.PNTR .EQ $0F USED IN NXLIN 1120 NUMDIM .EQ $0F USED IN ARRAY ROUTINES 1130 DIMFLG .EQ $10 1140 VALTYP .EQ $11,12 $:VALTYP=$FF; %:VALTYP+1=$80 1150 DATAFLG .EQ $13 USED IN PARSE 1160 GARFLG .EQ $13 USED IN GARBAG 1170 SUBFLG .EQ $14 1180 INPUTFLG .EQ $15 = $40 FOR GET, $98 FOR READ 1190 CPRMASK .EQ $16 RECEIVES CPRTYP IN FRMEVL 1200 SIGNFLG .EQ $16 FLAGS SIGN IN TAN 1210 HGR.SHAPE .EQ $1A,1B 1220 HGR.BITS .EQ $1C 1230 HGR.COUNT .EQ $1D 1240 MON.CH .EQ $24 1250 MON.GBASL .EQ $26 1260 MON.GBASH .EQ $27 1270 MON.H2 .EQ $2C 1280 MON.V2 .EQ $2D 1290 MON.HMASK .EQ $30 1300 MON.INVFLG .EQ $32 1310 MON.PROMPT .EQ $33 1320 MON.A1L .EQ $3C USED BY TAPE I/O ROUTINES 1330 MON.A1H .EQ $3D " 1340 MON.A2L .EQ $3E " 1350 MON.A2H .EQ $3F " 1360 LINNUM .EQ $50,51 CONVERTED LINE # 1370 TEMPPT .EQ $52 LAST USED TEMP STRING DESC 1380 LASTPT .EQ $53,54 LAST USED TEMP STRING PNTR 1390 TEMPST .EQ $55 - 5D HOLDS UP TO 3 DESCRIPTORS 1400 INDEX .EQ $5E,5F 1410 DEST .EQ $60,61 1420 RESULT .EQ $62 - 66 RESULT OF LAST * OR / 1430 TXTTAB .EQ $67,68 START OF PROGRAM TEXT 1440 VARTAB .EQ $69,6A START OF VARIABLE STORAGE 1450 ARYTAB .EQ $6B,6C START OF ARRAY STORAGE 1460 STREND .EQ $6D,6E END OF ARRAY STORAGE 1470 FRETOP .EQ $6F,70 START OF STRING STORAGE 1480 FRESPC .EQ $71,72 TEMP PNTR, STRING ROUTINES 1490 MEMSIZ .EQ $73,74 END OF STRING SPACE (HIMEM) 1500 CURLIN .EQ $75,76 CURRENT LINE NUMBER 1510 * ( = $FFXX IF IN DIRECT MODE) 1520 OLDLIN .EQ $77,78 ADDR. OF LAST LINE EXECUTED 1530 OLDTEXT .EQ $79,7A 1540 DATLIN .EQ $7B,7C LINE # OF CURRENT DATA STT. 1550 DATPTR .EQ $7D,7E ADDR OF CURRENT DATA STT. 1560 INPTR .EQ $7F,80 1570 VARNAM .EQ $81,82 NAME OF VARIABLE 1580 VARPNT .EQ $83,84 ADDR OF VARIABLE 1590 FORPNT .EQ $85,86 1600 TXPSV .EQ $87,88 USED IN INPUT 1610 LASTOP .EQ $87 SCRATCH FLAG USED IN FRMEVL 1620 CPRTYP .EQ $89 >,=,< FLAG IN FRMEVL 1630 TEMP3 .EQ $8A - 8E 1640 FNCNAM .EQ $8A 1650 DSCPTR .EQ $8C 1660 DSCLEN .EQ $8F USED IN GARBAG 1670 JMPADRS .EQ $90,91,92 GETS "JMP ...." 1680 LENGTH .EQ $91 USED IN GARBAG 1690 ARG.EXTENSION .EQ $92 FP EXTRA PRECISION 1700 TEMP1 .EQ $93 - 97 SAVE AREAS FOR FAC 1710 ARYPNT .EQ $94 USED IN GARBAG 1720 HIGHDS .EQ $94,95 PNTR FOR BLTU 1730 HIGHTR .EQ $96,97 PNTR FOR BLTU 1740 TEMP2 .EQ $98 - 9C 1750 TMPEXP .EQ $99 USED IN FIN (EVAL) 1760 INDX .EQ $99 USED BY ARRAY RTNS 1770 EXPON .EQ $9A " 1780 DPFLG .EQ $9B FLAGS DEC PNT IN FIN 1790 LOWTR .EQ $9B,9C 1800 EXPSGN .EQ $9C 1810 FAC .EQ $9D - A1 MAIN FLT PT ACCUMULATOR 1820 DSCTMP .EQ $9D,9E,9F 1830 VPNT .EQ $A0,A1 TEMP VAR PTR 1840 FAC.SIGN .EQ $A2 HOLDS UNPACKED SIGN 1850 SERLEN .EQ $A3 HOLDS LENGTH OF SERIES-1 1860 SHIFT.SIGN.EXT .EQ $A4 SIGN EXTENSION, RIGHT SHIFTS 1870 ARG .EQ $A5 - A9 SECONDARY FP ACC 1880 ARG.SIGN .EQ $AA 1890 SGNCPR .EQ $AB FLAGS OPP SIGN IN FP ROUT. 1900 FAC.EXTENSION .EQ $AC FAC EXTENSION BYTE 1910 SERPNT .EQ $AD PNTR TO SERIES DATA IN FP 1920 STRNG1 .EQ $AB,AC 1930 STRNG2 .EQ $AD,AE 1940 PRGEND .EQ $AF,B0 1950 CHRGET .EQ $B1 - C8 1960 CHRGOT .EQ $B7 1970 TXTPTR .EQ $B8,B9 1980 RNDSEED .EQ $C9 - CD 1990 HGR.DX .EQ $D0,D1 2000 HGR.DY .EQ $D2 2010 HGR.QUADRANT .EQ $D3 2020 HGR.E .EQ $D4,D5 2030 LOCK .EQ $D6 NO USER ACCESS IF > 127 2040 ERRFLG .EQ $D8 $80 IF ON ERR ACTIVE 2050 ERRLIN .EQ $DA,DB LINE # WHERE ERROR OCCURRED 2060 ERRPOS .EQ $DC,DD TXTPTR SAVE FOR HANDLERR 2070 ERRNUM .EQ $DE WHICH ERROR OCCURRED 2080 ERRSTK .EQ $DF STACK PNTR BEFORE ERROR 2090 HGR.X .EQ $E0,E1 2100 HGR.Y .EQ $E2 2110 HGR.COLOR .EQ $E4 2120 HGR.HORIZ .EQ $E5 BYTE INDEX FROM GBASH,L 2130 HGR.PAGE .EQ $E6 HGR=$20, HGR2=$40 2140 HGR.SCALE .EQ $E7 2150 HGR.SHAPE.PNTR .EQ $E8,E9 2160 HGR.COLLISIONS .EQ $EA 2170 FIRST .EQ $F0 2180 SPEEDZ .EQ $F1 OUTPUT SPEED 2190 TRCFLG .EQ $F2 2200 FLASH.BIT .EQ $F3 = $40 FOR FLASH, ELSE =$00 2210 TXTPSV .EQ $F4,F5 2220 CURLSV .EQ $F6,F7 2230 REMSTK .EQ $F8 STACK PNTR BEFORE EACH STT. 2240 HGR.ROTATION .EQ $F9 2250 * $FF IS ALSO USED BY THE STRING OUT ROUTINES 2260 *-------------------------------- 2270 STACK .EQ $100 2280 INPUT.BUFFER .EQ $200 2290 AMPERSAND.VECTOR .EQ $3F5 - 3F7 GETS "JMP ...." 2300 *-------------------------------- 2310 * I/O & SOFT SWITCHES 2320 *-------------------------------- 2330 KEYBOARD .EQ $C000 2340 SW.TXTCLR .EQ $C050 2350 SW.MIXCLR .EQ $C052 2360 SW.MIXSET .EQ $C053 2370 SW.LOWSCR .EQ $C054 2380 SW.HISCR .EQ $C055 2390 SW.LORES .EQ $C056 2400 SW.HIRES .EQ $C057 2410 *-------------------------------- 2420 * MONITOR SUBROUTINES 2430 *-------------------------------- 2440 MON.PLOT .EQ $F800 2450 MON.HLINE .EQ $F819 2460 MON.VLINE .EQ $F828 2470 MON.SETCOL .EQ $F864 2480 MON.SCRN .EQ $F871 2490 MON.PREAD .EQ $FB1E 2500 MON.SETTXT .EQ $FB39 2510 MON.SETGR .EQ $FB40 2520 MON.TABV .EQ $FB5B 2530 MON.HOME .EQ $FC58 2540 MON.WAIT .EQ $FCA8 2550 MON.RD2BIT .EQ $FCFA 2560 MON.RDKEY .EQ $FD0C 2570 MON.GETLN .EQ $FD6A 2580 MON.COUT .EQ $FDED 2590 MON.INPORT .EQ $FE8B 2600 MON.OUTPORT .EQ $FE95 2610 MON.WRITE .EQ $FECD 2620 MON.READ .EQ $FEFD 2630 MON.READ2 .EQ $FF02 2640 *--------------------------------