C1541 (VICE)

Aus C64-Wiki
Zur Navigation springenZur Suche springen
C1541 (VICE)
c1541-Hilfe (Befehle)
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 Icon tastatur.png
Medien Download bei VICE
Sprache(n) Sprache:englisch

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.
  • 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
c1541 bam-Kommando


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]


Quellen und Referenzen

  1. Der validate-Befehl bei Version 4.1 (VICE 3.1) gleicht die BAM nicht mit der Directory-Spur ab. - 2019-09-08 Johann Klasek
  2. Der read-Befehl kann bis zumindest Version 4.2 (VICE 3.2) keine Relativdatei korrekt auslesen. - 2021-02-05 Johann Klasek