Emu64

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Emu64
Menüpunkte des Emulators (animiert).
Entwickler Thorsten Kattanek
aktuelle Version 5.0.19
Release 09.05.2010
Lizenz Freeware
Plattform Windows
Bedienung Icon tastatur.png Icon maus.png Icon joystick.png
Formate D64, G64, T64, TAP, CRT, P00, PRG
Sprache Sprache:deutsch


Beschreibung[Bearbeiten | Quelltext bearbeiten]

Kattanek

Emu64 ist ein Freeware C64 Emulator für Windows von Thorsten Kattanek. Im Jahr 1998 begann die Entwicklung von Emu64 als reines DOS-Programm und wurde nach der Version 1.00 nur noch unter Windows weiter entwickelt. Beim Wechsel der Programmversionen von 3.40 auf 4.00 wurde der Sourcecode 100 % neu geschrieben!


Hinweise[Bearbeiten | Quelltext bearbeiten]

Einige Funktionen aus der Version 3.40 wurden bisher noch nicht implementiert, diese werden ab in Zukunft nachgereicht. Neben der neuen Emu64 Version 4.20 wurde der kleine Bruder Emu64 -Little- Version 1.20 veröffentlicht.

Ab der Version 4.30 wird explizit DirectX 9.0c benötigt für eine bessere Performance bei der Bildausgabe. Das Emu64-Handbuch wurde komplett überarbeitet und das Command-Line-Interface ist wieder eingebaut.

Features[Bearbeiten | Quelltext bearbeiten]

  • taktzyklengenaue Lowlevel-Emulation
  • Grafik
    • Fenster- oder Vollbildmodus
    • Fenster ist frei skalierbar ohne die Emulation anzuhalten
    • Vollbild mit verschiedenen Einstellmöglichkeiten
    • Farbpalettentyp
    • PAL Videonorm
      • flimmerfreie Darstellung hochauflösender IFLI-Bilder
    • VSync
    • verschiedene Grafikfilter und Einstellungen
  • Sound
    • SID MOS 6581 oder MOS 8580
    • SID Emulation in Qualität einstellbar
    • Stereo SID (zweiter SID nach Wahl zuschaltbar)
    • Simulation der Floppy-Geräusche
    • verschiedene Soundfilter und Einstellungen
  • Formatunterstütztung
    • D64 Disketten-Image
    • G64
    • T64
    • TAP Datasetten-Image
    • CRT - Expansionsport-Modul-Image
      • Typ 0 Normal
      • Typ 5 Ocean Typ 1
      • Typ 15 C64 Game System
      • Typ 17 Dinamic
      • Typ 32 EasyFlash
    • P00
    • PRG
    • FRZ (Quick Freezedateiformat vom Emu64)
    • REU (RAM-Expansions-Unit Image-Dateiformat vom Emu64)
    • SID (nur ladbar über den SID-Player)
    • ZIP (gepackte Dateien können vom Floppy-Fenster direkt gelesen werden)
  • Steuerung
    • Joystick oder Joystick-Emulation über Tastatur
    • Port A oder B Wechsel ohne die Emulation anzuhalten
  • Tools
    • Quick-Freeze-Funktion
    • SID-Dump
    • Komfortabler, interaktiver Debugger und Disassembler (keine Eingabe von Kommandos nötig!)
      • Umschalten zwischen C64 und Floppy
      • Einzelschritt mit Anzeige der Rasterstrahlposition taktzyklengenau
      • Animationsgeschwindigkeit einstellbar
      • Anzeige der internen Zustände des VIC/SID/CIA/IEC-Bus
      • Breakpoints beim Programmcounter/Lesen und Schreiben in einer Adresse/Rasterstrahl Position
      • Breakpoints können verknüpft werden
      • Speicher änderbar und exportierbar
    • Integrierter 2-Pass-Cross-Assembler mit Editor der am TurboAss angelehnt ist
    • Integrierter SID-Player
    • C64 Geschwindigkeitskontrolle von 0 % bis 500 %
    • LAN64 (Programmübertragung von PC zum C64)
      • Kabeltester
    • GameBase64
      • komfortable Suchfunkton
      • Erstellung von Favoriten (mit Import- und Exportfunktion)
    • virtuelle Tastatur
      • Anzeige einer C64-Tastatur mit allen Symbolen und über Maus bedienbar
      • die Tastatur ist frei konfigurierbar
  • Einstellungen/Setup
    • Alle Einstellungen zum Emu64 können über das Menü "Einstellungen" erreicht werden.
  • Emu64 Command Line Interface
    • Beim Start des Emu64 können verschiedene Parameter übergeben werden.
    • Wieder kompatibel mit anderen interessanten Programmen.
  • weitere Funktionen
    • Auswahl des ROM-Sets
    • Drag&Drop-Funktion zum Start von C64-Programmen
    • Kontextmenüunterstützung im Fenstermodus
    • neuer C64 Farbmodus (bessere Anpassung an originaler Farbdarstellung)
    • mehrere Emu64 können gleichzeitig laufen
    • Floppydisk-Schreibschutz ist mit Windows Schreib-Flag kombiniert
    • C64-Status wird immer gesichert und kann beim Start automatisch geladen werden
    • Screenshot in verschiedenen Formaten

Schnellstart[Bearbeiten | Quelltext bearbeiten]

Systemvoraussetzung[Bearbeiten | Quelltext bearbeiten]

Installation[Bearbeiten | Quelltext bearbeiten]

Emu64 installation.gif

Ab der Version 4.20 wird Emu64 als RAR- und ZIP-Format angeboten. Falls kein RAR-Entpackprogramm auf dem Zielsystem vorhanden ist, sollte die ZIP-Datei heruntergeladen werden, da Windows das ZIP-Format unterstützt. Auf der offiziellen Seite des Entwicklers] kann aus dem Download-Bereich des Forums der Emu64 heruntergeladen werden. Für das Herunterladen ist keine Anmeldung erforderlich.

Nachdem die Datei entpackt wurde, kann die Datei SETUP.MSI mit einen Doppelklick gestartet werden. Es besteht die Möglichkeit einen anderen Programmpfad oder Einschränkungen der User vorzunehmen, ansonsten läuft die Installation automatisch ab.

Wenn kein .Net-Framework der Version 2.0 oder höher installiert ist, wird man innerhalb der Installation vom Emu64 dazu aufgefordert, da Emu64 das .Net-Framework für sein Frontend benutzt.

Nach dem Beenden der Installation von Emu64 kann das Emulator sofort eingesetzt werden.

Hinweis

Unter Eigene Dateien wird bei der Installation von Emu64 ein neues Verzeichnis mit dem Namen Emu64 eingerichtet. In diesem Verzeichnis befinden sich weitere Unterverzeichnisse, in denen z.B. Assembler-Beispielprogramme oder eine SID-Datei zu finden sind. Bei einer GameBase64-Installations über den Emu64 werden die entsprechenden Daten in diesen Verzeichnisbereich untergebracht.

Deinstallation[Bearbeiten | Quelltext bearbeiten]

Zur Deinstallation in der Windows-Systemsteuerung das Icon Software mit Doppelklick starten. Emu64 anwählen und Entfernen anklicken. Das Programmpaket wird vom Rechner entfernt.

Einstellungen / Setupfenster[Bearbeiten | Quelltext bearbeiten]

Emu64 setup.gif

Einstellungen des EMU64 werden im Setupfenster geändert. Register - Emulation

In diesem Register können Einstellungen der Hardware-Emulation des Emu64 geändert werden. Es besteht die Möglichkeit, dass der letzte Status vor Beenden des Emu64 automatisch gesichert und direkt bei einem Neustart des Emu64 wieder geladen wird.

Sound

Hier werden die Einstellungen der Soundausgabe geändert.

Grafik

In diesem Register können verschiedene Einstellungen für den Fenster- und Vollbildmodus geändert werden. Die Auswahl des Vertical Sync erfordert schnelle PC-Hardware! Es besteht die Möglichkeit, den C64-Farbmodus zu verändern. Hierfür gibt es verschiedene vordefinierte Farbpaletten, die per Pulldown-Menü ausgewählt werden können.

Steuerung

In diesem Register wird die Joystick-Steuerung eingestellt. Es besteht die Möglichkeit einen PC-Joystick der von DirectX unterstützt wird oder eine Keyboard-Emulation einzustellen. Die Tastenbelegung ist frei einstellbar. Der Controlport kann jederzeit geändert werden, ohne die Emulation anzuhalten.

LAN64

Hier können Grundeinstellungen vorgenommen werden, um eine Kabelverbindung zu einem echten C64 herzustellen. Hierzu kann es notwendig sein, das im PC-BIOS Anpassungen zur Parallel-/LPT-Schnittstelle vorgenommen werden müssen (bidirektional/beide Richtungen). Um das LAN64 mal aus zu probieren, kann auch eine LAN64-Emulation aktiviert werden.

Einige Einstellungen können per Kontextmenü auch im EMU64 direkt geändert werden.

Menüführung[Bearbeiten | Quelltext bearbeiten]

Im Fenstermodus verfügt Emu64 über eine einfache Menüsteuerung. Die Menüpunkte werden durch Tooltipps mit Hinweisen abgerundet. In den verschiedenen Fenstern können Funktionen per Kontextmenü (1× Mausklick rechts) zusätzlich ausgewählt werden.

  • Datei
    • Beenden (Emu64 wird geschlossen)
  • C64 Dateien
    • Floppy 1541 II [D64] (Floppy-Fenster wird geöffnet)
    • Datasette 1530 [TAP] (Datasette-Fenster wird geöffnet)
    • Steckmodul [CRT] (CRT-Fenster wird geöffnet)
    • Autostart [PRG,R64,P00,FRZ,D64,G64] (Dateifenster wird zum Autostart vom Programmen geöffnet)
    • C64 Programme direkt laden [PRG,R64,P00,FRZ] (Dateifenster zum Laden von Programmen wird geöffnet)
  • Tools
    • Quick Freezing
      • Save [F10] (aktueller Speicherstand des Emu64 wird gespeichert)
      • Load [F11] (letzter gespeicherter Freezestand wird geladen)
      • Load Backup [SHIFT-F11] (letzter automatischer gespeicherter C64-Status wird geladen)
    • Screenshot [F12] (Screenshot vom Inhalt des C64-Fensters)
    • SID Dump (Datei- und Kontrollfenster wird geöffnet)
    • SID Player Modus (Emu64 wechselt in Playerfenster)
    • Debugger/Disassembler (Fenster mit Debugger-/Disassembler-Funktionen wird geöffnet)
    • C64 Speed (kleines Fenster zur Geschwindigkeitskontrolle wird geöffnet)
    • Cross Assembler (Fenster mit Assembler/Editor/Compiler wird geöffnet)
    • LAN64 (Transfer vom PC zum C64)
    • Virtuelle C64 Tastatur
      • Tastatur Ein- und Ausblenden
      • Größe verändern
    • GameBase64
    • REU 1764 (2 MB)
      • REU einstecken
      • REU entfernen
      • Inhalt aus einer Datei laden (*.REU)
      • Tastatur Ein- und Ausblenden (*.REU)
  • Reset
    • Softreset (Reset ohne das der RAM gelöscht wird = Taste ESC)
    • Hardreset (wie das Aus- und Einschalten eines C64)
  • Einstellungen
    • Emu64 Einstellungen (Fenster mit Setup-Einstellungen wird geöffnet)
      • Emulation
      • Sound
      • Grafik
      • Steuerung
      • LAN64
      • GameBase64
    • TV/Video Einstellungen
    • Vollbild [Alt-Return] (Emu64 wechselt in den Vollbildmodus und mit Tasten ALT + RETURN kehrt man zurück)
    • C64 Tastaturbelegung ändern
    • C64 Tastaturbelegung zurücksetzten
    • Fenster Optionen
      • Seitenverhältnis beibehalten
      • Alle Fensterpositionen und Größen speichern
  • Hilfe
    • Info (Informationen um den Emu64)
    • Handbuch (das Handbuch ist noch nicht komplett fertig und wird in der Online-Version aktualisiert)
  • DT Spezial (Spezialmenüpunkt: Digital Talk #90 die als REU - Image direkt geladen wird)

Starten von C64-Programmen[Bearbeiten | Quelltext bearbeiten]

Emu64 v4.10 einschaltmeldung.gif

Emu64 bietet verschiedene Möglichkeiten um C64-Programme zu starten. Hierfür gibt es die Möglichkeit, Software von dem emulierten Diskettenlaufwerk 1541-II, Datasette 1530 oder per Steckmodul (Cartridge) zu laden. Natürlich kann man auch sein eigenes Programm schreiben und auf dem Emu64 laufen lassen :-).

Wie bei einen richtigen C64 versteht Emu64 die Befehle die zum Ansprechen der verschiedenen Hardware nötig ist. Hierzu muss vorher von dem entsprechenden Medium eine Image oder direkt ein Programm geladen werden. Dies kann über den Menüpunkt "C64 Dateien" oder per Drag&Drop geschehen. Im Vollbildmodus sieht man nur die C64-Emulation. Wenn ein Medium (Image) gewechselt oder ein anderes Programm geladen werden soll, muss man in den Fenstermodus zurück kehren.

Wenn die Geräteadresse im Setup nicht anderes eingestellt ist, wird das Diskettenlaufwerk mit 8 und die Datasette mit 1 angesprochen.

Menüpunkt C64 Dateien -> C64 Programme direkt Laden

Wenn dieser Menüpunkt angeklickt wird, öffnet sich ein Dateifenster und es kann ein C64-Programm ausgewählt werden. Sobald der Ladevorgang abgeschlossen ist schließt sich das Dateifenster automatisch. Durch Eingabe des RUN- oder SYS-Befehl im Hauptfenster wird das Programm gestartet.

Menüpunkt C64 Dateien -> Autostart

Die Vorgehensweise des Laden eines C64-Programms gleicht dem Menüpunkt "C64 Programme direkt laden", mit dem Unterschied, dass nach dem Ladevorgang der Befehl RUN automatisch ausgeführt wird.

Drag & Drop

Die C64 Datei einfach vom Windows Dateifenster ins Emu64-Hauptfenster ziehen. Dass Emu64 die Datei akzeptiert sieht man am "+"-Zeichen, sobald man mit der gezogenen Datei im Hauptfenster ist. Die Datei wird automatisch mit dem RUN-Befehl gestartet.

C64-Disketten Image-Dateien (D64/G64) können ebenfalls ins Hauptfenster gezogen werden. Hier wird das erste Programm der Diskette mit LOAD "*",8,1 automatisch geladen und mit RUN gestartet.

Image-Dateien mit .TAP und .CRT werden zwar erkannt, aber nicht ausgeführt. Hierzu muss die Datei über den entsprechenden Menüpunkt geladen werden.

Hinweis: Leider funktioniert die Autostartfunktion nicht mit jedem Programm. Wenn es nicht geht, dann ist die Datei mittels Menüpunkt "C64 Programme direkt Laden" zu benutzen.

Floppy-Fenster 1541-II[Bearbeiten | Quelltext bearbeiten]

Emu64 v4.10 floppyfenster.png

Emu64 bietet ein emuliertes Diskettenlaufwerk 1541-II an, welches über ein eigenes Fenster gesteuert wird. Auf einem realen Gerät benötigt ein Laufwerk Disketten, damit etwas geladen/gespeichert werden kann. In der Emulationswelt werden Imagedateien benutzt, die das Verarbeiten von Disketten ermöglichen. Beim Emu64 bietet das Floppy-Fenster mehr Funktionen, als im Original. Die Benutzung des Floppy-Fensters gestaltet sich recht einfach.

Auf der linken Seite hat man einen kleinen Dateimanager der die Auswahl von Image-Dateien im Format D64 und G64 ermöglicht. Zusätzlich ist das Floppy-Fenster in der Lage, Dateien im ZIP-Format zu lesen. Imagedateien die im ZIP Format vorliegen, können direkt gelesen werden. Das Beschreiben von Imagedateien ist im ZIP-Format nicht möglich, daher ist der Schreibschutz aktiviert und ausgegraut.

Unten links besteht die Möglichkeit einen Schreibschutz zu aktivieren. Dies entspricht im Realen bei einer 5.25"-Floppydisk, dass die seitliche Ausstanzung mit einen Aufkleber überdeckt wird. Das aktiviert/deaktiviert vom Disk-Schreibschutz, wirkt sich auf die Image-Datei unter Windows direkt aus. Hier wird das Schreib-Flag genutzt. Es ist somit möglich unter Windows und den Dateieigenschaften einer Image-Datei den Schreibschutz zu verändern. Eine interessante Funktion wenn vielen Dateien geändert werden sollen.

Auf der rechten Seite im Fenster wird der Disketteninhalt angezeigt wenn eine Imagedatei markiert wurde. Die Anzeige entspricht dem LIST-Befehl des C64. Es besteht die Möglichkeit, gelöschte Dateien in der Anzeige zu filtern.

Die Anzeige des Disketteninhaltes hält zusätzliche Informationen neben Disknamen, Dateiname und -typ bereit.

Das Starten von Programmen aus dem Floppyfenster heraus wird mit einen Doppelklick auf den Dateinamen realisiert. Das Hauptfenster wird vom EMU64 zurückgesetzt und die Datei per LOAD-Befehl geladen. Nachdem das Programm geladen wurde, wird automatisch ein RUN ausgeführt.

Per Kontextmenü kann eine Datei auch anderes geladen werden. Es besteht auch die Möglichkeit eine Datei von einen Image zu exportieren oder per LAN64 eine Datei zu einem C64 zu übertragen.

Im Dateimanager/Dateinamenbereich auf der linken Seite kann per Kontextmenü eine neue Image im D64-Format erstellt(das ist eine Art von Formatierung einer Diskette) oder entfernt werden.

Wenn im Setup die Hardware-Emulation nicht deaktiviert wurde, ist die Floppy 1541-II immer aktiv. Das Floppy-Fenster muss nicht geöffnet sein. Emu64 merkt sich das letzte Disketten-Image was markiert wurde. So kann auch direkt per Hauptfenster mit dem LOAD-Befehl gearbeitet werden.

Das Wechseln einer Diskette wird durch markieren einer anderen Image durchgeführt.

Emu64 v4.10 1541-II trackanzeige.png

Eine Spur-/Sektoranzeige im Fenstermodus zeigt an, wenn die Floppy aktiv ist. Die beiden Punkte zeigen die gleichen Informationen an, wie bei einen richtigen Diskettenlaufwerk. Zusätzlich werden bei Aktivitäten Floppy-Geräusche ausgegeben, die durch den Lese-/Schreibkopf bei einem echten Laufwerk entstehen. Die Lautstärke kann im Setup-Fenster verändert oder ausgeschaltet werden.


Steckmodul (CRT)[Bearbeiten | Quelltext bearbeiten]

Emu64 v4.10 crt-fenster.png

In einer Zeit, wo das Diskettenlaufwerk so teuer wie ein C64 selbst war, wurden viele Programme/Spiele auf Steckmodule (Cartridge) vertrieben. Mittels Image-Datei (.CRT) kann im Emu64 ein Steckmodul emuliert werden. Unter C64 Dateien -> Steckmodule (CRT) wird ein Fenster geöffnet. Hier hat man ähnlich wie im Floppy-Fenster die Möglichkeit auf der linken Seite Image-Dateien im CRT-Format zu laden. Wird eine Imagedatei markiert, werden Informationen auf der rechten Seite angezeigt. Emu64 ist noch nicht in der Lage alle Steckmodultypen richtig zu verarbeiten.

Folgende Typen werden vom Emu64 verarbeitet:

Andere CRT Typen werden vom Emu64 geladen, aber die richtige Funktion kann gestört sein.

Um ein Modul zu aktivieren, muss der Button Modul aktivieren angeklickt werden. Nach Aktivierung des Moduls wird im Hauptfenster ein Reset durchgeführt und die Anwendung gestartet. Im Hauptfenster (nur im Fenstermodus) wird unten in der Statuszeile in roter Schrift "MODUL AN" angezeigt. Das Modul bleibt aktiviert, solange es nicht entfernt wird bzw. Emu64 nicht beendet wurde (außer "C64 Status sichern" ist aktiviert).

Zum Entfernen eines Steckmoduls gibt es zwei Möglichkeiten. Im CRT-Fenster Modul deaktivieren anklicken oder im Hauptfenster das Kontextmenü per rechten Mausklick öffnen und Menüpunkt Modul entfernen anklicken.

Datasette 1530[Bearbeiten | Quelltext bearbeiten]

Emu64 v410 datasettenfenster.gif

Die Datasette war damals die kostengünstigste Variante um Programme/Dateien auf einem Medium zu speichern. Das Gerät war vereinfacht gesagt, ein Kassettenrecorder mit Computeranschluss. Es wurden Audiokassetten als Speichermedium genutzt und daher hat die Datasette ähnliche Bedienelemente wie ein Kassettenrecorder. Wird der Menüpunkt C64 Dateien -> Datasette 1530 angeklickt, öffnet sich ein Fenster mit den Bedienelementen einer Datasette. Mit dem Button Tape öffnen wird ein Dateifenster geöffnet um eine Image-Datei im Format .Tap auszuwählen. Mit dem LOAD-Befehl im Hautfenster kann dann eine Datei bzw der Inhalt der Image-Datei geladen werden. Wie beim Original dauert der Ladevorgang recht lange.

Der Counter dient zur Orientierung, wo eine Datei gespeichert wurde. Mit dem Volumenregler kann man den Tonmonitor in der Lautstärke ändern. Leuchtet auf der rechten Seite der grüne Punkt, läuft der Motor. Leuchtet der rote Punkt, werden Daten gesichert. Weitere Bedienelemente zum Vor- und Zurückspulen und Stopptaste sind vorhanden. Das Erstellen einer Tape-Image ist aktuell nicht möglich.

Tools[Bearbeiten | Quelltext bearbeiten]

Quick Freezing[Bearbeiten | Quelltext bearbeiten]

Diese Funktion speichert den aktuellen Zustand des C64 in einer Datei. Gespeichert wird z.B. die CPU-Register, der Speicher, der I/O-Bereich usw. Damit können sie z.B. Spiele an jedem Punkt speichern, um nicht immer wieder von vorne anfangen zu müssen. Die Daten werden unter // Eigenen Dateien / EMU64 / FREEZ in der Datei quick.frz gesichert. Mit jeder Nutzung der Speicherung wird immer der alte Zustand überschrieben.

  • Speichern
    • Drücken der Taste F10 
    • Menüpunkt Tools -> Quick Freezing -> Save
  • Laden
    • Drücken der Taste F11 
    • Menüpunkt Tools -> Quick Freezing -> Load

SID Dump[Bearbeiten | Quelltext bearbeiten]

Emu64 v4.10 siddumpfenster.png
Siddumpplayer emu64 v410.png

Mit diesem Werkzeug können Soundaufnahmen aus dem Emu64 gemacht werden. Mit dem Aufruf Menüpunkt Tools -> SID Dump wird ein Fenster mit Dateimanager geöffnet. Im Dateimanager kann der Pfad eingestellt werden, wo die Sound-Datei gespeichert werden soll. In der weißen Zeile muss ein Dateiname vergeben werden. Mit dem dem Button Start wird die Sound-Aufnahme gestartet und mit dem Button Stop wird sie beendet. Wenn man wieder auf Start drückt, wird die bestehenden Datei überschrieben!

Eine SID-Dump-Datei (Formatbezeichnung .sdp) kann nur mit dem externen SID-Dump-Player-W32 (SDPlayer.exe) abgespielt werden. Der Player befindet sich im gleichen Verzeichnis wie Emu64. Die Sound-Aufnahme kann mit dem Dateimanager unter Menüpunkt Datei -> Emu64 Sid Dump öffnen ausgewählt werden. Mit den Schaltflächen Play und Stop kann die Sound-Aufnahme angehört und beendet werden. Auch bei diesen Player ist es möglich, dem SID-Typ auszuwählen.

SID Player[Bearbeiten | Quelltext bearbeiten]

Emu64 sidplayermodus.png

Der SID-Player wird über den Menüpunkt Tools -> SID Player Modus aktiviert. Emu64 schaltet vom C64-Modus in den SID-Player Modus um. Falls ein Programm läuft, wird dieses angehalten und läuft dann weiter, wenn man in den C64-Modus zurückkehrt. Der Player ist einfach aufgebaut. Mit dem Dateimanager kann eine Musikdatei im SID-Format geladen werden. Auf der rechten Seite erhält man Informationen über die Datei. Sind mehrere Musikstücke in der Datei enthalten, kann im Bereich Enthaltene Tracks eine Trackauswahl erfolgen. Im Player besteht die Möglichkeit zwischen den SID MOS-6581 und MOS-8580 zu wechseln. Mit dem STOP-Knopf kann ein laufendes Musikstück angehalten und darüber auch wieder gestartet werden.

Über den Menüpunkt Datei -> Zum C64 Zurück, kann wieder in den C64-Modus gewechselt werden.

Cross Assembler[Bearbeiten | Quelltext bearbeiten]

Emu64 v4.10 crossassembler.png

Unter dem Menüpunkt Tools -> Cross Assembler wird der Emu64 Cross-Assembler mit Quelltext-Editor und Compiler aufgerufen. Der Assembler ist am legendären TurboAss angelehnt.

Quelltext Editor[Bearbeiten | Quelltext bearbeiten]

Der Editor wird in einen eigenen Fenster aufgerufen. Über die Menüleiste können Quelltext Dateien geladen und gespeichert werden. Mit dem Menüpunkt Assemblieren wird der Quelltext in Maschinensprache umgesetzt. Es besteht die Möglichkeit das übersetzte Programm in den Speicher vom Emu64 zu legen oder als .prg zu speichern. Im Verzeichnis //Eigene Dateien/EMU64/ASM/ liegen einige Beispielprogramme.

Pseudo-Opcodes[Bearbeiten | Quelltext bearbeiten]

Pseudo-Opcodes sind Befehle, welche die Assemblierung beeinflussen. Nach jedem Pseudo-Opcode muss mindestens ein Leerzeichen oder ein Tabulatorzeichen folgen, ansonsten gibt der Assembler eine Fehlermeldung aus. Vor einem Pseudo-Opcode in einer Zeile darf auch keine Label-Definition stehen. Diese sollte in einer extra Zeile darüber sein. Die Pseudo-Opcode können groß oder klein geschrieben werden.

Befehlsliste

.BYTE

Werte werden 1:1 in den Speicher geladen. Die Werte müssen im Wertebereich von 0 - 255 liegen und alle durch ein Komma getrennt sein. Es können folgende Zahlenformate verwendet werden Dezimal, Hexadezimal ($), Binär (%), oder ein Zeichen ('A').

.TEXT

Text wird als Byte-Wert in den Speicher geschrieben. Der Text muss in "" Anweisung geschrieben werden.

.MESSAGE

Text wird im 2. Pass im unteren Ausgabefenster ausgegeben. Der Text muss in "" Anweisung geschrieben werden.

.VAR

Hier wird am Ende im unteren Ausgabefenster der Inhalt der Variable ausgegeben.

.SAVE

Speichert nach erfolgreicher Assemblierung das ausführbare Programm unter dem angegebenen Pfad/Dateinamen ab.

.BASIC

Erstellt automatisch einen BASIC-Start. Somit befindet sich das Programm dann ab Adresse $0801 und kann mit RUN gestartet werden. Das aussehen der BASIC-Zeile kann beeinflusst werde. Die Zuweisung *= ist dann nicht mehr notwendig.
Der erste Parameter gibt an welche BASIC-Zeilennummer die Startzeile haben soll. Der zweite Parameter gibt den Einsprungpunkt an. In der Basic Zeile dann SYS (Einsprungpunkt) Im dritten Parameter kann man einen kleinen Text angeben.

.BASICLOADER

Erzeugt einen BASIC-Loader der zum Abtippen gedacht ist. Das Assembler-Programm sollte nicht ab $0801 sein, sonst würde der BASIC-Loader sich selbst überschreiben, der Assembler würde aber trotzdem den Loader erzeugen. Übliche Loader-Assembler-Adressen sind $C000 und $9000.

.SID

Lädt ein SID-Datei (C64 Musik Datei) direkt an dieser Stelle und erzeugt gleich kleine Routinen zum Abspielen des SIDs. Zudem gibt es gleich die SID-Daten aus, die erforderlich sind, um zu wissen, welchen Speicher das ".SID" belegt.


Debugger/Disassembler[Bearbeiten | Quelltext bearbeiten]

Debugger- / Disassemblerfenster

Neben dem Cross-Assembler verfügt Emu64 über einen Debugger und Disassember, was u.a. für die Fehlersuche interessant ist. Wird unter dem Menüpunkt Tools -> Debugger /Disassembler angeklickt, öffnet sich ein Fenster. Dieses Fenster kombiniert die Funktionen des Debugger und Disassember.

Disassembler[Bearbeiten | Quelltext bearbeiten]

Der Disassembler ist eine Anwendung das die Maschinensprache eines Programms in den für Menschen lesbare Assemblersprache übersetzt. Der Disassembler ist quasi das Gegenstück zum Assembler.

Im Fensterbereich Disassembler/Assembler wird ein Ausschnitt des Speichers als Diassembly angezeigt. Es besteht die Möglichkeit per Kontextmenü den Anzeigebereich des Speichers zu ändern, Markierungen durchzuführen und den Code zu Speichern (als Text oder C64 Programm). Illegale {{Opcode]]s werden zur besseren Ansicht rot dargestellt.

Debugger[Bearbeiten | Quelltext bearbeiten]

Es sind verschiedene CPU-Register, Speicherzustand, Program-Counter, Leitungszustand und Custom-Chips einsehbar. Es besteht die Möglichkeit über den Debug-Control die Geschwindigkeit des Programmablaufs zu beeinflussen. Die Anzeige kann zwischen C64 und 1541-II gewechselt werden.

CPU 6510 Register

PC Programm Counter
SP Stack Pointer
AC Accumulator
XR X-Register (Index Register)
YR Y-Register (Index Register)
SR Status Register

Flags des Status-Registers

N Negative Flag
V Overflow Flag
B Break Flag
D Decimal Flag
I Interrupt Flag
C Carry Flag

Der Speicher kann wie beim Disassembler per Kontextmenü als Textdatei oder C64-Programm gesichert werden.

Haltepunkte

In der C64 Anzeige können verschiedene Typen von Haltepunkte (Breakpoints) gesetzt werden, die den Debugger dazu veranlasst bei einen bestimmten Wert anzuhalten.

  • Haltepunkteüberischt
    • PC
    • AC
    • XR
    • YR
    • Lesen von Adresse
    • Schreiben von Adresse
    • Lesen von Wert
    • Schreiben von Wert
    • Rasterzeile
    • Zyklus

Der Stopp erfolgt beim Haltepunkttyp gleich dem Wert eingestellt. Ein Haltepunkt neu zu erstellen oder zu löschen wird durch ein Kontextmenü ermöglicht.

Customchips

Emu64 v4.10 iec-bus-fenster.gif

Die Statusanzeigen der Custom-Chips CIA1, CIA2 und IEC-Bus werden ebenfalls in zusätzlichen Fenstern geöffnet. Die Statusanzeigen VIA und SID stehen noch nicht direkt zur Verfügung, aber werden ab Version 4.20 wieder implementiert sein.

C64 Speed[Bearbeiten | Quelltext bearbeiten]

Emu64 speedkontrolle.png

Wird unter dem Menüpunkt Tools -> C64 Speed aktiviert, öffnet sich ein kleines Fenster. Hiermit kann man die Geschwindigkeit der C64- und Hardware-Emulation vermindern oder steigern. Der Einstellbereich des Schieberegler geht von 5 % bis 500 %. Mit dem Button Pause kann die Emulations komplett angehalten und wieder gestartet werden.

LAN64[Bearbeiten | Quelltext bearbeiten]

LAN64 ermöglicht es zwischen einen PC mit Emu64 und einen echten C64 Daten auszutauschen. Hierfür hat Thorsten Kattanek ein eigenes Datenprotokoll entwickelt mit einer ca. Geschwindigkeit von 6,5 KByte/s zum C64 hin. Für den Datenverkehr wird ein spezielles Kabel vom C64-Userport zum PC-Parallelport benötigt.

Datenübertragung[Bearbeiten | Quelltext bearbeiten]

Emu64 v4.10 lan64 uebertragung.gif

Für eine Übertragung wird nicht nur die Kabelverbindung benötigt, sondern auch etwas Software für den C64. Unter Tools -> LAN64 (Transfer vom PC zum C64) öffnet sich ein Fenster. Mit dem Button Basic Loader wird ein BASIC-Programmliste mit Anweisungen geöffnet. Diese BASIC-Liste muss in den C64 abgetippt und die Anweisungen durchgeführt werden. Dann kann man das Programm z.B. auf Diskette gespeichert und mit SYS288 gestartet werden. Nach dem Start des Programms, gibt der C64 eine Meldung das er auf den Emu64 wartet. Jetzt kann eine Programmdatei von LAN64 - Fenster über dem Button C64 Datei Senden... gestartet werden. Alternativ kann eine Datei auch aus dem Floppy - Fenster per Kontextmenü zur LAN64-Übertragung gestartet werden. Ist die Datei erfolgreich auf den C64 übertragen worden, erscheint der READY-Prompt. Nun kann das Programm mit RUN oder SYS gestartet werden.


Kabeltester[Bearbeiten | Quelltext bearbeiten]

Bei Problemen bei der Verbindung zum C64 kann ein Kabeltest durchgeführt werden, um zu prüfen, ob alle Drahtverbindung im Kabel in Ordnung sind. Hierzu muss die Schaltfläche Kabeltest betätigt werden. Es erscheint ein Fenster mit einer BASIC-Programmliste die in den C64 abgetippt werden muss. Das Programm wird mit RUN gestartet. Wurde das Programm richtig abgetippt, erscheint die Meldung "ALLES OK". Jetzt muss SYS49152 in den C64 eingegeben werden. Auf dem PC muss nun die Schaltfläche OK betätigt werden und der Kabeltest wird gestartet.

Nacheinander werden nun die Drahtverbindungen im Kabel geprüft, was im LAN64-Fenster an den Statusanzeigen gut zu sehen ist.

Kabelbelegung[Bearbeiten | Quelltext bearbeiten]

  • C64-Userport-Stecker (DZM 12 DREH)
  • PC-Parallelport (SUB-D 25-poliger Stecker, männlich)
Signal C64 Richtung PC Signal
GND A ------- 25 GND
PB0 C ------> 10 ACK
PB1 D ------> 11 BUSY
PB2 E ------> 12 PE
PB3 F <------ 05 D3
PB4 H <------ 06 D4
PB5 J <------ 07 D5
PB6 K <------ 08 D6
PB7 L <------ 09 D7

Ein 64net-Kabel ist 100%ig kompatibel und kann ebenfalls für LAN64 genutzt werden.

Hinweis: Eine Kabellänge von 3 Metern sollten kein Problem sein.

GameBase64[Bearbeiten | Quelltext bearbeiten]

Emu64 gamebase64.gif

Die GameBase64 ist ein eigenständiges Projekt, was u.a. eine Datenbank (V05) mit 20.000 Einträge von C64-Spielen und -Anwendungen bereit stellt. Der Emu64 bietet zur GameBase64 Datenbank eine Schnittstelle die es ermöglicht Programme über das Internet herunterzuladen, zu Speichern und im Emu64 zu startetn. Über dem Menüpunkt Tools -> GameBase64 wird die GameBase64 aufgerufen.

GameBase64 konfiguration[Bearbeiten | Quelltext bearbeiten]

Beim ersten Aufruf der Datenbank wird man aufgefordert, den Datenbankzugriff zu konfigurieren. Über dem Menüpunkt Einstellungen -> Emu64 Einstellungen -> GameBase64 kann jederzeit konfiguriert werden. Hierzu können drei Punkte Eingestellt werden. Damit die Datenbank funktioniert, wird der Datenbanksatz lokal auf dem Rechner (wo Emu64 installiert ist) benötigt. Wenn unter der Pfadzeile der Button Download + Install angeklickt wird, wird Emu64 die Datenbank downloaden und installieren. Hierzu ist eine aktive Internet-Verbindung notwendig. Wurde die Datenbank schon auf dem Rechner installiert, kann in der Pfadzeile der Dateipfad angegeben werden. Durch Anklicken der Schaltfläche "..." neben der Pfadzeile kann der Dateipfad über einen Dateienfenster ausgewählt werden. Die Scrennshots müssen nicht installiert werden, sind aber eine sinnvoller Zusatz zur Datenbank, die neben dem Programmnamen auch Bilder anzeigen. Die Installation bzw Konfiguration ist genauso wie bei der Datenbank durchzuführen. Das Game-Verzeichnis "Local" wird benötigt, um die heruntergeladenen Daten auf dem Rechner zu speichern. Bei erneutem Aufrufen einer Anwendung, die schon heruntergeladen wurde, wird dann Lokal nachgeladen.

GameBase64 nutzung[Bearbeiten | Quelltext bearbeiten]

Wurde das Gambase64-Fenster aufgerufen hat man verschiedene Möglichekeiten eine Anwendung zu finden und zu verwalten. Hierzu kann der Schieberegler oder die Suchfunktion genutzt werden. Wenn man ein Spiel als Favorit in einer Liste abspeichern möchte, kann dieses über das Kontextmenü (rechte Maustaste) gemacht werden. Um eine Anwendug aufzurufen muss der Name angeklickt werden. Falls vorhanden wird rechts im Fenster Screenshot angezeigt und unten links am Fenster steht ein Button mit Download + Start oder Starten zur Verfügung. Beim Herunterladen wird unten im Fenster der Status der Datenübertragung angezeigt. Es besteht die Möglichkeit durch die Datenbank den benötigten Joystickport einzustellen. Hierzu muss das Aktivieren-Kästchen angeklickt werden. Wurde die Schaltfläche unten links angeklickt, wird das Programm automatisch im Emu64 gestartet.

Es besteht die Möglichkeit Favoritenlisten mit anderen auszutauschen. Solch eine Liste kann über die Schaltfläche "Externe Favoriten" zeigen (ohne importieren) geladen werden.

GameBase64 Probleme mit Emu64[Bearbeiten | Quelltext bearbeiten]

Eine Datenbank mit 20.000 Titeln ist sehr viel. Der Emu64 kann ein Großteil der Programme richtig wiedergeben. Es gibt Titel, die z.B. einzeln als Disketten-Image funktionieren, aber nicht über die GameBase64. Das kann verschiedene Gründe haben. Hier würde eine entsprechende Bug-Meldung im Emu64-Forum hilfreich. Es ist auch aufgefallen, dass nicht immer der richtige Joystickport eingestellt wird. Das liegt an der Datenbank, weil dort eine falsche Eintragung vorliegt.

Emu64 bietet nur eine Schnittstelle zur GameBase64 Datenbank und hat keinen Einfluss auf dem Inhalt.


virtuelle C64 Tastatur[Bearbeiten | Quelltext bearbeiten]

Emu64 tastatur.gif

Eine PC-Tastatur unterscheidet sich sehr von einer C64-Tastaturbelegung. Die virtuelle Tastatur wird über dem Menüpunkt Tools -> Virtuelle C64 Tastatur -> Tastatur Ein- und Ausblenden aufgerufen bzw wieder abgeschaltet. Neben Eingaben über die PC-Tastatur kann mit der Maus Zeichen über die virtuelle C64-Tastatur ins Emu64-Fenster übertragen werden. Die Tastenbelegung der PC-Tastatur kann über dem Menüpunkt Einstellungen -> C64 Tastenbelegung ändern geändert werden. Hierzu wird ebenfalls die Maske der virtuelle C64-Tastatur genutzt.

Tastenbelegung (Grundeinstellung)[Bearbeiten | Quelltext bearbeiten]

C64 PC
RUN/STOP  Tab 
RESTORE  Ende 
CTRL  Strg 
Shift-L  Shift-L 
Shift-R  Shift-R 
C=  < 
@  Ö 
CLR/HOME  ^ 
=  # 
£  Ä 
f1  F1 
f2  F2 
f3  F3 
f4  F4 
f5  F5 
f6  F6 
f7  F7 
f8  F8 
Emulator spezifische Tasten am PC Funktion
Esc  Soft-Reset
F10  Freeze-Quick-Save
F11  Freeze-Quick-Load
SHIFT  + F11  lädt letzten automatischen gesicherten C64-Status (Backup)
ALT  + Return  wechselt zwischen Fenster- oder Vollbildmodus
ALTGr  + Return  wechselt zwischen Fenster- oder Vollbildmodus
ALT  + F10  startet CPU-Debug-Logging
ALT  + F11  stoppt CPU-Debug-Logging
F12  Screenshot vom C64-Bildschirm

Sonstiges[Bearbeiten | Quelltext bearbeiten]

Alle DOS- und Windows-Versionen des Emu64 sind über die Website oder das Forum von Entwickler Thorsten Kattanek beziehbar.

Kommentare[Bearbeiten | Quelltext bearbeiten]

Ludi Purger: "Bis jetzt hat mich das Programm absolut überzeugt, was den Einsatz unter Windows Vista 64-bit Home Premium angeht. Keine Hänger und auch sonst keinerlei Probleme. Anders als unter der 32bit Version des gleichen OS, dort habe ich Aussetzer bei der Tastatur und das von Anfang an. Den Fehler oder das Problem habe ich noch nicht gefunden, aber ich suche noch.
Gefällt mir besser als der CCS64, denn dort hab ich immer wieder Probleme mit der Floppy-Emulation. Könnte aber auch an mir liegen. Allerdings erkennt der CCS64 meinen USB-Joystick nicht, was bei Emu64 aber kein Problem ist."

Weblinks[Bearbeiten | Quelltext bearbeiten]