#223 – cart reader V4 – nes

#223 – cart reader V4 – nes

Ach ja, beim letzten Mal haben wir ja die Miniaturversion des Cart Readers samt seiner Aufsteck-Adapter fertiggestellt:

Bild_1

Oh Mann, ist das dein Ernst, lieber retrololo? Was gibt es denn noch zu dem Teil zu erzählen? Wann hat der Wahnsinn endlich ein Ende? 😛

Bild_2

Keine Panik ich versuche es kurz zu machen – versprochen! 😉 Letztendlich geht es heute nur um ein sehr kleines Thema, welches sonst wohl gänzlich untergegangen wäre. Das kann ich natürlich auf keinen Fall zulassen! 😛

Bild_3

Wer sich erinnert – gegen Ende von Artikel 222 habe ich erwähnt, dass es für das Gerät noch ein paar weitere Aufsteck-Adapter gäbe. Um ehrlich zu sein, habe ich an den meisten kein Interesse, da es sich überwiegend um exotischere Konsolen (oder welche, die ich nicht besitze) handelt, aber wie es der Zufall will, habe ich eine Adapterplatine zum Auslesen von NES-Spielen ergattern können:

Bild_4

Das trifft sich gut, denn tatsächlich habe ich auch ein paar NES-Spiele! 🙂

Bild_5

Moment mal – da stimmt doch was nicht! Au Backe, ich höre schon die Fragen auf mich einprasseln: „Aber retrololo, genau dafür hast du doch das USB-NES Lite in Artikel 201 gebaut, oder? Damit haben wir doch eigentlich schon alle NES-Spiele digitalisiert. Und damals meintest du, dass das Handling mit der Adapterplatine für den Cart Reader sowieso viel zu kompliziert sei. Warum willst du nun also doch so ein Teil bauen?“

Ruhe, ihr Klugscheißer! 😛 Müssen denn solche Projekte immer Sinn ergeben? Es hat sich halt so ergeben und ich dachte mir, wenn der Cart Reader das auch kann, dann spare ich mir vielleicht ein Gerät im Keller. Unabhängig davon, macht es mir ja auch ein bisschen Spaß sowas zu basteln… 😉

Bild_6

Also – frisch ans Werk. Neben der Adapterplatine selbst brauchen wir eigentlich „nur“ einen NES-Modulslot. Leichter gesagt als getan, denn tatsächlich habe ich einige Monate auf das blöde Teil aus China warten müssen. Zugegeben – der Markt für solche Produkte ist vermutlich eher klein! 😛

Bild_7

Der Bau des Adapters ist sehr simpel, denn letztendlich müssen wir lediglich den Steckplatz mit der Platine verlöten. Damit das etwas einfacher klappt, macht es Sinn, die Pins der Modulslots etwas zu verbiegen, sodass sie an den Kontakten der Platine aufliegen:

Bild_8

Anschließend müssen nur noch 72 Pins (Vorder- und Rückseite) verlötet werden. An und für sich kein Hexenwerk, aber ja – mir ist es natürlich auch aufgefallen. Die Lötarbeit ist selbst für meine Verhältnisse extrem unsauber. Seht es mir nach – ich war an dem Abend schon recht müde und die blöden Pins wollten einfach nicht an den Stellen bleiben, an denen sie hingehören! 😀 Für einen ersten Test ist das in Ordnung, aber ich werde die Lötstellen später definitiv nochmal neu machen! 🙂

Bild_9

Apropos Test – wird Zeit, dass wir das gute Stück mal testen. Der NES-Adapter ist – im Vergleich zu seinen Kollegen – etwas Besonderes, denn er wird nicht direkt auf den Cart Reader aufgesteckt. Stattdessen muss das Teil in den SNES-Adapter gesteckt werden, welcher wiederrum selbst auf den Cart Reader aufgesteckt wird.

Bild_10

Zum Auslesen eines NES-Moduls wird dieses dann noch oben auf den Turm draufgepackt. Insgesamt eine etwas wackelige Konstruktion, aber das ist ja nur temporär für den Auslesevorgang! 🙂

Bild_11

Wie angekündigt ist das Handling im Vergleich zum USB-NES leider tatsächlich recht umständlich, weil man alle Eigenschaften des Moduls (also so Dinge wie den Mapper oder die Größe von PRG-ROM, CHR-ROM und RAM-Chips) vorab in der NesCartDB recherchieren und eingeben muss. Im Falle von „Super Mario Bros.“ besitzt das Modul den Mapper 0, einen 32kB PRG-Chip sowie 8k CHR-ROM.

Fun Fact: Warum ich jetzt für den Test wieder den seriellen Monitor der Arduino-IDE verwendet habe, anstatt der Smartphone-App kann ich euch im Nachhinein nicht mehr sagen. Demenz? Alzheimer? Geistige Umnachtung? Wer weiß? 😀

Bild_12

Ist das Spiel aber erst mal ausgelesen, lässt es sich ohne Probleme in einem NES-Emulator auf dem PC (z.B. FCEUX) spielen:

Bild_13

Bei einigen Spielen kann es vorkommen, dass die Header-Informationen nicht automatisch anhand der Prüfsumme der gelesenen Binärdaten erkannt werden. Das ist dann der Fall, wenn ein Spiel nicht in der auf der MicroSD-Karte befindlichen Datenbankdatei eingetragen ist. Beispiele gefällig? „Ninja Gaiden“ ist so ein Kandidat:

Bild_14

Beim Auslesevorgang wird keine „Cart.nes“-Datei (ausgelesene Binärdaten + iNES-Header), sondern lediglich ein binärer „Cart.bin“ (gelesene ROM-Daten ohne Metadaten) gespeichert.

Bild_15

Bei solchen „Problemfällen“ muss man nachträglich händisch (via Hexeditor am PC) die Header-Informationen des Moduls mit Hilfe von Informationen aus Datenbanken aus dem Internet dazu basteln – crazy! 😀

Bild_16

Anschließend klappt aber auch das Abspielen von „Ninja Gaiden“ im Emulator ohne Probleme:

Bild_17

Natürlich habe ich – analog dem USB-NES Lite – auch getestet, ob sich Spielstände von NES-Spielen lesen und schreiben lassen. Um etwas Abwechslung reinzubringen (und nicht wieder das Zelda-Modul herauskramen zu müssen) habe ich diesmal „Kirby’s Adventure“ verwendet.

Bild_18

Scheint so als wäre jemand fleißig gewesen, denn tatsächlich sind alle drei Speicherslots mit unterschiedlichen Spielständen belegt!

Bild_19

Na dann – nichts wie rauf mit dem Modul auf den Cart Reader!

Bild_20

Als Monitor für den Auslesevorgang nehmen wir jetzt mal wieder das Samsung Smartphone – Abwechslung muss sein! 😉

Bild_21

Wie nicht anders zu erwarten war, ist der Vorgang erfolgreich und wir können Kirby auch im Emulator auf dem PC spielen.

Bild_22

Damit der Emulator den gelesenen Spielstand erkennt, müssen wir ihn von „RAM.bin“ in „CART.sav“ umbenennen und in einen Unterordner namens „sav“ verfrachten:

Bild_23

Und schon können wir bei einem vom Modul gelesenen Spielstand weiterzocken. Ich bin so feige und nehme den 1%-Spielstand, weil ich so einen einfachen Anfangslevel spielen kann! 😛

Bild_24

Schön, dass das Spiel von selbst nach Abschluss eines jeden Levels speichert!

Bild_25

Um zu überprüfen, ob auch das Schreiben des Spielstands funktioniert, habe ich die CART.sav auf die MicroSD-Karte des Cart Readers kopiert und wieder zurück auf das Modul geschrieben.

Bild_26

Und siehe da – auch auf einer originalen NES-Konsole (samt Kirby-Modul) können wir nun bei dem leicht fortgeschrittenen Spielstand weiterspielen. Warum ich dafür vom Spiel allerdings als „Dumpfbacke“ bezeichnet werde, weiß ich nicht! 😀

Bild_27

So, nun ist aber wirklich gut. Viel mehr kann (und will) ich euch nicht über den Cart Reader erzählen. Ich muss sagen, dass ich mit dem Ding echt zufrieden bin. Es fasst einfach so viele Funktionen in einem kleinen, praktischen Gerät zusammen und ist flexibel was das Display angeht. Gerade der „portable“ Betrieb mit einem Smartphone ohne zusätzliche Stromversorgung ist meiner Meinung nach schon was sehr Feines! 🙂

Bild_28

In diesem Sinne, bis die Tage, ciao!

Kommentar verfassen