10 OPEN1,8,2,"FOBJ,P,W":SYS32768:.OPT O1:*= $0300 11 ; 12 .BYTE $A0,$EA 13 .BYTE PUFFER 14 .BYTE KOPF 15 .BYTE FORMAT 16 .BYTE READ 17 .BYTE WRITE 18 ; 19 SEI 21 LDA $1C0C 22 ORA #$0E 23 STA $1C0C 24 LDA #$21 25 STA $2C 26 LDA #01 27 STA $2D 28 LDA $1C00 29 ORA #04 30 STA $1C00 31 START LDX #$20 32 TXS 33 LDA #15 34 STA $1800 35 JSR EINEIN 36 ASL A 37 STA L1+1 42 L1 JMP ($0300) 43 ; 50 PUFFER LDA #$21 51 STA $2C 52 LDA #01 53 STA $2D 54 JMP START 55 ; 120 SYNC LDA #$D0 121 STA $1805 122 SEC 123 S2 BIT $1805 124 BPL S1 125 BIT $1C00 126 BMI S2 127 LDA $1C01 128 CLV 129 CLC 130 S1 RTS 131 ; 150 EIN LDY #00 151 LDA #02 152 STA EE+2 153 JSR IN 154 LDA #07:STA EE+2 155 LDY #$BC 156 JMP IN 157 ; 160 EINEIN LDY #$FF 161 LDA #01 162 STA EE+2 163 JSR IN 164 LDA $01FF 165 RTS 166 ; 170 IN STX $55 171 LDX #16 172 I1 LDA $1800 173 BPL I1 174 STX $1800 175 NOP 176 NOP 177 LDX #00 178 STX $1800 179 NOP 180 NOP 181 I2 LDA $1800 182 BPL I2 183 NOP 184 NOP 185 LDX $1800 186 LDA TAB45,X 187 NOP 188 LDX $1800 189 ORA TAB67,X 190 NOP 191 NOP 192 NOP 193 LDX $1800 194 ORA TAB01,X 195 NOP 196 LDX $1800 197 ORA TAB23,X 198 EE STA $0200,Y 199 INY 200 BNE I2 201 LDX #15 202 STX $1800 203 LDX $55 204 RTS 205 ; 206 TAB45 .BYTE $00,$20 207 TAB67 .BYTE $00,$80,$10,$30,$40,$C0 208 TAB01 .BYTE $00,$02 209 TAB23 .BYTE $00,$08,$01,$03,$04,$0C 210 ; 250 AUS LDY #00 251 LDA #02 252 STA AA+2 253 JSR OUT 254 LDY #$BC 255 LDA #07:STA AA+2 256 JMP OUT 257 ; 260 EINAUS STA $01FF 261 LDY #$FF 262 LDA #01 263 STA AA+2 264 ; 270 OUT STX $55 271 LDX #16 272 O1 LDA $1800 273 BPL O1 274 STX $1800 275 AA LDA $0200,Y 276 STA $54 277 LSR A 278 LSR A 279 LSR A 280 LSR A 281 O2 LDX $1800 282 BPL O2 283 STA $1800 284 ASL A 285 AND #15 286 STA $1800 287 LDA !$0054 288 AND #15 289 STA $1800 290 ASL A 291 AND #15 292 STA $1800 293 INY 294 BNE AA 295 LDX #15 296 STX $1800 297 LDX $55 298 RTS 300 ; 320 FORMAT JSR EINEIN 321 STA $23 322 JSR KOPF1 323 JSR SYNC 324 BCS FORMAT1 325 F1 BVC F1 326 CLV 327 LDA $1C01 328 CMP #$52 329 BEQ F2 330 CMP #$55 331 BEQ F2 332 BNE FORMAT1 333 F2 JMP START 334 ; 335 FORMAT1 LDA #00 336 STA $30 337 STA $34 338 STA $19 339 LDA #02 340 STA $31 341 F3 LDA $19 342 STA $54 343 LDA #08 344 STA $52 345 LDA $23 346 STA $55 347 LDA $12 348 EOR $13 349 EOR $23 350 EOR $19 351 STA $53 352 JSR $F6D0 353 LDA $12 354 STA $53 355 LDA $13 356 STA $52 357 LDA #00 358 STA $54 359 STA $55 360 JSR $F6D0 361 DEC $34 362 DEC $34 363 INC $19 364 LDA $19 365 CMP $43 366 BNE F3 367 LDA #00 368 STA $AC 369 LDA $43 370 STA $AD 371 LDA #$CE 372 STA $1C0C 373 LDA #$FF 374 STA $1C03 375 LDA #$55 376 STA $1C01 377 LDX #01 378 JSR $FE24 379 FA LDA #$FF 380 STA $1C01 381 LDX #05 382 F4 BVC F4 383 CLV 384 DEX 385 BNE F4 386 LDX #08 387 LDY $AC 388 F6 LDA $0200,Y 389 STA $1C01 390 F5 BVC F5 391 CLV 392 INY 393 DEX 394 BNE F6 395 STY $AC 396 LDX #$0B 397 LDA #$55 398 STA $1C01 399 F7 BVC F7 400 CLV 401 DEX 402 BNE F7 403 LDA #$FF 404 STA $1C01 405 LDX #05 406 F8 BVC F8 407 CLV 408 DEX 409 BNE F8 410 LDX #03 411 F99 LDA GCR1,X 412 STA $1C01 413 F9 BVC F9 414 CLV 415 DEX 416 BPL F99 417 LDY #$40 418 FB LDX #04 419 FCC LDA GCR2,X 420 STA $1C01 421 FC BVC FC 422 CLV 423 DEX 424 BPL FCC 425 DEY 426 BNE FB 427 LDX #08 428 LDA #$55 429 STA $1C01 430 FD BVC FD 431 CLV 432 DEX 433 BNE FD 434 DEC $AD 435 BNE FA 436 JSR $FE00 437 JMP START 438 ; 450 READ LDA #00 451 STA $97 452 STA $52 453 LDA #05 454 LDX $43 455 STX $AD 456 R1 STA $B1,X 457 DEX 458 BNE R1 459 STX $B0 460 R9 LDA #07 461 STA $53 462 LDX #$2A 463 R4 JSR SYNC 464 BCC R2 465 LDA #$F1 466 R5 JSR EINAUS 467 JMP START 468 R2 BVC R2 469 CLV 470 LDA $1C01 471 CMP #$52 472 BEQ R3 473 DEX 474 BNE R4 475 LDA #$F2 476 BNE R5 477 ; 478 R3 JSR HEADER1 494 R7 CMP $43 495 BCC R8 496 R10 LDA $B0 497 INC $B0 498 CMP $43 499 BNE R9 500 JMP RFERTIG 501 ; 502 R8 TAX 503 LDA $B2,X 504 BEQ R10 505 BMI R10 506 STX $96 507 LDY #00 508 STY $A8 509 STY $A9 510 STY $AA 511 STY $AB 512 STY $B1 513 STY $B0 514 LDY #$BC 515 JSR SYNC 516 LDX #$40 517 R11 BVC R11 518 CLV 519 LDA $1C01 520 STA ($52),Y 521 EOR $A8 522 STA $A8 523 INY 524 R12 BVC R12 525 CLV 526 LDA $1C01 527 STA ($52),Y 528 EOR $A9 529 STA $A9 530 INY 531 R13 BVC R13 532 CLV 533 LDA $1C01 534 STA ($52),Y 535 EOR $AA 536 STA $AA 537 INY 538 BNE R14 539 LDA #02:STA $53 540 R14 BVC R14 541 CLV 542 LDA $1C01 543 STA ($52),Y 544 EOR $AB 545 STA $AB 546 INY 547 R15 BVC R15 548 CLV 549 LDA $1C01 550 STA ($52),Y 551 EOR $B1 552 STA $B1 553 INY 554 DEX 555 BNE R11 556 R16 BVC R16 557 CLV 558 LDA $1C01 559 STA ($52),Y 560 EOR $A8 561 STA $A8 562 INY 563 R17 BVC R17 564 CLV 565 LDA $1C01 566 STA ($52),Y 567 EOR $A9 568 STA $A9 569 INY 570 R18 BVC R18 571 CLV 572 LDA $1C01 573 STA ($52),Y 574 AND #$40 575 EOR $AA 576 STA $AA 577 INY 578 R19 BVC R19 579 CLV 580 LDA $1C01 581 STA ($52),Y 582 LDX $96 583 LDA $B1 584 LSR A 585 LSR A 586 EOR $A8 587 LSR A 588 PHP 589 LSR A 590 EOR $A9 591 LSR A 592 LSR A 593 EOR $AA 594 AND #02 595 BNE R30 596 PLP 597 ROR A 598 LSR A 599 EOR $AA 600 LSR A 601 LSR A 602 EOR $AB 603 AND #$10 604 BEQ R30 605 INC $97 606 LDA $B2,X 607 ORA #$80 608 STA $B2,X 609 TXA 610 JSR EINAUS 611 JSR AUS 612 R40 DEC $AD 613 BEQ RFERTIG 614 JMP R9 615 ; 616 RFERTIG LDA $97 617 BEQ R20 618 LDA #$FD 619 BNE R21 620 R20 LDA #$FC 621 R21 JSR EINAUS 622 LDX #00 623 R22 TXA 624 TAY 625 INY 626 LDA $B2,X 627 STA ($2C),Y 628 BMI R44 629 TXA 630 JSR EINAUS 631 R44 INX 632 CPX $43 633 BNE R22 634 LDA #$F3 635 JSR EINAUS 636 LDY #00 637 LDA $97 638 STA ($2C),Y 639 LDA $97:BEQ R222:LDA $2C 640 CLC 641 ADC #22 642 STA $2C 643 R222 JMP START 644 ; 650 R30 DEC $B2,X 651 BEQ R40 652 JMP R9 653 ; 680 WRITE LDX #00 681 W11 TXA 682 TAY 683 INY 684 LDA ($2C),Y 685 STA $B2,X 686 INX 687 CPX $43 688 BNE W11 689 LDY #00 690 LDA ($2C),Y 691 STA $97 692 HLOOP JSR HEADER 693 CLC 694 ADC #03 695 CMP $43 696 BCC W2 697 SEC 698 SBC $43 699 W2 TAX 700 LDA $B2,X 701 BPL HLOOP 702 TXA 703 STA $53 704 JSR EINAUS 705 JSR EIN 706 W3 JSR HEADER 707 CMP $53 708 BNE W3 709 LDX #13 710 W4 BVC W4 711 CLV 712 DEX 713 BNE W4 714 LDA #$CE 715 STA $1C0C 716 LDA #$FF 717 STA $1C03 718 LDX #05 719 STA $1C01 720 W5 BVC W5 721 CLV 722 DEX 723 BNE W5 724 LDX #$BC 725 W66 LDA $0700,X 726 STA $1C01 727 W6 BVC W6 728 CLV 729 INX 730 BNE W66 731 W77 LDA $0200,X 732 STA $1C01 733 W7 BVC W7 734 CLV 735 INX 736 BNE W77 737 LDX #04 738 LDA #$55 739 STA $1C01 740 W8 BVC W8 741 CLV 742 DEX 743 BNE W8 744 JSR $FE00 745 LDX $53 746 LDA #00 747 STA $B2,X 748 DEC $97 749 BNE HLOOP 750 LDA $2C 751 CLC 752 ADC #22 753 STA $2C 754 LDA #$F1 755 JSR EINAUS 756 JMP START 757 ; 800 KOPF JSR EINEIN 801 STA $23 802 JSR KOPF1 803 JMP START 804 ; 805 KOPF1 PHA 806 LDX #$CA:STX K12 807 LDX #00 808 SEC 809 SBC $22 810 BCS K9 811 LDX #$E8:STX K12 812 LDX #01 813 K9 STX K10+1 815 ASL A 816 TAX 817 K10 LDA #00 818 EOR $1C00 819 SEC 820 ROL A 821 AND #03 822 EOR $1C00 823 STA $1C00 824 LDA #150 825 STA $1805 826 K11 LDA $1805 827 BMI K11 828 K12 DEX 829 BNE K10 830 PLA 831 STA $22 832 K1 LDX #05 833 LDA $22 834 K3 DEX 835 CMP TABT,X 836 BCS K3 837 LDA TABS,X 838 STA $43 839 CPX #00 840 BEQ K4 841 DEX 842 K4 TXA 843 ASL A 844 ASL A 845 ASL A 846 ASL A 847 ASL A 848 STA $44 849 LDA $1C00 850 AND #$9F 851 ORA $44 852 STA $1C00 853 LDA $1C0C 854 ORA #$0E 855 STA $1C0C 856 RTS 857 ; 858 TABT .BYTE $FF,$24,$1F,$19,$12 859 TABS .BYTE $11,$11,$12,$13,$15 888 ; 900 HEADER JSR SYNC 901 H1 BVC H1 902 CLV 903 LDA $1C01 904 CMP #$52 905 BNE HEADER 906 HEADER1 LDX #03 907 H2 BVC H2 908 CLV 909 LDA $1C01 910 DEX 911 BNE H2 912 TAX 913 PHP 914 LSR A 915 LSR A 916 AND #$1F 917 TAX 918 LDA $F8C0,X 919 PLP 920 BPL H3 921 ORA #$10 922 H3 RTS 930 ; 950 GCR1 .BYTE $29,$A5,$D4,$55 951 GCR2 .BYTE $29,$A5,$94,$52,$4A 960 ;