man cbmconvert (Commandes) - create, extract and convert various Commodore binary archives
NAME
cbmconvert - create, extract and convert various Commodore binary archives
SYNOPSIS
cbmconvert [options] le...
DESCRIPTION
This manual page documents briey the cbmconvert command.
There are many archiving programs for the Commodore 64, all of which are incompatible with archiving programs on other systems. The cbmconvert utility tries to address this problem. It extracts les from most known formats and writes them to several different formats, including some formats used by some Commodore 64 emulators:
- Native (raw) les
- Files with just the raw data. Written with the -I and -N options, read with the -n option.
- PC64 les
- Also known as "P00" les. Written with the -P option, read with the -p option.
- Lynx archives
- Lynx was originally developed for the Commodore 64. It modies the next-sector links in place and combines a number of les on a Commodore disk to a single le that can be transferred e.g. over a modem connection. Earlier versions of this format do not specify the length of the last contained le, not protecting it from padding that could be introduced e.g. by the X-modem transfer protocol. There are no checksums on the data either. Lynx archives are written with -L and read with -l.
- Commodore C2N tape archives
- Written with -C, read with -c. These les are raw dumps of the data format the Commodore KERNAL routines maintain. Block checksums and countdown leaders (0x89..0x81 for the rst copy and 9..1 for the second) are omitted, and the blocks are not stored twice, but only once. The data consists of 192-byte tape header blocks, 192-byte data le blocks, and arbitrary-length program le blocks.
- Commodore 128 CP/M disk images
- Written with -M, read with -m.
- CBM DOS disk images
- Written with -D, read with -d. Commodore 1571 and 1581 support have not been tested properly, and not all 1581 features have been implemented.
- ARC/SDA (Self-Dissolving Archive)
- Read with -a. No write support.
- Arkive
- Archives in this Lynx-like format are read with the -k option. There is no write support.
- T64
- This tape format was introduced by C64S emulator. Many variations of this format exist. These les are read with the -t option.
cbmconvert reads all les in all input les listed on the command line and writes them in the specied format. As there is no interactive user interface, the only way to copy only some les from a set of archive les to an archive le or a disk image is to extract all the les to a single-le format such as the PC64 format, and to copy the desited individual les to the output archive with another invocation of cbmconvert.
OPTIONS
cbmconvert follows the usual Unix command line syntax, with options starting with a dash (`-').
- --
- Stop processing options. This is useful if the rst le name begins with a dash.
- -I
- Output les in native (raw) format, with ISO 9660 compliant le names.
- -P
- Output les in PC64 format.
- -N
- Output les in native (raw) format.
- -L archive.lnx
- Output les in Lynx format.
- -C archive.c2n
- Output les in Commodore C2N tape format.
- -D4[o] image.d64
- Write to a Commodore 1541 CBM DOS disk image. The o option species that le name collisions should be resolved by overwriting existing les. The default behaviour is keep the old les.
- -D7[o] image.d71
- Write to a Commodore 1571 CBM DOS disk image.
- -D8[o] image.d81
- Write to a Commodore 1581 CBM DOS disk image.
- -M4[o] image.d64
- Write to a Commodore 1541 disk image in the Commodore 128 CP/M format.
- -M7[o] image.d71
- Write to a Commodore 1571 disk image in the Commodore 128 CP/M format.
- -M8[o] image.d81
- Write to a Commodore 1581 disk image in the Commodore 128 CP/M format.
- -i2
- Switch disk images when running out of space or a duplicate le name is detected.
- -i1
- Switch disk images when running out of space. This is the default behaviour.
- -i0
- Never switch disk images.
- -n
- Input les in native (raw) format.
- -p
- Input les in PC64 format.
- -a
- Input les in ARC/SDA format.
- -k
- Input les in Arkive format.
- -l
- Input les in Lynx format.
- -t
- Input les in T64 format.
- -c
- Input les in Commodore C2N format.
- -d
- Input les in CBM DOS disk image format.
- -m
- Input les in Commodore 128 CP/M disk image format.
- -v2
- Verbose mode. Display all messages.
- -v1
- Display warning and error messages. This is the default option.
- -v0
- Display error messages only.
BUGS
Many of the le formats lack safety measures, such as storing the exact lengths of the contained les, or storing even rudimentary checksums. Most formats have been reverse-engineered, and there may be other implementations that accept les in a stricter format than cbmconvert produces or produce les that cbmconvert does not recognize.
On disk images, it is common to decorate directory listings with unnecessary entries that contain Commodore-specic graphic characters. Since subdirectories were not supported by Commodore until the 1581 disk drive was introduced, the slash character (`/') is valid in Commodore le names but not on the Unix system. For these reasons, it is advisable to avoid the raw le format and the host le system whenever possible, and to convert directly from one Commodore-specic format to another.
The program lacks an interactive user interface. A shell-like command line interface could be useful, and a graphical le manager like interface could be even better. Are there any volunteers?
More disk image formats should be supported, and the 1571 and 1581 support should be tested extensively. Unsupported formats include the 8050, the 8250, the 2040 and the Commodore 64 CP/M format for the 1541.
AUTHOR
The cbmconvert utility was designed and implemented by Marko Mkel <marko.makela@nic.funet.fi>.
Support for Commodore 1581 disk images was programmed by Pasi Ojala <albert@cs.tut.fi>.
The ARC/SDA dissolving code was originally written by Chris Smeets.