> DETECTED: COMMODORE BASIC PROGRAM (LOAD ADDRESS $0801)
00000000: 01 08 2C 08 2E 04 AC B2 24 34 33 30 30 20 20 20 |..,.....$4300 |
00000010: 20 20 20 20 20 3B 52 4F 55 54 49 4E 45 20 A4 20 | ;ROUTINE . |
00000020: 87 20 48 45 41 44 45 52 53 20 56 33 00 57 08 38 |. HEADERS V3.W.8|
00000030: 04 53 45 49 20 20 20 20 20 20 20 20 3B 57 49 4C |.SEI ;WIL|
00000040: 4C 20 87 20 32 35 20 48 45 41 44 45 52 53 20 AF |L . 25 HEADERS .|
00000050: 20 44 45 43 4F 44 45 00 82 08 42 04 4C 44 59 20 | DECODE...B.LDY |
00000060: 23 24 30 30 20 20 20 20 20 20 20 3B 46 49 4C 4C |#$00 ;FILL|
00000070: 20 57 B0 4B 20 53 50 41 43 45 20 57 49 54 48 20 | W.K SPACE WITH |
00000080: 30 30 00 8F 08 4C 04 4C 44 41 20 23 24 30 30 00 |00...L.LDA #$00.|
00000090: 9F 08 56 04 43 4C 45 41 52 49 54 20 B2 20 AC 00 |..V.CLEARIT . ..|
000000A0: CA 08 60 04 53 54 41 20 24 30 34 30 30 2C 59 20 |..`.STA $0400,Y |
000000B0: 20 20 20 3B 53 A4 52 45 20 30 30 20 41 54 20 24 | ;S.RE 00 AT $|
000000C0: 30 34 30 30 AB 24 30 34 46 46 00 D2 08 6A 04 49 |0400.$04FF...j.I|
000000D0: 4E 59 00 E2 08 74 04 42 4E 45 20 43 4C 45 41 52 |NY...t.BNE CLEAR|
000000E0: 49 54 00 07 09 7E 04 4A 53 52 20 24 46 45 30 30 |IT...~.JSR $FE00|
000000F0: 20 20 20 20 20 20 3B 53 45 54 20 50 43 52 20 A4 | ;SET PCR .|
00000100: 20 87 20 4D 4F 44 45 00 15 09 88 04 4C 44 41 20 | . MODE.....LDA |
00000110: 24 31 43 30 43 00 21 09 92 04 B0 41 20 23 24 30 |$1C0C.!....A #$0|
00000120: 45 00 2F 09 9C 04 53 54 41 20 24 31 43 30 43 00 |E./...STA $1C0C.|
00000130: 64 09 A6 04 4C 44 41 20 23 24 30 30 20 20 20 20 |d...LDA #$00 |
00000140: 20 20 20 3B 53 45 54 20 55 50 20 43 4F 55 4E 54 | ;SET UP COUNT|
00000150: 45 52 20 81 20 54 48 45 20 23 20 4F 46 20 53 45 |ER . THE # OF SE|
00000160: 43 A4 52 53 00 80 09 B0 04 53 54 41 20 24 30 33 |C.RS.....STA $03|
00000170: 46 46 20 20 20 20 20 20 3B 43 4F 55 4E 54 45 52 |FF ;COUNTER|
00000180: 00 91 09 BA 04 46 49 4E 44 53 59 4E 43 20 B2 20 |.....FINDSYNC . |
00000190: AC 00 B9 09 C4 04 4C 44 58 20 23 24 30 30 20 20 |......LDX #$00 |
000001A0: 20 20 20 20 20 3B 53 45 54 20 55 50 20 54 49 4D | ;SET UP TIM|
000001B0: 45 52 20 81 20 53 59 4E 43 00 C6 09 CE 04 4C 44 |ER . SYNC.....LD|
000001C0: 59 20 23 24 30 30 00 D6 09 D8 04 54 49 4D 45 4F |Y #$00.....TIMEO|
000001D0: 55 54 20 B2 20 AC 00 DE 09 E2 04 44 45 59 00 EC |UT . ......DEY..|
000001E0: 09 EC 04 42 4E 45 20 92 53 59 4E 43 00 F4 09 F6 |...BNE .SYNC....|
000001F0: 04 44 45 58 00 02 0A 00 05 42 4E 45 20 92 53 59 |.DEX.....BNE .SY|
00000200: 4E 43 00 31 0A 0A 05 4C 44 41 20 23 24 30 33 20 |NC.1...LDA #$03 |
00000210: 20 20 20 20 20 20 3B 30 33 B2 4E 4F 20 53 59 4E | ;03.NO SYN|
00000220: 43 20 20 20 8B 20 4E 4F 20 53 59 4E 43 20 A7 20 |C . NO SYNC . |
00000230: 80 00 3D 0A 14 05 42 4E 45 20 80 49 54 00 5E 0A |..=...BNE .IT.^.|
00000240: 1E 05 92 53 59 4E 43 20 B2 20 AC 20 20 20 20 20 |...SYNC . . |
00000250: 20 3B 43 48 45 43 4B 20 81 20 53 59 4E 43 00 6C | ;CHECK . SYNC.l|
00000260: 0A 28 05 42 49 54 20 24 31 43 30 30 00 7C 0A 32 |.(.BIT $1C00.|.2|
00000270: 05 42 4D 49 20 54 49 4D 45 4F 55 54 00 A0 0A 3C |.BMI TIMEOUT...<|
00000280: 05 4C 44 41 20 24 31 43 30 31 20 20 20 20 20 20 |.LDA $1C01 |
00000290: 3B 53 4B 49 50 20 46 49 52 53 54 20 42 59 54 45 |;SKIP FIRST BYTE|
000002A0: 00 A8 0A 46 05 43 4C 56 00 B6 0A 50 05 4C 44 59 |...F.CLV...P.LDY|
000002B0: 20 24 30 33 46 46 00 D8 0A 5A 05 87 48 44 45 52 | $03FF...Z..HDER|
000002C0: 20 B2 20 AC 20 20 20 20 20 20 3B 46 49 4E 44 20 | . . ;FIND |
000002D0: 41 20 48 45 41 44 45 52 00 07 0B 64 05 4C 44 58 |A HEADER...d.LDX|
000002E0: 20 23 24 30 41 20 20 20 20 20 20 20 3B 43 4F 55 | #$0A ;COU|
000002F0: 4E 54 45 52 20 81 20 54 45 4E 20 48 45 41 44 45 |NTER . TEN HEADE|
00000300: 52 20 42 59 54 45 53 00 2B 0B 6E 05 46 49 4E 44 |R BYTES.+.n.FIND|
00000310: 48 44 52 20 B2 20 AC 20 20 20 20 20 20 3B 87 20 |HDR . . ;. |
00000320: 83 20 46 52 4F 4D 20 44 49 53 4B 00 4B 0B 78 05 |. FROM DISK.K.x.|
00000330: 42 56 43 20 46 49 4E 44 48 44 52 20 20 20 20 3B |BVC FINDHDR ;|
00000340: 92 20 81 20 42 59 54 45 20 87 59 00 53 0B 82 05 |. . BYTE .Y.S...|
00000350: 43 4C 56 00 7A 0B 8C 05 4C 44 41 20 24 31 43 30 |CLV.z...LDA $1C0|
00000360: 31 20 20 20 20 20 20 3B 93 20 42 59 54 45 20 46 |1 ;. BYTE F|
00000370: 52 4F 4D 20 83 20 50 4F 52 54 00 A9 0B 96 05 43 |ROM . PORT.....C|
00000380: 4D 50 20 23 24 35 32 20 20 20 20 20 20 20 3B 49 |MP #$52 ;I|
00000390: 53 20 54 48 49 53 20 54 48 45 20 41 20 48 45 41 |S THIS THE A HEA|
000003A0: 44 45 52 20 42 4C 4F 43 4B 00 D6 0B A0 05 42 4E |DER BLOCK.....BN|
000003B0: 45 20 46 49 4E 44 53 59 4E 43 20 20 20 3B 8B 20 |E FINDSYNC ;. |
000003C0: A8 2C 20 46 49 4E 44 20 82 20 48 45 41 44 45 52 |., FIND . HEADER|
000003D0: 20 42 4C 4F 43 4B 00 E6 0B AA 05 53 54 41 20 24 | BLOCK.....STA $|
000003E0: 30 34 30 30 2C 59 00 EE 0B B4 05 49 4E 59 00 F6 |0400,Y.....INY..|
000003F0: 0B BE 05 44 45 58 00 18 0C C8 05 A1 42 59 54 45 |...DEX......BYTE|
00000400: 20 B2 20 AC 20 20 20 20 20 20 3B 87 20 83 20 46 | . . ;. . F|
00000410: 52 4F 4D 20 44 49 53 4B 00 36 0C D2 05 42 56 43 |ROM DISK.6...BVC|
00000420: 20 A1 42 59 54 45 20 20 20 20 3B 92 20 81 20 42 | .BYTE ;. . B|
00000430: 59 54 45 20 87 59 00 3E 0C DC 05 43 4C 56 00 65 |YTE .Y.>...CLV.e|
00000440: 0C E6 05 4C 44 41 20 24 31 43 30 31 20 20 20 20 |...LDA $1C01 |
00000450: 20 20 3B 93 20 42 59 54 45 20 46 52 4F 4D 20 83 | ;. BYTE FROM .|
00000460: 20 50 4F 52 54 00 91 0C F0 05 53 54 41 20 24 30 | PORT.....STA $0|
00000470: 34 30 30 2C 59 20 20 20 20 3B 53 A4 52 45 20 83 |400,Y ;S.RE .|
00000480: 20 46 52 4F 4D 20 24 30 34 30 30 2D 24 30 34 46 | FROM $0400-$04F|
00000490: 46 00 99 0C FA 05 49 4E 59 00 A1 0C 04 06 44 45 |F.....INY.....DE|
000004A0: 58 00 AF 0C 0E 06 42 4E 45 20 A1 42 59 54 45 00 |X.....BNE .BYTE.|
000004B0: BD 0C 18 06 53 54 59 20 24 30 33 46 46 00 C5 0C |....STY $03FF...|
000004C0: 1D 06 53 45 43 00 EB 0C 22 06 43 50 59 20 23 24 |..SEC...".CPY #$|
000004D0: 46 41 20 20 20 20 20 20 20 3B 44 91 45 20 32 35 |FA ;D.E 25|
000004E0: 20 53 45 43 A4 52 53 20 59 45 54 00 0C 0D 2C 06 | SEC.RS YET...,.|
000004F0: 42 43 43 20 46 49 4E 44 53 59 4E 43 20 20 20 3B |BCC FINDSYNC ;|
00000500: 8B 20 A8 20 44 4F 20 41 47 41 49 4E 00 2B 0D 36 |. . DO AGAIN.+.6|
00000510: 06 4C 44 41 20 23 24 30 31 20 20 20 20 20 20 20 |.LDA #$01 |
00000520: 3B 30 31 B2 4E 4F 20 45 52 52 B0 00 4D 0D 40 06 |;01.NO ERR..M.@.|
00000530: 80 49 54 20 B2 20 AC 20 20 20 20 20 20 20 20 3B |.IT . . ;|
00000540: 46 49 4E 49 53 48 20 55 50 20 AF 20 80 00 75 0D |FINISH UP . ..u.|
00000550: 4A 06 50 48 41 20 20 20 20 20 20 20 20 20 20 20 |J.PHA |
00000560: 3B 94 20 45 52 52 B0 20 43 4F 44 45 20 49 4E 20 |;. ERR. CODE IN |
00000570: 53 54 41 43 4B 00 A4 0D 5E 06 4C 44 59 20 23 24 |STACK...^.LDY #$|
00000580: 30 34 20 20 20 20 20 20 20 20 3B 53 45 54 55 50 |04 ;SETUP|
00000590: 20 A4 20 44 45 43 4F 44 45 20 47 43 52 20 B5 4F | . DECODE GCR .O|
000005A0: 20 48 45 58 00 D5 0D 68 06 53 54 59 20 24 33 31 | HEX...h.STY $31|
000005B0: 20 20 20 20 20 20 20 20 20 3B 50 4F B5 45 52 53 | ;PO.ERS|
000005C0: 20 A4 20 42 4C 4F 43 4B 20 A4 20 42 45 20 44 45 | . BLOCK . BE DE|
000005D0: 43 4F 44 45 44 00 E2 0D 72 06 4C 44 59 20 23 24 |CODED...r.LDY #$|
000005E0: 30 30 00 EE 0D 7C 06 53 54 59 20 24 33 30 00 1B |00...|.STY $30..|
000005F0: 0E 86 06 4A 53 52 20 24 46 38 45 30 20 20 20 20 |...JSR $F8E0 |
00000600: 20 20 3B 52 4F 4D 20 52 4F 55 54 49 4E 45 20 A4 | ;ROM ROUTINE .|
00000610: 20 44 45 43 4F 44 45 20 47 43 52 00 46 0E 8B 06 | DECODE GCR.F...|
00000620: 50 4C 41 20 20 20 20 20 20 20 20 20 20 20 20 3B |PLA ;|
00000630: A1 20 45 52 52 B0 20 43 4F 44 45 20 46 52 4F 4D |. ERR. CODE FROM|
00000640: 20 53 54 41 43 4B 00 54 0E 90 06 4A 4D 50 20 24 | STACK.T...JMP $|
00000650: 46 39 36 39 00 00 00 |F969... |
..,.....$4300 ;ROUTINE . . HEADER
S V3.W.8.SEI ;WILL . 25 HEADERS .
DECODE...B.LDY #$00 ;FILL W.K SPA
CE WITH 00...L.LDA #$00...V.CLEARIT . ..
J.`.STA $0400,Y ;S.RE 00 AT $0400.$04
FF.R.J.INY...T.BNE CLEARIT...~.JSR $FE00
;SET PCR . . MODE.....LDA $1C0C.!.
...A #$0E./...STA $1C0C.D...LDA #$00
;SET UP COUNTER . THE # OF SEC.RS....
.STA $03FF ;COUNTER.....FINDSYNC .
....D.LDX #$00 ;SET UP TIMER . SYN
C.F.N.LDY #$00.V.X.TIMEOUT . ......DEY..
...BNE .SYNC.....DEX.....BNE .SYNC.1...L
DA #$03 ;03.NO SYNC . NO SYNC .
..=...BNE .IT.^....SYNC . . ;CHECK
. SYNC.L.(.BIT $1C00.|.2.BMI TIMEOUT. .<
.LDA $1C01 ;SKIP FIRST BYTE...F.CLV
...P.LDY $03FF.X.Z..HDER . . ;FIND
A HEADER...D.LDX #$0A ;COUNTER . T
EN HEADER BYTES.+.N.FINDHDR . . ;.
. FROM DISK.K.X.BVC FINDHDR ;. . BYTE
.Y.S...CLV.Z...LDA $1C01 ;. BYTE F
ROM . PORT.....CMP #$52 ;IS THIS T
HE A HEADER BLOCK.V. .BNE FINDSYNC ;.
., FIND . HEADER BLOCK.....STA $0400,Y..
...INY.....DEX...H..BYTE . . ;. . F
ROM DISK.6.R.BVC .BYTE ;. . BYTE .Y.>
...CLV.E...LDA $1C01 ;. BYTE FROM .
PORT.....STA $0400,Y ;S.RE . FROM $0
400-$04FF.....INY.....DEX.....BNE .BYTE.
....STY $03FF.E...SEC...".CPY #$FA
;D.E 25 SEC.RS YET...,.BCC FINDSYNC ;
. . DO AGAIN.+.6.LDA #$01 ;01.NO E
RR..M.@..IT . . ;FINISH UP . ..U.
J.PHA ;. ERR. CODE IN STACK...
^.LDY #$04 ;SETUP . DECODE GCR .O
HEX.U.H.STY $31 ;PO.ERS . BLOCK
. BE DECODED...R.LDY #$00...|.STY $30..
...JSR $F8E0 ;ROM ROUTINE . DECODE
GCR.F...PLA ;. ERR. CODE FROM
STACK.T...JMP $F969...
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL