VICE

Aus C64-Wiki
(Weitergeleitet von WinVICE)
Zur Navigation springenZur Suche springen
VICE
300px Der Startbildschirm.
Entwickler VICE-Team
aktuelle Version VICE 3.8 vom 24. Dezember 2023
Lizenz GPL
Plattform MacOS, Linux, Windows. Bis inkl. VICE 3.1 auch Acorn RISC OS, Amiga, BeOS, DOS OS/2, Solaris und weitere
Bedienung Icon tastatur.png, Icon maus.png
Formate D64, D81, T64, TAP, CRT, G64, x64 und weitere
Sprache Sprache:englisch Sprache:deutsch Sprache:französisch Sprache:italienisch Sprache:dänisch Sprache:niederländisch Sprache:polnisch und weitere



Beschreibung[Bearbeiten | Quelltext bearbeiten]

VICE ("Versatile Commodore Emulator", für Windows auch WinVICE) ist ein Programm, das auf verschiedenen Plattformen läuft und Programme für die 8-Bit-Computer von Commodore ausführen kann. VICE emuliert die meisten Modelle und Modellvarianten der 8-Bit-Computer von Commodore, namentlich: C64 (außerdem den C64DTV und die SuperCPU), C128 (Stock, D, DCR), VC20, die PET-Reihe, die C264-Reihe (C16/Plus/4 und Prototypen), sowie die CBM-II-Reihe (C5xx/C6xx/C7xx). Darüber hinaus werden für jedes jeweilige System nahezu alle gängigen Massenspeicher emuliert, sowie eine große Vielzahl von optionalen Rechnerkonfigurationen, Druckern, Eingabegeräten, Speichererweiterungen und verschiedene sonstige teils exotische Hardware-Zusätze auch von Drittherstellern. Die verschiedenen Systeme werden durch separate Programmdateien (z.B. "x64sc.exe") gestartet, die über fast identische Oberflächen verfügen. Mit enthalten sind außerdem einige Kommandozeilen-Werkzeuge wie C1541, Cartconv und Petcat, sowie ein eigenständiger SID-Player namens VSID.

Da VICE für sehr viele unterschiedliche Host-Systeme frei verfügbar ist und die meisten 8-Bit-Systeme von Commodore taktgenau in hoher Qualität emuliert, gilt VICE gemeinhin als der vielseitigste und am meisten verbreitete Commodore-Emulator.

Installation und Konfiguration[Bearbeiten | Quelltext bearbeiten]

Installation unter Windows[Bearbeiten | Quelltext bearbeiten]

Vice titel.gif

Nach dem Download von WinVICE erhält man eine zip-Datei, mit dem Dateinamen WinVICE-x.x.zip, wobei die beiden x durch die Programmversion ersetzt sind (z. B. WinVICE-1.21.zip). Dieses wird auf die Festplatte entpackt.

Zum Starten des C64-Emulators wird die Datei x64sc.exe (bzw. bei älteren VICE-Versionen der nicht zyklenexakte x64.exe) ausgeführt. Verknüpfungen im Startmenü, auf dem Desktop usw. müssen selbst angelegt werden.

Installation unter Linux[Bearbeiten | Quelltext bearbeiten]

Der Emulator VICE ist in allen wichtigen Linux-Distributionen enthalten. Wegen Urheberrechtsproblemen fehlen allerdings die C64-ROMs. Sie müssen zwingend nachinstalliert werden, das ist aber einfach. Hier eine genaue Anleitung zur Installation von VICE unter Linux:

Je nach Distribution (SuSE, Ubuntu, Mepis etc.) wählt man im Paketmanager "Vice" aus und lässt den Emulator installieren. Zur Benutzung ist er bereit, sobald man auch die C64-ROMs installiert hat.

Am einfachsten sind die ROMs in der Windows-Variante von VICE zu finden unter http://vice-emu.sourceforge.net/#download. Diese sind aber auch zumindest seit Version 2.1 im Source-Tar-Ball, z.B. vice-2.1.tar.gz vorhanden.

Hier einfach das Archiv der Windows-Version von VICE (WinVICE) herunterladen, alle benötigten ROMs sind dort enthalten.

Das Archiv muss nun in ein beliebiges Verzeichnis extrahiert werden. Anschließend muss der Inhalt der Verzeichnisse (mindestens C64, DRIVES und PRINTER) in die gleichnamigen Verzeichnisse unter z.B. $HOME/.local/share/vice/ kopiert werden.[1] Nach dem Kopiervorgang muss also z.B. die Datei $HOME/.local/share/vice/C64/kernal-901227-03.bin existieren. Pfade und Dateinamen der ROMs haben sich im Laufe der VICE-Entwicklung geändert.

Sind die Dateien kopiert, ist VICE einsatzbereit. Um dann z. B. die C64-Variante des Emulators zu starten, muss in einer Konsole das Kommando "x64" bzw. "x64sc" aufgerufen werden.

Die Menüs für die Einstellungen erscheinen bei Linux-VICE beim Drücken der linken bzw. rechten Maustaste. D64-Dateien lassen sich laden, indem beim Linke-Maustaste-Menü der Punkt "Attach disk image" ausgewählt wird und nach der Auswahl der gewünschten Datei dann der Button Autostart drückt wird.

Einstellungen[Bearbeiten | Quelltext bearbeiten]

Video-Einstellungen (Video Settings)[Bearbeiten | Quelltext bearbeiten]

Vice options double size.png

Hier braucht man für den Anfang wenig bis gar nichts einzustellen. Wenn eine größere Darstellung des Bildschirms gewünscht ist, einfach die Option Doppelte Größe (Double size) im Menü Optionen (Options) wählen, wie im rechten Bild angezeigt. Eine Nachahmung des Fernsehbildes (leichte Unschärfe/Farbschlieren/Rasterzeilen) wird erreicht, indem im selben Menü die Option PAL Emulation aktiviert wird. Diese Option sollte deaktiviert sein, wenn man Screenshots oder Videos für das C64-Wiki machen will.[2]

Eine Vollbild-Darstellung bewirkt die Auswahl der Option Vollbild (Fullscreen). Durch das gleichzeitige Drücken von Alt +D  kann diese Darstellung auch während der Emulation erreicht werden.

Vice video settings resolution.png

Um die Auflösung des Vollbildes zu ändern, muss im Menü Einstellungen (Settings) der Menüpunkt Video Einstellungen... (Video settings...) aufgerufen werden, wie im rechten Bild gezeigt. Es ist zu empfehlen, an dieser Stelle auch gleich die Farbtiefe (Bitdepth) von 8 auf 24 Bit zu erhöhen, damit die PAL-Emulation auch im Vollbild funktioniert.

Joystick-Emulation[Bearbeiten | Quelltext bearbeiten]

Vice joystick settings numpad.png

Man kann ohne Joystick sehr gut über Tastatur spielen. Mit der nebenstehenden Einstellung werden die Pfeiltasten auf dem Nummernblock und die rechte Strg-Taste als Feuertaste benutzt. Diese Einstellung ist sehr zu empfehlen, da es so keine Überschneidungen mit der C64-Tastatur gibt.

Alternativ kann man die Tastenbelegung zur Joystick-Steuerung auch selbst festlegen. Dabei brauchen nur die Richtungen South, West, East, North und der Fire button definiert werden. Die anderen Tasten können bei Bedarf auch zugeordnet werden.

Wichtig ist, nur einen Joystick-Port zu belegen, wie auf den beiden Bildern dargestellt. Port 2 ist zu empfehlen, weil die meisten Spiele einen Joystick in Port 2 verlangen.

Vice joystick settings.gif


Vice options swap joystick.png


Wenn man auf ein Spiel stößt, das einen Joystick in Port 1 verlangt, können die beiden Ports auch vertauscht werden. Dazu entweder das Menü Options aufrufen und dort Swap Joysticks wählen oder während der Emulation die Tastenkombination Alt +J  drücken.

Nur wenn man gleichzeitig zu zweit spielen möchte und das Spiel es über die beiden virtuellen Joystick-Ports unterstützt, muss man in dem Einstellungsmenü beide Ports aktivieren und die Tastenbelegung muss sich natürlich zwischen beiden Ports unterscheiden.

Vice joystick settings joypad.png

Der virtuelle C64-Joystick kann aber auch mit einem PC-Gamepad oder -Joystick emuliert werden. Dazu muss dieses PC-Joypad unter Windows schon korrekt installiert und kalibriert sein. Das heißt, das Joypad muss mit Windows-Spielen einwandfrei funktionieren. Um es mit WinVICE zu benutzen, braucht man nur in den Joystick settings den Joystick aus der Liste auswählen. Ein Beispiel ist im rechten Bild zu sehen (dort ist es ein Competition Pro USB).

Laufwerks-Emulation[Bearbeiten | Quelltext bearbeiten]

Unter Preferences/Settings/Peripheral devices/Drive lässt sich die Laufwerks-Emulation konfigurieren.

Stand VICE 3.6 gibt es dabei drei Ebenen, auf denen ein Laufwerk emuliert werden kann:

  • True drive emulation emuliert das Laufwerk inkl. seines eigenen Prozessors, in Originalgeschwindigkeit. Dies ist die Emulationsart, die so gut wie 100%ige Kompatibilität liefert.
  • Virtual device emuliert ein Laufwerk über sogenannte "Virtual Device Traps", die gewissermaßen "Abkürzungen" zur Emulation darstellen. Technisch fängt VICE dabei den Aufruf von KERNAL-IEC-Operationen ab (Trap) und führt eine in VICE neu implementierte analoge Umsetzung der jeweiligen Kernal-Funktion aus.[3]
  • IEC device emuliert ein Laufwerk auf dem IEC-Bus und bildet das CBM-IEC-Protokoll nach, emuliert aber nicht das komplette Laufwerk in allen Details. Diese Emulation ist deutlich langsamer als "Virtual device", aber etwas kompatibler, wenn auch nicht mit "True drive" vergleichbar.

Vor VICE 3.6 waren die Einstellungen anders in das Optionsmenü eingegliedert und "Virtual device" (bzw. "Virtual device traps" in manchen Versionen) nur global für alle Laufwerke aktivierbar. Außerdem gab es zahlreiche Fehler sowohl bei gleichzeitiger Aktivierung von "True drive" und "Virtual device" sowie Fehler in der Implementierung von "Virtual device" an sich.

  • "Virtual device" und "IEC device" bieten Optionen, die "True drive" nicht bietet, z.B. Direktzugriff auf das Host-Dateisystem oder das Ansprechen eines physischen angeschlossenen Laufwerks (via OpenCBM).
  • Alle drei Emulationsoptionen lassen sich gleichzeitig aktivieren, wobei das Ergebnis dann nicht immer klar definiert ist und sich insbesondere bis inkl. VICE 3.5 die Optionen ggf. auch gegenseitig in die Quere kommen. Entsprechend ist es empfehlenswert, für jedes Laufwerk nur eine der drei Optionen zu wählen.
  • Details zur Technik von Laufwerksemulation gibt es im Artikel Floppy (Abschnitt "Kompatibilität").
  • Wenn ein Programm nicht funktionieren sollte, sollte man es mit (nur) "True drive" aktiviert versuchen.
  • "Virtual device" funktioniert mit Steckmodulen und alternativen Kernals wie JiffyDOS nicht unbedingt zusammen.

Sichern der Einstellungen[Bearbeiten | Quelltext bearbeiten]

Schließlich sollte man noch die gemachten Einstellungen abspeichern, damit sie nicht bei jedem Aufruf des Emulators erneut vorgenommen werden müssen. Dazu ist im Menü Settings der Menüpunkt Save current settings zu wählen.

Das Häkchen hinter Comfirm on exit ganz unten kann abgewählt werden und verhindert so den lästigen Warnhinweis beim Schließen des Emulators.

Starten von Programmen[Bearbeiten | Quelltext bearbeiten]

Vice file autostart.png

Es können verschiedene Arten von Images geladen werden. Eins der am häufigsten gebrauchten ist das Disk-Image (.d64). Man wählt im Menü File den ersten Menüpunkt Autostart disk/tape image. Das Fenster im rechten Bild erscheint. Man wählt die D64-Datei aus und klickt auf Attach, schon wird das Programm geladen und automatisch gestartet. Den Ladevorgang kann man durch den Warp-Modus mittels Druck auf Alt +W  beschleunigen. Bei diesem sogenannten Warp mode wird die gesamte Emulationsgeschwindigkeit erhöht. Nach dem Ladevorgang den Warp mode mit derselben Tastenkombination wieder ausschalten.

Falls man ein D64-Image mit mehreren Spielen besitzt oder das entsprechende Spiel nicht mit der ersten Datei gestartet wird, muss man das richtige Spiel bzw. die richtige Startdatei aus dem Inhaltsverzeichnis des D64-Images auswählen. Dazu klickt man einmal auf die D64-Datei und dann doppelt auf das entsprechende Spiel im Inhaltsverzeichnis des D64-Images, das in dem Bereich Image Contents angezeigt wird. Im Beispiel wurde das Spiel Snooker ausgewählt.

Für Neulinge des VICE-Emulators ist die manchmal sehr lange Wartezeit, bis ein Programm geladen oder später gestartet wird, oft irritierend. Viele brechen diesen Vorgang verfrüht ab, weil sie einen Rechnerabsturz vermuten. Es empfiehlt sich, bis zu einer Minute zu warten, bevor man einen solchen Wartevorgang abbricht, auch wenn sich am Bildschirm nichts tut. Dieses Verhalten des Programms beruht auf der Emulation des Floppylaufwerks (man konnte sich auch beim echten C64 schon mal eine Tasse Kaffee holen, währenddessen ein Spiel geladen wurde) und dem meistens nachfolgenden Entpacken eines Programms (Entpacken dauert nicht so lange wie Laden, deshalb auf dem echten C64 Zeitersparnis). Da VICE (und auch kein anderer C64-Emulator) keinerlei Hinweis darauf geben kann, (das Laden kann man in der Track/Sektor-Anzeige rechts unten verfolgen), sollte man sich in Geduld üben.

Diskettenwechsel[Bearbeiten | Quelltext bearbeiten]

Vice file attach.png

Bei Spielen, die über mehrere Diskettenseiten gehen, hat man beim Emulieren auch mehrere D64-Images. Gelegentlich fordert ein Spiel dann auf, eine andere Diskette oder Diskettenseite einzulegen. Daher muss man beim Emulieren das entsprechende D64-Image dem Emulator nahe bringen. Dazu wählt man im Menü File den Menüpunkt Attach disk image und dann auf Drive 8 oder abgekürzt Alt +8 . Es erscheint dann ein sehr ähnliches Fenster wie bei der vorher beschriebenen Autostart disk/tape image-Funktion. Der Unterschied ist nun, dass die gewählte D64-Datei nicht direkt ausgeführt wird, sondern nur ins virtuelle Laufwerk eingelegt wird, wenn Attach angeklickt wird. Das entspricht dem Einlegen einer Diskette beim echten C64. Meistens muss man zur Bestätigung noch den Feuerknopf, die Leertaste, oder eine andere Taste drücken. Das wird einem aber zumeist durch das Programm mitgeteilt.

Für das Extrahieren von Programmen aus D64-Image-Dateien gibt es auch ein Schritt-für-Schritt-Tutorial. VICE/PRG_aus_D64_speichern

Hinweise[Bearbeiten | Quelltext bearbeiten]

Snapshots erstellen[Bearbeiten | Quelltext bearbeiten]

WinVICE-snapmedia.png

In diesem Menü kann u.a. der momentane Zustand des Emulators abgespeichert werden ("Save snapshot image"). Diese Funktion kann z.B. bei Spielen, die keine Savegame-Funktionalität haben, als Ersatz benutzt werden.[4]

Screenshot erstellen (media file)[Bearbeiten | Quelltext bearbeiten]

WinVICE-snapmediabox.png

Zum Erstellen eines Screenshots ist im Menü Snapshot den Menüpunkt save media file auszuwählen. Es öffnet sich eine Auswahlbox, in der man das Bildformat selektiert und den Dateinamen eingibt.

History-Funktion[Bearbeiten | Quelltext bearbeiten]

Mit der History-Funktion (im Menü unter Snapshot/Start recording events) kann man den Programmverlauf speichern und wieder abspielen. Dies ist insbesondere zum Erstellen von Longplays praktisch.

Das Ganze funktioniert so gut, dass viele gespielte Stunden aufgenommen werden können, ohne dass große Datenmengen für die History-Datei anfallen. Weiterhin kann man beim Abspielen jederzeit unterbrechen und ab dort selbst weiterspielen.

Eine erstellte History ist oft nicht kompatibel zu neueren oder älteren VICE-Versionen.

Siehe auch Anleitung für das Erstellen einer History bzw. eines Longplays.

Netplay[Bearbeiten | Quelltext bearbeiten]

Mittels Netplay können zwei Spieler über Vice online gegeneinander spielen. Folgende Schritte sind durchzuführen:

Netplay
  1. Beide Spieler sollten sicherstellen, dass sie die gleiche Version von VICE benutzen, z. B. 2.1.
  2. Wenn eine Firewall benutzt wird, sollte dort TCP-Port 6502 freigegeben werden.
  3. Ein Spieler klickt bei "Snapshot -> Netplay (experimental)..." auf die Schaltfläche "Start Server".
  4. Derselbe Spieler legt rechts bei Control über ein paar Häkchen noch fest, welche Einstellungen (z.B. Joysticks) er selbst als Server oder der zweite Spieler als Client verwaltet.
  5. Das gewünschte .D64- bzw. .T64-Image muss über "File" attacht werden.
  6. Der Server-Spieler teilt dann dem zweiten Spieler seine IP-Adresse mit.
  7. Der zweite Spieler attacht ein identisches .D64 bzw. .T64-Image.
  8. Als nächstes trägt Spieler Zwei über "Snapshot -> Netplay (experimental)..." rechts von der Schaltfläche "Connect to" die IP-Adresse des Server-Spielers ein und klickt anschließend auf "Connect".
  9. Spieler 1 kann nun das gewünschte Spiel laden und starten.
  10. Wenn alles richtig eingestellt wurde, sollte bei Spieler 2 (Client) im VICE nun nur noch der Server-Spieler 1 die Kontrolle haben. Das heißt, der Client macht nichts, bis der Server ein Zwei-Spieler-Game startet.

Der Hinweis "experimental" deutet an, dass diese Funktion noch nicht voll ausgereift ist. Beim Synchronisieren können je nach Verbindung, vielleicht auch abhängig vom benutzten Joystick Verzögerungen auftreten. Nichtsdestotrotz funktioniert die Methode bereits sehr gut und ermöglicht mit sehr wenig Aufwand eine spontane 2-Player-Internet-Spiele-Session auf VICE.

Kompatibelste Emulation der 1541[Bearbeiten | Quelltext bearbeiten]

  • Details siehe auch Abschnitt Laufwerks-Emulation.
    • Drive settings / Drive type = 1541 , 40 track handling = Extend on access , Idle method = None
      True drive emulation = Ein (angehakt)
      Virtual device traps = Aus (nicht angehakt)
  • Vice - Idle method (Vice-Manual)
    (No Idle method: So basically the drive works exactly as with the real thing, and nothing is done to reduce the power needs of the drive emulation)

Mauszeiger verschwunden[Bearbeiten | Quelltext bearbeiten]

Manchmal kommt es vor, dass beim Betrieb des Emulators plötzlich der Mauszeiger von Windows verschwunden und nicht wieder auffindbar ist, egal wie heftig man die Maus bewegt. Die Ursache ist so gut wie immer, dass man versehentlich beim Aktivieren oder Deaktivieren des Warp-Modus zusätzlich die Tastenkombination Alt  und M  (in früheren Versionen Q ) gedrückt hat. Letztere schaltet nämlich die 1351 mouse emulation ein und aus. Also einfach nochmal Alt +M  drücken und schon müsste der Mauszeiger wieder auftauchen.

Höchste Emulationsgeschwindigkeit[Bearbeiten | Quelltext bearbeiten]

In bestimmten Fällen ist es wünschenswert, den Emulator auf höchstmöglicher Geschwindigkeit laufen zu lassen (z. B. bei Berechnungen in Anwendungen). Erster Schritt ist dabei das Aktivieren des Warp-Modus per Alt +W . Die dort erreichte Geschwindigkeit ist am höchsten, wenn man die Sound-Emulation in den Einstellungen komplett abschaltet und den alten x64-Emulator benutzt (nicht x64sc). x64 erreicht nicht ganz die Emulationsgüte von x64sc, was jedoch in Anwendungen oder unter BASIC keine Rolle spielt.

x64 liegt den meisten neueren VICE-Releases leider nicht mehr bei.

Spiele-Pokes in Vice eingeben[Bearbeiten | Quelltext bearbeiten]

Cheat-Pokes lassen sich im VICE-Monitor eingeben.

Die Schritte für ein POKE 50374,173 sind wie folgt.

  • In VICE das Spiel laden und starten
  • Den Monitor aufrufen (File / Monitor)
  • Monitor auf die Dezimaldarstellung umstellen (Standard ist Hexadezimal): RAD D
  • Speicherstelle ändern: > 50374 173
  • Monitor verlassen: X

Turboloader[Bearbeiten | Quelltext bearbeiten]

Auch wenn unter VICE die Auswahl des Menüpunktes Optionen->Warp Modus das Laden beschleunigt, kann es durchaus sinnvoll sein, einen Turbolader zu benutzen.

Sofern das jeweilige Programm keinen eigenen Schnelllader benutzt, können Diskettenoperationen durch Abschalten der True Drive Emulation deutlich beschleunigt werden (siehe Abschnitt Laufwerks-Emulation).

JiffyDOS[Bearbeiten | Quelltext bearbeiten]

Eine Anleitung wie JiffyDOS unter Vice verwendet werden kann, finden Sie hier: VICE/JiffyDOS

AVI-Videos erstellen[Bearbeiten | Quelltext bearbeiten]

Eine Anleitung, wie ein Video unter Vice erstellt werden kann, findet sich im Artikel Erstellung eines AVI-Videos.

Unterschiedliche Bedienoberflächen[Bearbeiten | Quelltext bearbeiten]

VICE kann mit zwei unterschiedlichen Toolkits kompiliert werden (SDL bzw. GTK). GTK ist das empfohlene UI für Desktop-PCs. Beide Oberflächen unterscheiden sich in diversen Details wie Tastatur-Shortcuts und einigen Features.

Seit VICE 3.3 gibt es die nativen UIs nicht mehr. Ebenso wurde mit VICE 3.3 die Lokalisierung der Oberfläche (deutsche Menüs etc.) entfernt, da sie zu wartungsintensiv war.

GeoRAM[Bearbeiten | Quelltext bearbeiten]

Um GeoRAM zu emulieren, muss man über Settings → Cartridge/IO Settings → GEORAM Settings "Enable GEORAM" anhaken und per "GEORAM Size" auswählen, wie viel RAM emuliert werden soll. Über die Schaltfläche Browse... neben "GEORAM file" lässt sich auch ein vorhandenes GeoRAM-Image anwählen. Wenn ein GeoRAM Image noch erstellt werden muss oder Änderungen in einem emulierten GeoRAM-Image gespeichert werden sollen, geht das über Settings → Save current settings to specified file.

IDE64[Bearbeiten | Quelltext bearbeiten]

Die IDE64 (V3.4) unter VICE

Um eine angeschlossenen IDE64-Steckkarte der Version V3.x zu emulieren, zunächst die Firmware auf unter Custom IDEDOS download web page mit den folgenden Einstellungen herunterladen:

  • Target system: C64 oder C128
  • Cartridge version: V3.1 bis zur V3.4+
  • Disk drive speeder system: None
  • PCLink: keep the default (Standard: PC64)
  • Second SID base address: keep the default (Standard: none)
  • Misc options: keep the default
  1. Die heruntergeladen ZIP-Datei entpacken und die Datei idedosxxx.rom in idedos.bin umbenennen.
  2. In VICE nun Files → Attach Cartridge Image → IDE 64 Interface Image und im Dateifenster die idedos.bin Datei aus dem entsprechenden Verzeichnis zuordnen.
  3. Wenn im Startscreen nun der Bootscreen und im Startbildschirm die Anfangsmeldung 64K RAM SYSTEM IDEDOS V0.9X PATCH XX zu sehen ist, funktioniert die IDE64-Emulation. Es wird nun automatisch ein Festplatten-Image (ide.hhd) angelegt, das mit einer Standardgröße von 8 MByte (autodetect) nutzbar ist.
  • Unter Settings → Cartridge I/O Settings → IDE64 Settings kann der Speicherort und der Name des Festplatten-Images, sowie die Festplatten-Image-Größe über die veränderte Werte von Cylinders, Heads und Sectors verändert werden, hierzu Autodetect deaktivieren. Es können max. 500 MBytes reserviert werden.
  • Sollen die IDE64-Emulation permanent genutzt werden, so können die Einstellungen mit Settings → Save current settings gespeichert werden.
  • Anschließend muss das Festplatten-Image formatiert werden:
  1. Zunächst das IDE64-CMOS-Setup aufrufen unter VICE am PC mit ^ +Page up .
  • Dort im Standard Setup die Option Direct Write auf enabled setzen. Diese Option muss immer beim Arbeiten mit dem Festplatten-Image aktiv.
  1. Hierzu das Programm cfsfdisk unter IDEDOS 0.90 utils only herunterladen.
  2. Die ZIP-Datei entpacken und das Programm cfsfdisk,prg in cfsfdisk umbenennen.
  3. Anschließend die Datei cfsfdisk in den VICE-Emulator mit der rechten Maustaste ziehen. Es wird nun automatisch geladen und gestartet. Alternativ geht auch die unbenannte Datei über das Diskettenlaufwerk 8 zu laden, dazu als D64-Image das Verzeichnis des entpackten ZIP-Archivs angeben. (Options → True Drive Emulation muss dabei deaktiviert sein !)
  4. In CFS-FDISK nun das Festplatten-Image auswählen (Standard 12) und die Festplattenkapazität in Cylinders (Standard 256), Heads (Standard 4) und Sectors (Standard 16), sowie LBA-Mode angeben.
  5. Danach mit n  eine neue Partition mit Partitionsnummer, Partitionsgröße und Partitionsnamen anlegen.
  6. Mit w  die Partition abspeichern und formatieren.
  7. Abschließend VICE neu starten. Danach ist das Festplatten-Image in VICE einsatzbereit.

ZoomFloppy[Bearbeiten | Quelltext bearbeiten]

Eine ZoomFloppy kann von VICE ab Version 2.2, mit Ausnahme von Version 2.3 bis zur aktuellen Version (Stand 2019-01-06) verwendet werden. Die nötigen Einstellungen können der ZoomFloppy-Beschreibung zur Nutzung über Emulatoren entnommen werden.

Tastaturlayout[Bearbeiten | Quelltext bearbeiten]

VICE bietet üblicherweise die positionale und alternativ die symbolische Tastaturbelegung. Während beim symbolischen Layout jede Taste der PC-Tastatur das aufgedruckte Symbol auf dem emulierenden Rechner umsetzt, entspricht beim positionalen Layout die Tastenanordnung soweit möglich der einer echten Commodore-Tastatur.

Im allgemeinen wird das positionale Layout empfohlen, da es beim symbolischen Layout die z.B. in Spielen benutzten Tasten unter Umständen anders und somit unpraktischer liegen als gedacht und es außerdem Probleme mit unterschiedlicher Nutzung der SHIFT-Taste auf den Systemen gibt (z.B. wird : auf einer deutschen PC-Tastatur per SHIFT +.  erzeugt, beim C64 wird der Doppelpunkt jedoch ohne SHIFT erzeugt, der Emulator muss das SHIFT also gewissermaßen "zurücknehmen").

Zur Orientierung hilft hier eine Schema, wo die Tasten der Commodore-Tastatur etwa auf einer PC-Tastatur unter Windows liegen, wie das folgende Bild zeigt.

Die positionale Tastaturbelegung unter VICE, siehe auch VICE-Dokumentation

Hinweis: Im Tastaturlayout sind die z. B. in Listings verwendeten (inversen) Steuerzeichen nicht berücksichtigt, da es auf der Beschriftung von Originaltastaturen basiert.

Layoutanpassung[Bearbeiten | Quelltext bearbeiten]

Ein Tastaturlayout ist in Dateien mit der Endung .vkm abgelegt und kann entsprechend angepasst werden. Zudem kann auch ein aktives Layout aus Vice exportiert werden. Allerdings fehlen dort sämtliche Kommentare zu den Tasten, die sonst in den von VICE mitgelieferten Dateien vorhanden sind. Letztere bilden typischerweise einen besseren Ausgangspunkt, um ein Layout anzupassen.

Grundlage für eine Anpassung ist eine entsprechende VKM-Datei (Vice Keyboard Mapping). In dieser Datei sind die Scancodes (für Windows) auf die Tastaturmatrix einer Commodore-Tastatur abgebildet.[5]

Aubau eine Mapping-Zeile:

  1. Spalte: Scancode der jeweiligen Emulatorplattform, z.B. PC-Tastatur-Scancodes[6] bei der Windows-Plattform.
  2. Spalte: Zeile (0 bis 7) der Commodore-Tastaturmatrix[7]
  3. Spalte: Spalte (0 bis 7) der Commodore-Tastaturmatrix
  4. Spalte: Shift-Flag, ein Bit-Feld, das mit den Wertigkeiten 1, 2, 4, 8, 16, 32 modelliert, ob die gedrückte Taste mit oder ohne Shift-Taste gedrückt abzubilden ist und auf der Commodore-Tastatur ohne oder mit Shift bzw. für beides gilt.
    In einer VKM-Datei ist üblicherweise bereits folgende Erklärung enthalten:
    • 0 key is not shifted for this keysym/scancode
    • 1 key is shifted for this keysym/scancode
    • 2 left shift
    • 4 right shift
    • 8 key can be shifted or not with this keysym/scancode
    • 16 deshift key for this keysym/scancode
    • 32 another definition for this keysym/scancode follows

Ergänzende Hinweise zur Bedeutung der Shift-Flag-Werte:

  • Wenn der selbe Scancode unterschiedliche Zeichen ergeben sollen, dann muss der erstgenannte im Shiftflag 32 enthalten! Meist um den Scancode bei gedrücktem Shift abzubilden, wobei die Folgezeile dann 16 enthält.
  • Der Wert 8 besagt, damit beim emulierten System das die korrespondierenden Zeichen mit und ohne Shift gedrückt erzeugt werden.
  • Nur eine 1 besagt etwa, dass der Scancode beim Zielsystem nur als Shift-Variante der Taste erzeugen soll.

Beispiel, um das symbolisch Layout unter Windows für eine deutsche Tastatur anzupassen (wobei das Layout dann gewissermaßen zu einer Mischung von symbolisch und positional wird):
Problem beim ursprünglichen Layout ist, dass gewisse Tasten nicht abgebildet sind, weil sie entweder nicht auf der Tastatur vorhanden sind wie "£" oder nur in Kombination mit AltGr erreichbar sind, welche aber als Commodore-Taste bereits eine andere Funktion ausübt, wie bei den Tasten "@", "[" und "]". Etwaige alte Vorgaben sind auskommentiert mit "#" am Zeilenanfang erhalten geblieben:

4 1 0 32               /*            3 -> 3            */
4 6 0 16               /*            3 -> Pound        */
#4 1 0 0               /*            3 -> 3            */
26 5 6 8               /*            ü -> @            */
#26 5 6 8              /*           UE -> (no key)     */
39 5 5 1               /*            ö -> [ (Shift ;)  */
40 6 2 1               /*            ä -> ] (Shift :)  */
#39 5 5 8              /*           OE -> (no key)     */
#40 6 2 8              /*           AE -> (no key)     */

Damit erzeugt an einer PC-Tastatur mit deutschem Layout

  1. "§" ein "£"
  2. "ü" ein "@"
  3. "ö" ein "["
  4. "ä" ein "]"

in der emulierten Maschine.

Debugging[Bearbeiten | Quelltext bearbeiten]

Der VICE-Monitor bietet eine einfache Möglichkeit, dem C64 beim Arbeiten im Detail zusehen zu können. Sein Kommandozeileninterface ist zwar nicht sonderlich einsteigerfreundlich, allerdings braucht man nur wenige Befehle kennen, um schon recht weit zu kommen.

  • Aufruf des Monitors per "File/Monitor"
  • Anzeige des Zustands des 6510 per r
  • Laufenlassen des aktuellen Programms bis zu einer bestimmten Speicherstelle ("temporärer Breakpoint"): until XXXX
  • Einen einzelnen Befehl ausführen: z - Parameter +ANZAHL zum Ausführen mehrerer Befehle
  • Speicher ansehen: m START ENDE
  • Monitor verlassen: x
  • Weitere interessante Befehle
    • break - dauerhaften Breakpoint setzen
    • watch - beim Zugriff auf eine Speicherstelle anhalten
    • del - Breakpoint/Watchpoint löschen
    • io XXXX - zeigt Register im I/O-Bereich an, bei Angabe von Adresse inklusive vielen Details
    • chist - zeigt Trace der zuvor emulierten Befehle an (nur falls beim Kompilieren von VICE aktiviert[8])

Will man z.B. ein von BASIC aus aufgerufenes Maschinensprache-Hilfsprogramm bei 49152/$C000 ansehen:

  • Monitor aufrufen
  • until c000
  • Im BASIC sys49152 eingeben
  • Der Monitor meldet sich von alleine wieder, dann kann per z das Programm in Einzelschritten durchgegangen werden.

Will man z.B. die Zeitdauer einzelner Befehle in einem BASIC-Programm stoppen:

  • Monitor aufrufen
  • until a7c2 - setzt einen Breakpoint mitten in die Interpreterschleife, siehe BASIC V2#Technische Realisierung
  • In BASIC run eingeben
  • Der Monitor meldet sich wieder direkt vor der Ausführung des ersten BASIC-Befehls im Programm
  • Mit r den Prozessorzustand anzeigen lassen. Bei stopwatch sind die seit dem Start des emulierten Rechners vergangenen Prozessortakte zu sehen (1 Mio Takte sind ca. eine Sekunde). Merken oder per sw reset auf Null zurücksetzen.
  • Den Monitor per until a7c2 zum nächsten Befehl laufenlassen
  • Nun zeigt die Stopwatch (bzw. ihre Differenz zum letzten Wert) die durch den BASIC-Befehl verbrauchten Taktzyklen an.

Beim Debugging ist u.a. zu beachten, dass Bildschirmausgaben nicht sofort beim Beschreiben des Bildschirmspeichers sichtbar werden, da der VIC-II das Bild zeilenweise aufbaut und so jeweils bis zu einer 50telsekunde braucht, bis das Bild aufgefrischt wurde, also im Emulator diese (emulierte) Zeit auch vergehen muss, bis der ausgegebene Bildschirminhalt die Veränderungen widerspiegelt. Ersatzweise kann der Inhalt des Bildschirmspeichers direkt im Monitor per screen ausgegeben werden.

Kritik[Bearbeiten | Quelltext bearbeiten]

  • Worf: "Einer der beiden Top-Emulatoren. Hier laufen mindestens 99% aller Programme."
  • Jammet: "Der beliebteste Open-Source-C64-Emulator, den es gibt. Unter einigen Betriebssystemen die einzig wahre Alternative, wenn ein Emulator gebraucht wird, der "so gut wie alles" drauf hat, was allgemein gefordert wird."

Downloads[Bearbeiten | Quelltext bearbeiten]


Weblinks[Bearbeiten | Quelltext bearbeiten]


Videos

Quellen[Bearbeiten | Quelltext bearbeiten]

  1. Genaueres zu den ROM-Dateien siehe VICE-Dokumentation Abschnitt "System Files"
  2. Videomitschnitt auf YouTube "Tutorial: VICE Grafik verschönern ... so geht's" von spielerheinz
  3. Genaugenommen fangen die Virtual Device Traps $ED24, $ED37, $ED41, $ED14 und $EEA9 ab, siehe src/c64/c64.c.
  4. Videomitschnitt auf YouTube VICE-Savestates/Snapshots von spielerheinz
  5. Win-VICE-Tasten definieren (.vkm)
  6. PC-Tastatur Scancodes Sprache:englisch
  7. C64 Keyboard Layout Sprache:englisch
  8. Die Länge des cpuhistory-Puffers ist per Kommandozeilenparameter MonitorChisLines, die Länge des Scrollback-Puffers per MonitorScrollbackLines einstellbar.


Mustread 32.gif Dieser Artikel wurde in die Liste der Lesenswerten Artikel aufgenommen.