_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

READ HEADERS.ASM

FILE INFORMATION

FILENAME(S): READ HEADERS.ASM

FILE TYPE(S): PRG

FILE SIZE: 1.6K

FIRST SEEN: 2025-10-19 22:48:34

APPEARS ON: 3 disk(s)

FILE HASH

8dd8353c2456791d4f973ddc23048010766339ee153824270ddf268eeb85feba

FOUND ON DISKS (3 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
MM UTILITY READ HEADERS.ASM PRG Radd Maxx 1 14 DOWNLOAD FILE
PPM VOL II READ HEADERS.ASM PRG High Voltage Complete C64 Collection 13 15 DOWNLOAD FILE
1541 DEVELOPMENT READ HEADERS.ASM PRG Sailor, Ganheden 1 14 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

> 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 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL