C1541 (VICE)
C1541 (VICE) | |
---|---|
Entwickler | VICE Team |
Release | 4.2 (VICE 3.2) |
Lizenz | GPL |
Plattform(en) | PC (Windows. MS-DOS, OS/2), Linux, Acorn RISC OS, BeOS, QNX 6.x, Amiga, GP2X or Mac OS X |
Genre | Entwicklungssystem |
Steuerung | |
Medien | Download bei VICE |
Sprache(n) |
Das Programm c1541, das dem Emulator VICE beiliegt, simuliert ein oder mehrere generische Diskettenlaufwerke in denen Disk-Image-Dateien zahlreicher Formate behandelt werden können. Das Programm kann sowohl zum Auslesen als auch zum Verändern von Disk-Image-Dateien verwendet werden. Das Programm geht hierbei von einem 1541-Floppy-Laufwerk aus und berücksichtigt auch Besonderheiten, wie beispielsweise das VLIR-Format von GEOS.
Befehle[Bearbeiten | Quelltext bearbeiten]
Hinweis: Die nachfolgenden Angaben beziehen sich auf die VICE-Version 3.6.1, das meiste dürfte aber auch in anderen Versionen ganz ähnlich sein.
(Fast) alle Befehle können entweder mit einem vorangestellten Minuszeichen in der Befehlszeile angegeben werden oder, wenn keine solchen Befehle angegeben sind, interaktiv eingegeben werden.
Dateinamen kann ein "@n:" vorangehen. Damit kann das virtuelle Laufwerk ausgewählt werden.
Disketten- und Laufwerksbefehle[Bearbeiten | Quelltext bearbeiten]
unit <number>
- Wechsel zum Laufwerk mit der Nummer <number>.
attach <diskimage> [<unit>]
- "Schiebe" Diskette <diskimage> in das virtuelle Laufwerk <unit>.
info [<unit>]
- Ausgabe von Infos (Format, Tracks, ggfs. Fehlerblock, Schreibschutz) zur Diskette im Laufwerk <unit>. Das Format wird dabei durch eine interne Nummer spezifiziert. Siehe Abschnitt "Unterstützte Formate".
validate [<unit>]
- Prüfe Diskette auf Fehler (und behebe diese?). Anders, als der Floppy-Befehl VALIDATE wird die BAM für die Directory-Spur (Spur 18) nicht abgeglichen.[1]
@ [<command>]
- Führt einen CBM-DOS-Befehl aus, sofern angegeben. Gibt anschließend den Status des Laufwerks aus.
name <diskname>[,<id>] <unit>
- Ändert Namen (und ID) der Diskette.
format <diskname,id> [<type> <imagename>] [<unit>]
- Formatiert die eingelegte Diskette mit angegebenem Namen und ID. Falls <imagename> angegeben ist, erzeuge eine neue Diskette vom Typ <type> und "schiebe" diese Diskette in das Laufwerk.
Dateibefehle[Bearbeiten | Quelltext bearbeiten]
dir [<pattern>]
list [<pattern>]
- Liste alle Dateien der Diskette (die auf <pattern> passen).
entry [+side] <file1> [<file2> ... <fileN>]
- Zeige ausführliche Infos zu den angegebenen Dateien.
extract [<unit>]
- Führe den
read
-Befehl für alle Dateien auf der Diskette aus.
- Führe den
read <source> [<destination>]
- Lies Datei von der Diskette und speichere diese im Dateisystem.[2]
write <source> [<destination>]
- Schreibe eine Datei aus dem Dateisystem auf die Diskette. Durch die Anhänge ",s", ",u" und ",l,<len>" an <destination> kann der Typ (und im Falle von ",l" auch die Länge der Einträge) der Datei ausgewählt werden.
copy <source1> [<source2> ... <sourceN>] <destination>
- Kopiere die angegebenen Dateien von Diskette auf Diskette. Falls mehrere Dateien kopiert werden sollen, muss <destination> nur ein Laufwerk spezifizieren (@n:).
delete <file1> [<file2> ... <fileN>]
- Lösche die angegebenen Dateien.
rename <oldname> <newname>
- Benenne eine Datei um.
Blockbefehle[Bearbeiten | Quelltext bearbeiten]
bam [<unit>] | <track-min> <track-max> [<unit>]
- Zeige die BAM der Diskette (oder einen Ausschnitt davon) an.
chain <track> <sector> [<unit>] | <filename>
- Zeige die Blockkette an, die an dem angegebenen Block beginnt. Am Ende der ausgegebenen Kette steht die Anzahl der Bytes im letzten Block.
block <track> <sector> [<offset>] [<unit>]
- Zeige den angegebenen Block an.
bread <filename> <track> <sector> [<unit>]
- Lies den angegebenen Block und speichere ihn im Dateisystem.
bwrite <filename> <track> <sector> [<unit>]
- Schreibe den angegebenen Block mit einer Datei aus dem Dateisystem.
bpeek [@<unit>:] <track> <sector> [<offset> [<end>]]
- Zeige den spezifizierten Teil des angegebenen Blocks an.
bpoke [@<unit>:] <track> <sector> <offset>
- Schreibe ab <offset> die Daten in den angegebenen Block.
bcopy <src-track> <src-sector> <dst-track> <dst-sector> [<src-unit> [<dst-unit>]]
- Kopiere einen Block in einen anderen Block.
bfill <track> <sector> <value> [<unit>]
- Fülle einen Block mit <value>.
Spezielle Dateiformate[Bearbeiten | Quelltext bearbeiten]
p00save [<enable> [<unit>]]
- Schreibe beim Schreiben von Dateien p00-Dateien (<enable>=1) statt prg-Dateien (<enable>=0).
tape <t64name> [<file1> ... <fileN>]
- Extrahiere Dateien von einer T64-Datei und schreibe diese auf die Diskette.
unlynx <lynxname> [<unit>]
- Extrahiere die Dateien eines Lynx-Archives und schreibe diese auf die Diskette. (Der Befehl gilt derzeit als unsicher und sollte mit besonderer Sorgfalt benutzt werden.)
unzip <d64name> <zipname> [<label,id>]
zcreate <d64name> <zipname> [<label,id>]
- Erzeuge eine D64-Diskette aus vier ZIP-Dateien. (Der Befehl gilt derzeit als unsicher und sollte mit besonderer Sorgfalt benutzt werden.)
geosread <source> [<destination>]
- Liest eine GEOS-Datei.
geoswrite <source>
- Schreibt eine GEOS-Datei.
geosextract <source>
- Extrahiert alle GEOS-Dateien.
Sonstige Befehle[Bearbeiten | Quelltext bearbeiten]
? [<command>]
help [<command>]
- Listet alle Befehle auf oder gibt eine kurze Hilfe zu einem Befehl aus.
version
- Zeigt die aktuelle Version des Programms an.
show
- Zeigt Lizenz-Informationen an.
x
exit
q
quit
^D
- Beendet das Programm. Diese Befehle können zwar auch auf der Kommandozeile angegeben werden, beenden das Programm dann aber mit einer Fehlermeldung.
pwd
- Gibt den aktuellen Pfad im Dateisystem aus.
cd <hostdir>
- Ändert den aktuellen Pfad im Dateisystem.
! <host-cmd>
- Führt den Befehl <host-cmd> auf dem Computer aus. Zu diesem Befehl kann keine Hilfe angezeigt werden und der Befehl kann auch nicht auf der Befehlszeile benutzt werden.
silent <off>
- Schaltet das Logging an oder ab.
verbose [off]
- Schaltet ausführliche Ausgaben an oder ab.
disable-libdebug-output
- Schaltet das Logging für libdebug ab, sofern dieses in das Programm einkompiliert worden ist. (Dieser Befehl ist nur für Programmentwickler interessant.)
Tabelle der unterstützten Datei-Formate[Bearbeiten | Quelltext bearbeiten]
Die folgenden Dateiformate werden von c1541 unterstützt:
Typ | Interne Nummer (bei info ) |
Unterstützung durch format
|
d64 | 1541 | VC1541/2031 |
d67 | 2040 | 2040 DOS1 |
d71 | 1571 | VC1571 |
d81 | 1581 | VC1581 |
d80 | 8050 | CBM8050 |
d82 | 8250 | CBM8250 |
g64 | 100 | VC1541/2031, in GCR-Codierung |
g71 | 101 | VC1571, in GCR-Codierung |
x64 | 0 | falls eincompiliert |
d1m | 1000 | - |
d2m | 2000 | - |
d4m | 4000 | - |
d90 | 9000 | - |
p64 | 200 | - |
tap | 1531 | - |
dhd | 4844 | - |
Beispiele[Bearbeiten | Quelltext bearbeiten]
Directory eines Images anzeigen:
c1541 image.d64 -list
oder
c1541 image.d64 -dir
BAM eines Images anzeigen: (siehe Bild)
c1541 image.d64 -bam
Block Spur 18, Sektor 0 (BAM-Block) als Hex-Dump ausgeben:
c1541 image.d64 -block 18 0
Leeres Image namens "leer.d64" anlegen (formatiert) mit Disk-ID "jk" und Name "leer":
c1541 -format "leer,jk" d64 leer.d64
Alle Dateien eines Images extrahieren:
c1541 image.d64 -dir c1541 image.d64 -extract
Hier werden allerdings alle Dateien nur mit dem Dateinamen angelegt, aus dem nicht hervorgeht, welcher Dateityp hier extrahiert wurde. Das zuvor angezeigte Directory-Listing offenbart deshalb den Dateityp.
Ohne Angabe des Typs lässt sich aus den so extrahierten Dateien nicht ohne weiteres wieder ein D64-Image erstellen.
Dabei werden zumindest bis Version 4.2 Relativdateien nicht automatisch extrahiert.
Weblinks[Bearbeiten | Quelltext bearbeiten]
- c1541 im Vice Manual Kommandos, Optionen und Beispiele des Kommandozeilen-Werkzeugs
- Sourcecode bei Sourceforge
Quellen und Referenzen
- ↑ Der validate-Befehl bei Version 4.1 (VICE 3.1) gleicht die BAM nicht mit der Directory-Spur ab. - 2019-09-08 Johann Klasek
- ↑ Der read-Befehl kann bis zumindest Version 4.2 (VICE 3.2) keine Relativdatei korrekt auslesen. - 2021-02-05 Johann Klasek