Titelbild Game Hero
Diese Seite verwendet eigene Cookies und Cookies von Dritten damit wir die bestmögliche Bedienbarkeit und Funktionalität bieten können. Wenn Sie auf diesen Seiten surfen, stimmen Sie der Verwendung von Cookies zu. Mehr erfahren OK

Der PI1541 Floppy Emulator (Teil 2)

Close
LoadingBild wird geladen...
Picture
Die Swaplist

Einige Spiele sowie Demos sind auf zwei oder mehreren Disketten gespeichert. Der PI1541 bietet wie die SD2IEC die Möglichkeit, Disketten jederzeit zu wechseln. Damit dies möglich ist, müssen die Disketten zuerst in eine Liste eingetragen werden. Es wird zwischen zwei Typen von Listen unterschieden: Die temporären und permanenten Listen. Für beide Arten von Swaplisten wird ein Monitor oder Display benötigt.

Temporäre Swaplisten

Im Browser-Modus, d.h. wenn noch keine Diskette eingelegt wurde, markieren wir die erste Diskette die in die Liste eingetragen werden soll und drücken die Taste "Einfügen" auf der USB-Tastatur oder die Taste 5 auf den PI1541. Dieser Vorgang wird für alle Disketten-Images wiederholt die in die Swaplist eingefügt werden sollen. Auf der rechten Seite des Bildschirmes sind die eingefügten Disketten aufgelistet.

Pi1541 Swaplist
Klicke auf das Bild zum Vergrößern

Jetzt legen wir die erste Diskette mit der Taste "Enter" ein. Mit den Ziffern-Tasten kann nun jederzeit die benötigte Diskette eingelegt werden.

Permamente Swaplisten

Permanente Swaplisten haben zwei Vorteile:
- Sie werden nach einen Neustart des Systems nicht gelöscht
- Optional kann das Floppy-ROM bestimmt werden das eingelegt werden soll

Zuerst muss eine Text-Datei erstellt werden. Der Name kann frei erfunden werden, wichtig ist aber, dass .LST als Dateiendung verwendet wird. In dieser Text-Datei schreiben wir nun die Namen aller Diskettenimages die in die Swaplist eingefügt werden sollen.

LST Content

Optional: Möchten wir beispielsweise für diese Swaplist Jiffy-DOS oder ein anderes ROM verwenden, dann muss dessen Name hier ebenfalls eingetragen werden.

LST JiffyDOS

Die LST-Datei muss im Ordner "1541" liegen, das optionale Floppy-ROM hingegen im Stammverzeichnis der Karte. Die LST-Datei wird nun wie ein Diskette-Image über den Browser eingebunden. Mit den Ziffern-Tasten können wir nun jederzeit die benötigte Diskette einlegen. Ein evtl. eingetragenes Floppy-ROM wird ebenfalls automatisch eingebunden.

Pi1541 Swaplist
Klicke auf das Bild zum Vergrößern
FloppyDOS ROM's

Zu den vielen Vorteilen des PI1541 gehört die Möglichkeit verschiedene FloppyDOS ROM's verwenden zu können. Wie weiter oben bereits beschrieben, können ROM's von Laufwerken in die Swaplist eingetragen und somit automatisch eingebunden werden. Es gibt aber eine weitere Methode verschiedene ROM's zu verwenden. Dazu müssen die ROM-Images des Laufwerkes die wir verwenden möchten in das Stammverzeichnis der SD-Karte gelegt werden. In diesen Beispiel lege ich zusätzlich zu den bereits vorhandenen ROM "dos1541" die 1541II Version von JiffyDOS auf die Karte.

FloppyDOS ROM

Jetzt muss in der Datei "Options.txt" angegeben werden, dass ein zweites ROM existiert. Dazu geben wir neben ROM2 den Dateinamen des ROM's an, in meinem Fall "JiffyDOS.bin". Dann müssen beide Schrägstriche entfernt und die Datei abgespeichert werden.

FloppyDOS ROM

Wenn der PI1541 jetzt gestartet wird, kann im Browser-Modus, also wenn noch keine Diskette eingelegt wurde, das neue ROM mit der Taste "F2" gewählt werden.

FloppyDOS ROM
Vorschaubilder im Datei-Browser

Auf den Bildschirm (über HDMI) sehen wir ausschließlich die Dateien die sich auf der SD-Karte befinden und den Inhalt von Disketten-Images wenn diese gemountet wurden, mehr aber nicht. Der Entwickler hat eine Screenshot-Funktion in der Software eingebaut, die ein Bild anzeigt sobald eine Diskette markiert wird. Das Bild muss im PNG-Format vorliegen und eine Auflösung von 320x200 Pixel haben, was der C64-Auflösung ohne Rahmen entspricht. Wird eine dieser beiden Voraussetzungen nicht erfüllt, wird das Bild nicht angezeigt.

So ein Screenshot lässt sich am einfachsten mit den Emulator VICE erstellen. Zuerst muss der Rahmen in den VICE-Einstellungen ausgeblendet werden. Das wird unter "Settings -> VIC-II Settings... -> No borders" eingestellt.

Pi1541 displayPNG
Klicke auf das Bild zum Vergrößern

C64 No Border

Dann laden wir das gewünschte Programm/Spiel von den ein Screenshot erstellt werden soll.
Bei Bedarf kann die Emulation mit Alt+Pause pausiert werden. Dann erstellen wir den Screenshot mit "Snapshot -> Save/Stop media file...". Dort muss der Pfad und der Dateinamen des Screenshots angegeben werden. Außerdem muss das PNG-Format aus den DropDown-Menü gewählt werden.

C64 Screenshot
Klicke auf das Bild zum Vergrößern

Mit "Speichern" wird nun das momentan angezeigte Bild ohne Rahmen gespeichert. Dieses Bild kopieren wir nun auf die SD-Karte in den Ordner "1541". Jetzt geben wir der Datei den selben Namen wie das Disketten-Images bei den das Bild angezeigt werden soll.

Beispiel: Soll das Bild angezeigt werden sobald das Disketten-Image "Turrican.D64" markiert wird, dann muss sich das entsprechende Screenshot "Turrican.png" nennen. Auch wenn der Name des D64-Images "Turrican_pal_side1.d64" lauten würde, genügt es, wenn ein Teil des Namens übereinstimmt.

Files

Und zum Abschluss muss noch eine Option in der Datei "Options.txt" angepasst werden. Und zwar handelt es sich um die Option "displayPNGIcons = 1" vor der die Schrägstriche entfernt werden müssen damit sie wirksam wird.

displayPNGIcons

Wenn der PI1541 jetzt gestartet wird, sollten die Screenshots beim markieren der Dateien angezeigt werden.

C64 Screenshot
Klicke auf das Bild zum Vergrößern
Das OLED-Display

Ein OLED-Display ist optional, kann aber sehr hilfreich sein, besonders wenn kein zweiter Bildschirm zur Verfügung steht. Auf den kleinen OLED-Display werden nur die nötigsten Daten angezeigt, was aber für die normale Verwendung des PI1541 völlig ausreicht. Die USB-Tastatur sowie die Tasten des PI1541 können weiterhin verwendet werden.

Wichtig ist, dass das OLED-Display bereits mit einem I2C-Adapter ausgestattet ist. Das bedeutet, dass für die Verbindung des Displays die Pins VCC, GND, SCL und SCA vorhanden sein müssen. Zum Beispiel dieses Display hier: Amazon.

Bevor das Display angeschlossen wird, müssen in der Datei "Options.txt" ein paar Optionen angepasst werden. Zuerst müssen die Schrägstriche vor den Display-Typ gelöscht werden der zum verwendeten Display passt. In meinen Beispiel ist das "LCDName = ssd1306_128x64". Anschließend bestimmen wir mit welchen Pins, SDA und SCL verbunden werden soll. Uns stehen zwei Varianten zur Verfügung.

//i2cBusMaster = 0 //SDA - pin 27 SCL - pin 28
//i2cBusMaster = 1 //SDA - pin 3 SCL - pin 5

Je nachdem welche Pins wir für SDA und SCL verwenden möchten, muss die entsprechende Zeile unkommentiert werden. In diesem Beispiel verwende ich "i2cBusMaster = 0", also Pin 27 und 28.

i2cBusMaster

Das Display wird demnach wie folgt angeschlossen. Hinweis: Das OLED-Display im folgenden Bild dient lediglich als Beispiel. Wie weiter oben bereits erwähnt sollte ein SSD1306 128x64 verwendet werden.

OLED-Display
Klicke auf das Bild zum Vergrößern

Wenn der PI1541 nun gestartet wird, sollte das Display das Inhaltsverzeichnis anzeigen.

OLED-Display
Klicke auf das Bild zum Vergrößern
Ladegeräusche

Wie bei der Verdrahtung des PI1541 zu sehen ist, befindet sich ein Summer zwischen den Komponenten. Dieser soll die Ladegeräusche simulieren. Damit der PI1541 überhaupt einen Ton von sich gibt, muss die Option "SoundOnGPIO = 1" in der Datei "Options-txt" unkommentiert werden.

SoundOnGPIO

Der Ton lässt sich ebenfalls anpassen, mit den folgenden Optionen.

soundOnGPIODuration = 1000 // Length of buzz in micro seconds
soundOnGPIOFreq = 1200 // Frequency of buzz in Hz

Wie der Ton sich verändert, hängt wahrscheinlich auch vom verwendeten Summer ab. Bei meinen Piezo-Summer erzielte ich mit "soundOnGPIOFreq = 500" einen angenehmen und weniger piepsenden Ton.

Weitere Optionen

In der Datei "Options.txt" sind noch weitere Optionen vorhanden die nützlich sein könnten. Einige werden hier aufgelistet:

deviceID = X
Hier wird die Geräte-Adresse angegeben, falls 8 schon vergeben sein sollte.

OnResetChangeToStartingFolder = 1
Wenn der C64 neugestartet wird, dann wird auch der eingebundene Ordner zurückgesetzt. Ist dies nicht erwünscht, muss die Option auf 0 gesetzt werden. Das Image wird aber weiterhin ausgehängt.

starFileName = fb64
Wenn aktiviert, dann wird bei der (ersten) Eingabe des Befehles LOAD"*",8,1 ein vordefiniertes Programm geladen, in diesem Beispiel fb64.

keyboardBrowseLCDScreen = 1
Die Bild-Auf und Bild-Ab Tasten auf der USB-Tastatur dienen dazu, seitenweise durch die Dateien zu scrollen. Das funktioniert auf den kleinen OLED-Display nicht so gut weil dort eine Seite aus nur 4 Einträgen besteht. Wenn die Option "keyboardBrowseLCDScreen" verwendet wird, dann werden eben nur 4 Zeilen pro Seite gescrollt und nicht mehr.

i2cLcdFlip = 1
Stellt das Bild des OLED-Displays auf den Kopf.

i2cLcdOnContrast
Damit lässt sich der Kontrast des OLED-Displays einstellen

AutoBaseName = autoname
Damit lassten sich leere Disketten-Images erstellen, mit der Tastenkombination ALT+N.

Zurück zu Teil 1

Zurück
- Datenschutz Besucher total: 2021307 Heute: 65