S-C DocuMentor — Applesoft

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