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

HALF TRACK.ASM

FILE INFORMATION

FILENAME(S): HALF TRACK.ASM

FILE TYPE(S): PRG

FILE SIZE: 1.3K

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

APPEARS ON: 3 disk(s)

FILE HASH

993dc73e7003d29837f0d3b945cee9d0052245159f92e2827f07e3ddfb7e0541

FOUND ON DISKS (3 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
MM UTILITY HALF TRACK.ASM PRG Radd Maxx 2 2 DOWNLOAD FILE
PPM VOL II HALF TRACK.ASM PRG High Voltage Complete C64 Collection 22 1 DOWNLOAD FILE
1541 DEVELOPMENT HALF TRACK.ASM PRG Sailor, Ganheden 34 1 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

> DETECTED: COMMODORE BASIC PROGRAM (LOAD ADDRESS $0801)

00000000: 01 08 30 08 1A 04 AC B2  24 34 33 30 30 20 20 20  |..0.....$4300   |
00000010: 20 20 20 20 20 3B 52 4F  55 54 49 4E 45 20 A4 20  |     ;ROUTINE . |
00000020: 87 20 48 41 4C 46 20 54  52 41 43 4B 53 20 56 33  |. HALF TRACKS V3|
00000030: 00 38 08 24 04 53 45 49  00 63 08 2E 04 4C 44 59  |.8.$.SEI.c...LDY|
00000040: 20 23 24 30 30 20 20 20  20 20 20 20 3B 46 49 4C  | #$00       ;FIL|
00000050: 4C 20 57 B0 4B 20 53 50  41 43 45 20 57 49 54 48  |L W.K SPACE WITH|
00000060: 20 30 30 00 70 08 38 04  4C 44 41 20 23 24 30 30  | 00.p.8.LDA #$00|
00000070: 00 80 08 42 04 43 4C 45  41 52 49 54 20 B2 20 AC  |...B.CLEARIT . .|
00000080: 00 AB 08 4C 04 53 54 41  20 24 30 34 30 30 2C 59  |...L.STA $0400,Y|
00000090: 20 20 20 20 3B 53 A4 52  45 20 30 30 20 41 54 20  |    ;S.RE 00 AT |
000000A0: 24 30 34 30 30 AB 24 30  34 46 46 00 B3 08 56 04  |$0400.$04FF...V.|
000000B0: 49 4E 59 00 C3 08 60 04  42 4E 45 20 43 4C 45 41  |INY...`.BNE CLEA|
000000C0: 52 49 54 00 E8 08 6A 04  4A 53 52 20 24 46 45 30  |RIT...j.JSR $FE0|
000000D0: 30 20 20 20 20 20 20 3B  53 45 54 20 50 43 52 20  |0      ;SET PCR |
000000E0: A4 20 87 20 4D 4F 44 45  00 F6 08 74 04 4C 44 41  |. . MODE...t.LDA|
000000F0: 20 24 31 43 30 43 00 02  09 7E 04 B0 41 20 23 24  | $1C0C...~..A #$|
00000100: 30 45 00 10 09 88 04 53  54 41 20 24 31 43 30 43  |0E.....STA $1C0C|
00000110: 00 3A 09 92 04 4C 44 58  20 24 31 43 30 30 20 20  |.:...LDX $1C00  |
00000120: 20 20 20 20 3B A9 20 48  45 41 44 20 49 4E 20 48  |    ;. HEAD IN H|
00000130: 41 4C 46 20 54 52 41 43  4B 53 00 71 09 9C 04 49  |ALF TRACKS.q...I|
00000140: 4E 58 20 20 20 20 20 20  20 20 20 20 20 20 3B 43  |NX            ;C|
00000150: 48 41 4E 47 45 20 A4 20  44 45 58 20 A4 20 4D 4F  |HANGE . DEX . MO|
00000160: 56 45 20 48 45 41 44 20  4F 54 48 45 52 20 57 41  |VE HEAD OTHER WA|
00000170: 59 00 79 09 A6 04 54 58  41 00 9C 09 B0 04 AF 20  |Y.y...TXA...... |
00000180: 23 24 30 33 20 20 20 20  20 20 20 3B 43 59 43 4C  |#$03       ;CYCL|
00000190: 45 20 42 49 54 53 20 30  20 26 20 31 00 AA 09 BA  |E BITS 0 & 1....|
000001A0: 04 53 54 41 20 24 30 30  31 34 00 B8 09 C4 04 4C  |.STA $0014.....L|
000001B0: 44 41 20 24 31 43 30 30  00 C3 09 CE 04 AF 20 23  |DA $1C00...... #|
000001C0: 24 46 43 00 D0 09 D8 04  B0 41 20 24 30 30 31 34  |$FC......A $0014|
000001D0: 00 F5 09 E2 04 53 54 41  20 24 31 43 30 30 20 20  |.....STA $1C00  |
000001E0: 20 20 20 20 3B A9 20 48  45 41 44 20 31 AD 32 20  |    ;. HEAD 1.2 |
000001F0: 54 52 41 43 4B 00 1B 0A  EC 04 4C 44 58 20 23 24  |TRACK.....LDX #$|
00000200: 41 41 20 20 20 20 20 20  20 3B 92 20 81 20 48 45  |AA       ;. . HE|
00000210: 41 44 20 A4 20 53 45 54  54 4C 45 00 2A 0A F6 04  |AD . SETTLE.*...|
00000220: 44 45 4C 41 59 31 20 B2  20 AC 00 37 0A 00 05 4C  |DELAY1 . ..7...L|
00000230: 44 59 20 23 24 30 30 00  46 0A 0A 05 44 45 4C 41  |DY #$00.F...DELA|
00000240: 59 32 20 B2 20 AC 00 4E  0A 14 05 44 45 59 00 5D  |Y2 . ..N...DEY.]|
00000250: 0A 1E 05 42 4E 45 20 44  45 4C 41 59 32 00 65 0A  |...BNE DELAY2.e.|
00000260: 28 05 44 45 58 00 93 0A  32 05 42 4E 45 20 44 45  |(.DEX...2.BNE DE|
00000270: 4C 41 59 31 20 20 20 20  3B 48 45 41 44 20 53 45  |LAY1    ;HEAD SE|
00000280: 54 54 4C 45 44 20 41 54  20 48 41 4C 46 20 54 52  |TTLED AT HALF TR|
00000290: 41 43 4B 00 BA 0A 3C 05  4C 44 58 20 23 24 30 30  |ACK...<.LDX #$00|
000002A0: 20 20 20 20 20 20 3B 53  45 54 20 55 50 20 54 49  |      ;SET UP TI|
000002B0: 4D 45 52 20 81 20 53 59  4E 43 00 C7 0A 46 05 4C  |MER . SYNC...F.L|
000002C0: 44 59 20 23 24 30 30 00  D7 0A 50 05 54 49 4D 45  |DY #$00...P.TIME|
000002D0: 4F 55 54 20 B2 20 AC 00  DF 0A 5A 05 44 45 59 00  |OUT . ....Z.DEY.|
000002E0: ED 0A 64 05 42 4E 45 20  92 53 59 4E 43 00 F5 0A  |..d.BNE .SYNC...|
000002F0: 6E 05 44 45 58 00 03 0B  78 05 42 4E 45 20 92 53  |n.DEX...x.BNE .S|
00000300: 59 4E 43 00 31 0B 82 05  4C 44 41 20 23 24 30 33  |YNC.1...LDA #$03|
00000310: 20 20 20 20 20 20 3B 30  33 B2 4E 4F 20 53 59 4E  |      ;03.NO SYN|
00000320: 43 20 20 20 8B 20 4E 4F  20 53 59 4E 43 20 A7 20  |C   . NO SYNC . |
00000330: 80 00 3D 0B 8C 05 42 4E  45 20 80 49 54 00 5E 0B  |..=...BNE .IT.^.|
00000340: 96 05 92 53 59 4E 43 20  B2 20 AC 20 20 20 20 20  |...SYNC . .     |
00000350: 20 3B 43 48 45 43 4B 20  81 20 53 59 4E 43 00 6C  | ;CHECK . SYNC.l|
00000360: 0B A0 05 42 49 54 20 24  31 43 30 30 00 7C 0B AA  |...BIT $1C00.|..|
00000370: 05 42 4D 49 20 54 49 4D  45 4F 55 54 00 9F 0B B4  |.BMI TIMEOUT....|
00000380: 05 4C 44 41 20 24 31 43  30 31 20 20 20 20 20 3B  |.LDA $1C01     ;|
00000390: 53 4B 49 50 20 46 49 52  53 54 20 42 59 54 45 00  |SKIP FIRST BYTE.|
000003A0: A7 0B BE 05 43 4C 56 00  B4 0B C8 05 4C 44 59 20  |....CLV.....LDY |
000003B0: 23 24 30 30 00 D6 0B D2  05 A1 42 59 54 45 20 B2  |#$00......BYTE .|
000003C0: 20 AC 20 20 20 20 20 20  3B 87 20 83 20 46 52 4F  | .      ;. . FRO|
000003D0: 4D 20 44 49 53 4B 00 F3  0B DC 05 42 56 43 20 A1  |M DISK.....BVC .|
000003E0: 42 59 54 45 20 20 20 3B  92 20 81 20 42 59 54 45  |BYTE   ;. . BYTE|
000003F0: 20 87 59 00 FB 0B E6 05  43 4C 56 00 21 0C F0 05  | .Y.....CLV.!...|
00000400: 4C 44 41 20 24 31 43 30  31 20 20 20 20 20 3B 93  |LDA $1C01     ;.|
00000410: 20 42 59 54 45 20 46 52  4F 4D 20 83 20 50 4F 52  | BYTE FROM . POR|
00000420: 54 00 4C 0C FA 05 53 54  41 20 24 30 34 30 30 2C  |T.L...STA $0400,|
00000430: 59 20 20 20 3B 53 A4 52  45 20 83 20 46 52 4F 4D  |Y   ;S.RE . FROM|
00000440: 20 24 30 34 30 30 2D 24  30 34 46 46 00 54 0C 04  | $0400-$04FF.T..|
00000450: 06 49 4E 59 00 62 0C 0E  06 42 4E 45 20 A1 42 59  |.INY.b...BNE .BY|
00000460: 54 45 00 80 0C 18 06 4C  44 41 20 23 24 30 31 20  |TE.....LDA #$01 |
00000470: 20 20 20 20 20 3B 30 31  B2 4E 4F 20 45 52 52 B0  |     ;01.NO ERR.|
00000480: 00 A2 0C 22 06 80 49 54  20 B2 20 AC 20 20 20 20  |..."..IT . .    |
00000490: 20 20 20 20 3B 46 49 4E  49 53 48 20 55 50 20 AF  |    ;FINISH UP .|
000004A0: 20 80 00 D6 0C 2C 06 53  54 41 20 24 30 30 30 30  | ....,.STA $0000|
000004B0: 20 20 20 20 20 3B 53 A4  52 45 20 45 52 52 B0 20  |     ;S.RE ERR. |
000004C0: 43 4F 44 45 20 49 4E 20  43 4F 4D 4D 41 4E 41 44  |CODE IN COMMANAD|
000004D0: 20 51 55 45 55 45 00 F2  0C 36 06 4C 44 41 20 24  | QUEUE...6.LDA $|
000004E0: 31 43 30 43 20 20 20 20  20 3B 4B 49 4C 4C 20 50  |1C0C     ;KILL P|
000004F0: 43 52 00 FD 0C 40 06 AF  20 23 24 46 44 00 0B 0D  |CR...@.. #$FD...|
00000500: 4A 06 53 54 41 20 24 31  43 30 43 00 2E 0D 54 06  |J.STA $1C0C...T.|
00000510: 4A 4D 50 20 24 46 39 36  45 20 20 20 20 20 3B 52  |JMP $F96E     ;R|
00000520: 4F 4D 20 52 4F 55 54 49  4E 45 20 A4 20 80 00 00  |OM ROUTINE . ...|
00000530: 00                                                |.               |
..0.....$4300        ;ROUTINE . . HALF T
RACKS V3.8.$.SEI.C...LDY #$00       ;FIL
L W.K SPACE WITH 00.P.8.LDA #$00...B.CLE
ARIT . ....L.STA $0400,Y    ;S.RE 00 AT 
$0400.$04FF...V.INY.C.`.BNE CLEARIT...J.
JSR $FE00      ;SET PCR . . MODE...T.LDA
 $1C0C...~..A #$0E.....STA $1C0C.:...LDX
 $1C00      ;. HEAD IN HALF TRACKS.Q...I
NX            ;CHANGE . DEX . MOVE HEAD 
OTHER WAY.Y...TXA...... #$03       ;CYCL
E BITS 0 & 1.....STA $0014...D.LDA $1C00
.C.N.. #$FC.P.X..A $0014.....STA $1C00  
    ;. HEAD 1.2 TRACK.....LDX #$AA      
 ;. . HEAD . SETTLE.*...DELAY1 . ..7...L
DY #$00.F...DELAY2 . ..N...DEY.]...BNE D
ELAY2.E.(.DEX...2.BNE DELAY1    ;HEAD SE
TTLED AT HALF TRACK...<.LDX #$00      ;S
ET UP TIMER . SYNC.G.F.LDY #$00.W.P.TIME
OUT . ....Z.DEY...D.BNE .SYNC...N.DEX...
X.BNE .SYNC.1...LDA #$03      ;03.NO SYN
C   . NO SYNC . ..=...BNE .IT.^....SYNC 
. .      ;CHECK . SYNC.L. .BIT $1C00.|..
.BMI TIMEOUT.....LDA $1C01     ;SKIP FIR
ST BYTE.....CLV...H.LDY #$00.V.R..BYTE .
 .      ;. . FROM DISK.....BVC .BYTE   ;
. . BYTE .Y.....CLV.!...LDA $1C01     ;.
 BYTE FROM . PORT.L...STA $0400,Y   ;S.R
E . FROM $0400-$04FF.T...INY.B...BNE .BY
TE.....LDA #$01      ;01.NO ERR...."..IT
 . .        ;FINISH UP . ..V.,.STA $0000
     ;S.RE ERR. CODE IN COMMANAD QUEUE..
.6.LDA $1C0C     ;KILL PCR...@.. #$FD...
J.STA $1C0C...T.JMP $F96E     ;ROM ROUTI
NE . ....
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL