mirror of
https://github.com/gryf/uc1541.git
synced 2026-02-21 00:35:45 +01:00
Moving offset calculation out of base class
This commit is contained in:
54
uc1541
54
uc1541
@@ -224,30 +224,11 @@ class Disk(object):
|
|||||||
num & 2 and 1,
|
num & 2 and 1,
|
||||||
num & 1), 2), '???')
|
num & 1), 2), '???')
|
||||||
|
|
||||||
def _get_d64_offset(self, track, sector):
|
def _get_offset(self, track, sector):
|
||||||
"""
|
"""
|
||||||
Return offset (in bytes) for specified track and sector.
|
Return offset (in bytes) for specified track and sector.
|
||||||
"""
|
"""
|
||||||
|
return 0
|
||||||
offset = 0
|
|
||||||
truncate_track = 0
|
|
||||||
|
|
||||||
if track > 17:
|
|
||||||
offset = 17 * 21 * 256
|
|
||||||
truncate_track = 17
|
|
||||||
|
|
||||||
if track > 24:
|
|
||||||
offset += 6 * 19 * 256
|
|
||||||
truncate_track = 24
|
|
||||||
|
|
||||||
if track > 30:
|
|
||||||
offset += 5 * 18 * 256
|
|
||||||
truncate_track = 30
|
|
||||||
|
|
||||||
track = track - truncate_track
|
|
||||||
offset += track * sector * 256
|
|
||||||
|
|
||||||
return offset
|
|
||||||
|
|
||||||
def _harvest_entries(self):
|
def _harvest_entries(self):
|
||||||
"""
|
"""
|
||||||
@@ -293,6 +274,37 @@ class D64(Disk):
|
|||||||
Implement d64 directory reader
|
Implement d64 directory reader
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
def _get_offset(self, track, sector):
|
||||||
|
"""
|
||||||
|
Return offset (in bytes) for specified track and sector.
|
||||||
|
|
||||||
|
Track Sectors/track # Tracks
|
||||||
|
----- ------------- ---------
|
||||||
|
1-17 21 17
|
||||||
|
18-24 19 7
|
||||||
|
25-30 18 6
|
||||||
|
31-40 17 10
|
||||||
|
"""
|
||||||
|
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
|
||||||
|
|
||||||
|
track = track - truncate_track
|
||||||
|
offset += track * sector * SECLEN
|
||||||
|
|
||||||
|
return offset
|
||||||
|
|
||||||
|
|
||||||
class D71(Disk):
|
class D71(Disk):
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user