LOAD FTRANS.ASM BLOAD FTRANS.ASM,A$1800 FILE NOT FOUND !L 1 ORG $7200 2 OBJ $800 3 ; 4 ;--->> MOD4 5 ; 2-23-88 6 NLS 7 Z06 EPZ $06 8 Z07 EPZ $07 9 Z08 EPZ $08 10 Z09 EPZ $09 11 Z1A EPZ $1A 12 Z1B EPZ $1B 13 Z1C EPZ $1C 14 Z1D EPZ $1D 15 Z1E EPZ $1E 16 Z1F EPZ $1F 17 ; 18 KEYMOD EQU $1E19 19 INVMOD EQU $1E0C 20 STAT^ EQU $1E11 21 STATUC EQU $1E1A 22 ; 23 PRMON EQU $FDED 24 INPUT EQU $FD18 25 BUF EQU $8200 26 ATBL EQU $9600 27 GRD2 EQU $2000 28 ABLOC EQU $1E4E 29 ; 30 JMP START 31 ; 32 SIZE HEX 0000 33 JMP QUICK 34 MOVE HEX 00 35 HOLD HEX 20 36 BEFORE HEX 20 37 TARG HEX 00 38 CAPMD HEX 80 39 MASK HEX 00 40 ABBR HEX 00 41 NUM HEX 00 42 SHOLD HEX 00 43 RYSV HEX 00 44 TEMP HEX 00 45 SZ1C HEX 00 46 SZ1D HEX 00 47 CBFLG HEX 00 48 CNFLG HEX 00 49 CREVFG HEX 00 50 CAPFG HEX 00 51 FORFLG HEX 00 52 DOCFLG HEX 00 53 ONEFLG HEX 00 54 PPFLG HEX 00 55 STOPUN ASC '$$uf' 56 MQ ASC '$$mq ' 57 HEX 00 58 MD HEX 14 59 ASC '$$md' 60 HEX 1400 61 ; 62 START JSR SETUP 63 JSR ATBIN 64 STXX LDA #$20 65 STA HOLD 66 STA $81FF 67 LOOP JSR ABORT 68 LDA HOLD 69 STA BEFORE 70 LDY #$00 71 LDA (Z1C),Y 72 STA SHOLD 73 CMP #$FF 74 BEQ FIN 75 JSR CKSIZE 76 JSR STYPE 77 DEX 78 BMI SPACE 79 BEQ SLET0 80 DEX 81 BEQ LETTER 82 DEX 83 BEQ NUMBER 84 DEX 85 BEQ PUNC 86 DEX 87 BEQ CONTR 88 DEX 89 BEQ CBFN 90 DEX 91 BEQ CBC 92 BRK 93 LETTER CLC 94 ADC #$20 95 SLET0 JMP SLET 96 FIN LDX CNFLG 97 CPX #$20 98 BNE FIN1 99 JSR STYPE3 100 FIN1 PHA 101 JSR FINCK0 102 PLA 103 LDX #$00 104 STX CAPFG 105 RTS 106 FINCK0 JSR FINCK 107 RTS 108 ; 109 CONTR CMP #$14 110 BEQ SPACE 111 STA HOLD 112 LDA #$00 113 STA ABBR 114 SPC1 LDA #$01 115 JSR INC 116 JMP LOOP 117 NUMBER STA HOLD 118 LDA BEFORE 119 JSR TYPE 120 CPX #$03 121 BEQ BN 122 LDA '# 123 JSR INSERT 124 BN LDY #$00 125 LDA (Z1C),Y 126 CMP #$30 127 BNE NN1 128 LDA #$3A 129 NN1 CLC 130 ADC #$30 131 STA (Z1C),Y 132 BNE SPC1 133 SPACE STA HOLD 134 LDX #$00 135 STX ABBR 136 BEQ WORD0 137 CBFN LDX #$38 138 BNE WORD0 139 CBC JSR CNCAPS 140 LDY #$00 141 LDA (Z1C),Y 142 STA HOLD 143 LDX #$3A 144 BNE WORD0 145 PUNC STA HOLD 146 LDX #$36 147 WORD0 JSR WORD 148 LDX #$00 149 STX FORFLG 150 BCC PZ 151 LDX NUM 152 PZ INX 153 TXA 154 JSR INC 155 ; 156 JSR ZCAPS 157 ; 158 JMP LOOP 159 ; 160 SLET STA HOLD 161 LDA CAPMD 162 BEQ ALLSM 163 LDY #$00 164 LDA (Z1C),Y 165 JSR TYPE 166 CPX #$01 167 BEQ L7 168 LDA ', 169 JSR INSERT 170 LDY #$01 171 LDA (Z1C),Y 172 JSR TYPE 173 CPX #$02 174 BEQ TWOCAP 175 CPX #$04 176 BNE SINGLE 177 JSR BRIDGE 178 BCS TWOCAP 179 SINGLE LDY #$00 180 LDA (Z1C),Y 181 ORA #$20 182 STA (Z1C),Y 183 BNE LLOOP 184 TWOCAP LDA ', 185 JSR INSERT 186 ALLSM LDY #$FF 187 L1 INY 188 LDA (Z1C),Y 189 CMP '- 190 BEQ H/D 191 CMP '( 192 BEQ L1 193 CMP ') 194 BEQ L1 195 L2 JSR TYPE 196 CPX #$01 197 BNE L4 198 L5 LDA CAPMD 199 BEQ L4 200 JSR ASERT 201 LDX #$02 202 JSR SHIFT 203 LDY #$00 204 LDA '> 205 STA (Z1C),Y 206 INY 207 LDA 'u 208 STA (Z1C),Y 209 JSR BSERT 210 L7 JMP LLOOP 211 L4 CPX #$02 212 BNE L3 213 L6 ORA #$20 214 STA (Z1C),Y 215 BNE L1 216 L3 JSR BRIDGE 217 BCS L1 218 BCC LLOOP 219 H/D INY 220 LDA (Z1C),Y 221 CMP '- 222 BNE H/D1 223 JSR DDASH1 224 BCC LLOOP 225 JSR BRM 226 BCC LLOOP 227 BCS L1 228 H/D1 DEY 229 JSR TYPE 230 CPX #$01 231 BEQ L5 232 JSR BRM 233 BCS L1 234 LLOOP LDY #$00 235 LDA (Z1C),Y 236 SEC 237 SBC #$60 238 ASL 239 TAX 240 JMP WORD0 241 BRIDGE CMP '' 242 BEQ BRM 243 CMP '@ 244 BEQ BRM 245 CMP '> 246 BEQ SSBR 247 CMP '< 248 BNE BRN 249 SSBR INY 250 LDA (Z1C),Y 251 JSR TYPE 252 CPX #$04 253 BEQ BRM 254 DEY 255 BNE BRN 256 BRY SEC 257 RTS 258 BRN CLC 259 RTS 260 BRM INY 261 LDA (Z1C),Y 262 JSR TYPE 263 CPX #$04 264 BEQ BRIDGE 265 CPX #$02 266 BNE BRN 267 INY 268 LDA (Z1C),Y 269 DEY 270 DEY 271 JSR TYPE 272 CPX #$01 273 BEQ BRN 274 BNE BRY 275 ; 276 DDASH INY 277 LDA (Z1C),Y 278 CMP '- 279 BNE BRN 280 DDASH1 INY 281 LDA (Z1C),Y 282 CMP '- 283 BNE BRN 284 INY 285 LDA (Z1C),Y 286 CMP '- 287 BNE BRN 288 BEQ BRY 289 ; 290 WORD LDA ATBL,X 291 STA Z06 292 LDA ATBL+1,X 293 STA Z07 294 JSR SEARCH 295 BCS REPL 296 RTS 297 REPL LDX #$00 298 REPL0 INY 299 LDA (Z06),Y 300 CMP #$0D 301 BEQ REPL1 302 CMP 'Z 303 BEQ ESC 304 STA TO,X 305 INX 306 BNE REPL0 307 ESC INY 308 LDA (Z06),Y 309 STA HOLD 310 REPL1 LDA #$FF 311 STA TO,X 312 STX TARG 313 CLC 314 TXA 315 SBC NUM 316 TAX 317 JSR SHIFT 318 LDY #$00 319 REPL3 LDA TO,Y 320 BMI REPL2 321 STA (Z1C),Y 322 INY 323 BNE REPL3 324 REPL2 LDX TARG 325 BEQ REPL5 326 DEX 327 CPX NUM 328 BCC REPL5 329 STX NUM 330 REPL5 SEC 331 RTS 332 ; 333 ZCAPS LDA HOLD 334 JSR TYPE 335 CPX #$02 336 BNE ZCAP99 337 SEC 338 SBC #$41 339 ASL 340 TAY 341 LDA DROPTB+1,Y 342 PHA 343 LDA DROPTB,Y 344 PHA 345 ZCAP99 RTS 346 Z/F LDX #$80 347 STX FORFLG 348 LDX SHOLD 349 CPX '. 350 BEQ Z/F1 351 PUTA LDX #$61 352 Z/F1 STX HOLD 353 RTS 354 Z/B LDX #$80 355 STX CBFLG 356 LDX #$00 357 STX ONEFLG 358 STX CNFLG 359 BEQ SP/A 360 Z/C LDX #$00 361 STX CBFLG 362 STX ONEFLG 363 STX CNFLG 364 LDX #$80 365 STX CAPMD 366 BNE SP/A 367 Z/O LDX #$80 368 STX ONEFLG 369 LDX #$00 370 STX CBFLG 371 BEQ SP/A 372 Z/E LDX #$00 373 STX CAPMD 374 BEQ PUTSP 375 Z/W JSR WORDPR 376 PUTSP LDX #$20 377 STX HOLD 378 DROP99 RTS 379 Z/J LDA #$01 380 JMP INC 381 Z/V LDY #$00 382 JSR ASERT 383 LDA #$14 384 JSR INSERT 385 LDA #$14 386 JSR INSERT 387 JSR SETBK 388 JMP Z/U 389 Z/K JSR LKBACK 390 INY 391 LDX #$05 392 LDA #MQ 393 STA Z06 394 LDA /MQ 395 STA Z07 396 JSR IN$$ 397 INC Z1D 398 LDX #$00 399 STX TARG 400 LDX #$40 401 Z/K1 STX CNFLG 402 CBC99 LDX #$00 403 STX CBFLG 404 STX CAPFG 405 SP/A LDY #$00 406 JSR GTLAST 407 INC Z1D 408 CMP #$20 409 BEQ PUTSP 410 JMP PUTA 411 Z/D LDX CNFLG 412 BPL Z/D1 413 LDX #$00 414 STX CNFLG 415 BEQ CBC99 416 Z/D1 LDX #$20 417 STX CNFLG 418 LDY #$00 419 LDA (Z1C),Y 420 JSR CHKBRK 421 BCS CBC99 422 JSR LKBACK 423 CPY #$F6 424 BCS Z/D3 425 LDY #$FA 426 LDA (Z1C),Y 427 CMP '_ 428 BNE Z/D2 429 DEY 430 Z/D2 INY 431 JSR ASERT 432 LDA #$1E 433 JSR INSERT 434 JSR BSERT 435 LDA #$01 436 JSR INC 437 Z/D3 INC Z1D 438 JMP CBC99 439 Z/L LDX #$80 440 BNE Z/K1 441 Z/P LDX #$80 442 STX PPFLG 443 JMP PUTSP 444 Z/R LDX #$20 445 STX CREVFG 446 BNE CBC99 447 Z/N LDX #$00 448 STX CREVFG 449 BEQ CBC99 450 Z/G LDA BEFORE 451 STA HOLD 452 RTS 453 Z/A BRK 454 Z/H BRK 455 Z/I BRK 456 Z/M BRK 457 Z/Q BRK 458 Z/S BRK 459 Z/T BRK 460 Z/X BRK 461 Z/Y BRK 462 Z/Z RTS 463 LKBACK DEC Z1D 464 LDY #$00 465 BACKLP DEY 466 LDA (Z1C),Y 467 JSR CHKBRK 468 BCC BACKLP 469 RTS 470 IN$$ JSR ASERT 471 JSR SHIFT 472 LDY #$FF 473 IN$$LP INY 474 LDA (Z06),Y 475 BEQ IN$$1 476 STA (Z1C),Y 477 BNE IN$$LP 478 IN$$1 JSR BSERT 479 TXA 480 JSR INC 481 RTS 482 ; 483 ; 484 ; 485 STYPE LDX CNFLG 486 BEQ STYPE1 487 CPX #$20 488 BNE STYPE2 489 JSR CHKBRK 490 BCC TYPE 491 STYPE3 LDX #$00 492 STX CNFLG 493 LDX #$06 494 LDA #MD 495 STA Z06 496 LDA /MD 497 STA Z07 498 JSR IN$$ 499 LDA (Z1C),Y 500 BMI STYPE9 501 BNE TYPE 502 STYPE2 LDX #$07 503 BNE PPCHK 504 STYPE1 LDX CBFLG 505 BEQ TYPE 506 LDX #$06 507 PPCHK LDY PPFLG 508 BEQ STYPE9 509 JSR CHBRK1 510 BCC TYPE 511 LDY #$00 512 STY PPFLG 513 STYPE9 RTS 514 ; 515 TYPE AND #$7F 516 PHA 517 TAX 518 LDA TTYPE,X 519 TAX 520 PLA 521 RTS 522 CHKBRK CMP #$14 523 BEQ FBREAK 524 CMP #$1E 525 BEQ FBREAK 526 CHBRK1 CMP #$20 527 BEQ FBREAK 528 CMP #$0D 529 BEQ FBREAK 530 NBREAK CLC 531 RTS 532 FBREAK SEC 533 RTS 534 GTLAST DEC Z1D 535 LASTLP DEY 536 LDA (Z1C),Y 537 BEQ LASTLP 538 RTS 539 ; 540 WORDPR LDY #$FF 541 WP INY 542 LDA (Z1C),Y 543 CMP #$FF 544 BNE WP7 545 JMP FIN 546 WP7 CMP #$21 547 BPL WP 548 WP9 TYA 549 INC CLC 550 ADC Z1C 551 STA Z1C 552 BCC INCX 553 INC Z1D 554 INCX RTS 555 ; 556 Z/U LDA Z1C 557 STA SZ1C 558 LDA Z1D 559 STA SZ1D 560 JSR UNDER0 561 SETBK LDA SZ1D 562 STA Z1D 563 LDA SZ1C 564 STA Z1C 565 LDA #$20 566 STA HOLD 567 RTS 568 ; 569 UNDER0 LDX #$00 570 UNDER1 JSR SKIP 571 LDA (Z1C),Y 572 CMP '_ 573 BEQ UNDER2 574 JSR STUN? 575 BCS UNDER3 576 INX 577 BNE UNDER1 578 UNDER2 RTS 579 ; 580 UNDER3 JSR SETBK 581 TXA 582 STA TEMP 583 BEQ UNDER2 584 CMP #$04 585 BCC EVERY 586 FOUR DEC TEMP 587 JSR SKIP 588 JSR PUT> 589 LDA '. 590 JSR INSERT 591 FOUR0 JSR SKIP 592 DEC TEMP 593 BNE FOUR0 594 PUT> LDA '> 595 JSR INSERT 596 LDA '. 597 JMP INSERT 598 ; 599 EVERY JSR SKIP 600 JSR STUN? 601 BCS UNDER2 602 JSR PUT> 603 JMP EVERY 604 ; 605 STUN? LDY #$00 606 LDA (Z1C),Y 607 CMP #$FF 608 BEQ YSFIN 609 CMP '$ 610 BNE NTFIN 611 INY 612 LDA (Z1C),Y 613 CMP 'p 614 BEQ YSFIN 615 NTFIN0 LDY #$03 616 NTFIN1 LDA (Z1C),Y 617 CMP STOPUN,Y 618 BNE NTFIN 619 DEY 620 BPL NTFIN1 621 YSFIN LDY #$00 622 SEC 623 RTS 624 NTFIN LDY #$00 625 CLC 626 RTS 627 SKIP JSR SKIP0 628 JSR STUN? 629 BCS SKIP9 630 INY 631 LDA (Z1C),Y 632 CMP '$ 633 BNE SKIP9 634 DEY 635 LDA (Z1C),Y 636 CMP '$ 637 BEQ SKIP 638 SKIP9 LDY #$00 639 LDA (Z1C),Y 640 CMP '_ 641 BNE SKIP99 642 INY 643 INY 644 LDA (Z1C),Y 645 CMP #$20 646 BEQ SKIP 647 SKIP99 LDY #$00 648 RTS 649 ; 650 SKIP0 LDY #$00 651 LDA (Z1C),Y 652 CMP #$FF 653 BEQ SKFIN 654 CMP #$20 655 BEQ SKIP1 656 CMP #$0D 657 BEQ SKIP1 658 CMP #$14 659 BEQ SKIP1 660 INY 661 JSR WP9 662 JMP SKIP0 663 SKIP1 LDY #$01 664 JSR WP9 665 LDY #$00 666 LDA (Z1C),Y 667 CMP #$FF 668 BEQ SKFIN 669 CMP #$20 670 BEQ SKIP1 671 CMP #$0D 672 BEQ SKIP1 673 CMP #$14 674 BEQ SKIP1 675 LDY #$00 676 SKFIN RTS 677 ; 678 ; 679 ; 680 ; 681 SEARCH LDY #$00 682 LDA (Z06),Y 683 CMP #$01 684 BNE NG1CUT 685 LDA ONEFLG 686 BEQ NTRY 687 BNE NIX 688 NG1CUT CMP #$0D 689 BEQ NIX 690 JSR MATCH 691 BCC NTRY 692 RTS 693 NTRY INY 694 LDA (Z06),Y 695 CMP #$0D 696 BNE NTRY 697 TYA 698 SEC 699 ADC Z06 700 STA Z06 701 BCC SEARCH 702 INC Z07 703 BNE SEARCH 704 NIX CLC 705 RTS 706 MATCH LDY #$00 707 LDA (Z06),Y 708 JSR TYPE 709 CPX #$02 710 BNE MT1 711 LDX BEFORE 712 STX TARG 713 JSR MATCHC 714 BCC NMATCH 715 JSR INC06 716 MT1 LDY #$00 717 MT2 LDA (Z1C),Y 718 STA TARG 719 LDA (Z06),Y 720 MT3 JSR MATCHC 721 BCC NMATCH 722 INY 723 BNE MT2 724 TT CPX #$03 725 BNE NMATCH 726 LDA SHOLD 727 JSR TYPE 728 CPX #$01 729 BEQ FMATCH 730 BNE NMATCH 731 II ORA #$20 732 CMP 'a 733 BEQ FMATCH 734 CMP 'i 735 BEQ FMATCH 736 CMP 'o 737 BEQ FMATCH 738 NMATCH CLC 739 RTS 740 FMATCH SEC 741 RTS 742 MATCHC STA MASK 743 JSR TYPE 744 CPX #$02 745 BEQ CAP 746 STY NUM 747 LDA TARG 748 LDX CAPMD 749 BNE MATON 750 JSR TYPE 751 CPX #$02 752 BNE MATON 753 CLC 754 ADC #$20 755 MATON CMP MASK 756 BNE NMATCH 757 BEQ FMATCH 758 CAP LDA MASK 759 SEC 760 SBC #$41 761 ASL 762 TAX 763 LDA CODETB+1,X 764 PHA 765 LDA CODETB,X 766 PHA 767 LDA TARG 768 JMP TYPE 769 ; 770 ; 771 ; 772 FF PHA 773 LDA FORFLG 774 CHKFLG ROL 775 PLA 776 RTS 777 AA PHA 778 LDA DOCFLG 779 JMP CHKFLG 780 NN CPX #$03 781 BEQ FMAT 782 BNE NMAT 783 BB CPX #$05 784 BEQ FMAT 785 CPX #$00 786 BEQ FMAT 787 BNE NMAT 788 QQ CPX #$00 789 BEQ FMAT 790 CPX #$05 791 BEQ FMAT 792 PP CPX #$04 793 BNE NMAT 794 LDA TARG 795 CMP '> 796 BEQ NMAT 797 CMP '< 798 BEQ NMAT 799 BNE FMAT 800 CC CPX #$05 801 BNE NMAT 802 CMP #$0D 803 BEQ NMAT 804 CMP #$14 805 BEQ NMAT 806 BNE FMAT 807 LL CPX #$01 808 BEQ FMAT 809 CPX #$02 810 BEQ FMAT 811 BNE NMAT 812 VV CMP #$61 813 BEQ FMAT 814 CMP #$65 815 BEQ FMAT 816 CMP #$69 817 BEQ FMAT 818 CMP #$6F 819 BEQ FMAT 820 CMP #$75 821 BEQ FMAT 822 CMP #$79 823 BEQ FMAT 824 NMAT CLC 825 RTS 826 FMAT SEC 827 RTS 828 ; 829 KK JSR LL 830 BCC NMAT 831 JSR VV 832 BCC FMAT 833 BCS NMAT 834 RR JSR BB 835 BCS FMAT 836 STY RYSV 837 LDA TARG 838 CMP '' 839 BEQ APOS 840 CMP '- 841 BNE NMAT 842 HYPH INY 843 LDA (Z1C),Y 844 LDY RYSV 845 CMP '> 846 BEQ NMAT 847 JSR DDASH 848 LDY RYSV 849 BCS NMAT 850 BCC FMAT 851 APOS INY 852 LDA (Z1C),Y 853 CMP #$53 854 BEQ APOS1 855 CMP #$73 856 BNE NMAT 857 APOS1 INY 858 LDA (Z1C),Y 859 LDY RYSV 860 JSR TYPE 861 JMP QQ 862 UU CPX #$02 863 BEQ FMAT 864 BNE NMAT 865 DD BRK 866 EE PLA 867 PLA 868 SEC 869 RTS 870 MM LDX ONEFLG 871 BNE FMAT 872 BEQ NMAT 873 OO CPX #$01 874 BEQ FMAT 875 BNE NMAT 876 GG BRK 877 HH BRK 878 JJ BRK 879 ZCODE INY 880 LDA (Z06),Y 881 CMP 'Z 882 BNE ZCODE0 883 INY 884 LDA (Z06),Y 885 STA HOLD 886 ZCODE0 RTS 887 SS JSR ZCODE 888 PLA 889 PLA 890 PLA 891 PLA 892 CLC 893 RTS 894 XX JSR ZCODE 895 PLA 896 PLA 897 PLA 898 PLA 899 PLA 900 PLA 901 SEC 902 RTS 903 YY BRK 904 ZZ BRK 905 INC06 INC Z06 906 BNE INC06X 907 INC Z07 908 INC06X RTS 909 ; 910 SETUP LDA #BUF 911 STA Z1C 912 LDA /BUF 913 STA Z1D 914 RTS 915 ASERT LDA Z1C 916 STA SZ1C 917 LDA Z1D 918 STA SZ1D 919 STY RYSV 920 TYA 921 JSR INC 922 RTS 923 BSERT LDY RYSV 924 LDA SZ1C 925 STA Z1C 926 LDA SZ1D 927 STA Z1D 928 RTS 929 INSERT PHA 930 LDX #$01 931 JSR SHIFT 932 LDY #$00 933 PLA 934 STA (Z1C),Y 935 LDA #$01 936 JSR INC 937 RTS 938 SHIFT CLC 939 LDA SIZE 940 ADC #BUF 941 STA Z1A 942 LDA SIZE+1 943 ADC /BUF 944 STA Z1B 945 TXA 946 STA MOVE 947 BMI SHIFTB 948 BNE SHIFTF 949 RTS 950 SHIFTF LDY #$00 951 LDA (Z1A),Y 952 LDY MOVE 953 STA (Z1A),Y 954 LDA Z1A 955 BNE SHF2 956 DEC Z1B 957 SHF2 DEC Z1A 958 LDA Z1A 959 CMP Z1C 960 BNE SHIFTF 961 LDA Z1B 962 CMP Z1D 963 BNE SHIFTF 964 LDY #$00 965 LDA (Z1C),Y 966 LDY MOVE 967 STA (Z1C),Y 968 CLC 969 LDA SIZE 970 ADC MOVE 971 STA SIZE 972 BCC SHF3 973 INC SIZE+1 974 SHF3 RTS 975 SHIFTB LDY NUM 976 LDA #$00 977 SHB1 STA (Z1C),Y 978 DEY 979 BPL SHB1 980 RTS 981 LETCHK CMP #$FF 982 BNE CHK3 983 LDX #$00 984 RTS 985 CHK3 JSR TYPE 986 CPX #$00 987 BEQ CHK99 988 DEX 989 BEQ CHK1 990 DEX 991 BEQ CHK1 992 DEX 993 DEX 994 DEX 995 RTS 996 CHK1 LDA (Z1C),Y 997 XOR CREVFG 998 CHK2 JSR TYPE 999 CPY #$00 1000 BNE CHK99 1001 ORA #$20 1002 STA (Z1C),Y 1003 CHK99 RTS 1004 CNCAPS LDY #$00 1005 LDA (Z1C),Y 1006 LDX CAPFG 1007 BMI CLLP 1008 BNE CLLP4 1009 JSR LETCHK 1010 CPX #$02 1011 BNE CNCP99 1012 LDA '_ 1013 JSR INSERT 1014 CLCHK INY 1015 LDA (Z1C),Y 1016 JSR LETCHK 1017 CPX #$01 1018 BEQ CNCP99 1019 CPX #$00 1020 BEQ CNCP99 1021 BMI CLCHK 1022 CPLOCK LDA '> 1023 JSR INSERT 1024 LDA #$80 1025 STA CAPFG 1026 LDA TARG 1027 BNE CNCP99 1028 LDY #$FE 1029 JSR GTLAST 1030 CMP '+ 1031 BNE CNCP98 1032 LDA #$00 1033 STA (Z1C),Y 1034 DEY 1035 STA (Z1C),Y 1036 CNCP98 INC Z1D 1037 LDY #$00 1038 CNCP99 RTS 1039 CLLP CMP '_ 1040 BNE CLLP5 1041 INY 1042 LDA (Z1C),Y 1043 JSR TYPE 1044 CPX #$04 1045 BEQ CLLP3 1046 DEY 1047 JMP CLLP1 1048 CLLP5 JSR LETCHK 1049 CPX #$01 1050 BEQ CLLP2 1051 CPX #$00 1052 BEQ CLLP1 1053 BMI CLLP3 1054 RTS 1055 CLLP2 LDA '_ 1056 JSR INSERT 1057 LDA '< 1058 JSR INSERT 1059 CLLP1 LDA #$00 1060 STA CAPFG 1061 RTS 1062 CLLP3 INY 1063 LDA (Z1C),Y 1064 LDX #$40 1065 STX CAPFG 1066 BNE CLLP 1067 CLLP4 JSR LETCHK 1068 CPX #$01 1069 BMI CLLP99 1070 LDX #$80 1071 STX CAPFG 1072 CLLP99 RTS 1073 ABORT LDA $C000 1074 BMI AB2 1075 AB3 RTS 1076 AB2 CMP #$9B 1077 BNE AB3 1078 ABC STA ABLOC 1079 LDX $C010 1080 PLA 1081 PLA 1082 RTS 1083 ; 1084 CKSIZE LDX SIZE+1 1085 CPX #$12 1086 BNE SIZEOK 1087 LDX SIZE 1088 CPX #$E0 1089 BCC SIZEOK 1090 PHA 1091 LDA #$FE 1092 STA (Z1C),Y 1093 JSR FINCK 1094 JSR SETUP 1095 LDY #$00 1096 CKLP LDA (Z1C),Y 1097 CMP #$FE 1098 BEQ CKOK 1099 INC Z1C 1100 BNE CKLP 1101 INC Z1D 1102 BNE CKLP 1103 CKOK PLA 1104 STA (Z1C),Y 1105 SIZEOK RTS 1106 FINCK JSR PACK 1107 LDA SIZE+1 1108 CMP #$10 1109 BCC SIZEOK 1110 ; 1111 PLA 1112 LDX #$C010 1113 SOUND TXA 1114 LDY #$06 1115 INNER ROL 1116 PHA 1117 BCC SKSH 1118 TYA 1119 JSR $FCA8 1120 LDA $C030 1121 SKSH PLA 1122 INY 1123 CPY #$0E 1124 BNE INNER 1125 INX 1126 BNE SOUND 1127 LDA $C000 1128 BPL SOUND 1129 PLA 1130 PLA 1131 JMP ABC 1132 ; 1133 ; 1134 PACK JSR SETUP 1135 LDA #BUF 1136 STA Z06 1137 LDA /BUF 1138 STA Z07 1139 P1 LDY #$00 1140 LDA (Z1C),Y 1141 BEQ P2 1142 STA (Z06),Y 1143 CMP #$FF 1144 BEQ P3 1145 JSR INC06 1146 P2 LDA #$01 1147 JSR INC 1148 JMP P1 1149 P3 SEC 1150 LDA Z06 1151 SBC #BUF 1152 STA SIZE 1153 LDA Z07 1154 SBC /BUF 1155 STA SIZE+1 1156 INC SIZE 1157 BNE FINX 1158 INC SIZE+1 1159 FINX JSR SETUP 1160 FZ8 LDY #$00 1161 LDA (Z1C),Y 1162 CMP #$FF 1163 BEQ FINXX 1164 CMP #$2C 1165 BNE FZ3 1166 INY 1167 LDA (Z1C),Y 1168 CMP #$2C 1169 BEQ FZ4 1170 CMP #$3B 1171 BEQ FZ5 1172 FZ3 LDA #$01 1173 JSR INC 1174 JMP FZ8 1175 FZ4 INY 1176 LDA (Z1C),Y 1177 CMP #$3B 1178 BNE FZ3 1179 FZ5 LDA #$2C 1180 STA (Z1C),Y 1181 LDY #$00 1182 LDA #$3B 1183 STA (Z1C),Y 1184 BNE FZ3 1185 FINXX RTS 1186 ATBIN LDX #$00 1187 STX PPFLG 1188 LDA #GRD2 1189 STA Z06 1190 STA ATBL,X 1191 LDA /GRD2 1192 STA Z07 1193 STA ATBL+1,X 1194 ATBLP LDY #$00 1195 LDA (Z06),Y 1196 CMP #$0D 1197 BEQ AT1 1198 AT2 JSR INC06 1199 JMP ATBLP 1200 AT1 INY 1201 LDA (Z06),Y 1202 CMP #$0D 1203 BNE AT2 1204 JSR INC06 1205 JSR INC06 1206 INX 1207 INX 1208 LDA Z06 1209 STA ATBL,X 1210 LDA Z07 1211 STA ATBL+1,X 1212 CPX #$38 1213 BNE ATBLP 1214 ; HERE IS WHERE EXTRA IS!!!! 1215 LDA #$58 1216 STA ATBL+2,X 1217 LDA #$7D 1218 STA ATBL+3,X 1219 RTS 1220 TTYPE HEX 0505050505050505 1221 HEX 0505050505050505 1222 HEX 0505050505050505 1223 HEX 0505050505050405 1224 HEX 0004040404040404 1225 HEX 0404040404040404 1226 HEX 0303030303030303 1227 HEX 0303040404040404 1228 HEX 0402020202020202 1229 HEX 0202020202020202 1230 HEX 0202020202020202 1231 HEX 0202020404040404 1232 HEX 0401010101010101 1233 BUG HEX 0101010101010101 1234 HEX 0101010101010101 1235 HEX 0101010404040405 1236 ; 1237 TO DFS $20 1238 ; 1239 DROPTB ADR Z/A-1 1240 ADR Z/B-1 1241 ADR Z/C-1 1242 ADR Z/D-1 1243 ADR Z/E-1 1244 ADR Z/F-1 1245 ADR Z/G-1 1246 ADR Z/H-1 1247 ADR Z/I-1 1248 ADR Z/J-1 1249 ADR Z/K-1 1250 ADR Z/L-1 1251 ADR Z/M-1 1252 ADR Z/N-1 1253 ADR Z/O-1 1254 ADR Z/P-1 1255 ADR Z/Q-1 1256 ADR Z/R-1 1257 ADR Z/S-1 1258 ADR Z/T-1 1259 ADR Z/U-1 1260 ADR Z/V-1 1261 ADR Z/W-1 1262 ADR Z/X-1 1263 ADR Z/Y-1 1264 ADR Z/Z-1 1265 ; 1266 ; 1267 CODETB ADR AA-1 1268 ADR BB-1 1269 ADR CC-1 1270 ADR DD-1 1271 ADR EE-1 1272 ADR FF-1 1273 ADR GG-1 1274 ADR HH-1 1275 ADR II-1 1276 ADR JJ-1 1277 ADR KK-1 1278 ADR LL-1 1279 ADR MM-1 1280 ADR NN-1 1281 ADR OO-1 1282 ADR PP-1 1283 ADR QQ-1 1284 ADR RR-1 1285 ADR SS-1 1286 ADR TT-1 1287 ADR UU-1 1288 ADR VV-1 1289 ADR FMAT-1 1290 ADR XX-1 1291 ADR YY-1 1292 ADR ZZ-1 1293 HINTR0 ASC 'Type some text and press return for ' 1294 HEX 8D 1295 HINTR1 ASC ' instant translation' 1296 HEX 8D 1297 HINTR3 ASC 'Press return to' 1298 HINTR4 ASC ' get back to Main Menu' 1299 HEX 8D8D00 1300 QUICK LDY #$00 1301 LLP LDA HINTR0,Y 1302 BEQ QUK 1303 JSR PRMON 1304 INY 1305 BNE LLP 1306 QUK LDA #$00 1307 STA STAT^ 1308 STA STATUC 1309 LINE LDX #$00 1310 LDA #$FF 1311 STA $8200 1312 LINEX JSR $FD6F 1313 LDA #$FF 1314 STA $8200,X 1315 INX 1316 STX SIZE 1317 DEX 1318 LDA #$00 1319 STA SIZE+1 1320 DEX 1321 LINEXX LDA $200,X 1322 AND #$7F 1323 STA $8200,X 1324 DEX 1325 BPL LINEXX 1326 ;; 1327 LDA $8200 1328 CMP #$FF 1329 BEQ ABSFIN 1330 JSR START 1331 LDX #$00 1332 STX Z1D 1333 BRLLP LDA $8200,X 1334 CMP #$FF 1335 BEQ QQZ 1336 CMP #$13 1337 BNE BRLLP1 1338 LDA #$20 1339 BRLLP1 CMP #$20 1340 BCC BRLLP2 1341 INC Z1D 1342 JSR FANCY 1343 BRLLP2 INX 1344 BNE BRLLP 1345 QQZ LDA #$8D 1346 JSR PRMON 1347 LDA #$00 1348 LDX Z1D 1349 JSR $ED24 1350 LDX #$00 1351 LAX LDA LIT5,X 1352 BEQ LAX2 1353 JSR FANCY 1354 INX 1355 BNE LAX 1356 LAX2 JMP QUK 1357 LIT5 ASC ' characters' 1358 HEX 8D8D00 1359 ABSFIN RTS 1360 FANCY LDY KEYMOD 1361 PHA 1362 CPY #$03 1363 BEQ DOFAN 1364 CPY #$02 1365 BNE TC2 1366 DOFAN CMP #$61 1367 BCC TC1 1368 SBC #$20 1369 TC2 LDY #$00 1370 TC3 STY INVMOD 1371 JSR PRMON 1372 PLA 1373 RTS 1374 TC1 CMP #$41 1375 BCC TC2 1376 LDY #$01 1377 BNE TC3 1378 XXX HEX 00 1379 ASC '~~~' 1380 ; 1381 END !