This is the source code for the display driver. It takes the intermediate code and does the actual output. This code is really tricky. The hi-res area on the Apple II has a most quirky mapping. If output is to the screen, then it is used as a 40 by 24 character display area (multiple lines). If the output is to the printer, then it is used as an 80 by 12 character display area for a single line. Once that is mapped out, it is sent as a single line to the printer in graphics mode. Then the display area is cleared to repeat the whole cycle. There are some areas of code where there is a trial run to see how characters are being mapped out. Once that is done, it is done for real with tiny adjustments in fractions and square roots to improve the layout. I do not think we want to closely follow this code. It is just too twisted. But if you like, I can delve into it more deeply and document it a bit more. 1 ORG $7200 Runs at $7200 2 OBJ $800 3 ;---->>> MOD12 4 ; 06/28/89 5 NLS 6 ; 7 JMP START 8 SIZE HEX 0000 BASIC program pokes in the buffer size 9 SLOT HEX 00 BASIC program pokes in slot (0= screen) 10 WHAT HEX 00 11 JMP ABSFIN 12 ; 13 SAVEFG EQU $200 14 RGCHAR EQU $900 15 PG\BUF EQU $8200 data buffer is at $8200 16 TB\BUF EQU $9800 17 REPDOS EQU $A851 18 ABOR\F EQU $1E4E 19 JAMS\F EQU $1E5A 20 COMPUT EQU $1E60 21 FIRST EQU $94F0 22 WALF EQU $150 23 WCHAR EQU $151 24 ; 25 CHTL EPZ $1A 26 HBASL EPZ $08 27 Z! EPZ $1C 28 ; 29 FG\BEG EQU $9440 30 RMAR\\ EQU $9441 31 LMAR\\ EQU $9442 32 SMAR\\ EQU $9443 33 LNSK\\ EQU $9444 34 PASK\\ EQU $9445 35 INDT\\ EQU $9446 36 EWID\\ EQU $9447 37 KP/MD EQU $9448 38 SVL\PT EQU $9449 39 NUM\\ EQU $944A 40 LIN\PT EQU $944C 41 ZY EQU $944D 42 LEVL EQU $944E 43 KIND EQU $944F 44 ; 45 SPAC\F EQU $9450 46 TRANMD EQU $9451 47 UNDL\F EQU $9452 48 SV|Y\T EQU $9453 49 PN/LEN EQU $9454 50 NUM\T EQU $9455 51 PGNL\T EQU $9456 52 PGNH\T EQU $9457 53 END/X EQU $9458 54 T3 EQU $945A 55 NP\FG EQU $945C 56 PGNL\\ EQU $9460 57 PGNH\\ EQU $9461 58 ; 59 FG\ZER EQU $9462 60 ; 61 SAVE EQU $9463 62 RADPT EQU $9467 63 STACKP EQU $9468 64 WIDTH EQU $9469 65 CWID\\ EQU $946A 66 PAGE/L EQU $946B 67 PTYPE EQU $946C 68 CTYPE EQU $946D 69 PNPOS EQU $946E 70 SCRN/L EQU $946F 71 SAVZ! EQU $9470 72 POSZ! EQU $9472 73 KP/Z! EQU $9474 74 HD/Z! EQU $9476 75 SV/LIN EQU $9479 76 CENT\F EQU $947A 77 BEG\PT EQU $947B 78 END\PT EQU $947C 79 POP/X EQU $947D 80 POP/Y EQU $947E 81 TRIGHD EQU $947F 82 HEADMD EQU $9480 83 PAPCNT EQU $9482 84 REP\\ EQU $9483 85 OVER\\ EQU $9384 86 TOP/Y EQU $9385 87 BOT/Y EQU $9386 88 FG\END EQU $948F 89 ; 90 OFFSET HEX 00 91 FLAG HEX 00 92 STAK/Q HEX 00 93 FR/CNT HEX 00 94 FR/STK HEX 00 95 ; 96 DEC/TB HEX 01000A006400E803 97 PageLT ASC 'Page ' 98 LTUNF1 ASC ' $$uf' 99 LTUNF2 ASC ' `pn' 100 LTUNF3 ASC ' $p ' 101 ; 102 START JSR INIT 103 TSX 104 STX STAK/Q 105 MLOOP JSR CHECKP 106 JSR S/HEAD 107 JSR S/NOPR 108 JSR LOOP 109 JSR S/YSPR 110 LDA TRIGHD 111 BMI MLOOP 112 JSR LOOP 113 LDY #$00 114 LDA (Z!),Y 115 CMP #$FF 116 BNE MLOOP 117 QUIT LDX STAK/Q 118 TXS 119 LDA #$00 120 STA $AA52 121 RTS 122 ; 123 LOOP JSR T/ABOR check is escape is pushed 124 LDY #$00 125 LDX LIN\PT 126 LDA (Z!),Y get next character from buffer 127 CMP #$FF it it end of file? 128 BEQ CH/$FF 129 CMP #$0D is it carriage return? 130 BEQ CH 131 CMP #$0C is it form feed? 132 BEQ CH 133 CMP #$14 is it control-T? 134 BEQ CH/$14 135 CMP '$ is it dollar sign? 136 BEQ CH<$>> 137 CMP #$20 138 BNE CH jump to non-space handler 139 JSR DO<_> jump to space handler 140 JMP LOOP 141 CH<$>> JMP CH<$> 142 CH JSR DO 143 JMP LOOP 144 CH<$l> JSR INC/2 145 CH JSR INC/PT 146 CH/$FF JSR FORCE 147 JSR DO 148 JMP LOOP 149 CH<$f> JSR INC/2 $f is also form feed 150 CH JSR INC/PT 151 JSR FORCE 152 JSR DO 153 JMP LOOP 154 CH<$p> JSR INC/2 $p is new paragraph 155 JSR INC/PT 156 JSR FORCE 157 JSR DO<$p> 158 JMP LOOP 159 CH/$14 LDA #$00 control-T if non-printing, but acts as if it was a space 160 STA SPAC\F 161 JSR INC/PT 162 JMP LOOP 163 CH<$> LDY SPAC\F 164 BNE DOLL 165 INY 166 LDA (Z!),Y 167 CMP '$ 168 BEQ CH<$$> 169 TAX 170 INY 171 LDA (Z!),Y 172 CMP #$20 173 BNE DOLL 174 CPX 'p 175 BEQ CH<$p> 176 CPX 'f 177 BEQ CH<$f> 178 CPX 'l 179 BEQ CH<$l> 180 DOLL LDA '$ 181 JMP CH 182 CH<$$> LDY #$02 this runs handler for double dollar commands 183 CH/$$1 LDA (Z!),Y 184 STA DD\BUF-2,Y 185 INY 186 CPY #$12 187 BNE CH/$$1 188 LDX #$00 189 LDA DD\BUF 190 BMI CH 191 CMP #$20 192 BEQ CH/$$2 193 SEC 194 SBC #$60 195 TAX 196 BCC CH 197 CH/$$2 JSR INC/2 198 JSR EX/$$ This executes the code for $$ commands 199 JSR ADJUST 200 JMP LOOP handle a non-space 201 DO JSR POSIT 202 LDX #$FF 203 STX SPAC\F flag if current chacter is space or not 204 JSR PUTCHR 205 JSR INC/PT 206 LDA FLAG 207 BNE DOX0 208 LDX EWID\\ 209 CPX LIN\PT 210 BCC TRIGER 211 DOX0 RTS handle a space 212 DO<_> JSR CKUN1 213 LDA #$20 214 JSR PUTCHR 215 LDA #$00 216 STA SPAC\F 217 JSR INC/PT 218 LDA FLAG 219 BEQ TEST_ 220 LDA Z! 221 CMP POSZ! 222 BNE DO_0 223 LDA Z!+1 224 CMP POSZ!+1 225 BNE DO_0 226 BEQ TRIGER 227 TEST_ LDA LEVL 228 BNE DO_0 229 LDA STACKP 230 BNE DO_0 231 FORCE1 LDA Z! 232 STA POSZ! 233 LDA Z!+1 234 STA POSZ!+1 235 DO_0 RTS 236 FORCE LDA FLAG 237 BNE DO_0 238 LDA STACKP 239 BEQ FORCE1 240 JMP SERROR 241 ; 242 TRIGER LDA KP/MD 243 BEQ TRIG1 244 LDA KP/Z! 245 STA POSZ! 246 LDA KP/Z!+1 247 STA POSZ!+1 248 LDA #$00 249 STA KP/MD 250 TRIG1 JSR MAN/CR 251 JSR X$$J 252 JMP SWITCH 253 ; 254 DO JSR MAN/FF 255 JMP SWITCH 256 DO JSR MAN/CR 257 SWITCH PLA 258 PLA 259 RTS 260 MAN/CR LDA LNSK\\ 261 LK<$p> ASL 262 ASL 263 ASL 264 CLC 265 ADC #$02 266 CLC 267 ADC RADSK+1 268 LDX FLAG 269 BNE SKPSUB 270 SEC 271 SBC RADSK 272 SKPSUB STA WIDTH 273 CLC 274 ADC #$07 275 LSR 276 LSR 277 LSR 278 STA SWEEP 279 LDX FLAG 280 BEQ DOCR0 281 LDX SLOT 282 BEQ INCOFF 283 JSR OUTPUT 284 CLC 285 LDA PAPCNT 286 ADC SWEEP 287 STA PAPCNT 288 JMP DOCR0 289 INCOFF CLC 290 LDA OFFSET 291 ADC WIDTH 292 STA OFFSET 293 DOCR0 LDA LMAR\\ 294 STA LIN\PT 295 JSR S/EWID 296 LDA #$00 297 STA SPAC\F 298 RTS 299 DO<$p> LDA #$00 300 STA SPAC\F 301 STA UNDL\F 302 LDA PASK\\ 303 JSR LK<$p> 304 CLC 305 LDA LMAR\\ 306 ADC INDT\\ 307 STA LIN\PT 308 JMP SWITCH 309 MAN/FF JSR MAN/CR 310 LDX FLAG 311 BEQ MANFF0 312 JSR DOPAGE 313 SKFF JSR INC/PN 314 JSR CLEAR 315 LDA HEADMD 316 STA TRIGHD 317 LDA #$00 318 STA PAPCNT 319 STA OFFSET 320 MANFF0 JMP DOCR0 321 ; 322 S/HEAD LDA TRIGHD 323 BEQ SHD0 324 BMI HDF 325 LDA HD/Z! 326 STA Z! 327 LDA HD/Z!+1 328 STA Z!+1 329 LDA SV/LIN 330 STA LIN\PT 331 LDA #$00 332 STA TRIGHD 333 RTS 334 HDF LDA Z! 335 STA HD/Z! 336 LDA Z!+1 337 STA HD/Z!+1 338 LDA LIN\PT 339 STA SV/LIN 340 LDA #$00 341 STA Z! 342 LDA #$96 343 STA Z!+1 344 LDA #$00 345 STA LIN\PT 346 LDA #$40 347 STA TRIGHD 348 SHD0 RTS 349 S/NOPR LDA #$00 350 STA FLAG 351 STA CENT\F 352 STA END\PT 353 LDY #$7F 354 STY BEG\PT 355 SWX1 STA FR/TAB,Y 356 STA FR/YOF,Y 357 DEY 358 BPL SWX1 359 LDA Z! 360 STA SAVZ! 361 LDA Z!+1 362 STA SAVZ!+1 363 LDY #FG\ZER-FG\BEG 364 SWW1 LDA FG\BEG,Y 365 STA SAVEFG,Y 366 DEY 367 BPL SWW1 368 LDA #$40 369 STA ZY 370 JMP SET/UP 371 S/YSPR LDA #$80 372 STA FLAG 373 LDA SAVZ! 374 STA Z! 375 LDA SAVZ!+1 376 STA Z!+1 377 LDY #FG\ZER-FG\BEG 378 SW2 LDA SAVEFG,Y 379 STA FG\BEG,Y 380 DEY 381 BPL SW2 382 JSR CHECK 383 JSR CENTER 384 SEC 385 LDA #$40 386 SBC RADSK 387 STA ZY 388 SET/UP LDX #$00 389 STX STACKP 390 STX RADPT 391 STX LEVL 392 STX FR/CNT 393 STX FR/STK 394 LDA ZY 395 STA RADSK 396 STA RADSK+1 397 JMP S/EWID 398 PUTCHR CMP #$7F 399 BNE REGPUT 400 JSR SET/PN 401 LDY #$00 402 STY PGNL\T 403 OUT/PN LDA PN\BUF,Y 404 JSR PNPUT 405 INC PGNL\T 406 LDY PGNL\T 407 CPY PN/LEN 408 BNE OUT/PN 409 RTS 410 PNPUT LDX FLAG 411 BEQ PNPUT0 412 JSR FDCHAR 413 JSR CHPLOT 414 PNPUT0 INC LIN\PT 415 RTS 416 REGPUT LDX FLAG 417 BEQ PUT0 418 JSR FDCHAR 419 LDA $3EE 420 BEQ PUT0 421 JSR CHPLOT 422 PUT0 JMP HDPSXY 423 ; 424 CKUN1 LDY #$04 425 CKUNL1 LDA (Z!),Y 426 CMP LTUNF1,Y 427 BNE CKUN2 428 DEY 429 BPL CKUNL1 430 BMI ZAPUND 431 CKUN2 LDY #$03 432 CKUNL2 LDA (Z!),Y 433 CMP LTUNF2,Y 434 BNE CKUN3 435 DEY 436 BPL CKUNL2 437 BMI ZAPUND 438 CKUN3 LDY #$03 439 CKUNL3 LDA (Z!),Y 440 CMP LTUNF3,Y 441 BNE CKUN0 442 DEY 443 BPL CKUNL3 444 ZAPUND LDA #$00 445 STA UNDL\F 446 CKUN0 RTS 447 ; 448 CHECK LDX SLOT 449 BNE CHECK0 450 CLC 451 LDA OFFSET 452 ADC WIDTH 453 CMP SCRN/L 454 BCS SOFTFF 455 CHECK0 RTS 456 CHECKP LDX SLOT 457 BEQ CHECK0 458 LDA PAPCNT 459 CMP PAGE/L 460 BCC CHECK0 461 SOFTFF LDA LIN\PT 462 PHA 463 JSR MAN/FF 464 PLA 465 STA LIN\PT 466 RTS 467 POSIT LDX LIN\PT 468 CPX BEG\PT 469 BCS POSIT1 470 STX BEG\PT 471 POSIT1 CPX END\PT 472 BCC POSIT0 473 STX END\PT 474 POSIT0 RTS 475 CENTER LDX CENT\F 476 BEQ NOCENT 477 LDX #$00 478 STA CENT\F 479 SEC 480 LDA CWID\\ 481 SBC RMAR\\ 482 SBC END\PT 483 SEC 484 ADC BEG\PT 485 LSR 486 STA LIN\PT 487 NOCENT RTS 488 ; 489 TB/$$ ADR X$$-1 table of addresses for double dollar commands 490 ADR X$$Y-1 491 ADR X$$Y-1 492 ADR X$$C-1 493 ADR X$$D-1 494 ADR X$$Y-1 495 ADR X$$Y-1 496 ADR X$$Y-1 497 ADR X$$H-1 498 ADR X$$I-1 499 ADR X$$J-1 500 ADR X$$K-1 501 ADR X$$L-1 502 ADR X$$M-1 503 ADR X$$N-1 504 ADR X$$O-1 505 ADR X$$P-1 506 ADR X$$Y-1 507 ADR X$$Y-1 508 ADR X$$S-1 509 ADR X$$T-1 510 ADR X$$U-1 511 ADR X$$V-1 512 ADR X$$Y-1 513 ADR X$$Y-1 514 ADR X$$Y-1 515 ADR X$$Y-1 516 X$$ LDX LIN\PT 517 DEY 518 X$$/1 INX 519 BEQ X$$/2 520 LDA TB\BUF,X 521 BEQ X$$/1 522 TXA 523 STA LIN\PT 524 X$$/2 RTS 525 X$$C LDA #$80 526 STA CENT\F 527 LDA FLAG 528 BEQ XC0 529 LDA SLOT 530 BEQ XC0 531 LDA #$05 532 STA SWEEP 533 ; JSR CHKPRT 534 XC0 LDY #$01 535 RTS 536 X$$D LDY FG\ZER-FG\BEG 537 X$$DX LDA #$00 538 XDL STA RMAR\\,Y 539 DEY 540 BPL XDL 541 JSR ZER/PN 542 JSR S/FORM 543 JSR TB/INT 544 LDY #$01 545 RTS 546 X$$H JSR UN/BEG 547 JMP X$$C 548 X$$I LDX #$00 549 JSR GT/POM 550 STX INDT\\ 551 RTS 552 X$$K INY 553 CMP 'f 554 BEQ KP/FIN 555 CMP 'b 556 BNE KP/ZAP 557 KP/BEG LDA FLAG 558 BNE KP/ZAP 559 LDA LIN\PT 560 BEQ KP/ZAP 561 CMP LMAR\\ 562 BEQ KP/ZAP 563 BCC KP/ZAP 564 CMP SMAR\\ 565 BEQ KP/ZAP 566 BCC KP/ZAP 567 SEC 568 LDA Z! 569 SBC #$02 570 STA KP/Z! 571 LDA Z!+1 572 SBC #$00 573 STA KP/Z!+1 574 LDA #$80 575 STA KP/MD 576 KP/ZAP RTS 577 KP/FIN LDA #$00 578 STA KP/MD 579 RTS 580 X$$J CLC 581 LDA LMAR\\ 582 ADC SMAR\\ 583 STA LIN\PT 584 RTS 585 X$$L JSR GT/NUM 586 BEQ X$$L0 587 STA LNSK\\ 588 X$$L0 RTS 589 X$$M INY 590 CMP 'l 591 BEQ MAR/LF 592 CMP 'r 593 BEQ MAR/RT 594 CMP 's 595 BEQ MAR/SF 596 JMP JESSE 597 MAR/LF LDX LMAR\\ 598 JSR GT/POM 599 STX LMAR\\ 600 RTS 601 MAR/RT LDX RMAR\\ 602 JSR GT/POM 603 STX RMAR\\ 604 JMP S/EWID 605 MAR/SF LDX SMAR\\ 606 JSR GT/POM 607 STX SMAR\\ 608 RTS 609 X$$N CMP 'p 610 BEQ X$$N/P 611 LDY #$01 612 JSR GT/NUM 613 STA PGNL\\ 614 LDA NUM\\+1 615 STA PGNH\\ 616 JSR SET/PN 617 LDY SV|Y\T 618 RTS 619 X$$N/P STA NP\FG 620 JSR ZER/PN 621 JSR S/FORM 622 TWO LDY #$02 623 RTS 624 X$$O LDX #$00 625 JSR GT/POM 626 TXA 627 BNE X$$OO 628 LDX #$01 629 X$$OO STX REP\\ 630 RTS 631 X$$P LDX LIN\PT 632 JSR GT/POM 633 TXA 634 BPL P/OK 635 LDX #$00 636 P/OK STX LIN\PT 637 RTS 638 X$$S JSR GT/NUM 639 CPY #$01 640 BEQ TWO 641 STA PASK\\ 642 RTS 643 X$$T CMP 'c 644 BEQ TAB/CL 645 LDX LIN\PT 646 JSR GT/POM 647 LDA #$80 648 STA TB\BUF,X 649 RTS 650 TAB/CL JMP TB/INT 651 X$$U INY 652 CMP 'f 653 BEQ UN/FIN 654 CMP 'b 655 BNE UN/ZAP 656 UN/BEG LDA TRANMD 657 STA UNDL\F 658 UN/ZAP RTS 659 UN/FIN LDA #$00 660 STA UNDL\F 661 RTS 662 X$$V CMP 'h 663 BNE VH/ZAP 664 LDA DD\BUF+2 665 CMP '1 666 BNE VH/ZAP 667 LDA #$80 668 STA HEADMD 669 LDY #$03 670 VHX1 LDA (Z!),Y 671 STA $9600-3,Y 672 INY 673 BNE VHX1 674 LDY #$03 675 RTS 676 VH/ZAP JMP JESSE 677 EX/$$ TXA 678 ASL 679 TAX 680 LDA TB/$$+1,X push the address of routine on stack and then RTS 681 PHA 682 LDA TB/$$,X 683 PHA 684 LDY #$01 685 LDA DD\BUF+1 686 RTS 687 S/FORM LDA #$05 688 STA INDT\\ 689 LDA #$02 690 STA PASK\\ 691 LDA #$01 692 STA LNSK\\ 693 STA REP\\ 694 LDX #$56 695 LDY #$BF 696 LDA NP\FG 697 BEQ ST/LEN 698 LDX #$51 699 LDY #$AF 700 ST/LEN STX PAGE/L 701 STY SCRN/L 702 S/EWID SEC 703 LDA CWID\\ 704 SBC RMAR\\ 705 STA EWID\\ 706 RTS 707 TB/INT LDY #$00 708 TYA 709 TBINL STA TB\BUF,Y 710 DEY 711 BNE TBINL 712 LDY #$02 713 RTS 714 ; 715 T/ABOR LDA ABOR\F 716 BNE DWT/0 717 LDA $C000 718 BMI CK/ESC 719 BPL DWT/0 720 SCRFLP JSR WAIT 721 CK/ESC CMP #$9B 722 BNE DWT/0 723 ABORT STA ABOR\F 724 LDX $C010 725 JMP QUIT 726 WAIT LDA SLOT 727 BNE DWT/0 728 LDY #$10 729 DWT1 LDA #$30 730 JSR $FCA8 731 LDA $C030 732 DEY 733 BPL DWT1 734 DWT2 LDA $C000 735 BPL DWT2 736 LDX $C010 737 DWT/0 RTS 738 ABSFIN LDA ABOR\F 739 BNE DWT/0 740 LDA SLOT 741 BEQ DOPAGE 742 LDA NP\FG 743 BEQ DWT/0 744 DOPAGE LDA NP\FG 745 BEQ DOPG0 746 LDA SLOT 747 BEQ DOPZ 748 DOPLP LDA PAPCNT 749 CMP #$55 750 BCS DOPQ 751 LDA #$8A 752 JSR OUT 753 INC PAPCNT 754 BNE DOPLP 755 DOPZ LDA #$B7 756 STA OFFSET 757 LDA #$00 758 STA ZY 759 DOPQ LDA PNPOS 760 STA LIN\PT 761 LDA ' 762 JSR PUTCHR 763 LDX SLOT 764 BEQ DOPG0 765 JSR OUTPUT 766 DOPG0 LDA SLOT 767 BEQ SCRFLP 768 LDA #$8C 769 JMP OUT 770 ZER/PN LDX #$00 771 STX PGNL\\ 772 STX PGNH\\ 773 INC/PN INC PGNL\\ 774 BNE IPN0 775 INC PGNH\\ 776 IPN0 JMP SET/PN 777 SET/PN LDA PGNL\\ 778 STA PGNL\T 779 LDA PGNH\\ 780 STA PGNH\T 781 LDX #$00 782 LDY #$06 783 SPN/OL LDA #$00 784 STA DC\BUF,X 785 SPN/IL LDA PGNL\T 786 CMP DEC/TB,Y 787 LDA PGNH\T 788 SBC DEC/TB+1,Y 789 BCC SPN/NX 790 LDA PGNL\T 791 SBC DEC/TB,Y 792 STA PGNL\T 793 LDA PGNH\T 794 SBC DEC/TB+1,Y 795 STA PGNH\T 796 INC DC\BUF,X 797 BNE SPN/IL 798 SPN/NX INX 799 DEY 800 DEY 801 BPL SPN/OL 802 LDX #$FF 803 SPN/1 INX 804 CPX #$03 805 BEQ PRT/PN 806 LDA DC\BUF,X 807 BEQ SPN/1 808 PRT/PN LDY #$00 809 LDA NP\FG 810 BEQ PRPN2 811 PRPN1 LDA PageLT,Y 812 STA PN\BUF,Y 813 INY 814 CPY #$05 815 BNE PRPN1 816 PRPN2 LDA DC\BUF,X 817 ORA #$30 818 STA PN\BUF,Y 819 INY 820 INX 821 CPX #$04 822 BNE PRPN2 823 STY PN/LEN 824 RTS 825 INC/2 JSR INC/PT 826 INC/PT INC Z! 827 BNE INC0 828 INC Z!+1 829 INC0 RTS 830 JESSE LDY #$00 831 JESSEL LDA (Z!),Y 832 BMI JESSE0 833 CMP #$20 834 BEQ JESSE0 835 CMP #$0D 836 BEQ JESSE0 837 CMP '$ 838 BEQ JESSE0 839 INY 840 BNE JESSEL 841 JESSE0 RTS 842 X$$Y EQU JESSE 843 ADJUST JSR YAD/PT 844 LDY #$00 845 NEMADJ LDA (Z!),Y 846 CMP #$20 847 BEQ INC/PT 848 RTS 849 YAD/PT CLC 850 TYA 851 ADC Z! 852 STA Z! 853 BCC YAD0 854 INC Z!+1 855 YAD0 RTS 856 Z/AA52 LDA #$00 857 STA $AA52 858 RTS 859 GT/POM STX NUM\T 860 LDA DD\BUF,Y 861 INY 862 STY SV|Y\T 863 CMP '- 864 BEQ MINUS 865 CMP '+ 866 BEQ PLUS 867 CMP '* 868 BEQ STAR 869 CMP '@ 870 BEQ ATSIGN 871 CMP '= 872 BEQ EQUAL 873 DEY 874 JSR GT/NUM 875 TAX 876 RTS 877 MINUS JSR GT/NUM 878 SEC 879 LDA NUM\T 880 SBC NUM\\ 881 TAX 882 RTS 883 PLUS JSR GT/NUM 884 CLC 885 LDA NUM\T 886 ADC NUM\\ 887 TAX 888 RTS 889 STAR LDX LIN\PT 890 RTS 891 ATSIGN LDX CWID\\ 892 RTS 893 EQUAL SEC 894 LDA CWID\\ 895 SBC LIN\PT 896 TAX 897 RTS 898 GT/NUM LDX #$00 899 STX NUM\\ 900 STX NUM\\+1 901 GT/1 LDA DD\BUF,Y 902 CMP #$3A 903 BCS GT/2 904 CMP #$30 905 BCC GT/2 906 AND #$0F 907 LDX #$09 908 GT/3 CLC 909 ADC NUM\\ 910 BCC GT/4 911 INC NUM\\+1 912 GT/4 DEX 913 BPL GT/3 914 STA NUM\\ 915 INY 916 BNE GT/1 917 GT/2 LDA NUM\\ 918 STY SV|Y\T 919 RTS 920 ; 921 INIT LDA FIRST 922 BNE INITX 923 LDY #FG\END-FG\BEG 924 JSR X$$DX 925 INITX LDA #PG\BUF 926 STA Z! 927 LDA /PG\BUF 928 STA Z!+1 929 STA JAMS\F 930 STA FIRST 931 LDA COMPUT 932 CMP #$04 933 BNE NT/GS 934 STA $C00C 935 LDA $C029 936 ORA #$20 937 STA $C029 938 LDA $C05E 939 NT/GS STA $C054 940 STA $C057 941 STA $C050 942 STA $C052 943 JSR CLEAR 944 LDA SLOT 945 BEQ NTSLT 946 LDA $FF 947 ASL 948 ASL 949 ASL 950 ASL 951 TAX 952 LDA $1E82,X 953 STA PTYPE 954 TAX 955 LDA PLEN,X 956 STA CWID\\ 957 SEC 958 SBC #$06 959 LSR 960 STA PNPOS 961 LDX SLOT 962 LDA $1E60,X 963 STA CTYPE 964 JSR FIX70 965 LDA SLOT 966 CLC 967 ADC #$C0 968 STA $37 969 LDA #$00 970 STA $36 971 LDA #$80 972 JSR $FDED 973 LDA $36 974 STA $1E86 975 LDA $37 976 STA $1E87 977 JSR REPDOS 978 JSR FIX/CD 979 RTS 980 NTSLT LDA #$28 981 STA CWID\\ 982 LDA #$11 983 STA PNPOS 984 LDA HEADMD 985 STA TRIGHD 986 RTS 987 ; 988 FIX70 CMP #$08 989 BEQ FIX/SB 990 CMP #$01 991 BEQ FIX/SS 992 CMP #$04 993 BEQ FIX/2C 994 RTS 995 FIX/SS LDA #$70 996 STA $1E74 997 RTS 998 FIX/2C LDA #$30 999 STA $1E74 1000 RTS 1001 FIX/SB LDA $1E70 1002 AND #$F0 1003 STA $1E70 1004 LDA $1E72 1005 AND #$F0 1006 STA $1E72 1007 RTS 1008 FIX/CD LDA CTYPE 1009 CMP #$0C 1010 BNE FIXC2 1011 LDX SLOT 1012 LDA $1EE8,X 1013 JSR GS 1014 LDA 'L 1015 JSR GS 1016 LDA 'D 1017 JSR GS 1018 LDA $1EE8,X 1019 JSR GS 1020 LDA 'Z 1021 JMP GS 1022 FIXC2 CMP #$1C 1023 BNE FIXC0 1024 LDX #$00 1025 FIXC4 LDA PROLIT,X 1026 BEQ FIXC0 1027 JSR GS 1028 INX 1029 BNE FIXC4 1030 FIXC0 RTS 1031 PROLIT HEX 09 1032 ASC 'H' 1033 HEX 09 1034 ASC '0N' 1035 HEX 09 1036 ASC 'T' 1037 HEX 00 1038 ; 1039 CLEAR LDY #$00 1040 STY HBASL 1041 LDA #$20 1042 STA HBASL+1 1043 INITLP LDA #$00 1044 INITLQ STA (HBASL),Y 1045 INY 1046 BNE INITLQ 1047 INC HBASL+1 1048 LDA HBASL+1 1049 AND #$1F 1050 BNE INITLP 1051 RTS 1052 ; 1053 ANDQQ EQU $1E74 1054 CMPQQ EQU $1E75 1055 ; 1056 X/PLAY HEX 00 1057 LPCH HEX 00 1058 PSX0 HEX 00 1059 PSY0 HEX 00 1060 SWEEP HEX 00 1061 YSV HEX 00 1062 TEMP HEX 00 1063 BUFX HEX 00000000000000000000 1064 OUTPUT LDY #$03 1065 HPL LDA $1E70,Y 1066 STA $FA,Y 1067 DEY 1068 BPL HPL 1069 LDA #$00 1070 STA PSY0 1071 ROW LDA #$00 1072 STA OVER\\ 1073 ROWX LDX PTYPE 1074 LDY PTAB,X 1075 PRW LDA PLIT,Y 1076 BEQ PON 1077 JSR OUT 1078 INY 1079 BNE PRW 1080 PON JSR SROW 1081 LDA #$8D 1082 JSR OUT 1083 INC OVER\\ 1084 LDA OVER\\ 1085 CMP REP\\ 1086 BNE ROWX 1087 LDA #$8A 1088 JSR OUT 1089 CLC 1090 LDA PSY0 1091 ADC #$08 1092 STA PSY0 1093 CMP WIDTH 1094 BCC ROW 1095 JMP CLEAR 1096 SROW LDA #$00 1097 STA PSX0 1098 BLIP LDA #$00 1099 STA LPCH 1100 LDA PSX0 1101 STA X/PLAY 1102 INGET CLC 1103 LDA PSY0 1104 ADC LPCH 1105 LDX PSX0 1106 JSR YADD 1107 LDY PSX0 1108 LDX LPCH 1109 LDA (HBASL),Y 1110 STA BUFX,X 1111 INC LPCH 1112 LDA LPCH 1113 CMP #$08 1114 BNE INGET 1115 LDY #$06 1116 LP1 LDX #$00 1117 LP2 LSR BUFX,X 1118 ROR LPCH 1119 INX 1120 CPX #$08 1121 BNE LP2 1122 LDA LPCH 1123 JSR OUT/FL 1124 DEY 1125 BPL LP1 1126 INC PSX0 1127 LDA PSX0 1128 CMP CWID\\ 1129 BNE BLIP 1130 RTS 1131 ; 1132 PLEN HEX 004C3A 1133 PTAB HEX 0000 1134 BYT ELIT-PLIT 1135 PLIT HEX 1B 1136 ASC 'N' 1137 HEX 1B 1138 ASC 'L004' 1139 HEX 1B 1140 ASC 'T16' 1141 HEX 1B 1142 ASC 'G0532' 1143 HEX 00 1144 ELIT HEX 1B 1145 ASC 'P' 1146 HEX 1B6C041B41081B 1147 ASC 'U1' 1148 HEX 1B4B9601 1149 HEX 00 1150 ; 1151 ; 1152 OUT/FL STY YSV 1153 LDY PTYPE 1154 CPY #$02 1155 BNE OUT/AW 1156 JSR FLIP 1157 OUT/AW LDY YSV 1158 ; 1159 OUT STY YSV 1160 LDY CTYPE 1161 CPY #$0C 1162 BEQ GS 1163 CPY #$1C 1164 BEQ GS 1165 PHA 1166 OUTNG LDY #$00 1167 LDA ($FA),Y 1168 AND ANDQQ 1169 CMP CMPQQ 1170 BNE OUTNG 1171 PLA 1172 STA ($FC),Y 1173 LDY YSV 1174 RTS 1175 GS LDY YSV 1176 JMP ($1E86) 1177 ; 1178 FLIP LDY #$00 1179 STY TEMP 1180 LDY #$08 1181 OUTEL LSR 1182 ROL TEMP 1183 DEY 1184 BNE OUTEL 1185 LDA TEMP 1186 RTS 1187 ; 1188 YADD LDX X/PLAY 1189 CPX #$28 1190 BCC YADD0 1191 CLC 1192 ADC #$30 1193 PHA 1194 SEC 1195 TXA 1196 SBC #$28 1197 STX X/PLAY 1198 PLA 1199 YADD0 PHA 1200 AND #$C0 1201 STA HBASL 1202 LSR 1203 LSR 1204 ORA HBASL 1205 STA HBASL 1206 PLA 1207 STA HBASL+1 1208 ASL 1209 ASL 1210 ASL 1211 ROL HBASL+1 1212 ASL 1213 ROL HBASL+1 1214 ASL 1215 ROR HBASL 1216 LDA HBASL+1 1217 AND #$1F 1218 ORA #$20 1219 STA HBASL+1 1220 RTS 1221 FDCHAR STA $3EE save the ASCII value 1222 CMP #$60 is it an accent? 1223 BEQ FDSPCH 1224 LDY #RGCHAR calculate starting address of 8 bytes for the character 1225 STY CHTL+1 1226 SEC 1227 SBC #$20 1228 BPL FD2 1229 LDA #$00 1230 FD2 ASL 1231 ASL 1232 ROL CHTL+1 1233 ASL 1234 ROL CHTL+1 1235 STA CHTL 1236 CLC 1237 LDA CHTL+1 1238 ADC /RGCHAR 1239 STA CHTL+1 1240 LDY #$07 1241 FD8 LDA (CHTL),Y 1242 STA WALF,Y store the 8 bytes in buffer WALF 1243 DEY 1244 BPL FD8 1245 RTS 1246 FDSPCH LDY #$01 find special character 1247 LDA (Z!),Y 1248 STA WALF 1249 INY 1250 LDA (Z!),Y 1251 STA WCHAR 1252 LDA WALF 1253 CMP #$6C if 'l', resposition level 1254 BEQ PLEVEL 1255 CMP #$7A if 'z' reposition level (now considered baseline) 1256 BEQ NOPRZ 1257 CMP #$70 if 'p' it is a stack operation 1258 BEQ NOPRZ 1259 LOCATE LDA #$03 The shape table is located in Apple II AUX memory 1260 STA $3ED 1261 LDA #$AF 1262 STA $3EE 1263 SEC 1264 CLV 1265 JMP $C314 some serious bank switching to get the pattern into WALF 1266 PLEVEL JSR SETLEV 1267 BPL PLEV1 1268 LDA LEVL 1269 BNE PLEV1 1270 LDA LIN\PT 1271 STA SVL\PT 1272 PLEV1 LDA LEVL 1273 BPL NOPRZ 1274 LDA WCHAR 1275 BEQ NOPRZ 1276 BMI NOPRZ 1277 LDA SVL\PT 1278 STA LIN\PT 1279 NOPRZ LDA #$00 1280 STA $3EE 1281 RTS 1282 CHPLOT LDY #$00 plot the character in hi-res memory 1283 STY LPCH 1284 LDA LIN\PT 1285 STA X/PLAY 1286 TOP LDA WALF,Y 1287 PHA 1288 CLC 1289 LDA ZY 1290 ADC OFFSET 1291 CLC 1292 ADC LPCH 1293 JSR YADD 1294 LDY X/PLAY 1295 PLA 1296 ORA (HBASL),Y 1297 STA (HBASL),Y 1298 INC LPCH 1299 LDY LPCH 1300 CPY #$08 1301 BNE TOP 1302 LDA UNDL\F 1303 BEQ PLOT0 1304 LDY X/PLAY 1305 LDA #$7F 1306 STA (HBASL),Y 1307 PLOT0 RTS 1308 ; 1309 HDPSXY JSR RADSET 1310 LDY #$00 1311 LDA (Z!),Y 1312 CMP #$60 1313 BEQ HDSPCH 1314 INC LIN\PT 1315 RTS 1316 STERR JMP SERROR 1317 HDSPCH INY 1318 LDA (Z!),Y 1319 STA WALF 1320 INY 1321 LDA (Z!),Y 1322 STA WCHAR 1323 JSR INC/2 1324 LDA WALF 1325 CMP #$70 1326 BEQ HDSTAK 1327 CMP #$7A 1328 BEQ HDLEVZ 1329 CMP #$6C 1330 BEQ HDLEV 1331 INC LIN\PT 1332 RTS 1333 HDLEVZ JSR SETLEV 1334 SEC 1335 LDA ZY 1336 SBC WCHAR 1337 STA ZY 1338 LDA #$00 1339 STA LEVL 1340 RTS 1341 HDLEV JSR SETLEV 1342 LDA LEVL 1343 SEC 1344 SBC WCHAR 1345 CLC 1346 ADC ZY 1347 STA ZY 1348 LDA WCHAR 1349 STA LEVL 1350 RTS 1351 SETLEV SEC 1352 LDA WCHAR 1353 SBC #$6D 1354 STA WCHAR 1355 RTS 1356 HDSTAK SEC 1357 LDA WCHAR 1358 SBC #$61 1359 ASL 1360 TAY 1361 LDA HD/TAB+1,Y 1362 PHA 1363 LDA HD/TAB,Y 1364 PHA 1365 LDA WCHAR 1366 RTS 1367 ; 1368 HD/TAB ADR MARK-1 1369 ADR BACK-1 1370 ADR LITPAT-1 1371 ADR LITPAT-1 1372 ADR LITPAT-1 1373 ADR FR/SRT-1 1374 ADR FR/MID-1 1375 ADR FR/END-1 1376 ADR NOPE-1 1377 ADR NOPE-1 1378 ADR CRASH-1 1379 ADR LIT/MD-1 1380 ADR NOPE-1 1381 ADR NEM/MD-1 1382 ADR POP-1 1383 ADR NOPE-1 1384 ADR RPOP-1 1385 ADR NOPE-1 1386 ADR NOPE-1 1387 ADR SWAPT-1 1388 ADR PUSHRD-1 1389 ADR PUSH-1 1390 ADR PUSHRD-1 1391 ADR PUSH-1 1392 ADR MARK-1 1393 ADR PLSAVE-1 1394 ; 1395 CRASH BRK 1396 BACK DEC LIN\PT 1397 NOPE RTS 1398 LIT/MD LDA #$80 1399 STA TRANMD 1400 LITPAT LDA #$00 1401 STA SPAC\F 1402 LDY #$01 1403 JMP NEMADJ 1404 NEM/MD LDA #$00 1405 STA TRANMD 1406 STA UNDL\F 1407 BEQ LITPAT 1408 PUSHRD INC RADPT 1409 INC RADPT 1410 PHA 1411 LDX RADPT 1412 LDA ZY 1413 STA RADSK,X 1414 STA RADSK+1,X 1415 PLA 1416 PUSH STA KIND 1417 LDX STACKP 1418 LDY #$00 1419 PUSHL LDA LIN\PT,Y 1420 STA STACK,X 1421 INX 1422 INY 1423 CPY #$04 1424 BNE PUSHL 1425 STX STACKP 1426 LDA KIND 1427 CMP #$75 1428 BNE PUSH2 1429 LDY #$03 1430 PUSH3 LDA LIN\PT,Y 1431 STA SAVE,Y 1432 DEY 1433 BPL PUSH3 1434 PUSH2 RTS 1435 RPOP JSR POP 1436 LDA POP/X 1437 STA LIN\PT 1438 RTS 1439 POP LDA LIN\PT 1440 STA POP/X 1441 LDA ZY 1442 STA POP/Y 1443 SEC 1444 LDA STACKP 1445 BEQ SERROR 1446 SBC #$04 1447 STA STACKP 1448 TAX 1449 LDY #$00 1450 POPL LDA STACK,X 1451 STA LIN\PT,Y 1452 INX 1453 INY 1454 CPY #$04 1455 BNE POPL 1456 CMP 'w 1457 BEQ RADFN0 1458 CMP 'a 1459 BEQ UNBAR0 1460 CMP 'y 1461 BEQ OVBAR0 1462 CMP 'u 1463 BEQ ZAPRAD 1464 RTS 1465 RADFN0 JMP RADFN 1466 UNBAR0 JMP UNDERB 1467 OVBAR0 JMP OVERB 1468 ZAPRAD JMP DECSET 1469 SERROR LDA Z! 1470 STA SIZE 1471 SEC 1472 LDA Z!+1 1473 SBC #$82 1474 STA SIZE+1 1475 JSR $E00 1476 LDA #$01 1477 JMP ABORT 1478 MARK LDX STACKP 1479 STA STACK-1,X 1480 RTS 1481 SWAPS LDA 'v 1482 BNE SWAP 1483 SWAPT LDA 'u 1484 SWAP LDX STACKP 1485 DEX 1486 DEX 1487 DEX 1488 DEX 1489 XB CMP STACK+3,X 1490 BEQ SW1 1491 DEX 1492 DEX 1493 DEX 1494 DEX 1495 BMI SERROR 1496 BPL XB 1497 SW1 LDY #$00 1498 SWAPL LDA LIN\PT,Y 1499 STA T3 1500 LDA STACK,X 1501 STA LIN\PT,Y 1502 LDA T3 1503 STA STACK,X 1504 INX 1505 INY 1506 CPY #$03 1507 BNE SWAPL 1508 RTS 1509 PLSAVE LDY STACKP 1510 LDX #$00 1511 LPP LDA SAVE,X 1512 STA STACK,Y 1513 INY 1514 STY STACKP 1515 INX 1516 CPX #$04 1517 BNE LPP 1518 INC RADPT 1519 INC RADPT 1520 PL0 RTS 1521 FR/SRT LDA 'v 1522 JSR PUSH 1523 LDA 'v 1524 JSR PUSH 1525 INC FR/CNT 1526 INC FR/CNT 1527 INC FR/STK 1528 LDY FR/STK 1529 LDA FR/CNT 1530 STA FSTACK,Y 1531 TAX 1532 CLC 1533 LDA LIN\PT 1534 ADC FR/TAB,X 1535 STA LIN\PT 1536 RTS 1537 FR/MID JSR SWAPS 1538 LDX FR/STK 1539 INC FSTACK,X 1540 LDA FSTACK,X 1541 TAY 1542 LSR 1543 TAX 1544 CLC 1545 LDA LIN\PT 1546 ADC FR/TAB,Y 1547 STA LIN\PT 1548 LDA ZY 1549 STA FR/BAS,X 1550 ADC FR/YOF,X 1551 STA ZY 1552 ADC #$18 1553 STA FR/TST,X 1554 JSR INC/PT 1555 JMP HDPSXY+3 1556 FR/END LDA LIN\PT 1557 STA END/X 1558 JSR POP 1559 LDA KIND 1560 CMP #$76 1561 BNE SER88 1562 LDY FR/STK 1563 LDA FSTACK,Y 1564 AND #$FE 1565 TAX 1566 LSR 1567 TAY 1568 SEC 1569 LDA LIN\PT 1570 SBC END/X 1571 BCC FRR0 1572 LSR 1573 STA FR/TAB+1,X 1574 LDA LIN\PT 1575 STA END/X 1576 JMP FR1 1577 FRR0 SEC 1578 LDA END/X 1579 SBC LIN\PT 1580 LSR 1581 STA FR/TAB,X 1582 FR1 CLC 1583 LDA FR/BAS,Y 1584 ADC #$07 1585 SBC FR/TST,Y 1586 BMI FR11 1587 STA FR/YOF,Y 1588 FR11 JSR POP 1589 LDA KIND 1590 CMP #$76 1591 BEQ FR5 1592 SER88 JMP SERROR 1593 FR5 LDX END/X 1594 DEX 1595 LDY ZY 1596 INY 1597 INY 1598 INY 1599 STY ZY 1600 JSR LINE 1601 LDY ZY 1602 DEY 1603 DEY 1604 DEY 1605 STY ZY 1606 INC LIN\PT 1607 DEC FR/STK 1608 RTS 1609 LINE STX T3 1610 DEC LIN\PT 1611 LINELP INC LIN\PT 1612 LDA #$76 1613 JSR MCHAR 1614 LDX LIN\PT 1615 CPX T3 1616 BNE LINELP 1617 RTS 1618 DECSET DEC RADPT 1619 DEC RADPT 1620 RADSET LDX RADPT 1621 YR0 LDA ZY 1622 CMP RADSK,X 1623 BCS YR1 1624 STA RADSK,X 1625 YR1 CMP RADSK+1,X 1626 BCC YR2 1627 STA RADSK+1,X 1628 YR2 DEX 1629 DEX 1630 BPL YR0 1631 LDX FR/STK 1632 BEQ ZZR0 1633 ZZR5 LDA FSTACK,X 1634 LSR 1635 BCC ZZR3 1636 TAY 1637 LDA ZY 1638 CMP FR/TST,Y 1639 BCS ZZR3 1640 STA FR/TST,Y 1641 ZZR3 DEX 1642 BNE ZZR5 1643 ZZR0 RTS 1644 RADGET LDX RADPT 1645 LDA RADSK+1,X 1646 STA BOT/Y 1647 SEC 1648 LDA RADSK,X 1649 SBC #$03 1650 STA TOP/Y 1651 RTS 1652 OVERB JSR RADGET 1653 LDA TOP/Y 1654 STA ZY 1655 JSR DECSET 1656 JMP BAR 1657 UNDERB JSR RADGET 1658 LDA BOT/Y 1659 CLC 1660 ADC #$03 1661 STA ZY 1662 JSR DECSET 1663 CLC 1664 LDA ZY 1665 ADC #$05 1666 STA ZY 1667 JMP BAR 1668 RADFN JSR RADGET 1669 LDA BOT/Y 1670 STA ZY 1671 LDA #$72 1672 JSR MCHAR 1673 LDA TOP/Y 1674 STA ZY 1675 JSR DECSET 1676 JSR VERBAR 1677 INC LIN\PT 1678 LDA TOP/Y 1679 STA ZY 1680 BAR LDX POP/X 1681 DEX 1682 JSR LINE 1683 LDA POP/Y 1684 STA ZY 1685 LDA POP/X 1686 STA LIN\PT 1687 RTS 1688 VERBAR INC ZY 1689 VERLP SEC 1690 LDA BOT/Y 1691 SBC ZY 1692 CMP #$01 1693 BCC MCH0 1694 LDA #$77 1695 JSR MCHAR 1696 INC ZY 1697 BNE VERLP 1698 MCHAR STA WCHAR 1699 LDA #$6D 1700 STA WALF 1701 LDX FLAG 1702 BEQ MCH0 1703 JSR LOCATE 1704 JMP CHPLOT 1705 MCH0 RTS 1706 ; 1707 XX HEX 00 1708 ; 1709 DD\BUF HEX 0000000000000000 1710 HEX 0000000000000000 1711 DC\BUF HEX 000000000000 1712 PN\BUF HEX 000000000000 1713 RADSK DFS $20 1714 STACK DFS $40 1715 FSTACK DFS $10 1716 FR/TAB DFS $60 1717 FR/YOF DFS $30 1718 FR/BAS DFS $30 1719 FR/TST DFS $30 1720 END !A **END OF PASS 1 **END OF PASS 2 7200 1 ORG $7200 7200 2 OBJ $800 7200 3 ;---->>> MOD12 7200 4 ; 06/28/89 1720 END ***** END OF ASSEMBLY ************************* * * * SYMBOL TABLE -- V 1.5 * * * ************************* LABEL. LOC. LABEL. LOC. LABEL. LOC. ** ZERO PAGE VARIABLES: CHTL 001A HBASL 0008 Z! 001C ** ABSOLUTE VARABLES/LABELS SIZE 7203 SLOT 7205 WHAT 7206 SAVEFG 0200 RGCHAR 0900 PG\BUF 8200 TB\BUF 9800 REPDOS A851 ABOR\F 1E4E JAMS\F 1E5A COMPUT 1E60 FIRST 94F0 WALF 0150 WCHAR 0151 FG\BEG 9440 RMAR\\ 9441 LMAR\\ 9442 SMAR\\ 9443 LNSK\\ 9444 PASK\\ 9445 INDT\\ 9446 EWID\\ 9447 KP/MD 9448 SVL\PT 9449 NUM\\ 944A LIN\PT 944C ZY 944D LEVL 944E KIND 944F SPAC\F 9450 TRANMD 9451 UNDL\F 9452 SV|Y\T 9453 PN/LEN 9454 NUM\T 9455 PGNL\T 9456 PGNH\T 9457 END/X 9458 T3 945A NP\FG 945C PGNL\\ 9460 PGNH\\ 9461 FG\ZER 9462 SAVE 9463 RADPT 9467 STACKP 9468 WIDTH 9469 CWID\\ 946A PAGE/L 946B PTYPE 946C CTYPE 946D PNPOS 946E SCRN/L 946F SAVZ! 9470 POSZ! 9472 KP/Z! 9474 HD/Z! 9476 SV/LIN 9479 CENT\F 947A BEG\PT 947B END\PT 947C POP/X 947D POP/Y 947E TRIGHD 947F HEADMD 9480 PAPCNT 9482 REP\\ 9483 OVER\\ 9384 TOP/Y 9385 BOT/Y 9386 FG\END 948F OFFSET 720A FLAG 720B STAK/Q 720C FR/CNT 720D FR/STK 720E DEC/TB 720F PageLT 7217 LTUNF1 721C LTUNF2 7221 LTUNF3 7225 START 7229 MLOOP 7230 QUIT 724F LOOP 7259 CH<$>> 7281 CH 7284 CH<$l> 728A CH 728D CH/$FF 7290 CH<$f> 7299 CH 729C CH<$p> 72A8 CH/$14 72B7 CH<$> 72C2 DOLL 72E2 CH<$$> 72E7 CH/$$1 72E9 CH/$$2 7304 DO 7310 DOX0 732B DO<_> 732C TEST_ 7351 FORCE1 735B DO_0 7365 FORCE 7366 TRIGER 7373 TRIG1 7389 DO 7392 DO 7398 SWITCH 739B MAN/CR 739E LK<$p> 73A1 SKPSUB 73B4 INCOFF 73DA DOCR0 73E4 DO<$p> 73F3 MAN/FF 740E SKFF 7419 MANFF0 742D S/HEAD 7430 HDF 744D SHD0 746F S/NOPR 7470 SWX1 7480 SWW1 7495 S/YSPR 74A6 SW2 74B7 SET/UP 74CF PUTCHR 74EC OUT/PN 74F8 PNPUT 750A PNPUT0 7515 REGPUT 7519 PUT0 7529 CKUN1 752C CKUNL1 752E CKUN2 753A CKUNL2 753C CKUN3 7548 CKUNL3 754A ZAPUND 7554 CKUN0 7559 CHECK 755A CHECK0 756B CHECKP 756C SOFTFF 7579 POSIT 7585 POSIT1 7590 POSIT0 7598 CENTER 7599 NOCENT 75B5 TB/$$ 75B6 X$$ 75EC X$$/1 75F0 X$$/2 75FC X$$C 75FD XC0 7611 X$$D 7614 X$$DX 7617 XDL 7619 X$$H 762B X$$I 7631 X$$K 763A KP/BEG 7643 KP/ZAP 766F KP/FIN 7670 X$$J 7676 X$$L 7681 X$$L0 7689 X$$M 768A MAR/LF 769A MAR/RT 76A4 MAR/SF 76B0 X$$N 76BA X$$N/P 76D3 TWO 76DC X$$O 76DF X$$OO 76E9 X$$P 76ED P/OK 76F8 X$$S 76FC X$$T 7707 TAB/CL 7717 X$$U 771A UN/BEG 7723 UN/ZAP 7729 UN/FIN 772A X$$V 7730 VHX1 7742 VH/ZAP 774D EX/$$ 7750 S/FORM 7761 ST/LEN 7780 S/EWID 7786 TB/INT 7791 TBINL 7794 T/ABOR 779D SCRFLP 77A9 CK/ESC 77AC ABORT 77B0 WAIT 77B9 DWT1 77C0 DWT2 77CB DWT/0 77D3 ABSFIN 77D4 DOPAGE 77E3 DOPLP 77ED DOPZ 77FE DOPQ 7808 DOPG0 781B ZER/PN 7825 INC/PN 782D IPN0 7835 SET/PN 7838 SPN/OL 7848 SPN/IL 784D SPN/NX 7872 SPN/1 7879 PRT/PN 7883 PRPN1 788A PRPN2 7895 INC/2 78A7 INC/PT 78AA INC0 78B0 JESSE 78B1 JESSEL 78B3 JESSE0 78C6 X$$Y 78B1 ADJUST 78C7 NEMADJ 78CC YAD/PT 78D3 YAD0 78DD Z/AA52 78DE GT/POM 78E4 MINUS 7908 PLUS 7914 STAR 7920 ATSIGN 7924 EQUAL 7928 GT/NUM 7931 GT/1 7939 GT/3 7948 GT/4 7951 GT/2 795A INIT 7961 INITX 796B NT/GS 798E NTSLT 79EB FIX70 79FC FIX/SS 7A09 FIX/2C 7A0F FIX/SB 7A15 FIX/CD 7A26 FIXC2 7A4B FIXC4 7A51 FIXC0 7A5C PROLIT 7A5D CLEAR 7A65 INITLP 7A6D INITLQ 7A6F ANDQQ 1E74 CMPQQ 1E75 X/PLAY 7A7D LPCH 7A7E PSX0 7A7F PSY0 7A80 SWEEP 7A81 YSV 7A82 TEMP 7A83 BUFX 7A84 OUTPUT 7A8E HPL 7A90 ROW 7A9E ROWX 7AA3 PRW 7AA9 PON 7AB4 SROW 7ADD BLIP 7AE2 INGET 7AED LP1 7B11 LP2 7B13 PLEN 7B33 PTAB 7B36 PLIT 7B39 ELIT 7B4B OUT/FL 7B5B OUT/AW 7B68 OUT 7B6B OUTNG 7B7A GS 7B8D FLIP 7B93 OUTEL 7B9A YADD 7BA5 YADD0 7BB8 FDCHAR 7BDA FD2 7BEC FD8 7BFE FDSPCH 7C07 LOCATE 7C23 PLEVEL 7C32 PLEV1 7C42 NOPRZ 7C54 CHPLOT 7C5A TOP 7C65 PLOT0 7C95 HDPSXY 7C96 STERR 7CA5 HDSPCH 7CA8 HDLEVZ 7CCA HDLEV 7CDD SETLEV 7CF5 HDSTAK 7CFF HD/TAB 7D13 CRASH 7D47 BACK 7D48 NOPE 7D4B LIT/MD 7D4C LITPAT 7D51 NEM/MD 7D5B PUSHRD 7D65 PUSH 7D79 PUSHL 7D81 PUSH3 7D99 PUSH2 7DA2 RPOP 7DA3 POP 7DAD POPL 7DC7 RADFN0 7DE4 UNBAR0 7DE7 OVBAR0 7DEA ZAPRAD 7DED SERROR 7DF0 MARK 7E05 SWAPS 7E0C SWAPT 7E10 SWAP 7E12 XB 7E19 SW1 7E26 SWAPL 7E28 PLSAVE 7E41 LPP 7E46 PL0 7E5B FR/SRT 7E5C FR/MID 7E84 FR/END 7EB4 FRR0 7EE5 FR1 7EF0 FR11 7EFE SER88 7F08 FR5 7F0B LINE 7F2B LINELP 7F31 DECSET 7F42 RADSET 7F48 YR0 7F4B YR1 7F56 YR2 7F5E ZZR5 7F67 ZZR3 7F79 ZZR0 7F7C RADGET 7F7D OVERB 7F90 UNDERB 7F9F RADFN 7FBA BAR 7FDD VERBAR 7FF1 VERLP 7FF4 MCHAR 8009 MCH0 801C XX 801D DD\BUF 801E DC\BUF 802E PN\BUF 8034 RADSK 803A STACK 805A FSTACK 809A FR/TAB 80AA FR/YOF 810A FR/BAS 813A FR/TST 816A SYMBOL TABLE STARTING ADDRESS:6000 SYMBOL TABLE LENGTH:0C12