mirror of
https://github.com/gryf/uc1541.git
synced 2026-01-29 17:55:45 +01:00
Added support for .d71 images
This commit is contained in:
51
uc1541
51
uc1541
@@ -311,6 +311,57 @@ class D71(Disk):
|
|||||||
Implement d71 directory reader
|
Implement d71 directory reader
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
def _get_offset(self, track, sector):
|
||||||
|
"""
|
||||||
|
Return offset (in bytes) for specified track and sector.
|
||||||
|
|
||||||
|
Track Sec/trk # Tracks
|
||||||
|
-------------- ------- ---------
|
||||||
|
1-17 (side 0) 21 17
|
||||||
|
18-24 (side 0) 19 7
|
||||||
|
25-30 (side 0) 18 6
|
||||||
|
31-35 (side 0) 17 5
|
||||||
|
36-52 (side 1) 21 17
|
||||||
|
53-59 (side 1) 19 7
|
||||||
|
60-65 (side 1) 18 6
|
||||||
|
66-70 (side 1) 17 5
|
||||||
|
"""
|
||||||
|
offset = 0
|
||||||
|
truncate_track = 0
|
||||||
|
|
||||||
|
if track > 17:
|
||||||
|
offset = 17 * 21 * SECLEN
|
||||||
|
truncate_track = 17
|
||||||
|
|
||||||
|
if track > 24:
|
||||||
|
offset += 7 * 19 * SECLEN
|
||||||
|
truncate_track = 24
|
||||||
|
|
||||||
|
if track > 30:
|
||||||
|
offset += 6 * 18 * SECLEN
|
||||||
|
truncate_track = 30
|
||||||
|
|
||||||
|
if track > 35:
|
||||||
|
offset += 5 * 17 * SECLEN
|
||||||
|
truncate_track = 35
|
||||||
|
|
||||||
|
if track > 52:
|
||||||
|
offset = 17 * 21 * SECLEN
|
||||||
|
truncate_track = 17
|
||||||
|
|
||||||
|
if track > 59:
|
||||||
|
offset += 7 * 19 * SECLEN
|
||||||
|
truncate_track = 24
|
||||||
|
|
||||||
|
if track > 65:
|
||||||
|
offset += 6 * 18 * SECLEN
|
||||||
|
truncate_track = 30
|
||||||
|
|
||||||
|
track = track - truncate_track
|
||||||
|
offset += track * sector * SECLEN
|
||||||
|
|
||||||
|
return offset
|
||||||
|
|
||||||
|
|
||||||
class D81(Disk):
|
class D81(Disk):
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user