home *** CD-ROM | disk | FTP | other *** search
- 10 *= $0C9B
- 20 JSR $050E
- 30 JMP $0527
- 40 JSR $050E
- 50 JMP $0591
- 60 ORA ($00,X)
- 70 ;
- 80 SEI
- 90 LDA $1C00;DISK CONTROL BYTE
- 100 ORA #%00000100
- 110 STA $1C00;TURN ON DRIVE MOTOR
- 120 LDA #%11101110
- 130 STA $1C0C;PERIPHIAL CONTROL BYTE
- 140 ;
- 150 ;DELAY USED FOR DOS TO SET UP
- 160 ;
- 170 LDX #$00
- 180 LDY #$00
- 190 DEX
- 200 BNE $0CBB
- 210 DEY
- 220 BNE $0CBB
- 230 RTS
- 240 ;
- 250 ;SET TRACK TO #1 SECTOR TO 0
- 260 ;
- 270 LDA $050C;= #$01
- 280 STA $18;TRACK BYTE 1541 ZERO PAGE
- 290 LDA $050D;= #$00
- 300 STA $19;SECTOR " " " "
- 310 JSR $0668
- 320 ;
- 330 LDA #$03;NUMBER OF PASSES
- 340 STA $C7
- 350 ;
- 360 ;SET ACTIVE BUFFER TO $0300 1541 RAM
- 370 ;
- 380 LDA #$03
- 390 STA $31;HI BYTE ACTIVE BUFFER
- 400 ;
- 410 JSR $075E
- 420 BCC $0CE2
- 430 JSR $0657
- 440 JMP $0579
- 450 ;
- 460 ;READ IN 440 BYTES GCR CODE
- 470 ;
- 480 LDY #$00;POINTER ZERO PAGE Y ADDRESS
- 490 ;
- 500 ;1541 ROM USES V FLAGT TO INDICATE
- 510 ;A BYTE BUFFERED AT DATA PORT A
- 520 ;$1C01 IN 1541 RAM
- 530 ;
- 540 BVC $0CE4;NO BYTE BUFFERED
- 550 CLV;RESET V FLAG FOR NEXT BYTE
- 560 LDA $1C01;GET BYTE AND STORE
- 570 STA ($30),Y;POINTS TO $0300
- 580 INY
- 590 BNE $0CE4;GET NEXT BYTE
- 600 ;
- 610 ;$0100 USED FOR OVERFLOW BYTES OVER 256
- 620 ;
- 630 LDY #$BA
- 640 BVC $0CF1;SAME AS ABOVE
- 650 CLV
- 660 LDA $1C01
- 670 STA $0100,Y
- 680 INY
- 690 BNE $0CF1
- 700 ;
- 710 JSR $F8E0;ZERO BYTE COUNTER AND ACTIVE BUFFER POINTER
- 720 ;
- 730 LDA $38;DATA BLOCK ID #$07
- 740 CMP $47;USED BY DOS FOR DATA BLOCK ID
- 750 BNE $0D0D;NOT #$07 BAD DATA BLOCK (PROTECTION)
- 760 ;
- 770 JSR $F5E9;CALCULATE DATA BLOCK CHECKSUM
- 780 EOR $3A;STORAGE DATA OR HEADER CHECKSUM
- 790 BEQ $0D14;(null)OD DATA BLOCK
- 800 DEC $C7
- 810 BNE $0CD3;MORE TO READ
- 820 JSR $0657
- 830 ;
- 840 LDA $19;SECTOR NUMBER
- 850 JSR $0704;SEND OVER SERIAL BUS TO 64
- 860 ;SEND DATA BLOCK OVER SERIAL BUS TO 64
- 870 ;
- 880 LDY #$00
- 890 LDA $0300,Y
- 900 JSR $0704
- 910 INY
- 920 BNE $0D1B
- 930 JSR $0618
- 940 BCC $0CCF
- 950 JMP $065E
- 960 ;
- 970 ;CONVERT GCR TO BINARY
- 980 ;
- 990 LDA $050C
- 1000 STA $18;TRACK # BUFFER
- 1010 LDA $050D
- 1020 STA $19;SECTOR # BUFFER
- 1030 JSR $0668
- 1040 LDA #$03
- 1050 STA $31
- 1060 LDY #$00
- 1070 JSR $06D4
- 1080 STA ($30),Y;ACTIVE BUFFER $0300
- 1090 INY
- 1100 BNE $0D3F
- 1110 ;
- 1120 JSR $F5E9;CALCULATE DATA BLOCK CHECKSUM
- 1130 ;
- 1140 STA $3A;CHECKSUM BUFFER
- 1150 ;
- 1160 JSR $F78F;CONVERT GCR TO BINARY
- 1170 JSR $0731
- 1180 BCC $0D5A
- 1190 JSR $0657
- 1200 JMP $0601
- 1210 ;
- 1220 LDX #$08;PASS OVER DATA HEADER
- 1230 BVC $0D5C
- 1240 CLV
- 1250 DEX
- 1260 BNE $0D5C
- 1270 ;
- 1280 LDA #%11111111
- 1290 STA $1C03;DATA DIRECTION (OUT)
- 1300 LDA $1C0C;PERIPHIAL CONTROL
- 1310 AND #$1F;SET UP FOR WRITE
- 1320 ORA #$C0
- 1330 STA $1C0C
- 1340 LDA #$FF;SYNC MARK
- 1350 LDX #$05;FIVE OF THEM
- 1360 STA $1C01;PLACE IN BUFFER TO WRITE TO DISK
- 1370 BVC $0D78;DISK NOT READY FOR BYTE
- 1380 CLV;BYTE WRITEN RESET V FLAG
- 1390 DEX
- 1400 BNE $0D78
- 1410 ;
- 1420 ;NOW WRITE OVERFLOW BUFFER TO DISK
- 1430 ;
- 1440 LDY #$BB
- 1450 LDA $0100,Y
- 1460 BVC $0D83
- 1470 CLV
- 1480 STA $1C01
- 1490 INY
- 1500 BNE $0D80
- 1510 LDA ($30),Y
- 1520 BVC $0D8E
- 1530 CLV
- 1540 STA $1C01
- 1550 INY
- 1560 BNE $0D8C
- 1570 BVC $0D97
- 1580 JSR $FE00;DISABLE WRITE MODE
- 1590 ;
- 1600 LDA $19;SECTOR NUMBER
- 1610 JSR $0704;SEND OVER SERIAL BUS TO 64
- 1620 JSR $0618
- 1630 BCC $0D39
- 1640 LDA $18;CURRENT TRACK NUMBER
- 1650 STA $050C;SAVE
- 1660 LDA $19;SECTOR NUMBER
- 1670 STA $050D;SAVE
- 1680 JMP $065E
- 1690 ;
- 1700 LDX $19;SECTOR NUMBER
- 1710 INX
- 1720 LDA $C4
- 1730 CMP #$12;DIRECTORY TRACK (18)
- 1740 BNE $0DC2
- 1750 CPX $C4
- 1760 BEQ $0DC6
- 1770 BNE $0DD5
- 1780 CPX $C3
- 1790 BNE $0DD5
- 1800 LDA $18
- 1810 CMP #$29
- 1820 BEQ $0DCE
- 1830 INC $18
- 1840 JSR $066D
- 1850 LDA #$00
- 1860 BEQ $0DE9
- 1870 CLC
- 1880 LDA $19
- 1890 ADC $C3
- 1900 CMP $C4
- 1910 BCC $0DE9
- 1920 SBC $C4
- 1930 TAX
- 1940 LDA $C4
- 1950 CMP #$12
- 1960 BNE $0DE8
- 1970 INX
- 1980 TXA
- 1990 STA $19
- 2000 CLC
- 2010 DEC $C5
- 2020 BNE $0DF1
- 2030 SEC
- 2040 RTS
- 2050 LDA $18
- 2060 ORA #$80
- 2070 JMP $0704
- 2080 LDA $1C00
- 2090 AND #$FB
- 2100 STA $1C00
- 2110 CLI
- 2120 RTS
- 2130 ;
- 2140 JSR $06D4
- 2150 STA $C5
- 2160 SEC
- 2170 LDA $18
- 2180 SBC $22
- 2190 BEQ $0E4A
- 2200 BCS $0E16
- 2210 EOR #$FF
- 2220 TAX
- 2230 INX
- 2240 TXA
- 2250 STA $C2
- 2260 LDA #$01
- 2270 BCS $0E1E
- 2280 LDA #$FF
- 2290 STA $C0
- 2300 LDY #$02
- 2310 CLC
- 2320 LDA $1C00
- 2330 ADC $C0
- 2340 AND #$03
- 2350 STA $C1
- 2360 LDA $1C00
- 2370 AND #$FC
- 2380 ORA $C1
- 2390 STA $1C00
- 2400 LDA #$04
- 2410 STA $C1
- 2420 LDX #$00
- 2430 DEX
- 2440 BNE $0E3C
- 2450 DEC $C1
- 2460 BNE $0E3C
- 2470 DEY
- 2480 BNE $0E22
- 2490 DEC $C2
- 2500 BNE $0E20
- 2510 LDA $18
- 2520 STA $22
- 2530 JSR $F24B
- 2540 STA $C4
- 2550 LDA $06D0,X
- 2560 STA $C3
- 2570 TXA
- 2580 ASL
- 2590 ASL
- 2600 ASL
- 2610 ASL
- 2620 ASL
- 2630 STA $C1
- 2640 LDA $1C00
- 2650 AND #$9F
- 2660 ORA $C1
- 2670 STA $1C00
- 2680 RTS
- 2690 ORA #$09
- 2700 ASL
- 2710 ASO #$2C
- 2720 BRK
- 2730 CLC
- 2740 BPL $0E6F
- 2750 LDA #$10
- 2760 STA $1800
- 2770 BIT $1800
- 2780 BMI $0E79
- 2790 LDX #$04
- 2800 DEX
- 2810 BNE $0E80
- 2820 STX $1800
- 2830 LDX #$04
- 2840 LDA $1800
- 2850 LSR
- 2860 PHP
- 2870 LSR
- 2880 LSR
- 2890 ROR $C0
- 2900 PLP
- 2910 ROR $C0
- 2920 DEX
- 2930 BNE $0E88
- 2940 LDA #$0F
- 2950 STA $1800
- 2960 LDA $C0
- 2970 RTS
- 2980 STA $C0
- 2990 BIT $1800
- 3000 BPL $0EA1
- 3010 LDA #$10
- 3020 STA $1800
- 3030 BIT $1800
- 3040 BMI $0EAB
- 3050 LDX #$04
- 3060 LDA #$00
- 3070 ASL $C0
- 3080 ROL
- 3090 ASL
- 3100 ASL $C0
- 3110 ROL
- 3120 ASL
- 3130 STA $1800
- 3140 DEX
- 3150 BNE $0EB2
- 3160 PHA
- 3170 PLA
- 3180 PHA
- 3190 PLA
- 3200 LDA #$0F
- 3210 STA $1800
- 3220 RTS
- 3230 LDA $19
- 3240 EOR $16
- 3250 EOR $17
- 3260 EOR $18
- 3270 STA $1A
- 3280 JSR $F934
- 3290 LDY #$80
- 3300 JSR $0764
- 3310 BCC $0EE1
- 3320 RTS
- 3330 LDX #$00
- 3340 BVC $0EE3
- 3350 CLV
- 3360 LDA $1C01
- 3370 CMP $24,X
- 3380 BEQ $0EF2
- 3390 DEY
- 3400 BNE $0EDB
- 3410 SEC
- 3420 RTS
- 3430 INX
- 3440 CPX #$08
- 3450 BNE $0EE3
- 3460 CLC
- 3470 RTS
- 3480 JSR $0731
- 3490 BCC $0EFF
- 3500 RTS
- 3510 STY $C6
- 3520 LDY #$03
- 3530 LDA #$FF
- 3540 STA $1805
- 3550 LDA #$03
- 3560 BIT $1805
- 3570 BPL $0F1C
- 3580 BIT $1C00
- 3590 BMI $0F0A
- 3600 LDA $1C01
- 3610 CLV
- 3620 LDY $C6
- 3630 CLC
- 3640 RTS
- 3650 DEY
- 3660 BNE $0F03
- 3670 LDY $C6
- 3680 SEC
- 3690 RTS
- 3700 LDA #$01
- 3710 STA $22
- 3720 LDA #$0A
- 3730 STA $BA
- 3740 SEI
- 3750 LDA $1C00
- 3760 ORA #$04
- 3770 STA $1C00
- 3780 LDA #$0C
- 3790 STA $4A
- 3800 JSR $054C
- 3810 DEC $4A
- 3820 BNE $0F38
- 3830 LDX #$00
- 3840 JSR $0559
- 3850 JSR $0576
- 3860 LDA #$EE
- 3870 STA $1C0C
- 3880 JSR $05A1
- 3890 LDA $1C00
- 3900 AND #$FB
- 3910 STA $1C00
- 3920 LDA #$EC
- 3930 STA $1C0C
- 3940 CLI
- 3950 RTS
- 3960 LDY #$02
- 3970 LDX $1C00
- 3980 INX
- 3990 JSR $0559
- 4000 DEY
- 4010 BNE $0F60
- 4020 INC $22
- 4030 JMP $0576
- 4040 LDY #$02
- 4050 LDX $1C00
- 4060 DEX
- 4070 JSR $0559
- 4080 DEY
- 4090 BNE $0F71
- 4100 RTS
- 4110 TXA
- 4120 AND #$03
- 4130 STA $BB
- 4140 LDA $1C00
- 4150 AND #$FC
- 4160 ORA $BB
- 4170 STA $1C00
- 4180 LDA #$04
- 4190 STA $BB
- 4200 LDX #$00
- 4210 DEX
- 4220 BNE $0F91
- 4230 DEC $BB
- 4240 BNE $0F91
- 4250 RTS
- 4260 LDA $22
- 4270 JSR $F24B
- 4280 TXA
- 4290 ASL
- 4300 ASL
- 4310 ASL
- 4320 ASL
- 4330 ASL
- 4340 STA $44
- 4350 LDA $1C00
- 4360 AND #$9F
- 4370 ORA $44
- 4380 STA $1C00
- 4390 RTS
- 4400 LDA $1C0C
- 4410 AND #$1F
- 4420 ORA #$C0
- 4430 STA $1C0C
- 4440 LDA #$FF
- 4450 STA $1C03
- 4460 STA $1C01
- 4470 RTS
- 4480 LDA $22
- 4490 JSR $F24B
- 4500 STA $43
- 4510 JSR $058E
- 4520 LDA #$FF
- 4530 STA $1C01
- 4540 LDA #$00
- 4550 STA $BC
- 4560 TAX
- 4570 TAY
- 4580 LDA $39
- 4590 STA $0300,Y
- 4600 LDA $BC
- 4610 STA $0302,Y
- 4620 LDA $22
- 4630 STA $0303,Y
- 4640 LDA $13
- 4650 STA $0304,Y
- 4660 LDA $12
- 4670 STA $0305,Y
- 4680 LDA #$0F
- 4690 STA $0306,Y
- 4700 STA $0307,Y
- 4710 LDA #$00
- 4720 EOR $0302,Y
- 4730 EOR $0303,Y
- 4740 EOR $0304,Y
- 4750 EOR $0305,Y
- 4760 STA $0301,Y
- 4770 CLC
- 4780 TYA
- 4790 ADC #$08
- 4800 TAY
- 4810 INC $BC
- 4820 LDA $BC
- 4830 CMP $43
- 4840 BCC $0FD9
- 4850 TYA
- 4860 PHA
- 4870 INX
- 4880 TXA
- 4890 STA $0400,X
- 4900 INX
- 4910 BNE $101C
- 4920 LDA #$4B
- 4930 STA $0400
- 4940 LDA #$03
- 4950 STA $31
- 4960 JSR $FE30
- 4970 PLA
- 4980 TAY
- 4990 DEY
- 5000 JSR $FDE5
- 5010 JSR $FDF5
- 5020 LDA #$04
- 5030 STA $31
- 5040 JSR $F5E9
- 5050 STA $3A
- 5060 JSR $F78F
- 5070 LDA #$00
- 5080 STA $32
- 5090 LDA #$FF
- 5100 STA $1C01
- 5110 LDX #$05
- 5120 BVC $104E
- 5130 CLV
- 5140 DEX
- 5150 BNE $104E
- 5160 LDX #$0A
- 5170 LDY $32
- 5180 BVC $1058
- 5190 CLV
- 5200 LDA $0300,Y
- 5210 STA $1C01
- 5220 INY
- 5230 DEX
- 5240 BNE $1058
- 5250 STY $32
- 5260 LDX #$08
- 5270 BVC $1069
- 5280 CLV
- 5290 LDA #$55
- 5300 STA $1C01
- 5310 DEX
- 5320 BNE $1069
- 5330 LDA #$FF
- 5340 LDX #$05
- 5350 BVC $1078
- 5360 CLV
- 5370 STA $1C01
- 5380 DEX
- 5390 BNE $1078
- 5400 LDX #$BB
- 5410 BVC $1083
- 5420 CLV
- 5430 LDA $0100,X
- 5440 STA $1C01
- 5450 INX
- 5460 BNE $1083
- 5470 LDY #$00
- 5480 BVC $1091
- 5490 CLV
- 5500 LDA ($30),Y
- 5510 STA $1C01
- 5520 INY
- 5530 BNE $1091
- 5540 LDA #$55
- 5550 LDX #$08
- 5560 BVC $10A0
- 5570 CLV
- 5580 STA $1C01
- 5590 DEX
- 5600 BNE $10A0
- 5610 DEC $BC
- 5620 BNE $1047
- 5630 BVC $10AD
- 5640 CLV
- 5650 BVC $10B0
- 5660 CLV
- 5670 JSR $FE00
- 5680 LDA $22
- 5690 CMP #$29
- 5700 BEQ $10C2
- 5710 JSR $053B
- 5720 JMP $05A1
- 5730 RTS
- 5740 .END C35 EQ
-