1
0
mirror of https://github.com/gryf/uc1541.git synced 2026-02-02 11:55:44 +01:00

2 Commits
v2.0 ... v2.2

Author SHA1 Message Date
4ef4ec289e Fixed bug with unusual sector end 2012-09-24 21:14:39 +02:00
63a88e84a1 Fixed bug with slash in filenames 2012-09-24 21:12:11 +02:00

26
uc1541
View File

@@ -7,6 +7,9 @@ VIC20/C64/C128. It requires the utility c1541 that comes bundled with Vice,
the emulator for the VIC20, C64, C128 and other computers made by Commodore.
Changelog:
2.2 Fixed bug(?) with unusual sector end (marked as sector 0, not 255),
causing endless directory reading on random locations.
2.1 Fixed bug with filenames containing slash.
2.0 Added reading raw D64 image, and mapping for jokers. Now it is
possible to read files with PET-ASCII/control sequences in filenames.
Working with d64 images only. Added workaround for space at the
@@ -20,8 +23,8 @@ Changelog:
1.0 Initial release
Author: Roman 'gryf' Dobosz <gryf73@gmail.com>
Date: 2012-09-02
Version: 2.0
Date: 2012-09-21
Version: 2.2
Licence: BSD
"""
@@ -117,16 +120,13 @@ class D64(object):
"""
filename = list()
in_fname = True
for chr_ in string:
character = D64.CHAR_MAP.get(ord(chr_), '?')
if ord(chr_) == 160: # shift+space character; $a0
break
if in_fname:
if ord(chr_) == 160:
in_fname = False
else:
filename.append(character)
character = D64.CHAR_MAP.get(ord(chr_), '?')
filename.append(character)
LOG.debug("string: ``%s'' mapped to: ``%s''", string,
"".join(filename))
@@ -138,7 +138,7 @@ class D64(object):
Return False if the chain ends, True otherwise
"""
if self.next_track == 0 and self.next_sector == 255:
if self.next_track == 0 and self.next_sector in (0, 255):
LOG.debug("End of directory")
return False
@@ -348,11 +348,11 @@ class Uc1541(object):
display_name = ".".join([fname, ext])
pattern_name = self.pyd64[idx]['fname']
if '/' in fname:
display_name = fname.replace('/', '|')
if '/' in display_name:
display_name = display_name.replace('/', '|')
# workaround for space at the beggining of the filename
if fname[0] == ' ':
if display_name[0] == ' ':
display_name = '~' + display_name[1:]
if ext == 'del':