LOAD START.ASM BLOAD START.ASM,A$1800 !L 1 ORG $7200 2 OBJ $800 3 NLS 4 ; 5 JSR CLEAR 6 JMP START 7 JMP SCANL 8 JMP MOVE 9 JMP PRINT 10 JMP LOADMS 11 JMP HARDIN 12 ; 13 PXNUM HEX 00 14 JMP SOFTSR 15 JMP D\REAL 16 JMP DKINIT 17 D/FROM HEX 01 18 D/TARG HEX 02 19 JMP TECH 20 JMP AUXPUT 21 JMP UNLINK 22 JMP FD/GSP 23 ; 24 ; 25 ; 26 CONFIG EQU $1E00 27 SCR/TY EQU CONFIG+$08 28 SEQUEN EQU CONFIG+$100 29 COMPUT EQU CONFIG+$60 30 SLOT EQU CONFIG+$60 31 EXTRA EQU CONFIG+$68 32 NBDISK EQU CONFIG+$4B 33 ROM/PG EQU CONFIG+$4C 34 ECARD EQU CONFIG+$6B 35 ; 36 VOC/FG EQU CONFIG+$22 37 VOC/TY EQU CONFIG+$29 38 SFINIT EQU $E00 39 OUT/VT EQU $1E88 40 DRIVE EQU $E15 41 DRV/LG EQU $1E56 42 CON EQU $B7E8 43 ; 44 RWTS## EQU $3D9 45 DECMAL EQU $AE42 46 D/TRAC EQU CON+4 47 D/SECT EQU CON+5 48 D/BUF EQU CON+8 49 D/TYPE EQU CON+12 50 D/ERR EQU CON+13 51 INPUT/ EQU $FD18 52 ; 53 ; 54 PG\BUF EQU $8200 55 ; 56 NUMBER EQU $9200 57 CARDTY EQU NUMBER+1 58 TABLE EQU NUMBER+$30 59 ; 60 SP\BUF EQU $9700 61 CP\BUF EQU $9600 62 ; 63 L|0478 EQU $478 64 L|0579 EQU $579 65 L|057A EQU $57A 66 L|0779 EQU $779 67 L|077A EQU $77A 68 L|0800 EQU $800 69 L|0C00 EQU $C00 70 L|2000 EQU $2000 71 L|AA52 EQU $AA52 72 L|AA53 EQU $AA53 73 L|AA68 EQU $AA68 74 L|AA6A EQU $AA6A 75 L|B3D1 EQU $B3D1 76 L|B3C2 EQU $B3C2 77 L|B3E0 EQU $B3E0 78 L|B7EB EQU $B7EB 79 L|B7F6 EQU $B7F6 80 L|B858 EQU $B858 81 L|B8F1 EQU $B8F1 82 L|C000 EQU $C000 83 L|C001 EQU $C001 84 L|C002 EQU $C002 85 L|C003 EQU $C003 86 L|C004 EQU $C004 87 L|C005 EQU $C005 88 L|C056 EQU $C056 89 L|C057 EQU $C057 90 LC/OFF EQU $C082 91 LC/ON EQU $C083 92 L|C08A EQU $C08A 93 L|C08B EQU $C08B 94 L|C09A EQU $C09A 95 L|C09B EQU $C09B 96 L|C0A8 EQU $C0A8 97 L|C0A9 EQU $C0A9 98 L|C0AA EQU $C0AA 99 L|C0AB EQU $C0AB 100 LANG/C EQU $D000 101 L|D400 EQU $D400 102 L|FBB3 EQU $FBB3 103 L|FBC0 EQU $FBC0 104 ; 105 ; 106 Z06 EPZ $06 107 Z07 EPZ $07 108 Z1C EPZ $1C 109 Z1D EPZ $1D 110 Z1E EPZ $1E 111 Z1F EPZ $1F 112 ; 113 TRASH HEX 00 114 NOTIT HEX 00 115 WCARD HEX 00 116 SSLOT HEX 00 117 KIND HEX 00 118 SAVE8 HEX 00 119 SAVEA HEX 00 120 ; 121 ORDSL HEX 0201040507030600 122 ; 123 TWOC LDA #$02 124 STA COMPUT 125 JSR SCAN 126 LDA #$80 127 STA EXTRA 128 LDA #$04 129 STA SLOT+1 130 STA SLOT+2 131 LDA #$14 132 STA SLOT+3 133 LDA #$12 134 STA SLOT+6 135 LDA $FBBF 136 CMP #$05 137 BCC LASER 138 LDA #$17 139 STA SLOT+5 140 LASER JSR SETPT 141 LDA $C061 142 BMI YSCRK 143 JSR CRICK 144 BCC NOCRK 145 YSCRK LDA #$01 146 STA VOC/TY 147 LDA #$40 148 STA ECARD 149 NOCRK JMP SOFTSR 150 ; 151 ; 152 ; 153 CLEAR LDY #$00 154 LDA #$00 155 ST1 STA CONFIG,Y 156 STA SEQUEN,Y 157 DEY 158 BNE ST1 159 LDY #$BF 160 LDA #$7F 161 STA SEQUEN 162 ST2 STA SEQUEN,Y 163 DEY 164 BNE ST2 165 RTS 166 ; 167 ; 168 ; 169 LOADMS LDA LC/ON 170 LDA LC/ON 171 LDA #$D0 172 STA MS1+5 173 LDA #$82 174 STA MS1+2 175 LDY #$00 176 MS1 LDA PG\BUF,Y 177 STA LANG/C,Y 178 DEY 179 BNE MS1 180 INC MS1+2 181 INC MS1+5 182 LDA MS1+5 183 CMP #$E0 184 BNE MS1 185 LDA LC/OFF 186 RTS 187 ; 188 AUXPUT LDA EXTRA 189 BPL AUDONE 190 LDA #$00 191 STA $3C 192 STA $3E 193 STA $42 194 LDA #$20 195 STA $3D 196 LDA #$2A 197 STA $3F 198 LDA #$B0 199 STA $43 200 SEC 201 JSR $C311 202 LDA #$00 203 STA $3C 204 STA $3E 205 STA $42 206 LDA #$08 207 STA $3D 208 LDA #$0E 209 STA $3F 210 LDA #$BA 211 STA $43 212 SEC 213 JSR $C311 214 LDA $1E60 215 CMP #$04 216 BNE AUDONE 217 JSR LAUNCH 218 LDA $00 219 STA $600D 220 STA $600E 221 STA $1EE6 222 BEQ AUDONE 223 CMP $A95B 224 BCC LDPAT 225 STA $A95B 226 LDPAT LDY #RAMEND-RAMPAT 227 PATPUT LDA RAMPAT,Y 228 STA $B74A,Y 229 DEY 230 BPL PATPUT 231 LDA #$EA 232 STA $B7B6 233 LDA #$4B 234 STA $B7B8 235 LDA #$B7 236 STA $B7B9 237 AUDONE RTS 238 RAMPAT RTS 239 STY $48 240 STA $49 241 LDY #$01 242 LDA ($48),Y 243 CMP #$30 244 BEQ RR1 245 LDY $48 246 LDA $49 247 SEI 248 JSR $BD00 249 RTS 250 RR1 LDA $00 251 PHA 252 JSR $B74A+*+9-RAMPAT 253 ROR $00 254 PLA 255 STA $00 256 RTS 257 RR2 LDX #$0F 258 STX $3ED 259 LDX #$B0 260 STX $3EE 261 SEC 262 CLV 263 JMP $C314 264 RAMEND HEX 00 265 ; 266 LAUNCH LDX #$0C 267 STX $3ED 268 LDX #$B0 269 STX $3EE 270 SEC 271 CLV 272 JMP $C314 273 ; 274 OOM PLA 275 TAY 276 PLA 277 LDX #$F8 278 TXS 279 PHA 280 TYA 281 PHA 282 RTS 283 OOM/0 BRK 284 ; 285 START LDA #$00 286 STA ECARD 287 STA $39A 288 LDA #$7F 289 STA $1EE8 290 LDA #$23 291 STA $B3EF 292 LDA #$06 293 STA $1EE7 294 LDY #OOM/0-OOM 295 OOMLP LDA OOM,Y 296 STA $354,Y 297 DEY 298 BPL OOMLP 299 LDA $600D 300 BEQ RAMDR 301 LDA $600E 302 BNE RAMDR 303 LDA $600D 304 RAMDR STA $1EE6 305 LDA $1FE6 306 BNE WH/COM 307 LDA #$01 308 STA $1FE6 309 STA $1FE7 310 WH/COM LDA $FBB3 311 CMP #$06 312 BNE II2pl 313 JSR MVFREE 314 LDA $FBC0 315 BEQ II2c 316 LDA $FBBF 317 BNE II2e 318 SEC 319 JSR $FE1F 320 BCC II2gs 321 II2e LDA #$01 322 STA COMPUT 323 BNE REST 324 ; 325 II2pl LDA #$90 326 STA COMPUT 327 JSR LGCARD 328 JSR SCAN 329 JMP SOFTSR 330 II2c JMP TWOC 331 II2gs LDA #$04 332 STA COMPUT 333 LDA #$14 334 STA $1EE7 335 LDA #$1C 336 STA $C035 337 STA $C00A 338 JSR FD/GSP 339 REST JSR COL80 340 JSR SCAN 341 LDA EXTRA 342 BPL FINAL 343 LDA #$14 344 STA SLOT+3 345 FINAL JSR GSLOTS 346 LDA #$03 347 STA SSLOT 348 JSR EMPTY 349 LDA SLOT+2 350 AND #$F7 351 CMP #$04 352 BNE NOTLAS 353 JMP LASER 354 NOTLAS JMP SOFTSR 355 ; 356 ; 357 SCAN LDA #$C1 358 STA SSLOT 359 SLOTL LDA SSLOT 360 STA Z07 361 LDA #$00 362 STA Z06 363 STA WCARD 364 LDA #TABLE 365 STA Z1E 366 LDA /TABLE 367 STA Z1F 368 ; 369 CARDL LDA #$00 370 STA NOTIT 371 LDY #$00 372 LDX #$00 373 INLOOP LDA (Z06),Y 374 CMP (Z1E,X) 375 BEQ ZIPOK 376 LDA #$80 377 STA NOTIT 378 ZIPOK INC Z1E 379 BNE ZIPXX 380 INC Z1F 381 ZIPXX TYA 382 CLC 383 ADC #$10 384 TAY 385 BNE INLOOP 386 ; 387 LDA NOTIT 388 BEQ FOUND 389 ; 390 INC WCARD 391 LDA WCARD 392 CMP NUMBER 393 BNE CARDL 394 JSR WHAT? 395 JMP FOUNDX 396 ; 397 FOUND LDX WCARD 398 LDA CARDTY,X 399 FOUNDX LDX SSLOT 400 STA SLOT-$C0,X 401 CMP #$08 402 BNE FDZZ 403 STX ECARD 404 LDA VOC/FG 405 BNE FDZZ 406 LDA #$03 407 STA VOC/TY 408 FDZZ CMP #$01 409 BNE FDXX 410 TXA 411 ASL 412 ASL 413 ASL 414 ASL 415 TAX 416 LDA #$00 417 STA $C08A,X 418 FDXX INC SSLOT 419 LDA SSLOT 420 CMP #$C8 421 BEQ DONESL 422 JMP SLOTL 423 DONESL LDA $C000 424 CMP #$AD 425 BNE SILLY 426 LDA $C010 427 SILLY RTS 428 ; 429 SPECAL LDA SSLOT 430 ASL 431 ASL 432 ASL 433 ASL 434 CLC 435 ADC #$80 436 STA Z06 437 LDA #$C0 438 STA Z07 439 RTS 440 ; 441 ; 442 ; 443 ; 444 SETPT LDA #$9E 445 STA L|C09B 446 LDA #$0B 447 STA L|C09A 448 LDA #$41 449 STA L|0779 450 LDA #$00 451 STA L|0579 452 DO1 JSR RDO1 453 LDA VOC/TY 454 CMP #$01 455 BEQ DO2 456 LDA #$9E 457 STA L|C0AB 458 LDA #$0B 459 STA L|C0AA 460 LDA #$41 461 STA L|077A 462 LDA #$00 463 STA L|057A 464 DO2 JSR RDO2 465 RTS 466 ; 467 RDO1 LDY #$00 468 LDA L|C09B 469 BEQ FRDO1 470 JSR TOSS 471 INY 472 LDA L|C09A 473 JSR TOSS 474 INY 475 LDA L|0779 476 JSR TOSS 477 INY 478 LDA L|0579 479 JSR TOSS 480 FRDO1 RTS 481 ; 482 RDO2 LDY #$04 483 LDA L|C0AB 484 BEQ FRDO2 485 JSR TOSS 486 INY 487 LDA L|C0AA 488 JSR TOSS 489 INY 490 LDA L|077A 491 JSR TOSS 492 INY 493 LDA L|057A 494 JSR TOSS 495 FRDO2 RTS 496 ; 497 ; 498 ; 499 TOSS STA L|C000 500 STA L|C005 501 STA L|0478,Y 502 STA $C004 503 RTS 504 ; 505 ; 506 ; 507 ; 508 ; 509 WHAT? LDY #$00 510 STY Z06 511 NCL LDA (Z06),Y 512 STA XX,Y 513 INY 514 BNE NCL 515 NCL2 LDA (Z06),Y 516 CMP XX,Y 517 BNE EMPTY 518 INY 519 BNE NCL2 520 NCL3 LDA (Z06),Y 521 CMP XX,Y 522 BNE EMPTY 523 INY 524 BNE NCL3 525 LDA #$00 526 RTS 527 EMPTY JSR SPECAL 528 LDA $C000 529 CMP #$AD 530 BEQ NO/ECH 531 LDA Z06 532 STA TSTEC1+1 533 STA TSTEC2+1 534 JSR TSTEC1 535 AND #$9F 536 CMP #$1F 537 BEQ FECHO 538 LDA $C061 539 BMI FECHO 540 NO/ECH LDA #$80 541 RTS 542 FECHO LDA #$80 543 STA ECARD 544 LDA VOC/FG 545 BNE NE2 546 LDA #$01 547 STA VOC/TY 548 NE2 LDA #$13 549 RTS 550 TSTEC1 LDA L|C000 551 JSR DELAY 552 JSR DELAY 553 TSTEC2 LDA L|C000 554 RTS 555 DELAY ROR 556 ROR 557 ROR 558 ROR 559 RTS 560 ; 561 ; 562 ; 563 SCDONE RTS 564 SCANL LDA #PG\BUF+1 565 STA Z06 566 LDA /PG\BUF 567 STA Z07 568 LDA #$00 569 STA PXNUM 570 SC2 LDY #$00 571 LDA (Z06),Y 572 CMP '\ 573 BEQ SCDONE 574 LDA PXNUM 575 ASL 576 TAX 577 LDA Z06 578 STA SP\BUF,X 579 LDA Z07 580 STA SP\BUF+1,X 581 INC PXNUM 582 ; 583 SC4 INY 584 LDA (Z06),Y 585 CMP '\ 586 BNE SC4 587 SEC 588 TYA 589 ADC Z06 590 STA Z06 591 BCC SC2 592 INC Z07 593 BNE SC2 594 ; 595 ; 596 CONST HEX F0FD1BFD 597 UNLINK LDY #$03 598 UNL LDA $1E88,Y 599 LDX $1E02 600 BNE REVOC 601 LDA CONST,Y 602 REVOC STA $AA53,Y 603 DEY 604 BPL UNL 605 JSR $A851 606 LDX $1E02 607 BEQ NT/SLT 608 LDX $1E09 609 CPX #$01 610 BNE NT/ECH 611 LDA #$85 612 JSR $FDED 613 LDA "B 614 JSR $FDED 615 NT/ECH CPX #$03 616 BNE NT/SLT 617 LDA #$85 618 JSR $FDED 619 LDA "3 620 JSR $FDED 621 LDA "E 622 JSR $FDED 623 NT/SLT RTS 624 ; 625 ; 626 ; 627 JMP $A851 628 ; 629 HARDIN LDX L|AA68 630 STX SAVE8 631 LDX L|AA6A 632 STX SAVEA 633 LDA SLOT,X 634 STA KIND 635 LDA #$00 636 STA SER/FG 637 LDY #$0F 638 LDA L|B3D1+1,Y 639 BEQ BLANK1 640 STA SER/FG 641 BLANK1 LDA L|B3D1,Y 642 BEQ BLANK2 643 STA SER/FG 644 BLANK2 LDA KIND 645 CMP #$18 646 BNE NT/SID 647 LDA SER/FG 648 BNE SID/ON 649 SHORT JSR SIDER 650 SID/ON JMP PASS 651 DEEP LDA #$01 652 PHA 653 SOFT RTS 654 NT/SID CMP #$14 655 BEQ DEEP 656 CMP #$16 657 BEQ DEEP 658 CMP #$17 659 BEQ PASS 660 LDA $B3BA 661 CMP #$C1 662 BEQ DEEP 663 LDA #$40 664 STA FLOP 665 LDA #$01 666 STA DRV/LG 667 JSR DRIVE 668 JSR TEST 669 LDA SPFLG 670 BEQ SOFT 671 PASS LDY #$03 672 HD3 LDA L|AA53,Y 673 STA OUT/VT,Y 674 DEY 675 BPL HD3 676 LDA #$D5 677 STA CONFIG+$37 678 LDA $AB06 679 STA $1E3B 680 JSR SFINIT 681 LDX SAVE8 682 STX L|AA68 683 LDX SAVEA 684 STX L|AA6A 685 ; 686 ; 687 LDX #$00 688 JSR MESSAG 689 LDY #$00 690 DDQ3 LDA L|B3C2,Y 691 JSR FIX 692 JSR PRMON 693 INY 694 CPY #$10 695 BNE DDQ3 696 ; 697 LDX #$01 698 JSR MESSAG 699 LDY #$00 700 DDQ6 LDA L|B3D1+1,Y 701 JSR FIX 702 JSR PRMON 703 INY 704 CPY #$05 705 BNE DDQ6 706 LDX #$02 707 JSR MESSAG 708 LDY #$00 709 DDQ9 LDA L|B3D1+6,Y 710 JSR FIX 711 JSR PRMON 712 INY 713 CPY #$05 714 BNE DDQ9 715 LDA '- 716 JSR PRMON 717 LDA L|B3E0+1 718 JSR FIXN 719 STA NUM+1 720 LDA L|B3E0 721 JSR FIXN 722 STA NUM 723 JSR PRNUM 724 JSR MEMCRD 725 LDA #$8D 726 JSR PRMON 727 JMP PRMON 728 ; 729 FIX JSR FIXN 730 ORA #$80 731 RTS 732 FIXN EOR #$FF 733 SEC 734 SBC #$07 735 RTS 736 ; 737 DLIT1 HEX 8D8D 738 ASC "BEX disk owned by: " 739 HEX 00 740 DLIT2 HEX 8D 741 ASC "Zip code: " 742 HEX 00 743 DLIT3 HEX 8D 744 ASC "BEX Serial Number: " 745 HEX 00 746 EATAB HEX C920B000C90DF0 747 ; 748 ; 749 SER/FG HEX 00 750 ; 751 ZIP HEX 00 752 ; 753 ; 754 PRINT LDX #$00 755 STX ZIP 756 PRLP LDX ZIP 757 CPX PXNUM 758 BEQ PRDONE 759 TXA 760 ASL 761 TAX 762 LDA SP\BUF,X 763 STA Z06 764 LDA SP\BUF+1,X 765 STA Z07 766 LDX ZIP 767 INX 768 TXA 769 STA NUM 770 LDA #$00 771 STA NUM+1 772 JSR PRNUM 773 LDA #$A0 774 JSR PRMON 775 LDY #$00 776 PL2 LDA (Z06),Y 777 CMP #$7F 778 BEQ PL4 779 JSR PRMON 780 INY 781 BNE PL2 782 PL4 LDA #$8D 783 JSR PRMON 784 INC ZIP 785 JMP PRLP 786 PRDONE RTS 787 PRMON ORA #$80 788 JMP $FDED 789 MOVE LDX PXNUM 790 DEX 791 TXA 792 ASL 793 TAX 794 LDA SP\BUF,X 795 STA Z06 796 LDA SP\BUF+1,X 797 STA Z07 798 LDY #$00 799 MV2 LDA (Z06),Y 800 STA SEQUEN,Y 801 CMP '\ 802 BEQ MV3 803 INY 804 BNE MV2 805 MV3 LDY #$00 806 LDX #$00 807 MV5 TXA 808 STA SEQUEN+$60,Y 809 MV55 LDA SEQUEN,X 810 CMP '\ 811 BEQ MV7 812 INX 813 CMP #$7F 814 BNE MV55 815 INY 816 BNE MV5 817 MV7 RTS 818 ; 819 ; 820 CRICK LDA #$0B 821 STA L|C0AA 822 LDA #$9E 823 STA L|C0AB 824 LDA #$00 825 JSR RT1 826 JSR RT2 827 BCC FORGET 828 CMP #$C3 829 BNE FORGET 830 JSR RT2 831 BCC FORGET 832 STA TRASH 833 JSR RT2 834 BCC FORGET 835 CMP #$8D 836 BNE FORGET 837 SEC 838 RTS 839 FORGET CLC 840 RTS 841 ; 842 ; 843 RT1 PHA 844 RT1X LDA L|C0A9 845 AND #$10 846 BEQ RT1X 847 PLA 848 STA L|C0A8 849 RTS 850 ; 851 RT2 LDA #$00 852 STA TRASH 853 RT2X LDA L|C0A9 854 AND #$08 855 BNE RT2F 856 DEC TRASH 857 BNE RT2X 858 CLC 859 RTS 860 RT2F LDA L|C0A8 861 SEC 862 RTS 863 ; 864 SOFTSR LDA L|C08B 865 LDA L|C08B 866 LDA ECARD 867 BEQ SNIX 868 CMP #$C0 869 BCS SCAT/S 870 LDA #$D0 871 JSR DORAM 872 CPX #$00 873 BNE DOMORE 874 LDA #$D4 875 JSR DORAM 876 JMP DOMORE 877 ; 878 DORAM STA ROM/PG 879 STA $07 880 LDY #$00 881 LDX #$00 882 STX $06 883 SFLP LDA ($06),Y 884 CMP #$C9 885 BNE SFNO 886 INY 887 LDA ($06),Y 888 DEY 889 CMP #$88 890 BCC SFNO 891 CMP #$9B 892 BCS SFNO 893 STA CONFIG+$76+1,X 894 TYA 895 STA CONFIG+$76,X 896 INX 897 INX 898 SFNO INY 899 BNE SFLP 900 RTS 901 ; 902 DOMORE LDA #$00 903 STA $06 904 LDA #$D0 905 STA $07 906 EACH LDY #$06 907 EACHL LDA EATAB,Y 908 BEQ EASKIP 909 CMP ($06),Y 910 BNE EANOPE 911 EASKIP DEY 912 BPL EACHL 913 LDY #$08 914 LDA #$EA 915 STA (Z06),Y 916 INY 917 STA (Z06),Y 918 INY 919 STA (Z06),Y 920 SNIX LDA L|C08A 921 RTS 922 EANOPE INC $06 923 BNE EACH 924 INC $07 925 LDA $07 926 CMP #$E0 927 BNE EACH 928 BEQ SNIX 929 ; 930 SCAT/S LDA #$00 931 STA $06 932 LDA #$D0 933 STA $07 934 SCAT/L LDY #$00 935 LDA ($06),Y 936 CMP #$85 937 BNE SCAT/X 938 INY 939 LDA ($06),Y 940 CMP #$92 941 BNE SCAT/X 942 STA $1E77 943 LDA $06 944 STA $1E76 945 LDA $07 946 STA ROM/PG 947 LDA #$00 948 STA $1E78 949 STA $1E79 950 LDA L|C08A 951 RTS 952 SCAT/X INC $06 953 BNE SCAT/L 954 INC $07 955 BNE SCAT/L 956 LDA L|C08A 957 RTS 958 ; 959 ; 960 ; 961 MESSAG TXA 962 ASL 963 TAX 964 LDA MTABL,X 965 STA Z1C 966 LDA MTABL+1,X 967 STA Z1D 968 LDY #$00 969 MSSLP LDA (Z1C),Y 970 BEQ MSSX 971 JSR PRMON 972 INY 973 BNE MSSLP 974 MSSX RTS 975 ; 976 MTABL ADR DLIT1 977 ADR DLIT2 978 ADR DLIT3 979 ADR ORLT 980 ADR DPLT 981 ADR MS11 982 ADR MS2 983 ADR MS3 984 ADR MS4 985 ADR MS5 986 ADR INBB 987 ADR INMS 988 ADR BXBX 989 ADR MS53 990 ADR MS89 991 ADR FR1 992 ADR RM2 993 ADR RM3 994 ADR RM4 995 ; 19 ($13) IS NEXT 996 ; 997 ; 998 ; 999 ; 1000 NUM HEX 0000 1001 DECBF HEX 000000000000 1002 ; 1003 ; 1004 ; 1005 DECTB HEX 01000A006400E803 1006 ; 1007 ; 1008 PRNUM JSR BINDEC 1009 LDY #$00 1010 PD1 LDA DECBF,Y 1011 BEQ PD2 1012 JSR PRMON 1013 PD2 INY 1014 CPY #$04 1015 BNE PD1 1016 STOUT RTS 1017 ; 1018 ; 1019 ; 1020 BINDEC LDX #$00 1021 LDY #$06 1022 BD/DIG LDA #$30 1023 STA DECBF,X 1024 BD/CLK LDA NUM 1025 CMP DECTB,Y 1026 LDA NUM+1 1027 SBC DECTB+1,Y 1028 BCC BD/NXT 1029 LDA NUM 1030 SBC DECTB,Y 1031 STA NUM 1032 LDA NUM+1 1033 SBC DECTB+1,Y 1034 STA NUM+1 1035 INC DECBF,X 1036 BNE BD/CLK 1037 BD/NXT INX 1038 DEY 1039 DEY 1040 BPL BD/DIG 1041 LDX #$00 1042 DB/MSK LDA DECBF,X 1043 CMP #$30 1044 BNE DB/FIN 1045 LDA #$00 1046 STA DECBF,X 1047 INX 1048 CPX #$03 1049 BNE DB/MSK 1050 DB/FIN RTS 1051 ; 1052 EXTEST LDA #$00 1053 STA L|C057 1054 STA L|C001 1055 STA L|C003 1056 STA L|C005 1057 STA L|0C00 1058 LDA #$EE 1059 STA L|0800 1060 LDA L|0C00 1061 CMP #$EE 1062 CLC 1063 BEQ NO 1064 SEC 1065 NO STA L|C004 1066 STA L|C002 1067 STA L|C000 1068 STA L|C056 1069 ENDTST RTS 1070 ; 1071 ; 1072 BUFTB HEX 61822030 1073 ; 1074 ; 1075 BUF/CP EQU $5C00 1076 TRACK HEX 00 1077 STRAC HEX 00 1078 CPKIND HEX 00 1079 SCMASK HEX 00 1080 SPFLG HEX 00 1081 COPRCT HEX 00 1082 FLOP HEX 00 1083 SVB7F6 HEX 00 1084 ; 1085 D\REAL LDA D/FROM 1086 STA DRV/LG 1087 JSR DRIVE 1088 LDX #$11 1089 JSR RAMTST 1090 BNE COPZAP 1091 LDA D/TARG 1092 STA DRV/LG 1093 JSR DRIVE 1094 LDX #$12 1095 JSR RAMTST 1096 BNE COPZAP 1097 JSR D\INIT 1098 LDA #$00 1099 STA TRACK 1100 STA FLOP 1101 D\R\LP JSR READ4 1102 JSR RITE4 1103 LDA TRACK 1104 CMP #$23 1105 BNE D\R\LP 1106 LDA #$00 1107 STA L|AA52 1108 COPZAP RTS 1109 ; 1110 ; 1111 D\INIT LDA D/FROM 1112 STA CPKIND 1113 CMP D/TARG 1114 BNE D\2 1115 LDA #$00 1116 STA CPKIND 1117 ; 1118 D\2 LDA #$00 1119 STA TRACK 1120 STA PXNUM 1121 LDA #$03 1122 STA SCMASK 1123 LDA SCR/TY 1124 CMP #$06 1125 BCC D\3 1126 LDA #$01 1127 STA SCMASK 1128 D\3 RTS 1129 ; 1130 TOPCK LDA TRACK 1131 BNE TOPX 1132 STA COPRCT 1133 LDA D/FROM 1134 STA DRV/LG 1135 JSR DRIVE 1136 JSR TEST 1137 LDA SPFLG 1138 BEQ TOPX 1139 STA COPRCT 1140 JSR COPYPR 1141 TOPX RTS 1142 ; 1143 TEST LDA #$00 1144 STA D/BUF 1145 STA SPFLG 1146 LDA #$96 1147 STA D/BUF+1 1148 LDA #$01 1149 STA D/TYPE 1150 LDA #$02 1151 STA D/TRAC 1152 LDA #$0F 1153 STA D/SECT 1154 LDA FLOP 1155 BNE SKFLOP 1156 JSR RWTS\\ 1157 BCC TS\DN 1158 SKFLOP LDA #$AD 1159 STA L|B8F1 1160 JSR RWTS\\ 1161 BCS TS\DN 1162 STA SPFLG 1163 ; 1164 TS\DN RTS 1165 ; 1166 COPYPR LDA CP\BUF+$FF 1167 CMP #$29 1168 BEQ SUP/MS 1169 CMP #$A3 1170 BNE BADCP 1171 LDA CP\BUF+$FE 1172 BEQ ZERCP 1173 PHA 1174 LDX #$07 1175 JSR MESSAG 1176 PLA 1177 ORA #$B0 1178 JSR PRMON 1179 LDX #$08 1180 JSR MESSAG 1181 LDX #$0F 1182 JSR MESSAG 1183 LDX #$0D 1184 JSR MESSAG 1185 JSR INPUT/ 1186 AND #$1F 1187 CMP #$19 1188 BNE BADCP 1189 LDX #$0E 1190 JSR MESSAG 1191 LDA #$AD 1192 STA L|B8F1 1193 STA L|B858 1194 JSR RWTS\\ 1195 LDA $96FF 1196 CMP #$A3 1197 BNE BADCP 1198 LDX $96FE 1199 BEQ BADCP 1200 DEX 1201 STX $96FE 1202 LDA #$02 1203 STA D/TYPE 1204 LDA #$AD 1205 STA L|B8F1 1206 STA L|B858 1207 JSR RWTS\\ 1208 BCS BADCP 1209 LDA #$01 1210 STA D/TYPE 1211 RTS 1212 ; 1213 ; 1214 ; 1215 SUP/MS LDX #$09 1216 JMP MESSAG 1217 BADCP LDX #$05 1218 BNE SKM 1219 ZERCP LDX #$06 1220 SKM JSR MESSAG 1221 PLA 1222 PLA 1223 PLA 1224 PLA 1225 PLA 1226 PLA 1227 RTS 1228 ; 1229 READ4 LDA TRACK 1230 STA STRAC 1231 JSR GT/ORG 1232 JSR TOPCK 1233 LDA SCMASK 1234 CMP #$01 1235 BEQ READ2 1236 JSR D\READ 1237 JSR D\READ 1238 READ2 JSR D\READ 1239 JMP D\READ 1240 ; 1241 RITE4 LDA STRAC 1242 STA TRACK 1243 JSR GT/DUP 1244 JSR CKINIT 1245 LDA SCMASK 1246 CMP #$01 1247 BEQ RITE2 1248 JSR D\RITE 1249 JSR D\RITE 1250 RITE2 JSR D\RITE 1251 JMP D\RITE 1252 ; 1253 D\READ LDA #$01 1254 STA D/TYPE 1255 LDA D/FROM 1256 STA DRV/LG 1257 JSR DRIVE 1258 JMP DOIT 1259 D\RITE LDA #$02 1260 STA D/TYPE 1261 LDA D/TARG 1262 STA DRV/LG 1263 JSR DRIVE 1264 DOIT LDA #$00 1265 STA D/SECT 1266 LDA TRACK 1267 CMP #$23 1268 BEQ DONE 1269 STA D/TRAC 1270 AND SCMASK 1271 TAX 1272 LDA BUFTB,X 1273 STA D/BUF+1 1274 LDA #$00 1275 STA D/BUF 1276 D\LOOP JSR RWTS// 1277 LDA CON+1 1278 STA CON+15 1279 LDA CON+2 1280 STA CON+16 1281 BCS D\PROB 1282 INC D/BUF+1 1283 CLC 1284 LDA D/SECT 1285 ADC #$FF 1286 AND #$0F 1287 STA D/SECT 1288 BNE D\LOOP 1289 INC TRACK 1290 DONE RTS 1291 ; 1292 D\PROB LDA D/ERR 1293 STA PXNUM 1294 PLA 1295 PLA 1296 PLA 1297 PLA 1298 RTS 1299 ; 1300 ; 1301 RWTS// LDA COPRCT 1302 BEQ RWTS\\ 1303 LDA D/TRAC 1304 CMP #$02 1305 BNE RWTS\\ 1306 LDA D/SECT 1307 CMP #$0F 1308 BNE RWTS\\ 1309 LDA #$AD 1310 STA L|B8F1 1311 STA L|B858 1312 LDA D/TYPE 1313 CMP #$02 1314 BNE RWTS\\ 1315 LDA D/BUF 1316 STA Z1C 1317 LDA D/BUF+1 1318 STA Z1D 1319 LDY #$FF 1320 LDA (Z1C),Y 1321 CMP #$29 1322 BEQ RWTS\\ 1323 LDA #$18 1324 STA (Z1C),Y 1325 RWTS\\ LDY #CON 1326 LDA /CON 1327 JSR RWTS## 1328 LDA #$AA 1329 STA L|B8F1 1330 STA L|B858 1331 DONE/ RTS 1332 ; 1333 ; 1334 ; 1335 ; 1336 GT/ORG LDA CPKIND 1337 BNE DONE 1338 LDX #$03 1339 JSR MESSAG 1340 JMP INPUT/ 1341 GT/DUP LDA CPKIND 1342 BNE DONE 1343 LDX #$04 1344 JSR MESSAG 1345 JMP INPUT/ 1346 ; 1347 CKINIT LDA L|B7F6 1348 STA SVB7F6 1349 LDA TRACK 1350 BNE DONE/ 1351 STA FLOP 1352 LDA D/TARG 1353 STA DRV/LG 1354 JSR DRIVE 1355 LDA COPRCT 1356 BEQ CKREG 1357 CKLOOP JSR TEST 1358 LDA SPFLG 1359 BEQ CREAM 1360 LDX #$0C 1361 JSR MESSAG 1362 JSR INPUT/ 1363 JMP CKLOOP 1364 CKREG JSR TEST 1365 LDA SPFLG 1366 BNE CPRB 1367 CREAM LDA D/TARG 1368 STA DRV/LG 1369 JSR DRIVE 1370 LDA #$00 1371 STA L|AA52 1372 LDX #$0A 1373 JSR MESSAG 1374 LDA L|B7EB 1375 BNE CRM1 1376 LDA SVB7F6 1377 CRM1 STA $44 1378 JSR DECMAL 1379 LDA #$8D 1380 JSR PRMON 1381 RTS 1382 CPRB LDX #$0B 1383 JSR MESSAG 1384 LDA #$01 1385 STA CON+2 1386 PLA 1387 PLA 1388 PLA 1389 PLA 1390 RTS 1391 ; 1392 RAMTST STX MCARD 1393 LDA CON+1 1394 LSR 1395 LSR 1396 LSR 1397 LSR 1398 TAX 1399 LDA COMPUT,X 1400 BEQ RAMOK 1401 CMP #$11 1402 BEQ RAMOK 1403 CMP #$12 1404 BEQ RAMOK 1405 CMP #$18 1406 BEQ RAMOK 1407 LDX MCARD 1408 JSR MESSAGE 1409 LDA DRV/LG 1410 ORA #$B0 1411 STX PXNUM 1412 JSR $FDED 1413 LDA #$8D 1414 JMP $FDED 1415 RAMOK RTS 1416 DKINIT LDY #$00 1417 STY L|AA52 1418 STY FLOP 1419 LDA PXNUM 1420 STA D/TARG 1421 STA DRV/LG 1422 JSR DRIVE 1423 LDX #$10 1424 JSR RAMTST 1425 BNE DKZAP 1426 JSR TEST 1427 LDA SPFLG 1428 BNE NOKIL 1429 JMP CREAM 1430 NOKIL LDX #$0B 1431 JMP MESSAG 1432 DKZAP RTS 1433 ; 1434 INBB HEX 84 1435 ASC 'INIT XXX,V' 1436 HEX 00 1437 ; 1438 ORLT HEX 8D 1439 ASC 'Insert original ' 1440 XX1 ASC 'disk in the disk drive' 1441 HEX 8D 1442 ASC 'and hit any key.' 1443 HEX 00 1444 DPLT HEX 8D 1445 ASC 'Insert duplicate ' 1446 XX2 ASC 'disk in the disk drive' 1447 HEX 8D 1448 XX5 ASC 'and hit any key.' 1449 HEX 00 1450 MS11 HEX 8D 1451 ASC 'Copying of BEX ' 1452 XX8 ASC 'program aborted.' 1453 HEX 878D00 1454 MS2 ASC 'No more copies allowed.' 1455 HEX 878D00 1456 MS3 HEX 8D8D 1457 MS58 ASC 'This is your BEX Master disk.' 1458 XX23 ASC ' You can' 1459 HEX 8D 1460 XX38 ASC 'copy this Master disk only ' 1461 HEX 00 1462 MS4 ASC ' time(s).' 1463 HEX 8D00 1464 MS53 HEX 8D8D 1465 ASC 'Do you want to continue? N^' 1466 HEX 00 1467 MS89 HEX 8D 1468 ASC 'Copying BEX disk.' 1469 HEX 8D00 1470 MS5 ASC 'Copying authorized ' 1471 XX9 ASC 'by the Pickle Slicer.' 1472 HEX 00 1473 INMS HEX 87878D 1474 ASC 'This would damage your BEX disk.' 1475 HEX 8D00 1476 BXBX HEX 87878D 1477 BXBX2 ASC 'This would damage a BEX disk.' 1478 BX9 HEX 8D 1479 ASC 'Insert another destination disk' 1480 HEX 8D 1481 BX8 ASC 'and hit any key.' 1482 HEX 8D00 1483 RM2 ASC 'Cannot initialize drive ' 1484 HEX 00 1485 RM3 ASC 'Cannot copy drive ' 1486 HEX 00 1487 RM4 ASC 'Cannot copy onto drive ' 1488 HEX 00 1489 ; 1490 ; 1491 FR1 HEX 8D 1492 ASC 'Use a high-quality blank disk for your' 1493 FR2 HEX 8D 1494 ASC 'copy. Initialize the blank disk to' 1495 FR3 HEX 8D 1496 ASC 'ensure that it has no defects.' 1497 FR4 HEX 8D 1498 ASC 'DO NOT CONTINUE until you have' 1499 FR5 HEX 8D 1500 ASC 'initialized the blank disk.' 1501 HEX 00 1502 ; 1503 TECH LDX #$C7 1504 TECHL STX TECHLL+2 1505 DEC TECHZ+2 1506 LDY #$00 1507 TECHLL LDA $C700,Y 1508 TECHZ STA $2800,Y 1509 LDA $B300,Y 1510 STA $2000,Y 1511 LDA $1E00,Y 1512 STA $2800,Y 1513 LDA $1F00,Y 1514 STA $2900,Y 1515 DEY 1516 BNE TECHLL 1517 DEX 1518 CPX #$C0 1519 BNE TECHL 1520 RTS 1521 ; 1522 FD/GSP LDA COMPUT 1523 CMP #$04 1524 BNE FDGS0 1525 HEX 18FBC230A91700A2 1526 HEX C002A020035400E1 1527 HEX E230 1528 HEX A90048AB 1529 HEX AFF702E1 1530 STA $1EF1 1531 HEX 38FB 1532 LDX $320 1533 LDA GSTB,X 1534 STA $1EE9 1535 LDX $32C 1536 LDA GSTB,X 1537 STA $1EEA 1538 FDGS0 RTS 1539 GSTB HEX 0901 1540 ; 1541 STUFF EQU $300 1542 HDDISK HEX 07 1543 ; 1544 LDRIVE HEX 01 1545 TX HEX 00 1546 TYPE HEX 00 1547 POINT HEX 00 1548 PLIM HEX 00 1549 SECTOR HEX 00 1550 RWTS0 LDY #CON 1551 LDA /CON 1552 JSR RWTS## 1553 BCC RW/DN 1554 PLA 1555 BRK 1556 RW/DN RTS 1557 ; 1558 SIDER STX HDDISK 1559 LDX #$07 1560 SDISK LDA SLOT,X 1561 CMP #$11 1562 BEQ FDISK 1563 DEX 1564 BPL SDISK 1565 BRK 1566 FDISK TXA 1567 ASL 1568 ASL 1569 ASL 1570 ASL 1571 STA CON+1 1572 JSR LOADVT 1573 LDA PG\BUF+$27 1574 BEQ OSPACE 1575 JSR MOVBK 1576 LDA HDDISK 1577 ASL 1578 ASL 1579 ASL 1580 ASL 1581 STA CON+1 1582 JSR LOADVT 1583 JSR PUT/IT 1584 LDA #$02 1585 STA CON+12 1586 JMP RWTS0 1587 ; 1588 LOADVT LDA #PG\BUF 1589 STA CON+8 1590 LDA /PG\BUF 1591 STA CON+9 1592 LDA #$01 1593 STA CON+12 1594 LDA #$00 1595 STA CON+3 1596 STA CON+5 1597 LDA #$11 1598 STA CON+4 1599 JSR RWTS0 1600 RTS 1601 ; 1602 PUT/IT LDY #$1F 1603 PUTIN LDA STUFF,Y 1604 CLC 1605 ADC #$07 1606 EOR #$FF 1607 STA PG\BUF+7,Y 1608 STA $B3BB+7,Y 1609 DEY 1610 BPL PUTIN 1611 RTS 1612 ; 1613 ; 1614 MOVBK LDY #$1F 1615 MOVL LDA PG\BUF+7,Y 1616 EOR #$FF 1617 SEC 1618 SBC #$07 1619 STA STUFF,Y 1620 DEY 1621 BPL MOVL 1622 RTS 1623 OSPACE PLA 1624 PLA 1625 PLA 1626 BRK 1627 MVFREE LDA $E1C 1628 STA $06 1629 LDA $E1D 1630 STA $07 1631 LDY #FREEXX-FREE 1632 MVFLP LDA FREE,Y 1633 STA ($06),Y 1634 DEY 1635 BPL MVFLP 1636 RTS 1637 ; 1638 FREE CLC 1639 BCC FREE0 1640 JMP $FD1B 1641 JMP $FD1B 1642 FREE0 LDA #$00 1643 STA $FE 1644 STA $FF 1645 LDY $9034 1646 DEY 1647 TYA 1648 ASL 1649 ASL 1650 TAY 1651 FREE1 LDX #$08 1652 LDA $903B,Y 1653 FREE2 ASL 1654 BCC FREE3 1655 INC $FE 1656 BNE FREE3 1657 INC $FF 1658 FREE3 DEX 1659 BNE FREE2 1660 DEY 1661 BNE FREE1 1662 ; 1663 FREEQW RTS 1664 FREEXX HEX 00 1665 ; 1666 COL80 LDA #$20 1667 STA EXTRA 1668 LDA $C017 1669 BMI NIL 1670 LDA #$40 1671 STA EXTRA 1672 LDY #ENDTST-EXTEST 1673 EXTLP LDA EXTEST,Y 1674 STA L|2000,Y 1675 DEY 1676 BPL EXTLP 1677 JSR L|2000 1678 BCC NIL 1679 LDA #$80 1680 STA EXTRA 1681 NIL RTS 1682 LGCARD LDA #$00 1683 STA EXTRA 1684 LDA L|C08B 1685 LDA L|C08B 1686 LDA L|D400 1687 STA $06 1688 LDA L|C08A 1689 LDA L|D400 1690 STA $07 1691 LDX L|C08B 1692 LDX L|C08B 1693 XOR #$FF 1694 STA L|D400 1695 LDA L|D400 1696 CMP $07 1697 BEQ NIL 1698 LDA #$20 1699 STA EXTRA 1700 LDA L|C08B 1701 LDA L|C08B 1702 LDA $06 1703 STA L|D400 1704 LDA L|C08A 1705 RTS 1706 ; 1707 MCARD HEX 00 1708 MEMCRD LDX #$08 1709 STX MCARD 1710 MCLP DEC MCARD 1711 LDX MCARD 1712 BEQ MCD0 1713 LDA COMPUT,X 1714 CMP #$16 1715 BNE MCLP 1716 LDA #$00 1717 STA $38 1718 LDA MCARD 1719 ORA #$C0 1720 STA $39 1721 JSR $FD18 1722 LDA $9D02 1723 STA $38 1724 LDA $9D03 1725 STA $39 1726 JSR $A879 1727 LDA #$4E 1728 STA $9D1E 1729 LDA #$A5 1730 STA $9D1F 1731 BNE MCLP 1732 MCD0 RTS 1733 GSLOTS LDA COMPUT 1734 CMP #$04 1735 BNE GSXX 1736 LDA $C02D 1737 STA $1F 1738 LDX #$0C 1739 AND #$02 1740 BNE GS2 1741 STX $1E61 1742 GS2 LDA $1F 1743 AND #$04 1744 BNE GS5 1745 STX $1E62 1746 GS5 LDA $1F 1747 AND #$20 1748 BNE GS6 1749 LDX #$17 1750 STX $1E65 1751 GS6 LDA $1F 1752 AND #$40 1753 BNE GSXX 1754 LDX #$11 1755 STX $1E66 1756 GSXX RTS 1757 ; 1758 ; 1759 ; 1760 XX HEX 00 1761 ; 1762 END !