Also gut, hier mal eine "kleine" Anleitung was man so alles braucht und was man tun muss, um seinen C64 mini mit seinen Lieblingsspielen zu befüllen.
Folgende Hardware wird benötigt:
- Einen FTDI/UART Adapter (einer mit Kabel bietet sich an, da man den Adapter nicht so ohne weiteres fest installieren kann (C64mini lässt sich dann nicht mehr komplett ausschalten). Gibts zuhauf auf eBay. Wer so wie ich erstmal kein Plan hat was das ist der kann auch in diesem Beitrag mal rein schauen: THEC64 Mini modding: UART Schnittstelle für seriellen Root Zugriff
Der hier geht auf jeden Fall (ist nicht der billigste aber kommt schnell und funktioniert):
https://www.ebay.de/itm/PL2303…u-UART-RS232/252797495606
- Stiftleiste 2,54mm RM für die UART Verbindung auf dem C64 mini Board (4 Pins ) + Lötkolben & Co. Wer (lebens)mutig ist benutzt klemmen oder ähnliches, rate ich aber von ab, da man doch sehr oft den UART Adapter an- bzw. abhängt). Empfehle eine 90° Leiste, weil man so den Adapter immer einfach dran hängen/stecken kann. Gibts z.B. auch bei dem gleichen Ebay Anbieter wie beim Adapter oben.
- Einen USB-Stick mit Fat32 und MBR partitioniert/formattiert
- Einen C64 mini
Folgende Software wird benötigt (ich geh hier mal vom PC aus, Linux-er sind auf sich selbst gestellt :p):
- Putty (oder ein anderes Terminal Programm)
https://www.heise.de/download/product/putty-7016
- HP USB Disk Storage Format Tool
https://www.heise.de/download/…storage-format-tool-97463
- WINVICE 2.4 (für Linux-er: KEIN SDL VICE!)
64-bit http://www.zimmers.net/anonftp…/VICE/WinVICE-2.4-x64.zip
32-bit http://www.zimmers.net/anonftp…/VICE/WinVICE-2.4-x86.zip
- Bildbearbeitungs-Software, Photoshop oder ähnliches, z.B. Irfanview tuts aber auch
http://www.irfanview.de/
- Einen guten Text-Editior - kann hier Notepad++ empfehlen
https://notepad-plus-plus.org/
- 7-zip zum komprimieren der VICE Snapshots, zu finden unter
http://www.7-zip.de/
Und nun können wir loslegen...
Als erstes muss der C64 mini geöffnet werden, dazu gibt es 4 Schrauben unter den Gummifüßen. Beim Abmachen des Deckels aufpassen, da das Kabel der LED ziemlich kurz und dünn ist. Das Kabel könnt Ihr dann von der Platine abmachen, genauso wie das Kabel was zu dem versteckten Taster im Gehäuse führt - da noch viel mehr aufpassen da schlecht verlötet, kann also passieren, dass Euch das Kabel vom Taster ab geht Im Zweifelsfall wieder anlöten
Die Platine wird auch nur durch 4 Schrauben am Gehäuse gehalten und ist ruck zuck raus.
Danach müsst Ihr die Sockelleiste auf die Platine löten und könnt sie danach auch wieder fest schrauben. Mehr muss man nicht mehr machen. Sieht dann z.B. so aus:
Auf dem Bild sieht man auch, wie die Pins von links nach rechts belegt sind.
3.3V (wird nicht benötigt und darf auch NICHT angeschlossen werden)
RxD
TxD
GND (das ist der quadratische Lötpunkt auf der Platine)
Als nächstes bietet es sich an, erstmal den USB Stick zu Präparieren.
Nutzt dazu das herunter geladene Tool und erstellt eine FAT32 Partition:
Damit habt Ihr jetzt einen Stick, der auch vom C64 mini erkannt wird.
Legt auf dem Stick schon mal folgende Verzeichnisse an (Kleinschreibung beachten):
Einmal ein Verzeichnis games , dann geht Ihr in das games Verzeichnis rein und legt nochmal ein games, ein covers und ein screens Verzeichnis darin an.
Danach könnt Ihr den Stick schon mal an irgend einen der beiden Ports vom C64 mini anschliessen.
Bitte überprüft vorher sicherheitshalber, dass Euer UART Adapter mit 3.3V und nicht mit 5V läuft (Adapter am PC in einen USB-Port stecken und mit einem Multimeter die Spannung zwischen TxD und GND messen) Den Adapter könnt ihr dann auch gleich am PC drin lassen.
Als nächstes schliesst Ihr dann den UART Adapter an den C64 mini an
GND an GND
RxD an TxD
TxD an RxD
C64 UART Adapter.jpg
und widmet Euch jetzt der Putty Software. Das ist eine einfache .EXE wo nichts installiert werden muss, einfach starten.
Wählt zuerst als Connection Type Serial und dann tragt Ihr bei Serial Line den COM Port Eures Adapters ein (COM1, COM2, ....COM9) und unter Speed 115200. Unter "Geräte und Drucker" könnt Ihr nachschauen, was für einen COM Port der Adapter grad nutzt.
In meinem Fall ist es grad COM9... Achtung, wenn Ihr später mal einen anderen USB-Port bei Euch nutzt dann ändert sich auch der COM Port
Als nächstes geht Ihr ganz unten auf Serial.
Tragt dort die restlichen Daten noch ein. Serial Line und Speed sollte er bereits von vorher übernehmen.
Data Bits = 8
Stop Bits = 1
Parity = None
Flow Control= None
Geht dann auf Openund solltet ein leeres schwarzes Terminal Fenster mit einem grünen Cursor in der Ecke erhalten.
Der nächste Schritt ist etwas umständlich, da man 2 Sachen gleichzeitig machen muss. Am einfachsten bittet man jmd. im Haushalt kurz um Hilfe (um eine Taste auf der Tastatur zu drücken *g*). Oder man macht es selbst irgendwie...
Der c64 mini brauch übrigens nicht an ein TV-Gerät oder Monitor gehängt zu werden. Falls Ihr also sowas nicht am PC greifbar habt ist das überhaupt kein Problem
Ihr müsst nun euer Terminal Fenster ausgewählt haben und auf Eurer PC-Tastatur die Taste "s" fest gedrückt halten und dann erst den C64 mini mit dem Micro-USB Stecker mit Strom versorgen. Dadurch brecht Ihr den Boot Vorgang des Minis ab. Denkt daran, sobald der UART Adapter am Mini hängt könnt Ihr den Power Knopf nicht mehr zum aus/an machen benutzen Hat es beim ersten mal nicht gleich geklappt, müsst Ihr den Strom Stecker erst wieder raus machen. und das Ganze wiederholen.
Woran erkenne ich ob die Unterbrechung geklappt hat?
Sehr Ihr am Ende folgende Meldung, dann hat es NICHT geklappt
Sehr Ihr diese Meldung, dann hat es geklappt.
Als nächstes müsst Ihr Euch des root Logins bemächtigen und ein eigenes Passwort setzen. Danach könnt Ihr Euch auch ohne Unterbrechung am c64 mini als root einloggen.
Nachfolgend seht Ihr was Ihr Schritt für Schritt nacheinander eingeben müsst:
- setenv nand_root /dev/sda
- boot
- insmod /lib/modules/3.4.39/nand.ko
- mount /dev/nandb /mnt
- passwd
- (Ein Passwort eintippen) [Der Cursor bewegt sich nicht, die Eingabe ist maskiert]
- (Passwort nochmal bestätigen) [Der Cursor bewegt sich nicht, die Eingabe ist maskiert]
- mv /mnt/etc/shadow /mnt/etc/shadow.old
- cp /etc/shadow /mnt/etc
- umount /mnt
Hier das gesamte Abbild
redquark#setenv nand_root /dev/sda
redquark#bootread boot or recovery all[ 48.085]sunxi flash read :offset 1000000, 11549075 bytes OK[ 48.100]ready to boot[ 48.103][mmc]: MMC Device 2 not found[ 48.107][mmc]: mmc not find,so not exitNAND_UbootExitNB1 : NAND_LogicExit[ 48.111]Starting kernel ...[ 0.991847] rtc_hw_init(416) err: set clksrc to external losc failed! rtc time will be wrong[ 1.001419] sunxi_rtc_gettime(34): err, losc_err_flag is 1[ 1.076451] [hdmi]hdmi module init[ 1.082448] ##fb init:w=1280,h=720,fbmode=0[ 1.099610] sunxi_rtc_gettime(34): err, losc_err_flag is 1[ 1.105737] sunxi-rtc sunxi-rtc: hctosys: unable to read the hardware clockroot=/dev/sdawait /dev/sda readywait /dev/sda readywait /dev/sda readywait /dev/sda ready[ 4.953983] sd 0:0:0:0: [sda] No Caching mode page present[ 4.960123] sd 0:0:0:0: [sda] Assuming drive cache: write through[ 4.984607] sd 0:0:0:0: [sda] No Caching mode page present[ 4.990741] sd 0:0:0:0: [sda] Assuming drive cache: write through[ 5.014615] sd 0:0:0:0: [sda] No Caching mode page present[ 5.020950] sd 0:0:0:0: [sda] Assuming drive cache: write throughe2fsck /dev/sda return 8mount /dev/sda return 255
/ # insmod /lib/modules/3.4.39/nand.ko/ # mount /dev/nandb /mnt[ 65.852040] EXT4-fs (nandb): couldn't mount as ext3 due to feature incompatibilities[ 65.944133] EXT4-fs (nandb): couldn't mount as ext2 due to feature incompatibilities/ # passwdChanging password for rootNew password: (Ein Passwort eintippen)Retype password: (Passwort nochmal eintippen)Password for root changed by root/ # mv /mnt/etc/shadow /mnt/etc/shadow.old/ # cp /etc/shadow /mnt/etc/ # umount /mnt/ #
Danach den C64 mini neu starten und mit Login: root und seinem gestzten Passwort anmelden. Jetzt habt Ihr root Zugriff auf das System
Als nächstes würde ich als erstes mal Sicherungskopien vom Nand Speicher und den ganzen Games auf den USB Stick ziehen. Man weiss ja nie, ob man die später ggf braucht Dafür braucht ihr ungefähr 210MB an freien Platz auf dem Stick...
Da die Jungs von Retro Games am Mount-Standard rumgefummelt haben muss der USB Stick etwas anders eingebunden werden. Als root seid Ihr ja bereits eingeloggt, gebt nun folgendes ein:
mount /tmp/usbdrive/sda1 /mnt
Danach kopiert Ihr die nand Teile auf den USB Stick mit:
cp /dev/nand* /mnt
und nun noch die Spiele Dateien:
cp /usr/share/the64/games/*tsg /mnt/games/
cp /usr/share/the64/games/games/* /mnt/games/games/
cp /usr/share/the64/games/covers/* /mnt/games/covers/
cp /usr/share/the64/games/screens/* /mnt/games/screens/
und wer sich anschauen will, welche Joysticks alle unterstützt werden, kopiert sich noch folgendes:
cp /usr/share/the64/ui/data/gamecontrollerdb.txt /mnt
Danach den USB-Stick wieder unmounten mit:
umount /mnt
Den C64 mini "herunterfahren" mit
poweroff
und den Strom Stecker wieder abziehen.
Jetzt könnt Ihr den USB-Stick abziehen und an Eurem PC anstecken und Euch die gesicherten Dateien als Backup für später irgendwo hinziehen.
- nanda: Linux kernel
- nandb: Root filesystem, ext2 format
- nandc: ? wahrscheinlich zusätzlicher Speicher, enthält nichts.
- gamecontrollerdb.txt
- Game Dateien im games Verzeichnis
Soviel erstmal zum root erhalten und Backups machen.
Was brauche ich nun, um ein Spiel dem c64 mini hinzuzufügen?
- Eine Spiel Konfig Datei im Format SPIELNAME.tsg, die den Spiele-Titel, ne Beschreibung in mehreren Sprachen (man brauch nicht alle), div andere Infos zum Spiel und Einstellungen zum Spiel-Cover, Screenshots, und Joystick Einstellungen enthält. Diese Datei liegt immer hier: /usr/share/the64/games
Nutzt dafür das Notepad++ und nicht das normale Notepad (wenn Ihr eine tsg Datei öffnet seht Ihr den Unterschied *g*)
Die .tsg Datei ist ziemlich selbst erklärend, schaut einfach mal rein.
Analog dazu erstellt Ihr auch neue für Eure Spiele.
Das einzig fatale darin sind die Joystick Einstellungen.
Allerdings ist die Zeile (bzw. 2 Zeilen bei 2 Joystick Spielen) immer so aufgebaut:
J1(*)/2(*) : JU, JD, JL, JR, Trigger LINKS, Trigger RECHTS, Schultertaste LINKS, Schultertaste Rechts, Y, B, A, back (=BACK/SELECT Taste), X
An den jeweiligen Stellen müsst Ihr immer das Eintragen, was er am Ende machen soll, wenn Ihr genau die Taste drückt.
Kürzel sind z.B.:
JF = JOYSTICK FIRE/FEUER KNOPF
F1...F8 = F-Tasten
RS = RUNSTOP
SP = SPACE/LEERTASTE
EN=ENTER/RETURN
oder Buchstaben / Zahlen
Die ersten 4 Richtungs-Kürzel (JU,JD,JL,JR) können auch mit Buchstaben versehen werden, um z.B. alte Spiele, die nur Tasten zur Steuerung unterstützten spielen zu können. Bestes Beispiel ist da wohl Frogger Eine Joystick Zeile dazu könnte folgendermaßen aussehen:
J:2*:W,S,A,D,Y,N,,,F,,S,F1,JF
W,S,A,D liegen dann auf dem Dpad
Y,N auf den Triggern L/R
F auf Y
S nochmal auf A
F1 auf der Back/Select Taste
FEUER auf X
Tasten, die nicht genutzt werden, müssen auch nicht zugeordnet werden, aber die Zeile muss immer nach dem Doppelpunkt die 13 Variablen-Größe haben, durch Kommas getrennt.
- Ein Spiel-Cover im Format 122x175 als .png Datei, welches dann hier liegt:
/usr/share/the64/games/covers
- Spiel-Screenshots im Format 320x200 als .png Datei, Farbtiefe Egal aber 256 Farben bietet sich an, da noch halbwegs gut erkennbar und nicht so viel Platz brauch, zu finden unter:
/usr/share/the64/games/screens
Nutzt dafür die Bildbearbeitungssoftware Eurer Wahl oder z.b. das Irfanview, damit kann man eigentlich auch alles machen (vergrößern. verkleinern, auschneiden, farbtiefe ändern, us.w.)
- Das Spiel selbst, als komprimiertes VICE Snapshot unter:
/usr/share/the64/games/games
Nutzt dazu die WINVICE 2.4 Version. Es würde hier den Rahmen sprengen, wie man VICE benutzt, dazu gibt es aber genug Foren-Beiträge und Hilfen und die meisten dürften es bereits besser als ich kennen
Das erstellte Snapshot muss dann mit 7-zip nochmal in ein gzip Archiv gepackt werden (SPIELENAME.vsf.gz).
Analog habt Ihr ja alle Datein auch auf Eurem USB Stick im games Verzeichnis und könnt da rein schauen.
Ich hab mir z.B. auf dem Stick zusätzlich ein games.new Verzeichnis angelegt, und dort ebenfalls die Verzeichnisse games, covers, screens angelegt. Alles was ich neu erstelle, pack ich da rein und nicht in das Verzeichnis mit den bereits installieren Spielen von Retro Games. So löscht oder überschreibt man auch nicht versehentlich mal was.
"kurze" Checkliste
SPIEL.tsg (in games.new)
SPIEL-cover.png (in games.new/covers)
SPIEL-00.png, SPIEL-01.png (in games.new/screens)
SPIEL.vsf.gz (in games.new/games)
Habt Ihr das alles zusammen, dann könnt Ihr den USB Stick mit den Dateien an den C64 mini stecken und diesen wieder mit dem UART Adapter und Putty in Betrieb nehmen. Danach müsst Ihr nur noch Eure erstellten Dateien jetzt auf den C64 mini kopieren.
- Loggt euch als erstes als root ein.
- Bindet den USB Stick wieder ein:
mount /tmp/usbdrive/sda1 /mnt
- Das Root Laufwerk ist als READ-ONLY gemountet, das müsst Ihr ändern, um darauf auch schreiben zu können:
mount -o remount, rw /
- Dann kopiert Ihr die Dateien von Eurem Stick aufs Root Laufwerk:
(-i bewirkt, dass er vorher fragt, ob er eine Datei überschreiben soll, manchmal gewollt oder nicht)
(-f bewirkt z.B. dass er ohne Nachfrage überschreibt)
(-r wäre z.B. Verzeichnis mit Unterverzeichnissen kopieren aber ich hab da lieber etwas mehr Kontrolle und mach das einzeln.)
(nur cp ohne was hinten dran eingegeben zeigt Euch die div. Möglichkeiten)
cp -i /mnt/games.new/*tsg /usr/share/the64/games/
cp -i /mnt/games.new/covers/* /usr/share/the64/games/covers/
cp -i /mnt/games.new/games/* /usr/share/the64/games/games/
cp -i /mnt/games.new/screens/* /usr/share/the64/games/screens/
- Nach dem Kopieren das root Laufwerk wieder in den READ-ONLY Zustand versetzen:
mount -o remount, ro /
- Und den USB Stick wieder unmounten mit:
umount /mnt
Zuletzt mit poweroff den C64 mini herunterfahren und den Strom Stecker wieder abziehen.
Nun könnt Ihr den C64 mini wieder zuschrauben (ich hab meinen eig. immer offen inzwischen), an Euren TV hängen und Euch hoffentlich an einem (oder mehreren) neuen Spiel(en) darauf erfreuen.
Wünsche viel Spaß und Erfolg
Gruß Marcel