mirror of
https://github.com/gryf/uc1541.git
synced 2025-12-18 20:10:31 +01:00
Added license and README file
This commit is contained in:
24
LICENSE
Normal file
24
LICENSE
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
Copyright (c) 2015, Roman Dobosz
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the organization nor the names of its contributors
|
||||||
|
may be used to endorse or promote products derived from this software
|
||||||
|
without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL ROMAN DOBOSZ BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||||
|
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||||
|
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||||
|
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
83
README.rst
Normal file
83
README.rst
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
===================================================
|
||||||
|
Midnight Commander virtual filesystem for d64 files
|
||||||
|
===================================================
|
||||||
|
|
||||||
|
This extfs provides an access to disk image files for the Commodore
|
||||||
|
VIC20/C64/C128 for Midnight Commander. It requires the utility c1541 that comes
|
||||||
|
bundled with Vice, the emulator for the VIC20, C64, C128 and other computers
|
||||||
|
made by Commodore.
|
||||||
|
|
||||||
|
Features
|
||||||
|
========
|
||||||
|
|
||||||
|
* view, remove, copy files in and out of the image
|
||||||
|
* support for read from and write to d64 images
|
||||||
|
* gzipped disk images support
|
||||||
|
* onfly characters remapping (see below)
|
||||||
|
|
||||||
|
Remarks
|
||||||
|
=======
|
||||||
|
|
||||||
|
Due to different way of representing file entries on regular D64 disk images,
|
||||||
|
there could be issues with filenames that are transfered from/to the image.
|
||||||
|
Following rules was applied to represent a single file entry:
|
||||||
|
|
||||||
|
1. An extension is attached to the end of a filename depending on a file type.
|
||||||
|
Possible extensions are: ``prg``, ``del``, ``seq``, ``usr`` and ``rel``.
|
||||||
|
2. Every non-ASCII character (which could be some of characters specific to
|
||||||
|
PET-ASCII, or be a control character) will be replaced by dot (``.``), since
|
||||||
|
``c1541`` program will list them that way.
|
||||||
|
3. Every slash character (``/``) will be replaced by pipe character (``|``).
|
||||||
|
4. Leading space will be replaced by tilda (``~``).
|
||||||
|
|
||||||
|
While copying from D64 image to filesystem, filenames will be stored as they
|
||||||
|
are seen on a listing.
|
||||||
|
|
||||||
|
While copying from filesystem to D64 image, filename conversion will be done:
|
||||||
|
|
||||||
|
1. Every ``$`` and ``*`` characters will be replaced by question mark (``?``)
|
||||||
|
2. Every pipe (``|``) and backslash (``\``) characters will be replaced by
|
||||||
|
slash (``/``)
|
||||||
|
3. Every tilda (``~``) will be replaced by a space
|
||||||
|
4. ``prg`` extension will be truncated
|
||||||
|
|
||||||
|
Representation of a directory can be sometimes confusing - in case when one
|
||||||
|
copied file without extension it stays there in such form, till next access
|
||||||
|
(after flushing VFS). Also file sizes are not accurate, since D64 directory
|
||||||
|
entries have sizes stored as 256 bytes blocks.
|
||||||
|
|
||||||
|
Rquirements
|
||||||
|
===========
|
||||||
|
|
||||||
|
* Python 2.7
|
||||||
|
* Vice installation (c1541 program in path)
|
||||||
|
|
||||||
|
Installation
|
||||||
|
============
|
||||||
|
|
||||||
|
* copy ``uc1541`` to ``~/.local/share/mc/extfs.d/``
|
||||||
|
* add or change entry for files handle in ``~/.config/mc/mc.ext``::
|
||||||
|
|
||||||
|
# Disk images for Commodore computers (VIC20, C64, C128)
|
||||||
|
regex/\.(d64|D64|d6z|D6z|d6Z|D6Z)$
|
||||||
|
Open=%cd %p/uc1541://
|
||||||
|
View=%view{ascii} c1541 %f -list
|
||||||
|
Extract=c1541 %f -extract
|
||||||
|
|
||||||
|
Configuration
|
||||||
|
=============
|
||||||
|
|
||||||
|
Here are specific for this script variable, which while set, can influence
|
||||||
|
script behaviour:
|
||||||
|
|
||||||
|
* ``UC1541_DEBUG`` - if set, uc1541 will produce log in /tmp/uc1541.log file.
|
||||||
|
* ``UC1541_VERBOSE`` - if set, script will be more verbose, i.e. error messages
|
||||||
|
form c1541 program will be passed to Midnight Commander, so that user will be
|
||||||
|
aware of error cause if any.
|
||||||
|
* ``UC1541_HIDE_DEL`` - if set, no DEL entries will be shown.
|
||||||
|
|
||||||
|
License
|
||||||
|
=======
|
||||||
|
|
||||||
|
This software is licensed under 3-clause BSD license. See LICENSE file for
|
||||||
|
details.
|
||||||
47
uc1541
47
uc1541
@@ -2,53 +2,6 @@
|
|||||||
"""
|
"""
|
||||||
UC1541 Virtual filesystem
|
UC1541 Virtual filesystem
|
||||||
|
|
||||||
This extfs provides an access to disk image files for the Commodore
|
|
||||||
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.
|
|
||||||
|
|
||||||
Remarks
|
|
||||||
-------
|
|
||||||
|
|
||||||
Due to different way of representing file entries on regular D64 disk images,
|
|
||||||
there could be issues with filenames that are transfered from/to the image.
|
|
||||||
Following rules was applied to represent a single file entry:
|
|
||||||
|
|
||||||
1. An extension is attached to the end of a filename depending on a file type.
|
|
||||||
Possible extensions are: prg, del, seq, usr and rel.
|
|
||||||
2. Every non-ASCII character (which could be some of characters specific to
|
|
||||||
PET-ASCII, or be a control character) will be replaced by dot (.), since
|
|
||||||
c1541 program will list them that way.
|
|
||||||
3. Every slash character (/) will be replaced by pipe character (|).
|
|
||||||
4. Leading space will be replaced by tilda (~).
|
|
||||||
|
|
||||||
While copying from D64 image to filesystem, filenames will be stored as they
|
|
||||||
are seen on a listing.
|
|
||||||
|
|
||||||
While copying from filesystem to D64 image, filename conversion will be done:
|
|
||||||
1. Every $ and * characters will be replaced by question mark (?)
|
|
||||||
2. Every pipe (|) and backslash (\) characters will be replaced by slash (/)
|
|
||||||
3. Every tilda (~) will be replaced by a space
|
|
||||||
4. 'prg' extension will be truncated
|
|
||||||
|
|
||||||
Representation of a directory can be sometimes confusing - in case when one
|
|
||||||
copied file without extension it stays there in such form, till next access
|
|
||||||
(after flushing VFS). Also file sizes are not accurate, since D64 directory
|
|
||||||
entries have sizes stored as 256 bytes blocks.
|
|
||||||
|
|
||||||
Configuration
|
|
||||||
-------------
|
|
||||||
|
|
||||||
Here are specific for this script variable, which while set, can influence
|
|
||||||
script behaviour:
|
|
||||||
|
|
||||||
UC1541_DEBUG - if set, uc1541 will produce log in /tmp/uc1541.log file
|
|
||||||
|
|
||||||
UC1541_VERBOSE - if set, script will be more verbose, i.e. error messages form
|
|
||||||
c1541 program will be passed to Midnight Commander, so that user will be aware
|
|
||||||
of error cause if any.
|
|
||||||
|
|
||||||
UC1541_HIDE_DEL - if set, no DEL entries will be shown
|
|
||||||
|
|
||||||
Changelog:
|
Changelog:
|
||||||
2.8 Treat non standard discs a bit better
|
2.8 Treat non standard discs a bit better
|
||||||
2.7 Added support for gzipped disk images
|
2.7 Added support for gzipped disk images
|
||||||
|
|||||||
Reference in New Issue
Block a user