Analyst/Analyst128xp annotated.txt

2207 lines
117 KiB
Plaintext

8000: 8000 5 ORG $8000
8000: 7 *********************************
8000: 8 * *
8000: 9 * -< THE ANALYST >- *
8000: 10 * *
8000: 11 * 128K VERSION XP *
8000: 12 * *
8000: 13 * 2/07/05 *
8000: 14 * *
8000: 15 *********************************
8000: 17 *** COMMANDS ***
8000: 19 ; CTRL-F FIND HEX SEQUENCE DEFINED BY F(H)
8000: 20 ; G GO EXECUTE IN IMMEDIATE MODE
8000: 21 ; H LOAD BYTES FOR HSF F(CTRL-F) BY USING H:
8000: 22 ; I DISPLAY/SET PC/INTERNAL A,X,Y,P,S REGISTERS
8000: 23 ; J JUMP. EXECUTE JSR INSTRUCTION IN STEP MODE
8000: 24 ; CTRL-L CLEAR PRESENT SCREEN AND HOME CURSOR
8000: 25 ; L LIST DISASSEMBLY OR LOOP IN TRACE MODE.
8000: 26 ; M MOVE BLOCK OF MEMORY
8000: 27 ; P SEND OUTPUT TO PRINTER
8000: 28 ; R RELOCATE ANALYST TO NEW ADDRESS PAGE
8000: 29 ; S ENTER STEP MODE. STEP INSTRUCTION
8000: 30 ; T TRACE PROGRAM
8000: 31 ; V PRINT ANALYST VERSION# AND ORIGIN ADDRESS.
8000: 32 ; CTRL-X MOVE ANALYST TO AUX. DISABLED AFTER USE.
8000: 33 ; X SKIP INSTRUCTION DURING STEP. TOGGLE MAIN/AUX
8000: 34 ; " DUMP MEMORY IN ASCII
8000: 35 ; / SET OR PRINT SUBROUTINE TO JSR IMMED MODE
8000: 36 ; % PRINT ADDRESS DATA VALUE IN BINARY
8000: 37 ; ? PRINT LAST 16 PC'S EXEC'D DURING TRACE
8000: 38 ; @ SET TEXT 40/80 COL SCREEN
8000: 39 ; < RANGE DELIMITER
8000: 40 ; . RANGE DELIMITER
8000: 41 ; + 16 BIT ADDITION
8000: 42 ; - 16 BIT SUBTRACTION
8000: 43 ; : STORE VALUE IN MEMORY
8000: 44 ; ! ENTER MINI-ASSEMBLER. <CR> ALONE TO EXIT
8000: 46 *** ROM ZERO PAGE EQUATES ***
8000: 0036 48 MCSWL EQU $36
8000: 0037 49 MCSWH EQU $37
8000: 003C 50 MA1 EQU $3C
8000: 003E 51 MA2 EQU $3E
8000: 0042 52 MA4 EQU $42
8000: 54 *** ANALYST EQUATES ***
8000: 00EF 56 PCL EQU $EF LABEL MARKS PAGE 0
8000: 00F0 57 PCH EQU $F0
8000: 00F1 58 BASL EQU $F1
8000: 00F2 59 BASH EQU $F2 LABEL USED AS IDENTIFIER
8000: 00F3 60 ZFLG EQU $F3 1 BYTE ID = $AA
8000: 00F4 61 A1L EQU $F4 A1L-A5H MUST BE IN ORDER
8000: 00F5 62 A1H EQU $F5 FOR MINI-ASSEMBLER
8000: 00F6 63 A2L EQU $F6
8000: 00F7 64 A2H EQU $F7
8000: 00F8 65 A3L EQU $F8
8000: 00F9 66 A3H EQU $F9
8000: 00FA 67 A4L EQU $FA
8000: 00FB 68 A4H EQU $FB
8000: 00FC 69 A5L EQU $FC
8000: 00FD 70 A5H EQU $FD
8000: 00FE 71 BAS2L EQU $FE
8000: 00FF 72 BAS2H EQU $FF LABEL MARKS END OF PAGE 0
8000: 0102 73 WARMV EQU $0102 WARM REENTRY
8000: 0108 74 XQTS EQU WARMV+6 EXEC AREA FOR STEP, TRACE
8000: 011D 75 YPOKE EQU XQTS+21
8000: 0125 76 PEEK EQU XQTS+29
8000: 0127 77 YPEEK EQU XQTS+31
8000: 013A 78 XQT EQU XQTS+50 18 BYTES
8000: 014C 79 PCBUF EQU XQT+18 32 BYTE PC SAVE AREA.
8000: 016C 80 IN EQU PCBUF+32 KEYIN BUFFER. 38 BYTES.
8000: BF00 81 MLI EQU $BF00 PRODOS INTERFACE
8000: 83 *** ROM EQUATES ***
8000: C000 85 KBD EQU $C000
8000: C001 86 INHPAGE2 EQU $C001 AUX $400-7FF SHOWS TEXT
8000: C002 87 MAINRD EQU $C002
8000: C004 88 MAINWR EQU $C004
8000: C00C 89 CLR80VID EQU $C00C
8000: C00D 90 SET80VID EQU $C00D
8000: C010 91 KBDSTRB EQU $C010
8000: C016 92 RDAUXZP EQU $C016 BMI IF AUXZP
8000: C018 93 RDPAGE2 EQU $C018 BMI IF INHPAGE2 ON
8000: C01A 94 RDTEXT EQU $C01A BMI IF TEXT MODE
8000: C01C 95 RDSCR EQU $C01C BMI IF DPAGE2 ON
8000: C01F 96 RD80VID EQU $C01F BMI IF 80 COL MODE
8000: C030 97 SPKR EQU $C030
8000: C051 98 TXTSET EQU $C051
8000: C054 99 LOWSCR EQU $C054
8000: C055 100 HISCR EQU $C055
8000: C061 101 PB0 EQU $C061 OPEN APPLE KEY
8000: C062 102 PB1 EQU $C062 CLOSED APPLE KEY
8000: C082 103 SWITCH2 EQU $C082
8000: C311 104 AUXMOVE EQU $C311
8000: FE95 105 OUTPORT EQU $FE95 USED TO SET PRINTER
8000: E000 106 IDROM EQU $E000 = $4C IF ROM PRESENT
8000:4C 9D 8A 108 START JMP RESET COLD START
8003:A6 EF 109 INSDS1 LDX PCL
8005:A4 F0 110 LDY PCH
8007:20 4C 88 111 JSR CROUT
800A:20 5B 88 112 JSR PRYX2
800D:20 50 88 113 JSR OUTSP
8010:20 25 01 114 INSDST JSR PEEK
8013:A0 FF 115 INSDS2 LDY #$FF DETERMINE LENGTH OF
8015:8C CF 90 116 STY LMNEM INSTRUCTION. OPCODE IN
8018:A8 117 TAY ACC. STORED IN LENGTH.
8019:4A 118 LSR A INVALID = 0
801A:90 05 8021 119 BCC IEVEN 1 BYTE = 0
801C:6A 120 ROR A 2 BYTE = 1
801D:B0 13 8032 121 BCS ERR 3 BYTE = 2
801F:29 87 122 AND #$87
8021:4A 123 IEVEN LSR A
8022:AA 124 TAX
8023:BD E3 8F 125 LDA FMT1,X
8026:90 04 802C 126 BCC RTMSKZ
8028:4A 127 LSR A
8029:4A 128 LSR A
802A:4A 129 LSR A
802B:4A 130 LSR A
802C:29 0F 131 RTMSKZ AND #$0F
802E:C9 0F 132 CMP #$0F
8030:D0 13 8045 133 BNE GETFMT
8032:A0 FF 134 ERR LDY #$FF BAD OPCODE
8034:8C C6 90 135 STY ERRFLG
8037:C8 136 INY
8038:8C CF 90 137 STY LMNEM
803B:8C D0 90 138 STY RMNEM
803E:8C D2 90 139 STY FORMAT
8041:8C D1 90 140 STY LENGTH
8044:60 141 RTS1 RTS
8045:AA 142 GETFMT TAX
8046:BD D5 8F 143 LDA FMT2,X
8049:8D D2 90 144 STA FORMAT
804C:29 03 145 AND #$03
804E:8D D1 90 146 STA LENGTH
8051:AD C2 90 147 LDA TFLG BYPASS PRINT FORMATTING
8054:D0 EE 8044 148 BNE RTS1 IN TRACE
8056:98 149 TYA
8057:29 8F 150 AND #$8F
8059:48 151 PHA TEMP STORAGE
805A:98 152 TYA
805B:A2 1F 153 LDX #31
805D:CA 154 GETFMT2 DEX
805E:30 08 8068 155 BMI MNNDX
8060:DD 27 90 156 CMP OPC65C,X MAKE SUBSTITUTION IF
8063:D0 F8 805D 157 BNE GETFMT2 65C02 OPCODE.
8065:BD 46 90 158 LDA REPL65C,X
8068:FA 159 MNNDX PLX
8069:A0 03 160 LDY #$03
806B:E0 8A 161 CPX #$8A
806D:F0 0B 807A 162 BEQ MNNDX3
806F:4A 163 MNNDX1 LSR A
8070:90 08 807A 164 BCC MNNDX3
8072:4A 165 LSR A
8073:4A 166 MNNDX2 LSR A
8074:09 20 167 ORA #$20
8076:88 168 DEY
8077:D0 FA 8073 169 BNE MNNDX2
8079:C8 170 INY
807A:88 171 MNNDX3 DEY
807B:D0 F2 806F 172 BNE MNNDX1
807D:60 173 RTS
807E:20 03 80 174 INSTDSP JSR INSDS1
8081:48 175 PHA
8082:20 27 01 176 PRNTOP JSR YPEEK
8085:20 E2 88 177 JSR PRBYTE
8088:A2 01 178 LDX #$01
808A:20 07 81 179 PRNTBL JSR PRBLNK
808D:CC D1 90 180 CPY LENGTH
8090:C8 181 INY
8091:90 EF 8082 182 BCC PRNTOP
8093:A2 03 183 LDX #$03
8095:C0 03 184 CPY #$03
8097:90 F1 808A 185 BCC PRNTBL
8099:68 186 PLA
809A:A8 187 TAY
809B:AD CF 90 188 LDA LMNEM
809E:F0 0C 80AC 189 BEQ PRMN1
80A0:B9 3E 8F 190 LDA MNEML,Y
80A3:8D CF 90 191 STA LMNEM
80A6:B9 7E 8F 192 LDA MNEMR,Y
80A9:8D D0 90 193 STA RMNEM
80AC:A9 00 194 PRMN1 LDA #$00
80AE:A0 05 195 LDY #$05
80B0:0E D0 90 196 PRMN2 ASL RMNEM
80B3:2E CF 90 197 ROL LMNEM
80B6:2A 198 ROL A
80B7:88 199 DEY
80B8:D0 F6 80B0 200 BNE PRMN2
80BA:69 BF 201 ADC #$BF
80BC:20 F5 88 202 JSR COUT
80BF:CA 203 DEX
80C0:D0 EA 80AC 204 BNE PRMN1
80C2:20 50 88 205 JSR OUTSP
80C5:AC D1 90 206 LDY LENGTH
80C8:A2 05 207 LDX #$05
80CA:E0 02 208 PRADR1 CPX #$02
80CC:F0 1D 80EB 209 BEQ PRADR5
80CE:0E D2 90 210 PRADR2 ASL FORMAT
80D1:90 0E 80E1 211 BCC PRADR3
80D3:BD BE 8F 212 LDA CHAR1,X
80D6:20 F5 88 213 JSR COUT
80D9:BD C4 8F 214 LDA CHAR2,X
80DC:F0 03 80E1 215 BEQ PRADR3
80DE:20 F5 88 216 JSR COUT
80E1:CA 217 PRADR3 DEX
80E2:10 E6 80CA 218 BPL PRADR1
80E4:60 219 RTS
80E5:88 220 PRADR4 DEY
80E6:30 E6 80CE 221 BMI PRADR2
80E8:20 E2 88 222 JSR PRBYTE
80EB:AD D2 90 223 PRADR5 LDA FORMAT
80EE:C9 E8 224 CMP #$E8
80F0:20 27 01 225 JSR YPEEK
80F3:90 F0 80E5 226 BCC PRADR4
80F5:20 1D 81 227 JSR PCADJA
80F8:AA 228 TAX
80F9:E8 229 INX
80FA:D0 01 80FD 230 BNE PRNTYX
80FC:C8 231 INY
80FD:98 232 PRNTYX TYA
80FE:20 E2 88 233 PRNTAX JSR PRBYTE
8101:8A 234 TXA
8102:4C E2 88 235 JMP PRBYTE
8105:A2 03 236 PRBLNK3 LDX #3
8107:20 50 88 237 PRBLNK JSR OUTSP PRINT X SPACES
810A:CA 238 DEX
810B:D0 FA 8107 239 BNE PRBLNK
810D:60 240 RTS
810E:38 241 PCADJ SEC UPDATE PC BY LENGTH+1
810F:AD D1 90 242 PCADJLP LDA LENGTH UPDATE PC BY LENGTH
8112:20 1D 81 243 PCADJAP JSR PCADJA UPDATE PC BY ACC
8115:85 EF 244 STA PCL
8117:84 F0 245 STY PCH
8119:60 246 RTS
811A:AD D1 90 247 PCADJL LDA LENGTH SET Y,A = PC+LENGTH
811D:A4 F0 248 PCADJA LDY PCH SET Y,A = PC+ACC
811F:AA 249 TAX
8120:10 01 8123 250 BPL PCADJ2
8122:88 251 DEY
8123:65 EF 252 PCADJ2 ADC PCL
8125:90 01 8128 253 BCC RTS2
8127:C8 254 INY
8128:60 255 RTS2 RTS
8129:CE DA 90 256 STEP DEC YSAV F(S)
812C:8A 257 STEPL TXA
812D:F0 07 8136 258 BEQ STEPZ
812F:20 2F 85 259 JSR SETBREAK FIRST TIME
8132:A2 01 260 LDX #1
8134:D0 60 8196 261 BNE SSTEP ALWAYS TAKEN
8136:20 A9 87 262 STEPZ JSR KYWAIT
8139:D0 06 8141 263 BNE STEP1
813B:EE DA 90 264 INC YSAV CTRL-C = EXIT TO NEXTITM
813E:4C 60 8A 265 JMP ZSWAPE VIA ZSWAPE RTS
8141:C0 CA 266 STEP1 CPY #$CA
8143:D0 08 814D 267 BNE STEP2
8145:AD C3 90 268 LDA JFLG J = SINGLE STEP
8148:F0 4C 8196 269 BEQ SSTEP IF NO JSR, ELSE
814A:4C 75 82 270 JMP TRCPCS EXECUTE SUBROUTINE
814D:C0 CC 271 STEP2 CPY #$CC L = LOOP. SET BREAK
814F:D0 0C 815D 272 BNE STEP2A POINT AFTER INSTRUCTION
8151:20 1A 81 273 JSR PCADJL TO BE EXECUTED NEXT
8154:8D DD 90 274 STA BRKADDR AND ENTER TRACE.
8157:8C DE 90 275 STY BRKADDR+1
815A:4C 73 81 276 JMP STEPT
815D:AD C3 90 277 STEP2A LDA JFLG SPC = SINGLE STEP IF
8160:D0 04 8166 278 BNE STEP3 NOT JSR, ELSE IGNORE
8162:C0 A0 279 CPY #$A0
8164:F0 30 8196 280 BEQ SSTEP
8166:C0 D3 281 STEP3 CPY #$D3 S OR OPEN APPLE =
8168:F0 2C 8196 282 BEQ SSTEP SINGLE STEP ALWAYS
816A:98 283 TYA
816B:F0 26 8193 284 BEQ SSTEPW = 0 FOR OPEN APPLE.
816D:C0 D4 285 CPY #$D4 T = ENTER TRACE MODE
816F:D0 0B 817C 286 BNE STEP4
8171:A0 FF 287 LDY #$FF
8173:8C C2 90 288 STEPT STY TFLG SET TRACE MODE FLAG
8176:8C E2 90 289 STY PCFLG ENABLE PC PRINTING
8179:4C 93 82 290 JMP STRACE AND ENTER TRACE.
817C:C0 D8 291 STEP4 CPY #$D8 X = SKIP NEXT INSTRUCTION
817E:D0 0C 818C 292 BNE STEP5
8180:9C C3 90 293 STZ JFLG ENABLE SPC IF SKP WHILE
8183:9C C6 90 294 STZ ERRFLG JSR DISPLAYED ACTIVE.
8186:20 0E 81 295 JSR PCADJ CLR IN CASE SKIP ERROR.
8189:4C C4 8B 296 JMP JRTSX
818C:C0 C0 297 STEP5 CPY #$C0 @ = TEXT MODE
818E:D0 9C 812C 298 BNE STEPL LOOP BACK FOR INPUT
8190:20 63 8E 299 JSR TEXT
8193:20 7A 87 300 SSTEPW JSR FWAIT PAUSE TO RELEASE O/A KEY
8196:20 A6 89 301 SSTEP JSR A1PC
8199:20 51 87 302 SSTEPT JSR CLEARDSP TRACE RE-ENTRY TO STEP
819C:20 7E 80 303 JSR INSTDSP
819F:20 05 81 304 JSR PRBLNK3
81A2:20 25 01 305 JSR PEEK
81A5:29 0F 306 AND #$0F
81A7:C9 01 307 CMP #$01 SEE IF ZERO PAGE IND
81A9:D0 36 81E1 308 BNE SSTEPZ
81AB:A9 A8 309 LDA #$A8 '('
81AD:20 F5 88 310 JSR COUT PRINT ABSOLUTE VALUE
81B0:20 25 01 311 JSR PEEK IN PARENTHESIS
81B3:29 10 312 AND #$10
81B5:D0 03 81BA 313 BNE INDY TAKEN FOR (NN),Y.
81B7:AE CA 90 314 LDX XREG FOR (NN,X).
81BA:8A 315 INDY TXA X=0 FOR (NN),Y
81BB:8D DF 90 316 STA TEMP1
81BE:A0 01 317 LDY #1
81C0:20 27 01 318 JSR YPEEK
81C3:18 319 CLC
81C4:6D DF 90 320 ADC TEMP1
81C7:48 321 PHA
81C8:20 4D 8A 322 JSR ZSWAP GET PROGRAM PAGE 0 AND
81CB:68 323 PLA SAVE POINTER ADDRESS ON
81CC:AA 324 TAX STACK.
81CD:B5 01 325 LDA $01,X
81CF:48 326 PHA
81D0:B5 00 327 LDA $00,X
81D2:48 328 PHA
81D3:20 4D 8A 329 JSR ZSWAP RESTORE ANALYST PAGE 0
81D6:68 330 PLA AND RECOVER POINTER ADDR.
81D7:AA 331 TAX
81D8:68 332 PLA
81D9:20 FE 80 333 JSR PRNTAX
81DC:A9 A9 334 LDA #$A9 ')'
81DE:20 F5 88 335 JSR COUT
81E1:4C 3E 83 336 SSTEPZ JMP TSTEP
81E4:A9 FF 337 PRNTPC LDA #$FF PRINT PC AT TOP OF SCREEN
81E6:8D D8 90 338 STA CV BY FORCING CROUT TO INC
81E9:20 4C 88 339 JSR CROUT CV TO 0 (NEED FOR 80 COL)
81EC:A9 1D 340 LDA #29
81EE:8D D7 90 341 STA CH
81F1:AD D6 90 342 LDA PROMPT
81F4:20 F5 88 343 JSR COUT
81F7:A5 F0 344 LDA PCH
81F9:A6 EF 345 LDX PCL
81FB:4C FE 80 346 JMP PRNTAX
81FE:AE DC 90 347 TRACEPC LDX PCPNT SAVE PC TO BE EXEC'D
8201:A5 F0 348 LDA PCH IN LIST BUFFER.
8203:9D 4C 01 349 STA PCBUF,X
8206:E8 350 INX
8207:A5 EF 351 LDA PCL
8209:9D 4C 01 352 STA PCBUF,X
820C:E8 353 INX
820D:E0 20 354 CPX #32
820F:90 02 8213 355 BCC PNTINC
8211:A2 00 356 LDX #0
8213:8E DC 90 357 PNTINC STX PCPNT
8216:AD 61 C0 358 LDA PB0
8219:10 0B 8226 359 BPL TRCPC1
821B:AD E2 90 360 LDA PCFLG O/A TOGGLES PRINT PC
821E:49 FF 361 EOR #$FF ON/OFF
8220:8D E2 90 362 STA PCFLG
8223:20 7A 87 363 JSR FWAIT PAUSE TO RELEASE O/A KEY
8226:AD E2 90 364 TRCPC1 LDA PCFLG
8229:F0 10 823B 365 BEQ TRCPC2 BYPASS PRINTING PC.
822B:EE E3 90 366 INC COUNTER PRINT PC
822E:D0 0B 823B 367 BNE TRCPC2 EVERY 256 INSTRUCTIONS
8230:AD D6 90 368 LDA PROMPT FLASHING '$' FOR TRACE
8233:49 04 369 EOR #$04 ACTIVITY. $A4->$A0->$A4
8235:8D D6 90 370 STA PROMPT
8238:20 E4 81 371 JSR PRNTPC
823B:AD C3 90 372 TRCPC2 LDA JFLG
823E:F0 5F 829F 373 BEQ TRACE5
8240:A5 F0 374 LDA PCH
8242:C9 C0 375 CMP #$C0
8244:90 10 8256 376 BCC TRCPCD
8246:AC FF 90 377 LDY ROMFLG
8249:D0 0B 8256 378 BNE TRCPCD
824B:C9 D0 379 CMP #$D0
824D:90 13 8262 380 BCC TRCPCI
824F:AC 00 E0 381 LDY IDROM JSR ROM $C000-FFFF IN
8252:C0 4C 382 CPY #$4C IMMEDIATE MODE UNLESS
8254:F0 0C 8262 383 BEQ TRCPCI ROM FLAG SET <> 0.
8256:CD C5 90 384 TRCPCD CMP DOSCALL+1 TRACE THRU JSR UNLESS =
8259:D0 44 829F 385 BNE TRACE5 DOS SUBROUTINE SPECIFIED
825B:A5 EF 386 LDA PCL BY F(/).
825D:CD C4 90 387 CMP DOSCALL
8260:D0 3D 829F 388 BNE TRACE5
8262:AD E2 90 389 TRCPCI LDA PCFLG EXEC JSR IMMEDIATE. DON'T
8265:F0 0E 8275 390 BEQ TRCPCS PRINT IF O/A TURNED OFF.
8267:20 39 8E 391 JSR SPROMPT '#' DENOTES JSR IMMED.
826A:20 E4 81 392 JSR PRNTPC PRINT EXEC SUBROUTINE
826D:20 36 8E 393 JSR DPROMPT '$' PROMPT
8270:A9 FF 394 LDA #$FF FORCE PC PRINTING
8272:8D E3 90 395 STA COUNTER AFTER JSR IMMED.
8275:A5 EF 396 TRCPCS LDA PCL SEE IF PC = $BF00
8277:D0 09 8282 397 BNE TRCPCG
8279:A5 F0 398 LDA PCH
827B:C9 BF 399 CMP #<MLI
827D:D0 03 8282 400 BNE TRCPCG
827F:A0 03 401 LDY #3 3 PARMS FOR PRODOS MLI
8281:2C 402 DFB $2C SKIP NEXT INSTRUCTION
8282:A0 00 403 TRCPCG LDY #0 0 PARMS FOR EXEC
8284:4C 5C 8B 404 JMP GOPC
8287:20 A6 89 405 TRACE JSR A1PC F(T) A4<A1T A4=ENTER STEP
828A:20 2F 85 406 JSR SETBREAK SET OR CLEAR BREAKPOINT
828D:8E C2 90 407 STX TFLG SET TRACE FLAG
8290:8E E2 90 408 STX PCFLG PC PRINTING ON
8293:9C DC 90 409 STRACE STZ PCPNT STEP -> TRACE ENTRY POINT
8296:9C D9 90 410 STZ DSPTOP FOR STEP -> TRACE
8299:20 36 8E 411 JSR DPROMPT '$' PROMPT
829C:20 51 87 412 JSR CLEARDSP
829F:A2 01 413 TRACE5 LDX #1 IF PC = A4 THEN ENTER STEP
82A1:B5 EF 414 TRACE6 LDA PCL,X
82A3:DD DD 90 415 CMP BRKADDR,X
82A6:D0 08 82B0 416 BNE TRACE7
82A8:CA 417 DEX
82A9:10 F6 82A1 418 BPL TRACE6
82AB:20 2F 85 419 JSR SETBREAK CLEAR OLD BREAKPOINT
82AE:80 08 82B8 420 BRA TRACES
82B0:AD 62 C0 421 TRACE7 LDA PB1 BACK TO STEP MODE IF
82B3:30 03 82B8 422 BMI TRACES CLOSED APPLE PRESSED
82B5:4C 3B 83 423 JMP TRACE8
82B8:8D 10 C0 424 TRACES STA KBDSTRB
82BB:9C C2 90 425 STZ TFLG CLEAR TRACE FLAG
82BE:9C D9 90 426 STZ DSPTOP RESET DISPLAY TO TOP
82C1:AD 1A C0 427 LDA RDTEXT SEE IF GRAPHICS MODE
82C4:30 03 82C9 428 BMI TRACES2
82C6:20 63 8E 429 JSR TEXT GRAPHICS -> TEXT
82C9:20 2A 8E 430 TRACES2 JSR STPRMPT PROMPT BACK TO OLD '#'
82CC:CE DA 90 431 DEC YSAV
82CF:AC DA 90 432 LDY YSAV
82D2:A9 D3 433 LDA #$D3 PUT 'S' INTO INPUT BUFFER
82D4:99 6C 01 434 STA IN,Y
82D7:4C 99 81 435 JMP SSTEPT RE-ENTER STEP MODE
82DA:20 38 8A 436 NBRNCH JSR SAVE ALL OTHER OPCODES
82DD:80 0C 82EB 437 BRA UPDPC
82DF:20 38 8A 438 BRANCH JSR SAVE BRANCH WITH COND. MET
82E2:18 439 CLC
82E3:A0 01 440 LDY #$01
82E5:20 27 01 441 JSR YPEEK
82E8:20 12 81 442 JSR PCADJAP
82EB:38 443 UPDPC SEC
82EC:20 0F 81 444 PCINC JSR PCADJLP
82EF:AD C2 90 445 NEWPC LDA TFLG
82F2:D0 06 82FA 446 BNE TRACEBY BYPASSES NEXTITM
82F4:20 4C 88 447 NXTPC JSR CROUT
82F7:4C 78 85 448 JMP REGDSP
82FA:4C FE 81 449 TRACEBY JMP TRACEPC
82FD:E8 450 XJMPATX INX
82FE:D0 1E 831E 451 BNE XJMPAT
8300:8D C3 90 452 XJSR STA JFLG OK FOR F(J)
8303:EE D9 90 453 INC DSPTOP
8306:18 454 CLC
8307:20 1A 81 455 JSR PCADJL SET Y,A = RTS ADDR
830A:48 456 PHA
830B:AE CD 90 457 LDX SPNT
830E:98 458 TYA
830F:9D 00 91 459 STA STACK,X
8312:CA 460 DEX
8313:68 461 PLA
8314:9D 00 91 462 STA STACK,X
8317:CA 463 DEX
8318:8E CD 90 464 STX SPNT
831B:A0 02 465 LDY #$02
831D:18 466 XJMP CLC
831E:20 27 01 467 XJMPAT JSR YPEEK
8321:48 468 PHA
8322:88 469 DEY
8323:20 27 01 470 JSR YPEEK
8326:85 EF 471 STA PCL
8328:68 472 PLA
8329:85 F0 473 STA PCH
832B:90 C2 82EF 474 BCC NEWPC
832D:CA 475 DEX
832E:D0 ED 831D 476 BNE XJMP
8330:AD CA 90 477 LDA XREG
8333:18 478 CLC
8334:20 12 81 479 JSR PCADJAP
8337:A0 01 480 LDY #1
8339:80 E2 831D 481 BRA XJMP
833B:20 10 80 482 TRACE8 JSR INSDST
833E:AD C6 90 483 TSTEP LDA ERRFLG IF BAD OPCODE THEN BRK
8341:D0 45 8388 484 BNE XBRK
8343:9C C3 90 485 STZ JFLG DISALLOW F(J) IF NO JSR
8346:20 25 01 486 JSR PEEK GET OPCODE
8349:AC D1 90 487 LDY LENGTH
834C:C0 02 488 CPY #2 CHECK ALL 3-BYTE INST
834E:F0 03 8353 489 BEQ TSTEP3
8350:4C 07 84 490 JMP TSTEP4
8353:C9 20 491 TSTEP3 CMP #$20
8355:F0 A9 8300 492 BEQ XJSR
8357:C9 7C 493 CMP #$7C
8359:F0 A2 82FD 494 BEQ XJMPATX
835B:C9 4C 495 CMP #$4C
835D:F0 BE 831D 496 BEQ XJMP
835F:C9 6C 497 CMP #$6C
8361:F0 BB 831E 498 BEQ XJMPAT
8363:48 499 PHA SAVE OPCODE.
8364:20 27 01 500 JSR YPEEK GET ADDRESS HI-BYTE.
8367:C9 01 501 CMP #$01 HANDLE 3-BYTE $100 REF
8369:D0 35 83A0 502 BNE TSTEP3X SPECIAL.
836B:68 503 PLA ADJ STACK.
836C:AD C9 84 504 LDA STACKLOC+2 SUBSTITUTE PSUEDO-STACK
836F:80 0B 837C 505 BRA XQSTK
8371: 0008 506 DS 8,0
8379:20 27 01 507 XQST1 JSR YPEEK
837C:99 0B 01 508 XQSTK STA XQTS+3,Y
837F:88 509 DEY
8380:10 F7 8379 510 BPL XQST1
8382:20 26 8A 511 JSR RESTORE
8385:4C 0B 01 512 JMP XQTS+3 EXEC IN ANALYST R/W MODE
8388:9C D9 90 513 XBRK STZ DSPTOP
838B:9C C2 90 514 STZ TFLG
838E:20 51 87 515 JSR CLEARDSP
8391:20 7E 80 516 JSR INSTDSP
8394:20 4C 88 517 JSR CROUT
8397:20 81 85 518 JSR RGDSP1
839A:20 25 86 519 JSR BELL
839D:4C 60 8A 520 JMP ZSWAPE EXIT VIA NEXTITM
83A0:C9 C0 521 TSTEP3X CMP #$C0 $C002-C005, $C008-C009
83A2:D0 68 840C 522 BNE TSTEP5 AUX R/W SWITCHES HANDLE
83A4:88 523 DEY SPECIAL.
83A5:20 27 01 524 JSR YPEEK
83A8:C8 525 INY
83A9:C9 02 526 CMP #$02
83AB:90 5F 840C 527 BCC TSTEP5
83AD:C9 04 528 CMP #$04
83AF:90 45 83F6 529 BCC TSTEPRD
83B1:C9 06 530 CMP #$06
83B3:90 46 83FB 531 BCC TSTEPWR
83B5:C9 08 532 CMP #$08
83B7:90 53 840C 533 BCC TSTEP5
83B9:C9 0A 534 CMP #$0A
83BB:B0 4F 840C 535 BCS TSTEP5
83BD:8D E1 90 536 STA TEMP3
83C0:6A 537 ROR A
83C1:6A 538 ROR A
83C2:4D 16 C0 539 EOR RDAUXZP
83C5:10 3C 8403 540 BPL STOUT2 NO CHANGE IN ZP STATE.
83C7:20 4D 8A 541 JSR ZSWAP RESTORE PROGRAM ZP.
83CA:AD E1 90 542 LDA TEMP3 NEW ZP STATE
83CD:4A 543 LSR A ODD/EVEN 9/8
83CE:B0 03 83D3 544 BCS ODDNEW
83D0:A9 09 545 LDA #9 NEW = 8
83D2:2C 546 DFB $2C
83D3:A9 08 547 ODDNEW LDA #8 NEW = 9
83D5:8D E0 90 548 STA TEMP2 OLD STATE
83D8:A2 00 549 LDX #0 COPY XQTS ACROSS
83DA:AC E0 90 550 STKLOOP LDY TEMP2
83DD:99 00 C0 551 STA $C000,Y OLD ZP
83E0:BD 00 01 552 LDA $0100,X
83E3:AC E1 90 553 LDY TEMP3
83E6:99 00 C0 554 STA $C000,Y NEW ZP
83E9:9D 00 01 555 STA $0100,X
83EC:E8 556 INX
83ED:F0 11 8400 557 BEQ STKOUT
83EF:E0 78 558 CPX #>IN+12
83F1:D0 E7 83DA 559 BNE STKLOOP
83F3:BA 560 TSX COPY ANALYST STACK ACROSS
83F4:80 E4 83DA 561 BRA STKLOOP
83F6:8D 34 01 562 TSTEPRD STA XQTS+44 SET PROGRAM READ STATE.
83F9:80 08 8403 563 BRA STOUT2
83FB:8D 37 01 564 TSTEPWR STA XQTS+47 SET PROGRAM WRITE STATE.
83FE:80 03 8403 565 BRA STOUT2
8400:20 4D 8A 566 STKOUT JSR ZSWAP PUT ANALYST ZP BACK.
8403:68 567 STOUT2 PLA PULL OPC TO ADJ STACK
8404:4C EB 82 568 UPDPCGO JMP UPDPC
8407:C0 01 569 TSTEP4 CPY #1
8409:D0 38 8443 570 BNE LEN0
840B:48 571 PHA SAVE OPCODE
840C:A9 EA 572 TSTEP5 LDA #$EA
840E:8D 0C 01 573 STA XQTS+4
8411:8D 0D 01 574 STA XQTS+5
8414:68 575 PLA OPCODE
8415:C9 80 576 CMP #$80
8417:D0 02 841B 577 BNE NBRA
8419:09 10 578 ORA #$10
841B:29 1F 579 NBRA AND #$1F
841D:49 14 580 EOR #$14
841F:C9 04 581 CMP #$04 = BRANCH OFFSET
8421:F0 03 8426 582 BEQ XQ2 TAKEN IF BRANCH OPCODE
8423:20 27 01 583 XQ1 JSR YPEEK Y = LENGTH
8426:99 0B 01 584 XQ2 STA XQTS+3,Y XQT BCS BRNCH (B0 04)
8429:88 585 DEY NOP
842A:10 F7 8423 586 BPL XQ1 JMP NBRNCH (CCLR)
842C:20 26 8A 587 JSR RESTORE BRNCH JMP BRANCH (CSET)
842F:4C 08 01 588 JMP XQTS
8432:AE CD 90 589 XTSX LDX SPNT
8435:8E CA 90 590 STX XREG
8438:AE CA 90 591 XTXS LDX XREG
843B:8E CE 90 592 STX SREF
843E:8E CD 90 593 UPDSPNT STX SPNT UPDATE SPNT
8441:80 C1 8404 594 BRA UPDPCGO
8443:C9 60 595 LEN0 CMP #$60
8445:F0 7C 84C3 596 BEQ XRTS
8447:C9 BA 597 CMP #$BA
8449:F0 E7 8432 598 BEQ XTSX
844B:C9 9A 599 CMP #$9A
844D:F0 E9 8438 600 BEQ XTXS
844F:C9 40 601 CMP #$40
8451:F0 04 8457 602 BEQ XBRKGO BRK FOR RTI INSTRUCTION
8453:C9 00 603 CMP #$00
8455:D0 03 845A 604 BNE PHCHECK
8457:4C 88 83 605 XBRKGO JMP XBRK
845A:48 606 PHCHECK PHA SAVE OPCODE
845B:C9 5A 607 CMP #$5A
845D:90 08 8467 608 BCC TSTEP6
845F:AA 609 TAX
8460:29 1F 610 AND #$1F
8462:C9 1A 611 CMP #$1A
8464:F0 07 846D 612 BEQ STKOPC PHX,PLX,PHY,PLY
8466:8A 613 TXA
8467:29 9F 614 TSTEP6 AND #$9F
8469:C9 08 615 CMP #$08 PHA,PLA,PHP,PLP
846B:D0 9F 840C 616 BNE TSTEP5
846D:AE CD 90 617 STKOPC LDX SPNT STACK OPCODES
8470:68 618 PLA OPCODE
8471:A8 619 TAY
8472:29 10 620 AND #$10
8474:F0 26 849C 621 BEQ APCODE
8476:98 622 TYA
8477:0A 623 ASL A
8478:B0 11 848B 624 BCS OPCX
847A:0A 625 ASL A
847B:0A 626 ASL A
847C:B0 05 8483 627 BCS XPLY
847E:AD CB 90 628 LDA YREG XPHY
8481:80 28 84AB 629 BRA PUSH
8483:20 DB 84 630 XPLY JSR PULL
8486:8D CB 90 631 STA YREG
8489:80 B3 843E 632 UPDSTACK BRA UPDSPNT
848B:0A 633 OPCX ASL A
848C:0A 634 ASL A
848D:B0 05 8494 635 BCS XPLX
848F:AD CA 90 636 LDA XREG XPHX
8492:80 17 84AB 637 BRA PUSH
8494:20 DB 84 638 XPLX JSR PULL
8497:8D CA 90 639 STA XREG
849A:80 ED 8489 640 BRA UPDSTACK
849C:98 641 APCODE TYA
849D:0A 642 ASL A
849E:0A 643 ASL A
849F:30 10 84B1 644 BMI PULLAP
84A1:90 05 84A8 645 BCC XPHP
84A3:AD C9 90 646 LDA ACC XPHA
84A6:80 03 84AB 647 BRA PUSH
84A8:AD CC 90 648 XPHP LDA STATUS
84AB:9D 00 91 649 PUSH STA STACK,X
84AE:CA 650 DEX
84AF:D0 D8 8489 651 BNE UPDSTACK
84B1:90 08 84BB 652 PULLAP BCC XPLP
84B3:20 DB 84 653 JSR PULL XPLA
84B6:8D C9 90 654 ACCLOC STA ACC
84B9:80 CE 8489 655 BRA UPDSTACK
84BB:20 DB 84 656 XPLP JSR PULL
84BE:8D CC 90 657 STA STATUS
84C1:80 C6 8489 658 BRA UPDSTACK
84C3:AE CD 90 659 XRTS LDX SPNT
84C6:E8 660 INX
84C7:BD 00 91 661 STACKLOC LDA STACK,X
84CA:85 EF 662 STA PCL
84CC:E8 663 INX
84CD:BD 00 91 664 LDA STACK,X
84D0:85 F0 665 STA PCH
84D2:8E CD 90 666 STX SPNT
84D5:CE D9 90 667 DEC DSPTOP
84D8:4C EC 82 668 JMP PCINC
84DB:E8 669 PULL INX
84DC:AC CC 90 670 LDY STATUS PULL FROM STACK AFFECTS
84DF:5A 671 PHY N & Z FLAGS
84E0:28 672 PLP
84E1:BD 00 91 673 LDA STACK,X
84E4:08 674 PHP UPDATE N & Z
84E5:7A 675 PLY
84E6:8C CC 90 676 STY STATUS
84E9:60 677 RTS
84EA:48 678 YPOKEPC PHA EXECUTE STA (PCL),Y
84EB:A5 EF 679 LDA PCL
84ED:85 F8 680 STA A3L
84EF:A5 F0 681 LDA PCH
84F1:85 F9 682 STA A3H
84F3:68 683 PLA
84F4:4C 1D 01 684 JMP YPOKE
84F7: 685 *
84F7: 686 * XQTS IMAGE AT $102-139. INSTRUCTIONS WITH '@' ARE
84F7: 687 * CHANGEABLE IN XQTS AREA TO SET MAIN/AUX R/W STATE.
84F7: 688 *
84F7:20 2C 01 689 INITBL JSR XQTS+36 WARMV. REAL-TIME REENTRY
84FA:4C 7A 8A 690 JMP REENTER BY JSR $102.
84FD:20 33 01 691 JSR XQTS+43 XQTS
8500:EA 692 NOP
8501:EA 693 NOP
8502:EA 694 NOP
8503:4C 17 01 695 JMP XQTS+15
8506:20 2C 01 696 JSR XQTS+36
8509:4C DF 82 697 JMP BRANCH
850C:20 2C 01 698 JSR XQTS+36 XQTS+15
850F:4C DA 82 699 JMP NBRNCH
8512:20 33 01 700 JSR XQTS+43 YPOKE
8515:91 F8 701 STA (A3L),Y
8517:4C 2C 01 702 JMP XQTS+36
851A:A0 00 703 LDY #0 PEEK
851C:20 33 01 704 JSR XQTS+43 YPEEK
851F:B1 EF 705 LDA (PCL),Y
8521:8D 02 C0 706 STA MAINRD @ XQTS+36. SET ANALYST
8524:8D 04 C0 707 STA MAINWR @ STATE
8527:60 708 RTS
8528:8D 02 C0 709 STA MAINRD @ XQTS+43. SET PROGRAM
852B:8D 04 C0 710 STA MAINWR @ STATE
852E:60 711 RTS
852F: 712 *
852F:A2 01 713 SETBREAK LDX #1 SET BREAKPOINT TO A4
8531:AD DE 90 714 LDA BRKADDR+1 IF GIVEN, ELSE $FFFF.
8534:F0 09 853F 715 BEQ SETBRK2 BREAKPOINT GIVEN
8536:A9 FF 716 LDA #$FF
8538:9D DD 90 717 SETBRK1 STA BRKADDR,X CLEAR OLD BREAKPOINT
853B:CA 718 DEX
853C:10 FA 8538 719 BPL SETBRK1
853E:60 720 RTS
853F:B5 FA 721 SETBRK2 LDA A4L,X SET BREAKPOINT
8541:9D DD 90 722 STA BRKADDR,X
8544:CA 723 DEX
8545:10 F8 853F 724 BPL SETBRK2
8547:60 725 RTS
8548:AD 6A 8B 726 LOAD LDA XQLOC1+1 F(H)
854B:AC 6B 8B 727 LDY XQLOC1+2 SETUP A3 = XQT+1 FOR HSF
854E:80 0C 855C 728 BRA A3SET BUFFER (XQT=BYTE COUNT)
8550:20 A6 89 729 SETRG1 JSR A1PC
8553:20 FE 85 730 JSR SAVEPC
8556:AD B7 84 731 SETRG2 LDA ACCLOC+1 SETUP REGS FOR F(:)
8559:AC B8 84 732 LDY ACCLOC+2
855C:85 F8 733 A3SET STA A3L
855E:84 F9 734 STY A3H
8560:60 735 RTS
8561:8A 736 SETREG TXA F(I) SET OR DISPLAY REGS.
8562:D0 EC 8550 737 BNE SETRG1 TAKEN IF PC GIVEN.
8564:AC DA 90 738 LDY YSAV
8567:B9 6C 01 739 LDA IN,Y
856A:C9 8D 740 CMP #$8D
856C:D0 E8 8556 741 BNE SETRG2
856E:AD C7 90 742 LDA PCREG I <CR> DISPLAYS REGS.
8571:85 EF 743 STA PCL
8573:AD C8 90 744 LDA PCREG+1
8576:85 F0 745 STA PCH
8578:20 81 85 746 REGDSP JSR RGDSP1
857B:4C 7E 80 747 JMP INSTDSP WILL RTS TO NEXTITM
857E: 0003 748 DS 3,0
8581:A2 00 749 RGDSP1 LDX #0
8583:BD D2 8F 750 RDSP1 LDA RTBL,X
8586:20 F5 88 751 JSR COUT
8589:A9 BD 752 LDA #$BD
858B:20 F5 88 753 JSR COUT
858E:BD C9 90 754 LDA ACC,X
8591:20 E2 88 755 JSR PRBYTE
8594:20 50 88 756 JSR OUTSP
8597:E8 757 INX
8598:E0 03 758 CPX #3
859A:90 E7 8583 759 BCC RDSP1
859C:A2 07 760 LDX #7
859E:BD CA 8F 761 PRFLG LDA CHAR3,X PRINT 'NV-BDIZC'
85A1:20 F5 88 762 JSR COUT
85A4:CA 763 DEX
85A5:10 F7 859E 764 BPL PRFLG
85A7:20 4C 88 765 JSR CROUT
85AA:A9 C1 766 LDA #$C1 PRINT ACC IN BINARY
85AC:20 F5 88 767 JSR COUT
85AF:20 46 89 768 JSR OUTEQ
85B2:AD C9 90 769 LDA ACC
85B5:20 12 86 770 JSR BNDSP
85B8:20 05 81 771 JSR PRBLNK3
85BB:A9 D0 772 LDA #$D0 PRINT STATUS IN BINARY
85BD:20 F5 88 773 JSR COUT
85C0:20 46 89 774 JSR OUTEQ
85C3:AD CC 90 775 LDA STATUS
85C6:20 12 86 776 JSR BNDSP
85C9:20 4C 88 777 JSR CROUT
85CC:A9 D3 778 LDA #$D3
85CE:20 F5 88 779 JSR COUT
85D1:20 46 89 780 JSR OUTEQ
85D4:AD CD 90 781 LDA SPNT
85D7:20 E2 88 782 JSR PRBYTE
85DA:A9 BA 783 LDA #$BA
85DC:20 F5 88 784 JSR COUT
85DF:A9 D8 785 LDA #$D8
85E1:20 F5 88 786 JSR COUT
85E4:20 F5 88 787 JSR COUT
85E7:A0 0A 788 LDY #10
85E9:AE CD 90 789 LDX SPNT
85EC:20 50 88 790 PRNTSTK JSR OUTSP PRINT STACK BYTES FROM
85EF:EC CE 90 791 CPX SREF SPNT TO SREF UP TO 10
85F2:F0 0A 85FE 792 BEQ SAVEPC MAX.
85F4:E8 793 INX
85F5:BD 00 91 794 LDA STACK,X
85F8:20 E2 88 795 JSR PRBYTE
85FB:88 796 DEY
85FC:D0 EE 85EC 797 BNE PRNTSTK
85FE:A5 EF 798 SAVEPC LDA PCL
8600:8D C7 90 799 STA PCREG
8603:A5 F0 800 LDA PCH
8605:8D C8 90 801 STA PCREG+1
8608:60 802 RTS
8609:20 A4 89 803 BINARY JSR A1PCX F(%) PRINT VALUE AT
860C:20 4C 88 804 JSR CROUT ADDRESS IN BINARY.
860F:20 25 01 805 JSR PEEK
8612:A2 08 806 BNDSP LDX #$08 INDEX FOR 8 BITS
8614:0A 807 NEXTBIT ASL A
8615:48 808 PHA
8616:B0 03 861B 809 BCS BIT1
8618:A9 30 810 LDA #$30 '0'
861A:2C 811 DFB $2C SKIP NEXT INSTRUCTION
861B:A9 31 812 BIT1 LDA #$31 '1'
861D:20 F5 88 813 JSR COUT
8620:68 814 PLA
8621:CA 815 DEX
8622:D0 F0 8614 816 BNE NEXTBIT
8624:60 817 RTS
8625:A0 38 818 BELL LDY #$38 DURATION
8627:A9 2B 819 BELL2 LDA #$2B FREQUENCY
8629:20 7C 87 820 JSR WAIT
862C:AD 30 C0 821 LDA SPKR
862F:88 822 DEY
8630:D0 F5 8627 823 BNE BELL2
8632:60 824 RTS
8633:6C C0 90 825 COUTZ JMP (CSWL)
8636:89 60 826 VIDOUT BIT #$60
8638:F0 46 8680 827 BEQ CTRLCHAR
863A:A8 828 TAY
863B:C9 60 829 CMP #$60
863D:B0 06 8645 830 BCS VID1
863F:C9 40 831 CMP #$40
8641:90 02 8645 832 BCC VID1
8643:29 BF 833 AND #$BF
8645:AC D7 90 834 VID1 LDY CH
8648:2C 1F C0 835 BIT RD80VID
864B:10 0A 8657 836 BPL VID3
864D:48 837 PHA
864E:98 838 TYA
864F:4A 839 LSR A
8650:B0 03 8655 840 BCS VID2
8652:8D 55 C0 841 STA HISCR
8655:A8 842 VID2 TAY
8656:68 843 PLA
8657:91 F1 844 VID3 STA (BASL),Y
8659:8D 54 C0 845 STA LOWSCR
865C:AC D7 90 846 LDY CH
865F:C8 847 INY
8660:CC D5 90 848 CPY WNDWDTH
8663:B0 25 868A 849 BCS CR
8665:8C D7 90 850 STY CH
8668:60 851 VIDRTS RTS
8669:CE D7 90 852 BACKSPC DEC CH
866C:10 FA 8668 853 BPL VIDRTS
866E:AC D5 90 854 LDY WNDWDTH
8671:88 855 DEY
8672:8C D7 90 856 STY CH
8675:AD D8 90 857 UP LDA CV
8678:3A 858 DEC A
8679:C9 00 859 CMP #0
867B:30 EB 8668 860 BMI VIDRTS
867D:4C FB 86 861 VTABVGO JMP VTABV
8680:09 80 862 CTRLCHAR ORA #$80
8682:C9 88 863 CMP #$88
8684:F0 E3 8669 864 BEQ BACKSPC
8686:C9 8D 865 CMP #$8D
8688:D0 DE 8668 866 BNE VIDRTS
868A:A9 00 867 CR LDA #$00
868C:8D D7 90 868 STA CH
868F:EE D8 90 869 INC CV
8692:AD D8 90 870 LDA CV
8695:C9 18 871 CMP #24
8697:90 E4 867D 872 BCC VTABVGO
8699:CE D8 90 873 DEC CV
869C:A2 00 874 LDX #0 SCROLL
869E:8A 875 TXA
869F:20 FE 86 876 JSR VTABZ
86A2:80 30 86D4 877 BRA SCRL5
86A4:A4 F2 878 SCRL1 LDY BASH
86A6:84 FF 879 STY BAS2H
86A8:A4 F1 880 LDY BASL
86AA:84 FE 881 STY BAS2L
86AC:8A 882 TXA
86AD:20 FE 86 883 JSR VTABZ
86B0:DA 884 PHX
86B1:AE D5 90 885 LDX WNDWDTH
86B4:A0 00 886 LDY #0
86B6:2C 1F C0 887 SCRL2 BIT RD80VID
86B9:10 0D 86C8 888 BPL SCRL3
86BB:8D 55 C0 889 STA HISCR
86BE:B1 F1 890 LDA (BASL),Y
86C0:91 FE 891 STA (BAS2L),Y
86C2:CA 892 DEX
86C3:F0 0B 86D0 893 BEQ SCRL4
86C5:8D 54 C0 894 STA LOWSCR
86C8:B1 F1 895 SCRL3 LDA (BASL),Y
86CA:91 FE 896 STA (BAS2L),Y
86CC:C8 897 INY
86CD:CA 898 DEX
86CE:D0 E6 86B6 899 BNE SCRL2
86D0:8D 54 C0 900 SCRL4 STA LOWSCR
86D3:FA 901 PLX
86D4:E8 902 SCRL5 INX
86D5:E0 18 903 CPX #24
86D7:90 CB 86A4 904 BCC SCRL1
86D9:A9 00 905 LDA #$00
86DB:20 19 87 906 JSR CLEOLZ
86DE:4C F8 86 907 JMP VTAB
86E1:A9 00 908 HOME LDA #0
86E3:8D D7 90 909 STA CH
86E6:8D D8 90 910 STA CV
86E9:48 911 CLS1 PHA
86EA:20 FE 86 912 JSR VTABZ
86ED:A9 00 913 LDA #0
86EF:20 19 87 914 JSR CLEOLZ
86F2:68 915 PLA
86F3:1A 916 INC A
86F4:C9 18 917 CMP #24
86F6:90 F1 86E9 918 BCC CLS1
86F8:AD D8 90 919 VTAB LDA CV
86FB:8D D8 90 920 VTABV STA CV
86FE:48 921 VTABZ PHA
86FF:4A 922 LSR A
8700:29 03 923 AND #$03
8702:09 04 924 ORA #$04
8704:85 F2 925 STA BASH
8706:68 926 PLA
8707:29 18 927 AND #$18
8709:90 02 870D 928 BCC BSCLC2
870B:69 7F 929 ADC #$7F
870D:85 F1 930 BSCLC2 STA BASL
870F:0A 931 ASL A
8710:0A 932 ASL A
8711:05 F1 933 ORA BASL
8713:85 F1 934 STA BASL
8715:60 935 RTS
8716:AD D7 90 936 CLREOL LDA CH
8719:2C 1F C0 937 CLEOLZ BIT RD80VID
871C:10 24 8742 938 BPL CLEOL4
871E:48 939 PHA CLREOL 80 COL
871F:38 940 SEC
8720:ED D5 90 941 SBC WNDWDTH
8723:AA 942 TAX
8724:68 943 PLA
8725:4A 944 LSR A
8726:A8 945 TAY
8727:08 946 PHP
8728:A9 A0 947 LDA #$A0
872A:28 948 PLP
872B:B0 08 8735 949 BCS CLEOL8B
872D:8D 55 C0 950 CLEOL8A STA HISCR
8730:91 F1 951 STA (BASL),Y
8732:E8 952 INX
8733:F0 09 873E 953 BEQ CLEOL8C
8735:8D 54 C0 954 CLEOL8B STA LOWSCR
8738:91 F1 955 STA (BASL),Y
873A:C8 956 INY
873B:E8 957 INX
873C:D0 EF 872D 958 BNE CLEOL8A
873E:8D 54 C0 959 CLEOL8C STA LOWSCR
8741:60 960 RTS
8742:A8 961 CLEOL4 TAY
8743:38 962 SEC
8744:ED D5 90 963 SBC WNDWDTH
8747:AA 964 TAX
8748:A9 A0 965 LDA #$A0
874A:91 F1 966 CLEOL4A STA (BASL),Y
874C:C8 967 INY
874D:E8 968 INX
874E:D0 FA 874A 969 BNE CLEOL4A
8750:60 970 RTS
8751:A2 06 971 CLEARDSP LDX #6 CLEAR DISPLAY WINDOW
8753:AD D9 90 972 CLRDSP1 LDA DSPTOP
8756:10 02 875A 973 BPL CLRDSP2 HOLD TOP OF DISPLAY
8758:A9 00 974 LDA #0 0 <= TOP <= 18.
875A:C9 12 975 CLRDSP2 CMP #18
875C:90 02 8760 976 BCC CLRDSP3
875E:A9 12 977 LDA #18
8760:8D D9 90 978 CLRDSP3 STA DSPTOP
8763:8D D8 90 979 STA CV CLEAR 6 LINE DISPLAY
8766:CE D8 90 980 DEC CV FROM DSPTOP DOWN AND
8769:8A 981 TXA SET CV SO INSTDSP WILL
876A:F0 0D 8779 982 BEQ RTS4A PRINT AT DSPTOP UPON
876C:20 4C 88 983 CLRDSP4 JSR CROUT EXIT.
876F:DA 984 PHX
8770:20 16 87 985 JSR CLREOL
8773:FA 986 PLX
8774:CA 987 DEX
8775:D0 F5 876C 988 BNE CLRDSP4
8777:F0 DA 8753 989 BEQ CLRDSP1
8779:60 990 RTS4A RTS
877A:A9 FF 991 FWAIT LDA #$FF
877C:38 992 WAIT SEC
877D:48 993 WAIT2 PHA
877E:E9 01 994 WAIT3 SBC #$01
8780:D0 FC 877E 995 BNE WAIT3
8782:68 996 PLA
8783:E9 01 997 SBC #$01
8785:D0 F6 877D 998 BNE WAIT2
8787:60 999 RTS
8788:E6 FA 1000 NXTA4 INC A4L INCREMENT A4
878A:D0 02 878E 1001 BNE NXTA1
878C:E6 FB 1002 INC A4H
878E:A5 F4 1003 NXTA1 LDA A1L
8790:C5 F6 1004 CMP A2L
8792:A5 F5 1005 LDA A1H
8794:E5 F7 1006 SBC A2H
8796:E6 F4 1007 INC A1L
8798:D0 02 879C 1008 BNE RTS4B
879A:E6 F5 1009 INC A1H
879C:60 1010 RTS4B RTS CARRY SET IF A1 >= A2
879D:AC 00 C0 1011 CTRLC LDY KBD CHECK FOR CTRL-C
87A0:10 19 87BB 1012 BPL CTLCRTS
87A2:8C 10 C0 1013 STY KBDSTRB
87A5:C0 93 1014 CPY #$93 CTRL-S = PAUSE
87A7:D0 10 87B9 1015 BNE CTLC
87A9:AC 61 C0 1016 KYWAIT LDY PB0 F(S) ENTRY POINT
87AC:30 09 87B7 1017 BMI KYWT2
87AE:AC 00 C0 1018 LDY KBD
87B1:10 F6 87A9 1019 BPL KYWAIT
87B3:8C 10 C0 1020 STY KBDSTRB
87B6:2C 1021 DFB $2C
87B7:A0 00 1022 KYWT2 LDY #0 0 = OPEN APPLE PRESSED
87B9:C0 83 1023 CTLC CPY #$83
87BB:60 1024 CTLCRTS RTS Z SET FOR CTRL-C.
87BC:8C DB 90 1025 RDKEY STY YSAV1
87BF:AC 1C C0 1026 LDY RDSCR
87C2:08 1027 PHP
87C3:AC 18 C0 1028 LDY RDPAGE2
87C6:08 1029 PHP
87C7:8D 01 C0 1030 STA INHPAGE2
87CA:8D 54 C0 1031 STA LOWSCR
87CD:DA 1032 PHX
87CE:AD D7 90 1033 LDA CH
87D1:2C 1F C0 1034 BIT RD80VID
87D4:10 06 87DC 1035 BPL KEY2
87D6:4A 1036 LSR A
87D7:B0 03 87DC 1037 BCS KEY2
87D9:8D 55 C0 1038 STA HISCR
87DC:A8 1039 KEY2 TAY
87DD:B1 F1 1040 LDA (BASL),Y
87DF:48 1041 PHA
87E0:49 80 1042 EOR #$80
87E2:89 20 1043 BIT #$20
87E4:D0 02 87E8 1044 BNE KEY3
87E6:49 40 1045 EOR #$40
87E8:91 F1 1046 KEY3 STA (BASL),Y
87EA:AE 00 C0 1047 KEY4 LDX KBD
87ED:10 FB 87EA 1048 BPL KEY4
87EF:8D 10 C0 1049 STA KBDSTRB
87F2:68 1050 PLA
87F3:91 F1 1051 STA (BASL),Y
87F5:8D 54 C0 1052 STA LOWSCR
87F8:8A 1053 TXA
87F9:4C 0C 89 1054 JMP ENDHOOK
87FC:BD 6C 01 1055 NOTCR LDA IN,X
87FF:20 F5 88 1056 JSR COUT
8802:C9 88 1057 CMP #$88
8804:F0 1C 8822 1058 BEQ BCKSPC
8806:E0 22 1059 CPX #34 BEEP ON LAST 4 CHAR.
8808:90 03 880D 1060 BCC NOTCR1
880A:20 25 86 1061 JSR BELL
880D:E8 1062 NOTCR1 INX
880E:E0 26 1063 CPX #38 38 CHARACTERS ALLOWED
8810:90 14 8826 1064 BCC NXTCHAR
8812:A9 DC 1065 LDA #$DC
8814:20 F5 88 1066 JSR COUT
8817:20 4C 88 1067 GETLNZ JSR CROUT
881A:AD D6 90 1068 LDA PROMPT
881D:20 F5 88 1069 JSR COUT
8820:A2 01 1070 LDX #$01
8822:8A 1071 BCKSPC TXA
8823:F0 F2 8817 1072 BEQ GETLNZ
8825:CA 1073 DEX
8826:20 BC 87 1074 NXTCHAR JSR RDKEY
8829:C9 95 1075 CMP #$95
882B:F0 F9 8826 1076 BEQ NXTCHAR IGNORE '->'
882D:C9 FF 1077 CMP #$FF
882F:D0 02 8833 1078 BNE NOTDEL
8831:A9 88 1079 LDA #$88 DELETE KEY = BACKSPACE
8833:C9 88 1080 NOTDEL CMP #$88
8835:D0 08 883F 1081 BNE CAPTST
8837:48 1082 PHA
8838:20 F5 88 1083 JSR COUT BACKSPACE
883B:20 50 88 1084 JSR OUTSP DELETE CHARACTER
883E:68 1085 PLA BACKSPACE
883F:C9 E0 1086 CAPTST CMP #$E0
8841:90 02 8845 1087 BCC ADDINP
8843:29 DF 1088 AND #$DF
8845:9D 6C 01 1089 ADDINP STA IN,X
8848:C9 8D 1090 CMP #$8D
884A:D0 B0 87FC 1091 BNE NOTCR
884C:A9 8D 1092 CROUT LDA #$8D
884E:D0 12 8862 1093 BNE COUTGO
8850:A9 A0 1094 OUTSP LDA #$A0
8852:D0 0E 8862 1095 BNE COUTGO
8854:20 4C 88 1096 PRA1 JSR CROUT
8857:A4 F5 1097 LDY A1H
8859:A6 F4 1098 LDX A1L
885B:20 FD 80 1099 PRYX2 JSR PRNTYX
885E:A0 00 1100 LDY #$00
8860:A9 AD 1101 LDA #$AD
8862:20 F5 88 1102 COUTGO JSR COUT
8865:60 1103 PRA1RTS RTS
8866:38 1104 ASC SEC F(")
8867:6A 1105 XAM ROR A CARRY INTO BIT 7
8868:85 F9 1106 STA A3H
886A:80 06 8872 1107 BRA XAM1
886C:A5 F4 1108 MOD8CHK LDA A1L
886E:29 07 1109 AND #$07
8870:D0 08 887A 1110 BNE DATAOUT
8872:20 9D 87 1111 XAM1 JSR CTRLC F(.) A1.A2 HEX OR ASC
8875:F0 EE 8865 1112 BEQ PRA1RTS
8877:20 54 88 1113 JSR PRA1
887A:20 50 88 1114 DATAOUT JSR OUTSP
887D:A5 F5 1115 LDA A1H SEE IF ZERO PAGE
887F:F0 0B 888C 1116 BEQ XAMZ
8881:3A 1117 DEC A SEE IF $01NN
8882:D0 15 8899 1118 BNE XAM2
8884:A5 F4 1119 LDA A1L GET $01NN FROM STACK,NN
8886:AA 1120 TAX
8887:BD 00 91 1121 LDA STACK,X
888A:80 13 889F 1122 BRA XAM3
888C:A5 F4 1123 XAMZ LDA A1L
888E:38 1124 SEC
888F:E9 EF 1125 SBC #PCL
8891:90 06 8899 1126 BCC XAM2 TAKEN IF A1L < PCL
8893:AA 1127 TAX ELSE GET FROM ZBUF
8894:BD E4 90 1128 LDA ZBUF,X
8897:80 06 889F 1129 BRA XAM3
8899:20 A4 89 1130 XAM2 JSR A1PCX
889C:20 25 01 1131 JSR PEEK
889F:A6 F9 1132 XAM3 LDX A3H
88A1:10 0D 88B0 1133 BPL XAM4
88A3:09 80 1134 ORA #$80 XAM IN ASC
88A5:C9 A0 1135 CMP #$A0
88A7:B0 02 88AB 1136 BCS PRASC TAKEN IF NORM. OR LCASE
88A9:A9 A0 1137 LDA #$A0 SPACE FOR CTRL OR INV
88AB:20 F5 88 1138 PRASC JSR COUT
88AE:80 03 88B3 1139 BRA XAM5
88B0:20 E2 88 1140 XAM4 JSR PRBYTE XAM IN HEX
88B3:20 8E 87 1141 XAM5 JSR NXTA1
88B6:90 B4 886C 1142 BCC MOD8CHK CARRY CLEAR IF A1<A2
88B8:60 1143 RTS
88B9:4A 1144 XAMPM LSR A
88BA:90 AB 8867 1145 BCC XAM
88BC:4A 1146 LSR A
88BD:4A 1147 LSR A
88BE:A5 F4 1148 LDA A1L 16 BIT ADD. OR SUB.
88C0:90 0C 88CE 1149 BCC ADD
88C2:E5 F6 1150 SBC A2L SUBTRACT A2 FROM A1
88C4:85 F4 1151 STA A1L RESULT IN A1
88C6:A5 F5 1152 LDA A1H
88C8:E5 F7 1153 SBC A2H
88CA:85 F5 1154 STA A1H
88CC:80 0A 88D8 1155 BRA PRANS
88CE:65 F6 1156 ADD ADC A2L ADD A1 AND A2
88D0:85 F4 1157 STA A1L RESULT IN A1
88D2:A5 F5 1158 LDA A1H
88D4:65 F7 1159 ADC A2H
88D6:85 F5 1160 STA A1H
88D8:20 46 89 1161 PRANS JSR OUTEQ
88DB:A5 F5 1162 LDA A1H
88DD:20 E2 88 1163 JSR PRBYTE
88E0:A5 F4 1164 LDA A1L
88E2:48 1165 PRBYTE PHA
88E3:4A 1166 LSR A
88E4:4A 1167 LSR A
88E5:4A 1168 LSR A
88E6:4A 1169 LSR A
88E7:20 ED 88 1170 JSR PRHEXZ
88EA:68 1171 PLA
88EB:29 0F 1172 AND #$0F
88ED:09 B0 1173 PRHEXZ ORA #$B0
88EF:C9 BA 1174 CMP #$BA
88F1:90 02 88F5 1175 BCC COUT
88F3:69 06 1176 ADC #$06
88F5:8C DB 90 1177 COUT STY YSAV1
88F8:AC 1C C0 1178 LDY RDSCR
88FB:08 1179 PHP
88FC:AC 18 C0 1180 LDY RDPAGE2
88FF:08 1181 PHP
8900:8D 01 C0 1182 STA INHPAGE2
8903:8D 54 C0 1183 STA LOWSCR
8906:DA 1184 PHX
8907:48 1185 PHA
8908:20 33 86 1186 JSR COUTZ
890B:68 1187 PLA
890C:FA 1188 ENDHOOK PLX RDKEY EXITS HERE
890D:AC DB 90 1189 LDY YSAV1
8910:28 1190 PLP
8911:30 05 8918 1191 BMI COUT2
8913:8D 00 C0 1192 STA KBD
8916:10 03 891B 1193 BPL COUT3
8918:8D 01 C0 1194 COUT2 STA INHPAGE2
891B:28 1195 COUT3 PLP
891C:30 04 8922 1196 BMI COUT4
891E:8D 54 C0 1197 STA LOWSCR
8921:60 1198 RTS
8922:8D 55 C0 1199 COUT4 STA HISCR
8925:60 1200 RTS
8926:CE DA 90 1201 BL1 DEC YSAV F(CR) CALLS HERE
8929:F0 1A 8945 1202 BEQ RTS5 CR ONLY SO IGNORE
892B:CA 1203 BLANK DEX
892C:D0 26 8954 1204 BNE SETMDZ
892E:C9 BA 1205 CMP #$BA
8930:F0 03 8935 1206 BEQ BLNK2
8932:4C B9 88 1207 JMP XAMPM
8935:8D D3 90 1208 BLNK2 STA MODE F(:)
8938:A5 F6 1209 LDA A2L
893A:20 1D 01 1210 JSR YPOKE Y=0
893D:E6 FC 1211 INC A5L HSF BYTE COUNT
893F:E6 F8 1212 INC A3L
8941:D0 02 8945 1213 BNE RTS5
8943:E6 F9 1214 INC A3H
8945:60 1215 RTS5 RTS
8946:A9 BD 1216 OUTEQ LDA #$BD
8948:D0 AB 88F5 1217 BNE COUT
894A:A9 00 1218 SETMODE LDA #0
894C:85 FC 1219 STA A5L CLEAR HSF BYTE COUNT
894E:AC DA 90 1220 LDY YSAV
8951:B9 6B 01 1221 LDA IN-1,Y EQUALS :,+,- OR . MODE
8954:8D D3 90 1222 SETMDZ STA MODE
8957:60 1223 RTS
8958:A2 01 1224 LT LDX #$01 F(<)
895A:B5 F6 1225 LT2 LDA A2L,X COPY A2 TO A4
895C:95 FA 1226 STA A4L,X
895E:CA 1227 DEX
895F:10 F9 895A 1228 BPL LT2
8961:E8 1229 INX BRKADDRH = 0
8962:8E DE 90 1230 STX BRKADDR+1 FLAGS BREAKPOINT GIVEN
8965:60 1231 RTS
8966:20 A4 89 1232 MOVE JSR A1PCX F(M) A4<A1.A2M
8969:A5 FA 1233 LDA A4L
896B:A4 FB 1234 LDY A4H
896D:20 5C 85 1235 JSR A3SET
8970:20 25 01 1236 JSR PEEK
8973:20 1D 01 1237 JSR YPOKE
8976:20 88 87 1238 JSR NXTA4 INCREMENTS A1 AND A4
8979:90 EB 8966 1239 BCC MOVE CARRY CLEAR IF A1<A2
897B:60 1240 RTS
897C:20 A6 89 1241 LIST JSR A1PC F(L)
897F:20 2F 85 1242 JSR SETBREAK NNNN<300L WILL STOP LIST
8982:20 7E 80 1243 LIST2 JSR INSTDSP AT NNNN
8985:20 0E 81 1244 JSR PCADJ
8988:20 9D 87 1245 JSR CTRLC
898B:F0 16 89A3 1246 BEQ LISTRTS CTRL-C = EXIT TO NEXTITM
898D:A9 70 1247 LDA #$70 LIST SCROLL RATE
898F:20 7C 87 1248 JSR WAIT
8992:38 1249 SEC COMPARE PC TO BRKADDR
8993:A5 EF 1250 LDA PCL
8995:ED DD 90 1251 SBC BRKADDR
8998:85 FC 1252 STA A5L TEMP USE
899A:A5 F0 1253 LDA PCH
899C:ED DE 90 1254 SBC BRKADDR+1
899F:05 FC 1255 ORA A5L
89A1:90 DF 8982 1256 BCC LIST2 TAKEN IF PC < BRKADDR.
89A3:60 1257 LISTRTS RTS RTS TO NEXTITM
89A4:A2 01 1258 A1PCX LDX #1
89A6:8A 1259 A1PC TXA X=0 IF NO # GIVEN
89A7:F0 0A 89B3 1260 BEQ RTS6
89A9:B5 F4 1261 A1PCLP LDA A1L,X X=1
89AB:95 EF 1262 STA PCL,X
89AD:CA 1263 DEX
89AE:10 F9 89A9 1264 BPL A1PCLP
89B0:9C C3 90 1265 STZ JFLG
89B3:60 1266 RTS6 RTS
89B4:AD 82 C0 1267 SETPRNT LDA SWITCH2 F(P)
89B7:A5 36 1268 LDA MCSWL SAVE CURRENT MONITOR
89B9:A4 37 1269 LDY MCSWH OUTPUT HOOK.
89BB:8D C0 90 1270 STA CSWL
89BE:8C C1 90 1271 STY CSWH
89C1:A9 01 1272 LDA #1 EXECUTE PR#1
89C3:20 95 FE 1273 JSR OUTPORT
89C6:A4 36 1274 LDY MCSWL RESTORE OLD MONITOR
89C8:AD C0 90 1275 LDA CSWL OUTPUT HOOK AND SET
89CB:85 36 1276 STA MCSWL COUT TO PRINTER BY
89CD:8C C0 90 1277 STY CSWL EXCHANGING CSW'S.
89D0:A4 37 1278 LDY MCSWH
89D2:AD C1 90 1279 LDA CSWH
89D5:85 37 1280 STA MCSWH
89D7:8C C1 90 1281 STY CSWH
89DA:60 1282 RTS
89DB:20 A6 89 1283 GO JSR A1PC F(G)
89DE:AD DE 90 1284 LDA BRKADDR+1 'GO' WITH NO BREAKPOINT
89E1:F0 03 89E6 1285 BEQ GOBREAK GIVEN EXECUTED AS 'JUMP'
89E3:4C 82 82 1286 JMP TRCPCG WITH NO PARM BYTES.
89E6:A5 FA 1287 GOBREAK LDA A4L
89E8:85 EF 1288 STA PCL
89EA:A5 FB 1289 LDA A4H
89EC:85 F0 1290 STA PCH
89EE:A0 02 1291 LDY #2 'GO' WITH BRKPOINT GIVEN
89F0:20 27 01 1292 LOADRT JSR YPEEK SAVES 3 BYTES FROM BREAK
89F3:99 3D 01 1293 STA XQT+3,Y ADDR (XQT+3 = TEMP) AND
89F6:B9 77 8A 1294 LDA RTENTRY,Y PUTS JSR REENTER IN ITS
89F9:20 EA 84 1295 JSR YPOKEPC PLACE WHICH WILL CAUSE
89FC:88 1296 DEY A REAL TIME RE-ENTRY TO
89FD:10 F1 89F0 1297 BPL LOADRT TO ANALYST.
89FF:A9 4C 1298 LDA #$4C PUT JMP PC INTO XQT
8A01:8D 3A 01 1299 STA XQT
8A04:A5 F4 1300 LDA A1L A1 = PC
8A06:8D 3B 01 1301 STA XQT+1
8A09:A5 F5 1302 LDA A1H
8A0B:8D 3C 01 1303 STA XQT+2
8A0E:AE CD 90 1304 LDX SPNT
8A11:9A 1305 TXS
8A12:A2 02 1306 XQJ LDX #2
8A14:BD 23 8A 1307 XQJ2 LDA INITBL3,X
8A17:9D 0B 01 1308 STA XQTS+3,X
8A1A:CA 1309 DEX
8A1B:10 F7 8A14 1310 BPL XQJ2
8A1D:20 26 8A 1311 JSR RESTORE
8A20:4C 08 01 1312 JMP XQTS
8A23:4C 3A 01 1313 INITBL3 JMP XQT DUMMY STATEMENT
8A26:AD CC 90 1314 RESTORE LDA STATUS RESTORE REGS
8A29:48 1315 PHA
8A2A:20 47 8A 1316 JSR ZSWAPT GET PROGRAM 0 PAGE
8A2D:AD C9 90 1317 LDA ACC
8A30:AE CA 90 1318 LDX XREG
8A33:AC CB 90 1319 LDY YREG
8A36:28 1320 PLP
8A37:60 1321 RTS
8A38:08 1322 SAVE PHP
8A39:8D C9 90 1323 STA ACC
8A3C:68 1324 PLA
8A3D:8D CC 90 1325 STA STATUS
8A40:D8 1326 CLD
8A41:8E CA 90 1327 STX XREG
8A44:8C CB 90 1328 STY YREG
8A47:A5 F3 1329 ZSWAPT LDA ZFLG SWAP ALL IF ZFLG = $AA
8A49:C9 AA 1330 CMP #$AA ELSE SWAP ONLY PCL-BASH
8A4B:D0 03 8A50 1331 BNE ZSWAPS
8A4D:A2 10 1332 ZSWAP LDX #BAS2H-PCL SWAP ALL
8A4F:2C 1333 DFB $2C
8A50:A2 03 1334 ZSWAPS LDX #BASH-PCL
8A52:B5 EF 1335 ZSWP1 LDA PCL,X
8A54:BC E4 90 1336 LDY ZBUF,X
8A57:94 EF 1337 STY PCL,X
8A59:9D E4 90 1338 STA ZBUF,X
8A5C:CA 1339 DEX
8A5D:10 F3 8A52 1340 BPL ZSWP1
8A5F:60 1341 ZSWAPRTS RTS
8A60:A5 F3 1342 ZSWAPE LDA ZFLG SWAP ZFLG-BAS2H IF ID
8A62:C9 AA 1343 CMP #$AA NOT PRESENT.
8A64:F0 F9 8A5F 1344 BEQ ZSWAPRTS
8A66:20 4D 8A 1345 JSR ZSWAP SWAP ZFLG-BAS2H ONLY.
8A69:80 E5 8A50 1346 BRA ZSWAPS
8A6B:A2 37 1347 INITXQTS LDX #55
8A6D:BD F7 84 1348 INITXQ2 LDA INITBL,X
8A70:9D 02 01 1349 STA WARMV,X
8A73:CA 1350 DEX
8A74:10 F7 8A6D 1351 BPL INITXQ2
8A76:60 1352 RTS
8A77:20 02 01 1353 RTENTRY JSR WARMV DUMMY STATEMENT.
8A7A:20 38 8A 1354 REENTER JSR SAVE REAL-TIME RE-ENTRY
8A7D:20 60 8A 1355 JSR ZSWAPE WHICH IS CALLED AS
8A80:68 1356 PLA A SUBROUTINE WITH PLA
8A81:38 1357 SEC PLA TO SET PC FROM
8A82:E9 02 1358 SBC #2 CALLER ADDRESS. RESTORES
8A84:85 EF 1359 STA PCL ORIGINAL 3 BYTES TO BREAK
8A86:68 1360 PLA ADDRESS.
8A87:E9 00 1361 SBC #0
8A89:85 F0 1362 STA PCH
8A8B:BA 1363 TSX
8A8C:8E CD 90 1364 STX SPNT
8A8F:A0 02 1365 LDY #2
8A91:B9 3D 01 1366 RTREST LDA XQT+3,Y
8A94:20 EA 84 1367 JSR YPOKEPC
8A97:88 1368 DEY
8A98:10 F7 8A91 1369 BPL RTREST
8A9A:20 FE 85 1370 JSR SAVEPC
8A9D:D8 1371 RESET CLD
8A9E:A2 FF 1372 LDX #$FF
8AA0:9A 1373 TXS
8AA1:A5 F3 1374 LDA ZFLG
8AA3:C9 AA 1375 CMP #$AA
8AA5:F0 07 8AAE 1376 BEQ RST2 IF ID NOT PRESENT
8AA7:20 4D 8A 1377 JSR ZSWAP THEN SWAP 0 PAGE
8AAA:A9 AA 1378 LDA #$AA & SET ID --> ZFLG:AA
8AAC:85 F3 1379 STA ZFLG
8AAE:20 6B 8A 1380 RST2 JSR INITXQTS
8AB1:9C C2 90 1381 STZ TFLG
8AB4:9C C3 90 1382 STZ JFLG
8AB7:20 63 8E 1383 TXTMON JSR TEXT
8ABA:20 E1 86 1384 JSR HOME
8ABD:20 0C 8F 1385 JSR PRTITLE
8AC0:9C C6 90 1386 MONZ STZ ERRFLG
8AC3:CE DE 90 1387 DEC BRKADDR+1 INSURE BRKPOINT CLEARED
8AC6:20 3F 8E 1388 JSR CHKVID MATCH HOOKS W/DISPLAY MODE
8AC9:20 2A 8E 1389 JSR STPRMPT
8ACC:20 17 88 1390 JSR GETLNZ
8ACF:20 39 8B 1391 JSR ZMODE
8AD2:9C D9 90 1392 STZ DSPTOP DISPLAY AT TOP
8AD5:20 14 8B 1393 NXTITM JSR GETNUM HANDLE HEX DIGS TO 1ST
8AD8:8C DA 90 1394 STY YSAV NON-HEX CHAR+1 (Y=INDX)
8ADB:A0 1C 1395 LDY #SUBTBL-CHRTBL
8ADD:88 1396 CHRSRCH DEY ACC = F(ACC)
8ADE:30 11 8AF1 1397 BMI SYNERR
8AE0:D9 65 90 1398 CMP CHRTBL,Y
8AE3:D0 F8 8ADD 1399 BNE CHRSRCH
8AE5:5A 1400 PHY
8AE6:20 2B 8B 1401 JSR TOSUB
8AE9:7A 1402 PLY
8AEA:F0 D4 8AC0 1403 BEQ MONZ 0 = OFFSET FOR F(CR)
8AEC:AC DA 90 1404 NEXTITM LDY YSAV
8AEF:80 E4 8AD5 1405 BRA NXTITM
8AF1:20 25 86 1406 SYNERR JSR BELL
8AF4:80 CA 8AC0 1407 BRA MONZ
8AF6:A2 03 1408 DIG LDX #$03 HEX DIGIT NOW IN ACC LO
8AF8:0A 1409 ASL A NIBBLE. KEYS 0-9=00-09
8AF9:0A 1410 ASL A KEYS A-F=FA-FF. MOVE
8AFA:0A 1411 ASL A LO NIBBLE TO HI NIBBLE
8AFB:0A 1412 ASL A
8AFC:0A 1413 NXTBIT ASL A 4 BIT HEX DIG. INTO A2L
8AFD:26 F6 1414 ROL A2L A2L TO A2H
8AFF:26 F7 1415 ROL A2H
8B01:CA 1416 DEX
8B02:10 F8 8AFC 1417 BPL NXTBIT
8B04:AD D3 90 1418 NXTBAS LDA MODE
8B07:D0 06 8B0F 1419 BNE NXTBS2 IF MODE=0 COPY
8B09:B5 F7 1420 LDA A2H,X A2 TO A1 & A3
8B0B:95 F5 1421 STA A1H,X
8B0D:95 F9 1422 STA A3H,X
8B0F:E8 1423 NXTBS2 INX
8B10:F0 F2 8B04 1424 BEQ NXTBAS
8B12:D0 06 8B1A 1425 BNE NXTCHR
8B14:A2 00 1426 GETNUM LDX #0
8B16:86 F6 1427 STX A2L
8B18:86 F7 1428 STX A2H
8B1A:B9 6C 01 1429 NXTCHR LDA IN,Y F(ACC) = ACC EOR $B0
8B1D:C8 1430 INY ADC $88 (CARRY SET)
8B1E:49 B0 1431 EOR #$B0 KEYS 0-9=$00-09
8B20:C9 0A 1432 CMP #$0A
8B22:90 D2 8AF6 1433 BCC DIG TAKEN IF KEYS 0-9
8B24:69 88 1434 ADC #$88 KEYS A-F=$FA-FF
8B26:C9 FA 1435 CMP #$FA
8B28:B0 CC 8AF6 1436 BCS DIG TAKEN IF KEYS A-F
8B2A:60 1437 RTS
8B2B:98 1438 TOSUB TYA # OF FUNCTION (START=0)
8B2C:0A 1439 ASL A MULT BY 2
8B2D:A8 1440 TAY
8B2E:B9 82 90 1441 LDA SUBTBL+1,Y
8B31:48 1442 PHA
8B32:B9 81 90 1443 LDA SUBTBL,Y
8B35:48 1444 PHA
8B36:AD D3 90 1445 LDA MODE OLD MODE FOR F(CR)&F( )
8B39:A0 00 1446 ZMODE LDY #$00
8B3B:8C D3 90 1447 STY MODE
8B3E:60 1448 RTS RTS TO SUBROUTINE
8B3F:AD C3 90 1449 EXECJSR LDA JFLG F(J)
8B42:D0 03 8B47 1450 BNE GOJSR 'J' WITH NO JSR?
8B44:4C 25 86 1451 ERRJ JMP BELL RTS TO NEXTITM VIA BELL.
8B47:AC DA 90 1452 GOJSR LDY YSAV GET # OF PARM BYTES
8B4A:20 14 8B 1453 JSR GETNUM
8B4D:88 1454 DEY
8B4E:8C DA 90 1455 STY YSAV
8B51:A5 F7 1456 LDA A2H
8B53:D0 EF 8B44 1457 BNE ERRJ
8B55:A5 F6 1458 LDA A2L
8B57:C9 0A 1459 CMP #10
8B59:B0 E9 8B44 1460 BCS ERRJ ONLY 9 PARM BYTES MAX
8B5B:A8 1461 TAY SAVE BYTE COUNT
8B5C:A2 11 1462 GOPC LDX #17
8B5E:BD 99 8B 1463 XQINIT2 LDA INITBL2,X FILL DUMMY BLOCK
8B61:9D 3A 01 1464 STA XQT,X
8B64:CA 1465 DEX
8B65:10 F7 8B5E 1466 BPL XQINIT2
8B67:A5 EF 1467 LDA PCL MOVE JSR ADDR TO XQT
8B69:8D 3B 01 1468 XQLOC1 STA XQT+1
8B6C:A5 F0 1469 LDA PCH
8B6E:8D 3C 01 1470 STA XQT+2
8B71:AE CD 90 1471 LDX SPNT SET PC = PARM LIST - 1
8B74:E8 1472 INX
8B75:BD 00 91 1473 LDA STACK,X
8B78:85 EF 1474 STA PCL
8B7A:E8 1475 INX
8B7B:BD 00 91 1476 LDA STACK,X
8B7E:85 F0 1477 STA PCH
8B80:8E CD 90 1478 STX SPNT
8B83:98 1479 TYA GET PARM BYTES
8B84:AA 1480 TAX
8B85:F0 09 8B90 1481 BEQ MVPRM1 NO PARM BYTES TO MOVE
8B87:20 27 01 1482 MOVPARM JSR YPEEK MOVE PARM LIST TO DUMMY
8B8A:99 3C 01 1483 STA XQT+2,Y
8B8D:88 1484 DEY
8B8E:D0 F7 8B87 1485 BNE MOVPARM
8B90:E8 1486 MVPRM1 INX
8B91:8A 1487 TXA ADJ PC TO POINT TO INST
8B92:18 1488 CLC FOLLOWING PARM LIST
8B93:20 12 81 1489 JSR PCADJAP
8B96:4C 12 8A 1490 JMP XQJ EXECUTE JSR IMMED. MODE
8B99:20 00 00 1491 INITBL2 JSR $0000 DUMMY BLOCK FOR F(J)
8B9C:EA 1492 NOP 9 NOP'S FOR PARM BYTES
8B9D:EA 1493 NOP
8B9E:EA 1494 NOP
8B9F:EA 1495 NOP
8BA0:EA 1496 NOP
8BA1:EA 1497 NOP
8BA2:EA 1498 NOP
8BA3:EA 1499 NOP
8BA4:EA 1500 NOP
8BA5:20 2C 01 1501 JSR XQTS+36 RESTORE ANALYST R/W
8BA8:4C AB 8B 1502 JMP JRTS
8BAB:20 38 8A 1503 JRTS JSR SAVE
8BAE:20 3F 8E 1504 JSR CHKVID
8BB1:AD C3 90 1505 LDA JFLG
8BB4:F0 14 8BCA 1506 BEQ JRTS3 DURING 'G0' W/O BREAK
8BB6:9C C3 90 1507 STZ JFLG
8BB9:AD C2 90 1508 LDA TFLG
8BBC:F0 03 8BC1 1509 BEQ JRTS2 DURING 'STEP'
8BBE:4C 9F 82 1510 JMP TRACE5 DURING TRACE IMMEDIATE
8BC1:CE D9 90 1511 JRTS2 DEC DSPTOP UPDATE REGDSP AFTER JSR.
8BC4:20 51 87 1512 JRTSX JSR CLEARDSP 'SKIP' ENTERS HERE
8BC7:4C F4 82 1513 JMP NXTPC
8BCA:60 1514 JRTS3 RTS RTS TO NEXTITM.
8BCB:A9 FF 1515 FIND LDA #$FF F(CTRL-F) A4<A1 CTRL-F
8BCD:85 F4 1516 STA A1L HEX SEQUENCE FINDER
8BCF:85 FA 1517 STA A4L
8BD1:C6 FB 1518 DEC A4H
8BD3:A6 FC 1519 LDX A5L
8BD5:8E 3A 01 1520 STX XQT BYTE COUNT
8BD8:CA 1521 DEX
8BD9:D0 08 8BE3 1522 BNE FXEND
8BDB:A5 F5 1523 LDA A1H
8BDD:C9 FF 1524 CMP #$FF
8BDF:D0 02 8BE3 1525 BNE FXEND
8BE1:C6 F4 1526 DEC A1L
8BE3:C6 F4 1527 FXEND DEC A1L
8BE5:CA 1528 DEX
8BE6:D0 FB 8BE3 1529 BNE FXEND
8BE8:E6 FA 1530 INCBAS INC A4L
8BEA:D0 0A 8BF6 1531 BNE TESTEND
8BEC:E6 FB 1532 INC A4H
8BEE:A5 FB 1533 LDA A4H
8BF0:C9 C0 1534 CMP #$C0
8BF2:D0 02 8BF6 1535 BNE TESTEND
8BF4:E6 FB 1536 INC A4H
8BF6:A5 F5 1537 TESTEND LDA A1H
8BF8:C5 FB 1538 CMP A4H
8BFA:90 42 8C3E 1539 BCC DONE
8BFC:D0 06 8C04 1540 BNE SETTMP
8BFE:A5 F4 1541 LDA A1L
8C00:C5 FA 1542 CMP A4L
8C02:90 3A 8C3E 1543 BCC DONE
8C04:A5 FB 1544 SETTMP LDA A4H
8C06:85 F0 1545 STA PCH
8C08:A5 FA 1546 LDA A4L
8C0A:18 1547 CLC
8C0B:6D 3A 01 1548 ADC XQT
8C0E:85 EF 1549 STA PCL
8C10:90 02 8C14 1550 BCC SETX
8C12:E6 F0 1551 INC PCH
8C14:AE 3A 01 1552 SETX LDX XQT
8C17:E8 1553 INX
8C18:38 1554 CHGTMP SEC
8C19:A5 EF 1555 LDA PCL
8C1B:E9 01 1556 SBC #$01
8C1D:85 EF 1557 STA PCL
8C1F:B0 02 8C23 1558 BCS CMPNUM
8C21:C6 F0 1559 DEC PCH
8C23:20 25 01 1560 CMPNUM JSR PEEK
8C26:CA 1561 DEX
8C27:DD 3A 01 1562 CMP XQT,X
8C2A:D0 BC 8BE8 1563 BNE INCBAS
8C2C:A5 EF 1564 LDA PCL
8C2E:C5 FA 1565 CMP A4L
8C30:D0 E6 8C18 1566 BNE CHGTMP
8C32:A6 FA 1567 LDX A4L
8C34:A5 FB 1568 LDA A4H
8C36:20 FE 80 1569 JSR PRNTAX
8C39:20 50 88 1570 JSR OUTSP
8C3C:80 AA 8BE8 1571 BRA INCBAS
8C3E:4C 4C 88 1572 DONE JMP CROUT
8C41: 1574 *** THE MINI-ASSEMBLER ***
8C41:E9 81 1576 RELADR SBC #$81
8C43:4A 1577 LSR A
8C44:D0 14 8C5A 1578 BNE PCERR
8C46:A4 F7 1579 LDY A2H
8C48:A6 F6 1580 LDX A2L
8C4A:D0 01 8C4D 1581 BNE RELADJ
8C4C:88 1582 DEY
8C4D:CA 1583 RELADJ DEX
8C4E:8A 1584 TXA
8C4F:18 1585 CLC
8C50:E5 EF 1586 SBC PCL
8C52:85 F6 1587 STA A2L
8C54:10 01 8C57 1588 BPL RELADJ2
8C56:C8 1589 INY
8C57:98 1590 RELADJ2 TYA
8C58:E5 F0 1591 SBC PCH
8C5A:D0 4A 8CA6 1592 PCERR BNE ERRAT
8C5C:AC D1 90 1593 POKEAT LDY LENGTH
8C5F:B6 F5 1594 POKE LDX A1H,Y
8C61:8A 1595 TXA
8C62:20 EA 84 1596 JSR YPOKEPC
8C65:88 1597 DEY
8C66:10 F7 8C5F 1598 BPL POKE
8C68:20 75 86 1599 JSR UP
8C6B:20 75 86 1600 JSR UP
8C6E:20 7E 80 1601 JSR INSTDSP
8C71:20 16 87 1602 JSR CLREOL
8C74:20 0E 81 1603 JSR PCADJ
8C77:80 3D 8CB6 1604 BRA MINI
8C79:A5 F5 1605 DSS LDA A1H
8C7B:20 13 80 1606 JSR INSDS2
8C7E:AA 1607 TAX
8C7F:BD 7E 8F 1608 LDA MNEMR,X
8C82:C5 FA 1609 CMP A4L
8C84:D0 15 8C9B 1610 BNE NXOPC
8C86:BD 3E 8F 1611 LDA MNEML,X
8C89:C5 FB 1612 CMP A4H
8C8B:D0 0E 8C9B 1613 BNE NXOPC
8C8D:A5 FC 1614 LDA A5L
8C8F:AC D2 90 1615 LDY FORMAT
8C92:C0 9D 1616 CPY #$9D
8C94:F0 AB 8C41 1617 BEQ RELADR
8C96:CD D2 90 1618 CMP FORMAT
8C99:F0 C1 8C5C 1619 BEQ POKEAT
8C9B:C6 F5 1620 NXOPC DEC A1H
8C9D:D0 DA 8C79 1621 BNE DSS
8C9F:E6 FC 1622 INC A5L
8CA1:CE DB 90 1623 DEC YSAV1
8CA4:F0 D3 8C79 1624 BEQ DSS
8CA6:AC DA 90 1625 ERRAT LDY YSAV
8CA9:98 1626 ERROR TYA
8CAA:AA 1627 TAX
8CAB:20 07 81 1628 JSR PRBLNK
8CAE:A9 DE 1629 LDA #$DE
8CB0:20 F5 88 1630 JSR COUT
8CB3:20 25 86 1631 JSR BELL
8CB6:20 33 8E 1632 MINI JSR EPROMPT '!' PROMPT
8CB9:20 17 88 1633 JSR GETLNZ
8CBC:20 39 8B 1634 JSR ZMODE
8CBF:AD 6C 01 1635 LDA IN
8CC2:C9 A0 1636 CMP #$A0
8CC4:F0 16 8CDC 1637 BEQ RDMNEM
8CC6:8A 1638 TXA
8CC7:D0 06 8CCF 1639 BNE MINI2
8CC9:8D DA 90 1640 STA YSAV <CR> ALONE EXITS
8CCC:4C 2A 8E 1641 JMP STPRMPT VIA NEXTITM
8CCF:20 14 8B 1642 MINI2 JSR GETNUM
8CD2:C9 93 1643 CMP #$93 F(:)
8CD4:D0 D3 8CA9 1644 A1TOPC BNE ERROR
8CD6:8A 1645 TXA
8CD7:F0 D0 8CA9 1646 BEQ ERROR
8CD9:20 A9 89 1647 JSR A1PCLP
8CDC:A9 03 1648 RDMNEM LDA #$03 INDEX FOR 3 CHAR MNEM
8CDE:85 F5 1649 STA A1H
8CE0:20 5C 8D 1650 RDMNEM2 JSR CHARIN
8CE3:0A 1651 ASL A
8CE4:E9 BE 1652 SBC #$BE
8CE6:C9 C2 1653 CMP #$C2 LESS THAN 'A'
8CE8:90 BF 8CA9 1654 BCC ERROR NOT ASC LETTER SO ERR
8CEA:0A 1655 ASL A
8CEB:0A 1656 ASL A
8CEC:A2 04 1657 LDX #$04 INDEX FOR 5 BITS
8CEE:0A 1658 RDMNEM3 ASL A MOVE 5 BIT LETTER CODE
8CEF:26 FA 1659 ROL A4L (* 3 LETTERS) INTO A4.
8CF1:26 FB 1660 ROL A4H 26 LETTERS REQ. 5 BITS
8CF3:CA 1661 DEX
8CF4:10 F8 8CEE 1662 BPL RDMNEM3
8CF6:C6 F5 1663 DEC A1H
8CF8:F0 F4 8CEE 1664 BEQ RDMNEM3
8CFA:10 E4 8CE0 1665 BPL RDMNEM2
8CFC:A2 05 1666 LDX #$05 INDEX FOR 6 FORMAT BITS
8CFE:20 5C 8D 1667 RDFMT JSR CHARIN
8D01:8C DA 90 1668 STY YSAV
8D04:DD BE 8F 1669 CMP CHAR1,X
8D07:D0 14 8D1D 1670 BNE RDFMT2
8D09:20 5C 8D 1671 JSR CHARIN
8D0C:DD C4 8F 1672 CMP CHAR2,X
8D0F:F0 0E 8D1F 1673 BEQ RDADDR
8D11:BD C4 8F 1674 LDA CHAR2,X
8D14:F0 08 8D1E 1675 BEQ RDFMT3
8D16:C9 A4 1676 CMP #$A4
8D18:F0 04 8D1E 1677 BEQ RDFMT3
8D1A:AC DA 90 1678 LDY YSAV
8D1D:18 1679 RDFMT2 CLC
8D1E:88 1680 RDFMT3 DEY
8D1F:26 FC 1681 RDADDR ROL A5L
8D21:E0 03 1682 CPX #$03
8D23:D0 0E 8D33 1683 BNE RDADDR3
8D25:20 14 8B 1684 JSR GETNUM
8D28:A5 F7 1685 LDA A2H
8D2A:F0 01 8D2D 1686 BEQ RDADDR2
8D2C:E8 1687 INX
8D2D:8E DB 90 1688 RDADDR2 STX YSAV1
8D30:A2 03 1689 LDX #$03
8D32:88 1690 DEY
8D33:86 F5 1691 RDADDR3 STX A1H
8D35:CA 1692 DEX
8D36:10 C6 8CFE 1693 BPL RDFMT
8D38:A5 FC 1694 LDA A5L
8D3A:0A 1695 ASL A
8D3B:0A 1696 ASL A
8D3C:0D DB 90 1697 ORA YSAV1
8D3F:C9 20 1698 CMP #$20
8D41:B0 07 8D4A 1699 BCS RDADDR4
8D43:AE DB 90 1700 LDX YSAV1
8D46:F0 02 8D4A 1701 BEQ RDADDR4
8D48:09 80 1702 ORA #$80
8D4A:85 FC 1703 RDADDR4 STA A5L
8D4C:8C DA 90 1704 STY YSAV
8D4F:B9 6C 01 1705 LDA IN,Y
8D52:C9 8D 1706 CMP #$8D
8D54:F0 03 8D59 1707 BEQ DISAS
8D56:4C D4 8C 1708 JMP A1TOPC
8D59:4C 79 8C 1709 DISAS JMP DSS
8D5C:B9 6C 01 1710 CHARIN LDA IN,Y
8D5F:C8 1711 INY
8D60:C9 A0 1712 CMP #$A0
8D62:F0 F8 8D5C 1713 BEQ CHARIN
8D64:60 1714 ENDMINI RTS
8D65:AD BC 90 1715 RELOC LDA STARTLOC+1 F(R)
8D68:85 F0 1716 STA PCH
8D6A:64 EF 1717 STZ PCL MAKE SURE ANALYST IS
8D6C:20 25 01 1718 JSR PEEK BEING READ FOR MOVE
8D6F:C9 4C 1719 CMP #$4C BY PEEKING START BYTE.
8D71:D0 F1 8D64 1720 BNE ENDMINI DO NOT RELOCATE!
8D73:A5 F5 1721 LDA A1H
8D75:85 FB 1722 STA A4H
8D77:48 1723 PHA
8D78:64 FA 1724 STZ A4L
8D7A:AD BC 90 1725 LDA STARTLOC+1
8D7D:85 F5 1726 STA A1H
8D7F:85 FC 1727 STA A5L
8D81:64 F4 1728 STZ A1L
8D83:AD BF 90 1729 LDA AUXV+2 LOCATION OF 'AUXLOAD'
8D86:85 F7 1730 STA A2H WHICH MARKS END.
8D88:AD BE 90 1731 LDA AUXV+1
8D8B:85 F6 1732 STA A2L
8D8D:A5 F5 1733 LDA A1H CALC DIFFERENCE BETWEEN
8D8F:38 1734 SEC OLD & NEW ORG
8D90:E5 FB 1735 SBC A4H
8D92:85 FD 1736 STA A5H
8D94:A9 3C 1737 LDA #AUXV-SUBTBL
8D96:4A 1738 LSR A DIVIDE BY 2
8D97:A8 1739 TAY # OF WORDS
8D98:A2 FF 1740 LDX #$FF
8D9A:E8 1741 RELOC2 INX CONVERT SUBTBL WORDS
8D9B:E8 1742 INX
8D9C:BD 81 90 1743 LDA SUBTBL,X
8D9F:38 1744 SEC
8DA0:E5 FD 1745 SBC A5H
8DA2:9D 81 90 1746 STA SUBTBL,X
8DA5:88 1747 DEY
8DA6:D0 F2 8D9A 1748 BNE RELOC2
8DA8:A9 60 1749 LDA #$60 PUT IN RTS TO DISABLE
8DAA:8D BD 90 1750 STA AUXV AUX LOADER. NOT MOVED.
8DAD:20 66 89 1751 JSR MOVE NEW ORG<START.IN
8DB0:68 1752 PLA
8DB1:85 F0 1753 STA PCH
8DB3:8D FA 8D 1754 STA NEWGO+2
8DB6:64 EF 1755 STZ PCL PAGE BOUNDARY ONLY.
8DB8:E6 F7 1756 INC A2H
8DBA:AD 0F 8F 1757 LDA TITLLOC+1 END OF STATIC PGM AREA
8DBD:85 FA 1758 STA A4L
8DBF:AD 10 8F 1759 LDA TITLLOC+2
8DC2:38 1760 SEC
8DC3:E5 FD 1761 SBC A5H
8DC5:85 FB 1762 STA A4H
8DC7:20 10 80 1763 RELOC3 JSR INSDST
8DCA:AC D1 90 1764 LDY LENGTH
8DCD:C0 02 1765 CPY #2 3-BYTE INSTRUCTION ?
8DCF:90 1D 8DEE 1766 BCC NABS
8DD1:20 25 01 1767 JSR PEEK
8DD4:C9 2C 1768 CMP #$2C
8DD6:F0 16 8DEE 1769 BEQ NABS IGNORE BIT ABSOLUTE
8DD8:A0 02 1770 LDY #2 LENGTH
8DDA:20 27 01 1771 JSR YPEEK
8DDD:A6 F7 1772 LDX A2H IF OLD END WAS $FFNN
8DDF:F0 04 8DE5 1773 BEQ CHKLO THEN DON'T CHECK ABOVE !!
8DE1:C5 F7 1774 CMP A2H SEE IF WITHIN OLD
8DE3:B0 09 8DEE 1775 BCS NABS START-END.
8DE5:C5 FC 1776 CHKLO CMP A5L
8DE7:90 05 8DEE 1777 BCC NABS
8DE9:E5 FD 1778 SBC A5H CONVERT TO NEW ADDR
8DEB:20 EA 84 1779 JSR YPOKEPC
8DEE:20 0E 81 1780 NABS JSR PCADJ
8DF1:C5 FA 1781 CMP A4L SEE IF PC < NEW END OF
8DF3:98 1782 TYA STATIC PGM AREA. Y=PCH
8DF4:E5 FB 1783 SBC A4H
8DF6:90 CF 8DC7 1784 BCC RELOC3
8DF8:4C 00 80 1785 NEWGO JMP START RUN NEW ORG
8DFB:8A 1786 SETDOS TXA F(/) SET OR PRINT DOS
8DFC:D0 0C 8E0A 1787 BNE SETDS2 SUBROUTINE TO JSR IMMED.
8DFE:AD C5 90 1788 LDA DOSCALL+1 '/' ALONE PRINTS ADDRESS
8E01:AE C4 90 1789 LDX DOSCALL
8E04:20 FE 80 1790 JSR PRNTAX
8E07:4C 4C 88 1791 JMP CROUT
8E0A:B5 F4 1792 SETDS2 LDA A1L,X NNNN/ COPIES NNNN INTO
8E0C:9D C4 90 1793 STA DOSCALL,X DOSCALL
8E0F:CA 1794 DEX
8E10:10 F8 8E0A 1795 BPL SETDS2
8E12:60 1796 RTS
8E13:AD D6 90 1797 AUXRW LDA PROMPT F(X) TOGGLE BETWEEN
8E16:C9 A3 1798 CMP #$A3 MAIN/AUX $200-BFFF R/W
8E18:D0 06 8E20 1799 BNE AUX2MAIN
8E1A:A9 03 1800 LDA #$03
8E1C:A0 05 1801 LDY #$05
8E1E:80 04 8E24 1802 BRA RWSET
8E20:A9 02 1803 AUX2MAIN LDA #$02
8E22:A0 04 1804 LDY #$04
8E24:8D 34 01 1805 RWSET STA XQTS+44
8E27:8C 37 01 1806 STY XQTS+47
8E2A:AD 34 01 1807 STPRMPT LDA XQTS+44
8E2D:4A 1808 LSR A
8E2E:90 09 8E39 1809 BCC SPROMPT
8E30:A9 FD 1810 LDA #$FD '}'
8E32:2C 1811 DFB $2C
8E33:A9 A1 1812 EPROMPT LDA #$A1 '!'
8E35:2C 1813 DFB $2C
8E36:A9 A4 1814 DPROMPT LDA #$A4 '$'
8E38:2C 1815 DFB $2C
8E39:A9 A3 1816 SPROMPT LDA #$A3 '#'
8E3B:8D D6 90 1817 STA PROMPT
8E3E:60 1818 RTS
8E3F:AD 1F C0 1819 CHKVID LDA RD80VID RESET 40/80 COL IF NEEDED
8E42:0A 1820 ASL A BIT 7 INTO CARRY
8E43:AD D4 90 1821 LDA FLG8
8E46:30 04 8E4C 1822 BMI CHK80
8E48:90 04 8E4E 1823 BCC RTS7
8E4A:B0 2E 8E7A 1824 BCS SET80 40 -> 80
8E4C:90 6A 8EB8 1825 CHK80 BCC SET40 80 -> 40
8E4E:60 1826 RTS7 RTS
8E4F:AC DA 90 1827 SETVID LDY YSAV F(@)
8E52:B9 6C 01 1828 LDA IN,Y
8E55:EE DA 90 1829 INC YSAV
8E58:C9 B4 1830 CMP #$B4 '4'
8E5A:F0 5C 8EB8 1831 BEQ SET40
8E5C:C9 B8 1832 CMP #$B8 '8'
8E5E:F0 1A 8E7A 1833 BEQ SET80
8E60:CE DA 90 1834 DEC YSAV @ ALONE
8E63:AD B9 90 1835 TEXT LDA OUTVECT
8E66:8D C0 90 1836 STA CSWL
8E69:AD BA 90 1837 LDA OUTVECT+1
8E6C:8D C1 90 1838 STA CSWH
8E6F:8D 01 C0 1839 STA INHPAGE2 FOR AUX TO DISPLAY TEXT.
8E72:8D 51 C0 1840 STA TXTSET
8E75:AD 1F C0 1841 LDA RD80VID SET 40 OR 80 COL
8E78:10 3E 8EB8 1842 BPL SET40 TEXT BASED ON RD80VID
8E7A:A9 FF 1843 SET80 LDA #$FF
8E7C:8D D4 90 1844 STA FLG8
8E7F:A9 50 1845 LDA #80
8E81:8D D5 90 1846 STA WNDWDTH
8E84:2C 1F C0 1847 BIT RD80VID
8E87:30 2D 8EB6 1848 BMI SET8D
8E89:8D 0D C0 1849 STA SET80VID
8E8C:A9 00 1850 LDA #$00
8E8E:48 1851 SET8A PHA
8E8F:20 FE 86 1852 JSR VTABZ
8E92:A0 00 1853 LDY #$00
8E94:B1 F1 1854 SET8B LDA (BASL),Y
8E96:AA 1855 TAX
8E97:5A 1856 PHY
8E98:98 1857 TYA
8E99:4A 1858 LSR A
8E9A:A8 1859 TAY
8E9B:B0 03 8EA0 1860 BCS SET8C
8E9D:8D 55 C0 1861 STA HISCR
8EA0:8A 1862 SET8C TXA
8EA1:91 F1 1863 STA (BASL),Y
8EA3:7A 1864 PLY
8EA4:8D 54 C0 1865 STA LOWSCR
8EA7:C8 1866 INY
8EA8:C0 28 1867 CPY #$28
8EAA:90 E8 8E94 1868 BCC SET8B
8EAC:98 1869 TYA
8EAD:20 19 87 1870 JSR CLEOLZ
8EB0:68 1871 PLA
8EB1:1A 1872 INC A
8EB2:C9 18 1873 CMP #$18
8EB4:90 D8 8E8E 1874 BCC SET8A
8EB6:80 32 8EEA 1875 SET8D BRA SETDONE
8EB8:9C D4 90 1876 SET40 STZ FLG8
8EBB:2C 1F C0 1877 BIT RD80VID
8EBE:10 25 8EE5 1878 BPL SET4D
8EC0:8D 0C C0 1879 STA CLR80VID
8EC3:A9 00 1880 LDA #$00
8EC5:48 1881 SET4A PHA
8EC6:20 FE 86 1882 JSR VTABZ
8EC9:A0 27 1883 LDY #$27
8ECB:98 1884 SET4B TYA
8ECC:4A 1885 LSR A
8ECD:5A 1886 PHY
8ECE:A8 1887 TAY
8ECF:B0 03 8ED4 1888 BCS SET4C
8ED1:8D 55 C0 1889 STA HISCR
8ED4:B1 F1 1890 SET4C LDA (BASL),Y
8ED6:7A 1891 PLY
8ED7:8D 54 C0 1892 STA LOWSCR
8EDA:91 F1 1893 STA (BASL),Y
8EDC:88 1894 DEY
8EDD:10 EC 8ECB 1895 BPL SET4B
8EDF:68 1896 PLA
8EE0:1A 1897 INC A
8EE1:C9 18 1898 CMP #$18
8EE3:90 E0 8EC5 1899 BCC SET4A
8EE5:A9 28 1900 SET4D LDA #40
8EE7:8D D5 90 1901 STA WNDWDTH
8EEA:4C F8 86 1902 SETDONE JMP VTAB
8EED:A0 00 1903 HELP LDY #0 F(?) LIST LAST 16 PC
8EEF:B9 4C 01 1904 HLP2 LDA PCBUF,Y ADDRESSES EXECUTED
8EF2:C8 1905 INY DURING TRACE.
8EF3:BE 4C 01 1906 LDX PCBUF,Y
8EF6:C8 1907 INY
8EF7:20 FE 80 1908 JSR PRNTAX
8EFA:CC DC 90 1909 CPY PCPNT
8EFD:D0 05 8F04 1910 BNE HLP3
8EFF:A9 BC 1911 LDA #$BC
8F01:20 F5 88 1912 JSR COUT
8F04:20 4C 88 1913 HLP3 JSR CROUT
8F07:C0 20 1914 CPY #32
8F09:90 E4 8EEF 1915 BCC HLP2
8F0B:60 1916 RTS
8F0C:A2 00 1917 PRTITLE LDX #$00 F(V). PRINT TITLE
8F0E:BD 27 8F 1918 TITLLOC LDA TITLE,X
8F11:F0 06 8F19 1919 BEQ PRADDR
8F13:20 F5 88 1920 JSR COUT
8F16:E8 1921 INX
8F17:80 F5 8F0E 1922 BRA TITLLOC
8F19:AD BC 90 1923 PRADDR LDA STARTLOC+1 PRINT ORIGIN ADDRESS
8F1C:20 E2 88 1924 JSR PRBYTE
8F1F:A9 00 1925 LDA #0
8F21:20 E2 88 1926 JSR PRBYTE
8F24:4C 4C 88 1927 JMP CROUT
8F27: 1929 *** PROGRAM DATA AREA ***
8F27:8D 1931 TITLE DFB $8D
8F28:C1 CE C1 CC 1932 ASC "ANALYST 128XP"
8F35:8D 1933 DFB $8D TITLE MARKS START OF PDA
8F36:CF D2 C7 A0 1934 ASC "ORG = "
8F3C:A4 1935 BANKORG ASC "$"
8F3D:00 1936 DFB $00
8F3E:1C 8A 1937 MNEML DFB 28,138
8F40:1C 23 5D 8B 1938 DFB 28,35,93,139,27,161,157,138
8F48:1D 23 9D 8B 1939 DFB 29,35,157,139,29,161,28,41
8F50:19 AE 69 A8 1940 DFB 25,174,105,168,25,35,36,83
8F58:1B 23 24 53 1941 DFB 27,35,36,83,25,161,173,26
8F60:A5 5B A5 AC 1942 DFB 165,91,165,172,139,138,174,174
8F68:A8 AD 29 8A 1943 DFB 168,173,41,138,124,139,21,156
8F70:6D 9C A5 69 1944 DFB 109,156,165,105,41,83,132,19
8F78:34 11 A5 69 1945 DFB 52,17,165,105,35,160
8F7E:D8 62 1946 MNEMR DFB 216,98
8F80:5A 48 26 62 1947 DFB 90,72,38,98,148,136,84,68
8F88:C8 54 68 44 1948 DFB 200,84,104,68,232,148,196,180
8F90:08 84 74 B4 1949 DFB 8,132,116,180,40,110,116,244
8F98:CC 4A 72 F2 1950 DFB 204,74,114,242,164,138,6,170
8FA0:76 A2 74 C6 1951 DFB 118,162,116,198,116,116,68,104
8FA8:B2 32 B2 72 1952 DFB 178,50,178,114,34,114,26,26
8FB0:26 26 72 72 1953 DFB 38,38,114,114,136,200,196,202
8FB8:26 48 44 44 1954 DFB 38,72,68,68,162,200
8FBE:AC A9 AC A3 1955 CHAR1 DFB 172,169,172,163,168,164
8FC4:D9 00 D8 A4 1956 CHAR2 DFB 217,0,216,164,164,0
8FCA:C3 DA C9 C4 1957 CHAR3 ASC "CZIDB-VN"
8FD2:C1 D8 D9 1958 RTBL ASC "AXY"
8FD5:00 21 81 82 1959 FMT2 DFB 0,33,129,130,90,73,89,77
8FDD:91 92 86 4A 1960 DFB 145,146,134,74,133,157
8FE3:F0 22 00 33 1961 FMT1 DFB 240,34,0,51,93,130,0,147
8FEB:F3 22 00 33 1962 DFB 243,34,0,51,93,136,0,153
8FF3:F0 2F 00 33 1963 DFB 240,47,0,51,93,143,0,159
8FFB:F0 22 00 3B 1964 DFB 240,34,0,59,93,136,0,148
9003:FD 22 00 33 1965 DFB 253,34,0,51,93,200,0,147
900B:11 22 00 33 1966 DFB 17,34,0,51,93,200,0,169
9013:F1 22 00 33 1967 DFB 241,34,0,51,93,143,0,159
901B:F1 22 00 33 1968 DFB 241,34,0,51,93,143,0,159
9023:26 31 87 9A 1969 DFB 38,49,135,154
9027:12 32 52 72 1970 OPC65C DFB 18,50,82,114
902B:92 B2 D2 F2 1971 DFB 146,178,210,242,58,26,137,28
9033:14 7A 5A 9C 1972 DFB 20,122,90,156,100,158,116,124
903B:3C 34 1973 DFB 60,52
903D:4C A4 AC B4 1974 DFB 76,164,172,180,188,196,204,228
9045:EC 1975 DFB 236
9046:11 31 51 71 1976 REPL65C DFB 17,49,81,113,145,177
904C:D1 F1 C2 E2 1977 DFB 209,241,194,226,52,164,172,196
9054:E4 5C 5C 5C 1978 DFB 228,92,92,92,92,124,60,52
905C:7C A0 A0 A0 1979 DFB 124,160,160,160,160,192,192
9063:E0 E0 1980 DFB 224,224
9065:C6 98 F9 B1 1981 CHRTBL DFB 198,152,249,177,241,3
906B:EC A6 A4 06 1982 DFB 236,166,164,6,149,5
9071:00 93 02 A7 1983 DFB 0,147,2,167,153
9076:9B 9A EF E9 1984 DFB 155,154,239,233,1,191
907C:A8 ED 9E EB 1985 DFB 168,237,158,235,197
9081:25 89 1986 SUBTBL DW BL1-1 F(CR) MUST BE 1ST IN TBL
9083:EC 8E 1987 DW HELP-1 F(?) LIST PC'S TRACED
9085:4E 8E 1988 DW SETVID-1 F(@) SWITCH 40/80 COL
9087:BC 90 1989 DW AUXV-1 F(CTRL-X) MOVE TO AUX
9089:12 8E 1990 DW AUXRW-1 F(X) MAIN/AUX $200-BFFF
908B:3E 8B 1991 DW EXECJSR-1 F(J) EXECUTE JSR
908D:28 81 1992 DW STEP-1 F(S) STEP
908F:49 89 1993 DW SETMODE-1 F(-) 16 BIT SUBTRACTION
9091:49 89 1994 DW SETMODE-1 F(+) 16 BIT ADDITION
9093:65 89 1995 DW MOVE-1 F(M) MOVE
9095:57 89 1996 DW LT-1 F(<) COPY A2 TO A4 & A5
9097:7B 89 1997 DW LIST-1 F(L) LIST DISASSEMBLY
9099:DA 89 1998 DW GO-1 F(G) GO
909B:49 89 1999 DW SETMODE-1 F(:) STORE
909D:60 85 2000 DW SETREG-1 F(I) SET INTERNAL PC/REG
909F:49 89 2001 DW SETMODE-1 F(.) XAM
90A1:2A 89 2002 DW BLANK-1 F( ) HANDLE SPACES
90A3:65 88 2003 DW ASC-1 F(") DUMP IN ASCII
90A5:B5 8C 2004 DW MINI-1 F(!) MINI-ASSEMBLER
90A7:0B 8F 2005 DW PRTITLE-1 F(V) PRINT TITLE
90A9:B3 89 2006 DW SETPRNT-1 F(P) TO PRINTER
90AB:47 85 2007 DW LOAD-1 F(H) LOAD FOR HSF
90AD:CA 8B 2008 DW FIND-1 F(CTRL-F) HEX SEQ. FIND
90AF:FA 8D 2009 DW SETDOS-1 F(/) SET DOS CALL JSR #.
90B1:86 82 2010 DW TRACE-1 F(T) TRACE
90B3:08 86 2011 DW BINARY-1 F(%) VALUE IN BINARY
90B5:64 8D 2012 DW RELOC-1 F(R) RELOCATOR
90B7:E0 86 2013 DW HOME-1 F(CTRL-L) CLEAR SCREEN
90B9:36 86 2014 OUTVECT DW VIDOUT
90BB:00 80 2015 STARTLOC DW START
90BD: 2017 * DYNAMIC PROGRAM AREA *
90BD:4C 00 92 2019 AUXV JMP AUXLOAD F(CTRL-X) ONE TIME VECTOR
90C0: 0001 2020 CSWL DS 1 ADDR. OF OUTPUT ROUTINE
90C1: 0001 2021 CSWH DS 1
90C2: 0001 2022 TFLG DS 1 <>0 = CANCEL COUT FOR TRC
90C3: 0001 2023 JFLG DS 1 SET TO ALLOW F(J)
90C4:00 BF 2024 DOSCALL DW MLI ROUTINE TO JSR IMMED.
90C6: 0001 2025 ERRFLG DS 1 SET FOR BAD OPCODE
90C7: 0002 2026 PCREG DS 2,0
90C9:00 2027 ACC DFB 0 DON'T CHANGE ORDER
90CA:00 2028 XREG DFB 0 OF ACC TO SPNT
90CB:00 2029 YREG DFB 0
90CC:00 2030 STATUS DFB 0
90CD:FF 2031 SPNT DFB $FF
90CE:FF 2032 SREF DFB $FF STACK REF SET BY TXS OPC
90CF: 0001 2033 LMNEM DS 1
90D0: 0001 2034 RMNEM DS 1
90D1: 0001 2035 LENGTH DS 1
90D2: 0001 2036 FORMAT DS 1
90D3: 0001 2037 MODE DS 1
90D4: 0001 2038 FLG8 DS 1 FF = 80 COL, 0 = 40 COL
90D5: 0001 2039 WNDWDTH DS 1
90D6: 0001 2040 PROMPT DS 1
90D7: 0001 2041 CH DS 1
90D8:00 2042 CV DFB 0
90D9: 0001 2043 DSPTOP DS 1 TOP OF DISPLAY FOR STEP
90DA: 0001 2044 YSAV DS 1
90DB: 0001 2045 YSAV1 DS 1
90DC:00 2046 PCPNT DFB 0 INDEX TO PCBUF
90DD: 0002 2047 BRKADDR DS 2,255 BREAK FOR STEP,TRACE,LIST
90DF: 0001 2048 TEMP1 DS 1 FOR INSTDSP AND STEP.
90E0: 0001 2049 TEMP2 DS 1 FOR STEP.
90E1: 0001 2050 TEMP3 DS 1 FOR STEP.
90E2: 0001 2051 PCFLG DS 1 PRNTPC ON/OFF FOR TRACE
90E3: 0001 2052 COUNTER DS 1 FOR TRACE
90E4: 0011 2053 ZBUF DS $100-PCL PAGE ZERO STORAGE BUFFER
90F5: 00F5 2054 PAGEFIL EQU >*
90F5: 000A 2055 DS $FF-PAGEFIL
90FF:00 2056 ROMFLG DFB 0 1 = TRACE JSR ROM $D000-FFFF
9100: 0100 2057 STACK DS $100,0 MUST BE ON PAGE BOUNDARY
9200:A9 00 2058 AUXLOAD LDA #>START F(CTRL-X) MOVE ANALYST
9202:85 3C 2059 STA MA1 TO AUX. THIS CODE NOT
9204:85 42 2060 STA MA4 RELOCATEABLE.
9206:A9 80 2061 LDA #<START
9208:85 3D 2062 STA MA1+1
920A:85 43 2063 STA MA4+1
920C:A9 00 2064 LDA #>AUXLOAD
920E:85 3E 2065 STA MA2
9210:A9 92 2066 LDA #<AUXLOAD
9212:85 3F 2067 STA MA2+1
9214:A9 03 2068 LDA #$03
9216:8D 22 85 2069 STA INITBL+43
9219:A9 05 2070 LDA #$05
921B:8D 25 85 2071 STA INITBL+46
921E:20 6B 8A 2072 JSR INITXQTS
9221:A9 60 2073 LDA #$60
9223:8D BD 90 2074 STA AUXV
9226:A9 D8 2075 LDA #$D8 'X'
9228:8D 3C 8F 2076 STA BANKORG
922B:38 2077 SEC
922C:20 11 C3 2078 JSR AUXMOVE
922F:A2 05 2079 LDX #5
9231:BD 40 92 2080 AUXLD2 LDA INITBL4,X
9234:9D 3A 01 2081 STA XQT,X
9237:CA 2082 DEX
9238:10 F7 9231 2083 BPL AUXLD2
923A:9C 00 80 2084 STZ START DESTROY OLD ANALYST ID
923D:4C 3A 01 2085 JMP XQT
9240:20 2C 01 2086 INITBL4 JSR XQTS+36
9243:4C B7 8A 2087 JMP TXTMON
F5 A1H F4 A1L 89A6 A1PC 89A9 A1PCLP
89A4 A1PCX 8CD4 A1TOPC F7 A2H F6 A2L
F9 A3H F8 A3L 855C A3SET FB A4H
FA A4L FD A5H FC A5L 84B6 ACCLOC
90C9 ACC 88CE ADD 8845 ADDINP 849C APCODE
8866 ASC 8E20 AUX2MAIN 9231 AUXLD2 9200 AUXLOAD
C311 AUXMOVE 8E13 AUXRW 90BD AUXV 8669 BACKSPC
8F3C BANKORG FF BAS2H FE BAS2L F2 BASH
F1 BASL 8822 BCKSPC 8627 BELL2 8625 BELL
8609 BINARY 861B BIT1 8926 BL1 892B BLANK
8935 BLNK2 8612 BNDSP 82DF BRANCH 90DD BRKADDR
870D BSCLC2 883F CAPTST 8E4C CHK80 90D7 CH
8FBE CHAR1 8FC4 CHAR2 8FCA CHAR3 8D5C CHARIN
8C18 CHGTMP 8DE5 CHKLO 8E3F CHKVID 8ADD CHRSRCH
9065 CHRTBL 8751 CLEARDSP 874A CLEOL4A 8742 CLEOL4
872D CLEOL8A 8735 CLEOL8B 873E CLEOL8C 8719 CLEOLZ
C00C CLR80VID 8753 CLRDSP1 875A CLRDSP2 8760 CLRDSP3
876C CLRDSP4 8716 CLREOL 86E9 CLS1 8C23 CMPNUM
90E3 COUNTER 8918 COUT2 8922 COUT4 88F5 COUT
891B COUT3 8862 COUTGO 8633 COUTZ 868A CR
884C CROUT 90C1 CSWH 90C0 CSWL 87BB CTLCRTS
87B9 CTLC 8680 CTRLCHAR 879D CTRLC 90D8 CV
887A DATAOUT 8AF6 DIG 8D59 DISAS 8C3E DONE
90C4 DOSCALL 8E36 DPROMPT 90D9 DSPTOP 8C79 DSS
890C ENDHOOK 8D64 ENDMINI 8E33 EPROMPT 8CA6 ERRAT
8032 ERR 90C6 ERRFLG 8B44 ERRJ 8CA9 ERROR
8B3F EXECJSR 8BCB FIND 90D4 FLG8 8FE3 FMT1
8FD5 FMT2 90D2 FORMAT 877A FWAIT 8BE3 FXEND
805D GETFMT2 8045 GETFMT 8817 GETLNZ 8B14 GETNUM
89E6 GOBREAK 8B47 GOJSR 89DB GO 8B5C GOPC
8EED HELP C055 HISCR 8EEF HLP2 8F04 HLP3
86E1 HOME E000 IDROM 8021 IEVEN 016C IN
8BE8 INCBAS 81BA INDY C001 INHPAGE2 8A23 INITBL3
9240 INITBL4 84F7 INITBL 8B99 INITBL2 8A6D INITXQ2
8A6B INITXQTS 8003 INSDS1 8013 INSDS2 8010 INSDST
807E INSTDSP 90C3 JFLG 8BAB JRTS 8BC1 JRTS2
8BCA JRTS3 8BC4 JRTSX C010 KBDSTRB C000 KBD
87DC KEY2 87E8 KEY3 87EA KEY4 87A9 KYWAIT
87B7 KYWT2 8443 LEN0 90D1 LENGTH 8982 LIST2
897C LIST 89A3 LISTRTS 90CF LMNEM 89F0 LOADRT
8548 LOAD C054 LOWSCR 895A LT2 8958 LT
3C MA1 3E MA2 42 MA4 C002 MAINRD
C004 MAINWR 37 MCSWH 36 MCSWL 8CCF MINI2
8CB6 MINI BF00 MLI 8F3E MNEML 8F7E MNEMR
807A MNNDX3 8068 MNNDX 806F MNNDX1 8073 MNNDX2
886C MOD8CHK 90D3 MODE 8AC0 MONZ 8966 MOVE
8B87 MOVPARM 8B90 MVPRM1 8DEE NABS 841B NBRA
82DA NBRNCH 8DF8 NEWGO 82EF NEWPC 8614 NEXTBIT
?8AEC NEXTITM 880D NOTCR1 87FC NOTCR 8833 NOTDEL
8C9B NXOPC 878E NXTA1 8788 NXTA4 8B04 NXTBAS
8AFC NXTBIT 8B0F NXTBS2 8826 NXTCHAR 8B1A NXTCHR
8AD5 NXTITM 82F4 NXTPC 83D3 ODDNEW 9027 OPC65C
848B OPCX 8946 OUTEQ FE95 OUTPORT 8850 OUTSP
90B9 OUTVECT F5 PAGEFIL C061 PB0 C062 PB1
8123 PCADJ2 811D PCADJA 8112 PCADJAP 811A PCADJL
810F PCADJLP 810E PCADJ 014C PCBUF 8C5A PCERR
90E2 PCFLG F0 PCH 82EC PCINC EF PCL
90DC PCPNT 90C7 PCREG 0125 PEEK 845A PHCHECK
8213 PNTINC 8C5F POKE 8C5C POKEAT 8865 PRA1RTS
8854 PRA1 8F19 PRADDR 80CA PRADR1 80CE PRADR2
80E1 PRADR3 80E5 PRADR4 80EB PRADR5 88D8 PRANS
88AB PRASC 8105 PRBLNK3 8107 PRBLNK 88E2 PRBYTE
859E PRFLG 88ED PRHEXZ 80AC PRMN1 80B0 PRMN2
80FE PRNTAX 808A PRNTBL 8082 PRNTOP 81E4 PRNTPC
85EC PRNTSTK 80FD PRNTYX 90D6 PROMPT 8F0C PRTITLE
885B PRYX2 84B1 PULLAP 84DB PULL 84AB PUSH
C01F RD80VID 8D2D RDADDR2 8D33 RDADDR3 8D4A RDADDR4
8D1F RDADDR C016 RDAUXZP 8CFE RDFMT 8D1D RDFMT2
8D1E RDFMT3 87BC RDKEY 8CE0 RDMNEM2 8CEE RDMNEM3
8CDC RDMNEM C018 RDPAGE2 C01C RDSCR 8583 RDSP1
C01A RDTEXT 8A7A REENTER 8578 REGDSP 8C4D RELADJ
8C57 RELADJ2 8C41 RELADR 8D65 RELOC 8D9A RELOC2
8DC7 RELOC3 9046 REPL65C 8A9D RESET 8A26 RESTORE
8581 RGDSP1 90D0 RMNEM 90FF ROMFLG 8AAE RST2
8FD2 RTBL 8A77 RTENTRY 802C RTMSKZ 8A91 RTREST
8044 RTS1 8128 RTS2 8779 RTS4A 879C RTS4B
8945 RTS5 89B3 RTS6 8E4E RTS7 8E24 RWSET
85FE SAVEPC 8A38 SAVE 86A4 SCRL1 86B6 SCRL2
86C8 SCRL3 86D0 SCRL4 86D4 SCRL5 8EB8 SET40
8EC5 SET4A 8ECB SET4B 8ED4 SET4C 8EE5 SET4D
8E7A SET80 C00D SET80VID 8E8E SET8A 8E94 SET8B
8EA0 SET8C 8EB6 SET8D 852F SETBREAK 8538 SETBRK1
853F SETBRK2 8EEA SETDONE 8DFB SETDOS 8E0A SETDS2
8954 SETMDZ 894A SETMODE 89B4 SETPRNT 8561 SETREG
8550 SETRG1 8556 SETRG2 8C04 SETTMP 8E4F SETVID
8C14 SETX C030 SPKR 90CD SPNT 8E39 SPROMPT
90CE SREF 8199 SSTEPT 8193 SSTEPW 81E1 SSTEPZ
8196 SSTEP 84C7 STACKLOC 9100 STACK 90BB STARTLOC
8000 START 90CC STATUS 814D STEP2 815D STEP2A
8129 STEP 8141 STEP1 8166 STEP3 817C STEP4
818C STEP5 812C STEPL 8173 STEPT 8136 STEPZ
83DA STKLOOP 846D STKOPC 8400 STKOUT 8403 STOUT2
8E2A STPRMPT 8293 STRACE 9081 SUBTBL C082 SWITCH2
8AF1 SYNERR 90DF TEMP1 90E0 TEMP2 90E1 TEMP3
8BF6 TESTEND 8E63 TEXT 90C2 TFLG 8F27 TITLE
8F0E TITLLOC 8B2B TOSUB 8287 TRACE 829F TRACE5
82A1 TRACE6 82B0 TRACE7 833B TRACE8 82FA TRACEBY
81FE TRACEPC 82C9 TRACES2 82B8 TRACES 8226 TRCPC1
823B TRCPC2 8256 TRCPCD 8282 TRCPCG 8262 TRCPCI
8275 TRCPCS 83A0 TSTEP3X 8467 TSTEP6 833E TSTEP
8353 TSTEP3 8407 TSTEP4 840C TSTEP5 83F6 TSTEPRD
83FB TSTEPWR 8AB7 TXTMON C051 TXTSET 8404 UPDPCGO
82EB UPDPC 8489 UPDSTACK 8675 UP 843E UPDSPNT
8645 VID1 8655 VID2 8657 VID3 8636 VIDOUT
8668 VIDRTS 86F8 VTAB 86FB VTABV 867D VTABVGO
86FE VTABZ 877D WAIT2 877E WAIT3 877C WAIT
0102 WARMV 90D5 WNDWDTH 8872 XAM1 8899 XAM2
889F XAM3 88B0 XAM4 88B3 XAM5 88B9 XAMPM
888C XAMZ 8867 XAM 8388 XBRK 8457 XBRKGO
82FD XJMPATX 831E XJMPAT 831D XJMP 8300 XJSR
84A8 XPHP 84BB XPLP 8494 XPLX 8483 XPLY
8423 XQ1 8426 XQ2 8B5E XQINIT2 8A12 XQJ
8A14 XQJ2 8B69 XQLOC1 8379 XQST1 837C XQSTK
0108 XQTS 013A XQT 90CA XREG 84C3 XRTS
8432 XTSX 8438 XTXS 0127 YPEEK 84EA YPOKEPC
011D YPOKE 90CB YREG 90DA YSAV 90DB YSAV1
90E4 ZBUF F3 ZFLG 8B39 ZMODE 8A4D ZSWAP
8A60 ZSWAPE 8A5F ZSWAPRTS 8A50 ZSWAPS 8A47 ZSWAPT
8A52 ZSWP1