Inhaltsverzeichnis:

Spiele auf Arduboy und 500 Spiele auf Flash-Cart hochladen - Gunook
Spiele auf Arduboy und 500 Spiele auf Flash-Cart hochladen - Gunook

Video: Spiele auf Arduboy und 500 Spiele auf Flash-Cart hochladen - Gunook

Video: Spiele auf Arduboy und 500 Spiele auf Flash-Cart hochladen - Gunook
Video: How to upload games to homemade Arduboy & 500 games to flash-cart 2024, Juli
Anonim
So laden Sie Spiele auf Arduboy und 500 Spiele auf Flash-Cart hoch
So laden Sie Spiele auf Arduboy und 500 Spiele auf Flash-Cart hoch

Ich habe einen selbstgebauten Arduboy mit seriellem Flash-Speicher gemacht, der maximal 500 Spiele speichern kann, um sie unterwegs zu spielen. Ich hoffe, Ihnen mitteilen zu können, wie Sie Spiele darauf laden, einschließlich wie Sie Spiele im seriellen Flash-Speicher speichern und Ihr eigenes konsolidiertes Spielepaket erstellen, um es unterwegs zu spielen.

Sie können dieses YouTube-Video für den End-to-End-Erstellungsprozess und die Erklärung anzeigen

Schritt 1: Arduino-IDE einrichten

Wenn Sie neu bei Arduino sind, navigieren Sie zu https://www.arduino.cc, um die Arduino-IDE für das Betriebssystem herunterzuladen, das Sie verwenden, z. B. Windows 10 oder Mac OSX oder Linux.

Dann installieren Sie es.

Schritt 2: Machen Sie das USBasp-Kabel

Im Gegensatz zum Laden von Binärcodes/Spielen auf ein Arduino-Board kann der Bootloader nicht über den USB-Port programmiert werden.

Um den benutzerdefinierten Bootloader (Cathy3K) auf den Atmega32U4-Chip zu brennen, benötigen Sie einen USBasp-Programmierer. Unsere Kreation funktioniert jedoch bei 3,3 V, wir müssen den USBasp-Programmierer weiter modifizieren, damit er mit 3,3 V funktioniert.

Beziehen Sie sich auf das folgende anweisbare Projekt, um Ihren USBasp-Programmierer so zu ändern, dass er sowohl mit 3,3 V als auch mit 5 V über die Jumper-Einstellungen arbeitet.

www.instructables.com/id/Modify-a-5V-USBasp-Arduino-Bootloader-Programmer-t/

Folgen Sie dann dem Pin-Layout und dem Video, um das USBasp-zu-ArduBaby-Programmkabel herzustellen. Das originale USBasp-Kabel, das mit dem USBasp geliefert wird, hat zwei Anschlüsse mit je 10 Pins. Wir werden dieses Kabel in zwei Hälften hacken und einen 6-Pin-Stecker an ein Ende anschließen, während das andere Ende, das mit der USBasp-Platine verbunden ist, bei 10pin bleibt.

Dieses andere Ende verbindet die GND-, VCC-, MOSI-, MISO-, SCK- und Reset-Pins vom USBasp mit den entsprechenden Pins des ATmega32U4 über den Stecker, der mit den ersten sechs Pins der Buchsenleiste des Ardubaby (meine Version von) verbunden ist hausgemachter Arduboy). Ihre Version kann ein anderes Pin-Layout haben. Sie können auf mein Video verweisen, um das Design an Ihre Version von hausgemachtem Arduboy anzupassen.

Um das Programm auszuführen oder den Bootloader auf ATmega32U4 zu brennen, entfernen Sie die Knopfleiste und stecken dieses 6-polige USBasp-Kabel ein.

Stellen Sie sicher, dass Sie deutlich auf der Kopfzeile des Kabels markieren, welcher Pin Pin eins ist, damit keine falsche Verbindung hergestellt wird. Als ich das Pin-Layout für die Ardubaby-Button-Hat-Header entwerfe, habe ich versucht, die Pins so anzuordnen, dass selbst wenn Sie Pin 1 mit Pin 13 vertauscht haben, das -ve-Netzteil nicht versehentlich mit dem +ve-Netzteil zusammentrifft, um Schäden zu vermeiden. Sie wissen jedoch nie, dass andere Dinge passieren können, die Ihr Kit beschädigen könnten, wenn Sie in der falschen Richtung anschließen.

Ich werde ein kleines Loch brennen, um das auf dem Header mit der Spitze des Lötkolbens zu markieren.

Schritt 3: Brennen Sie den Bootloader

MR. Blinky hat das Arduboy-Hausgemachte-Paket für selbstgemachten Arduboy kreiert.

Sein Paket enthält die Board-Treiber und die Bibliothek von Arduboy, die mit verschiedenen Versionen des ursprünglichen Arduboy sowie seinen selbstgebauten Versionen funktioniert.

1. Navigieren Sie zum GitHub-Ordner von MR. Blinky nach dem hausgemachten Arduboy. https://github.com/MrBlinky/Arduboy-homemade-package 2. Folgen Sie den Anweisungen auf dem GitHub, um Ihre Arduino-IDE mit dem hausgemachten Paket zu konfigurieren. 3. Kopieren Sie zuerst die URL des „Zusätzlichen Board-Managers“für das hausgemachte Arduboy-Paket.

4. Starten Sie die Arduino-IDE. Klicken Sie im Hauptmenü von Arduino auf Einstellungen. Fügen Sie diesen Text in die „Additional Boards Manager URLs“ein. Hinweis: Wenn Sie bereits anderen Text in diesem Feld haben, fügen Sie diesen zusätzlichen Text am Anfang ein, fügen Sie dann ein „, “hinzu und lassen Sie den anderen Text intakt. 5. Beenden Sie die Arduino IDE und starten Sie die IDE erneut, um die obige Änderung zu übernehmen. 6. Klicken Sie auf Tools -> Board: -> Board-Manager. Geben Sie hausgemacht ein, um zu suchen. Wählen Sie aus, um das hausgemachte Arduboy-Paket von Mr. Blinky zu installieren. Klicken Sie dann auf Update, um die neueste Version zu erhalten. Das Paket wird Arduino hinzugefügt. 7. Wählen Sie nun Tools-> Board: „Home-made Arduboy. und wählen Sie die folgenden Parameter für Homemade Arduboy“Basierend auf: „SparkFun Pro Micro 5V - Standard Wiring“Core: „Arduboy Optimized core“Bootloader: „Cathy3K“Programmierer: USBasp 8. Schalten Sie den Ardubaby aus und entfernen Sie die Knopfleiste. 9. Setzen Sie den Jumper am USBasp auf 3.3V. Stellen Sie sicher, dass Sie einen modifizierten USBasp verwenden, der vollständig mit 3,3 V arbeitet. 10. Verbinden Sie den USBasp mit dem USB-Port Ihres Computers. Verbinden Sie das spezielle USBasp-zu-ArduBaby-Kabel mit USBasp und das andere Ende mit dem Button-Hat-Header des Ardubaby, richten Sie Pin 1 auf Pin 1 aus. Nur die ersten 6 Pins des Ardubaby werden zum Brennen des Bootloaders verwendet.

11. Ihr Ardubaby sollte jetzt über die 3,3 V Stromversorgung des USBasp eingeschaltet werden. 12. Drücken Sie einmal die Reset-Taste des ArduBaby. 13. Klicken Sie auf die Schaltfläche Tools-> Boards-> Burn Bootloader auf der Arduino IDE. 14. Überprüfen Sie die Meldung, um zu sehen, ob das Brennen des Bootloaders erfolgreich war. 15. Wenn nicht, überprüfen Sie das Kabel und stellen Sie sicher, dass Sie die Pins in der richtigen Richtung anschließen und Pin 1 mit Pin 1 ausrichten. Manchmal beginnt Ardubaby ein vorheriges Spiel zu spielen, wenn das Boot-Menü eine Zeitüberschreitung hat. Sie müssen also schnell auf die Schaltfläche Bootloader brennen klicken, nachdem Sie die Reset-Taste gedrückt haben, um den Ardubaby in den Wartemodus für Flash zu versetzen. 16. Wenn alles in Ordnung ist, wird das ArduBaby neu gestartet und Sie sehen entweder das Startmenü oder das vorherige Spiel, das Sie auf das ArduBaby geladen haben.

Schritt 4: Kompilieren Sie einzelne Spiele und laden Sie sie auf Arduboy hoch

Spiele für Arduboy können von den folgenden Quellen heruntergeladen werden:

Arduboy-Community-Forum für Spiele:

Die GitHub-Suche nach "Arduboy-Spiele" https://github.com/topics/arduboy-game oder einfach "GitHub-Arduboy-Spiele" bei Google suchen.

Von anderen geteilte Spielesammlungen. z. B. Erwins Arduboy-Kollektionen

arduboy.ried.cl/

Sie können den Quellcode des Spiels herunterladen, das Sie auf Arduino laden und auf den Arduboy hochladen. Sehen Sie sich das Video an, wie das geht.

oder nur die Hex-Datei (die kompilierte Binärdatei, die jedoch in Hex-Zahl angezeigt wird, wird in eine Textdatei anstelle einer Binärdatei ausgegeben).

YFür Quellcode öffnen Sie einfach den Quellcode in der Arduino IDE.

Der Quellcode z. B. picovaders.ino muss in einem gleichnamigen Ordner gespeichert werden, z. B. Picovader

Die erforderlichen Arduboy2-Bibliotheken sollten bereits im vorherigen Schritt installiert sein, in dem wir den Board-Manager für das hausgemachte Arduboy-Paket laden.

Schließen Sie den Arduboy einfach an den USB-Port Ihres Computers an.

Schalten Sie es ein und klicken Sie dann auf die Schaltfläche Hochladen in der Arduino-IDE, um den Code zu kompilieren und auf den Arduboy hochzuladen, um das Spiel zu spielen.

Schritt 5: Einzelne Hex-Dateien hochladen

Hex-Datei ist eine Textdatei mit Binärcodes, die aus der Kompilierung Ihres Arduino-Programms (Skizze) resultieren, aber in einem Textdateiformat mit zweistelligen Hexadezimalzahlen 0-9, A-F dargestellt werden.

Sie können diese Hex-Datei auf verschiedene Weise erhalten.

1. Wir können Hex-Dateien aus den verschiedenen Quellen herunterladen, die wir oben erklärt haben:

community.arduboy.com/c/games Erwins Arduboy-Spielesammlungen

Suchen Sie auf GitHub.com oder auf google.com nach "Arduboy-Spielen".

Speichern Sie diese Hex-Dateien in Dateien mit der Erweiterung.hex.

2. Alternativ können Sie Ihre eigene Hex-Datei erstellen.

Wählen Sie in der Arduino IDE Sketch > Export Compiled Binary. Ihre Skizze wird kompiliert, dann wird eine Kopie der kompilierten.hex-Datei in das Verzeichnis Ihrer Skizze ausgegeben. Navigieren Sie zum Skizzenordner oder wählen Sie in der IDE Skizze > Skizzenordner anzeigen, um die Hex-Datei anzuzeigen. Wenn Sie das hausgemachte Paket von MR. Blinky installiert haben, werden zwei Versionen der.hex-Datei erstellt. Wenn Sie beispielsweise das Sketh picovaders.ino kompilieren, werden die folgenden beiden.hex-Dateien erstellt.

picovaders.ino-arduboy-promicro-ssd1306.hex picovaders.ino with_bootloader-arduboy-promicro-ssd1306.hex

Wir verwenden die erste Datei: picovaders.ino-arduboy-promicro-ssd1306.hex

3. Um eine Hex-Datei auf Arduboy hochzuladen, müssen Sie einen Uploader verwenden. Es gibt viele im Internet. Ich verwende gerne den Uploader von MR. Blinky, da er einfach zu bedienen ist.

Navigieren Sie zu https://github.com/MrBlinky/Arduboy-Python-Utilities und befolgen Sie die dortigen Anweisungen, um die Arduboy Python-Dienstprogramme von MR. Blinky zu installieren. Wenn Sie kein Python installiert haben, müssen Sie zuerst die Anweisungen zum Installieren von Python und den erforderlichen Python-Modulen befolgen.

4. Verbinden Sie den Arduboy mit dem USB-Port Ihres Computers. Schalten Sie den Arduboy ein.

5. Starten Sie das Shell-Programm in Ihrem Betriebssystem z. B. die Terminal-App in Mac OSX oder die Eingabeaufforderung in Windows, um die folgenden Befehle einzugeben, um die Hex-Datei auf den Arduboy hochzuladen. Nehmen wir als Beispiel unsere vorherige Skizze picovaders.ino.

python uploader.py picovaders.ino-arduboy-promicro-ssd1306.hex

6. Sobald das Spiel hochgeladen ist, wird der Arduboy zurückgesetzt und das Spiel gestartet.

Schritt 6: Spiele auf seriellen Flash schreiben

1. Um die konsolidierte Spieldatei in den seriellen Flash zu schreiben, müssen Sie erneut MR. Blinkys Arduboy Python Utilities verwenden. Sie sollten dies bereits installiert haben, wenn Sie den vorherigen Schritt befolgen.

Navigieren Sie andernfalls zu https://github.com/MrBlinky/Arduboy-Python-Utilities und befolgen Sie die dortigen Anweisungen, um die Arduboy Python-Dienstprogramme von MR. Blinky zu installieren. Wenn Sie kein Python installiert haben, müssen Sie zuerst die Anweisungen zum Installieren von Python und den erforderlichen Python-Modulen befolgen.

2. Erstellen Sie die Indexdatei für die konsolidierte Spielabbilddatei, um bis zu 500 Spiele zu speichern.

Wir verwenden das Skript Verwenden Sie das flashcart-builder.py, um die konsolidierten Spielbilddateien für alle Spiele zu erstellen, die Sie im seriellen Flash des Arduboy speichern möchten. Ein serieller 16-MB-Flashspeicher kann bis zu 500 Spiele aufnehmen. Dieses Skript erstellt ein binäres Flash-Image aus einer Indexdatei (.csv) und den folgenden 2 Dateien für jedes Spiel: a..hex-Dateien, das ist die Textdatei, die die hexadezimalen Codes der Binärbilder der kompilierten Arduboy-Spiele enthält. Siehe die Datei example-flashcart\flashcart-index.csv für Beispielsyntax. Diese Datei ist im Paket enthalten, wenn Sie auf Klonen oder Herunterladen klicken. B..png-Grafikdateien, die im Bootloader-Menü von Arduboy angezeigt werden, damit Sie wissen, welches Spiel Sie auswählen werden. Einige der Spiele-Repositorys haben diese Grafikdatei zusammen mit ihrer Spielquelldatei oder Hex-Datei. Wenn Sie es nicht finden können, können Sie Ihr eigenes erstellen, indem Sie das Spiel entweder auf dem Arduboy-Emulator (https://felipemanga.github.io/ProjectABE/) ausführen und den Bildschirm aufnehmen. Oder geben Sie einfach den Namen des Spiels auf einem Power-Pint ein und machen Sie einen Screenshot davon. Dann die Grafiken, die Sie mit dem Pinsel in Windows aufgenommen/erstellt haben, auf 128 x 64 Pixel herunter oder in der Vorschau in Mac OSX.

Das Youtube-Video erklärt auch, wie Sie diese.csv-Indexdatei richtig platzieren. Zu beachten ist, dass die Beispiel-.csv-Datei von MR. Blinkys GitHub auf Windows-PCs verwendet wird, Backslash "\" werden in den Pfadnamen verwendet. Wenn Sie ein Linux-System oder MAC OSX verwenden, müssen Sie es in "/" ändern.

Für einen schnellen Einstieg können Sie mein Paket mit 63 Spielen von https://github.com/cheungbx/ArduBaby 63games.zip herunterladen

Dieses Paket enthält die Hex- und PNG-Dateien der 63 von mir ausgewählten Spiele sowie die Indexdatei games.csv und die Datei games-image.bin, die mit dem Skript flashcard-builder.py erstellt wurde.

Sie können weitere Spiele zu games.csv hinzufügen und Ihre eigene konsolidierte Binär-Image-Datei für Spiele erstellen, die in den seriellen Flash geschrieben werden kann. Sie können maximal 500 Spiele auf den seriellen 16M-Flashspeicher legen.

Ich werde erklären, wie man die.csv-Datei mit der games.csv erstellt, die Sie von meinem GitHub herunterladen können.

Obwohl die.csv-Datei mit Excel geöffnet werden kann. Verwenden Sie NICHT Excel, um die Datei zu öffnen. Es wird die Datei beschädigen. Bitte verwenden Sie nur einen Nur-Text-Editor. Sie können den Notizblock in Windows verwenden. Ich habe das textEdit in MAC verwendet und auf "Format"-> "Make Plain Text" geklickt.

Die erste Zeile der.csv-Datei ist der Header, den Sie ignorieren können. Liste;Beschreibung;Titelbildschirm;Hex-Datei

Die zweite Zeile zeigt auf die grafische Bilddatei (muss 128x64 Pixel im PNG-Dateiformat sein) für den Bootloader-Manu-Bildschirm. 0;Bootloader;arduboy_loader.png;;;

Die Spiele werden ab der dritten Zeile konfiguriert. Spiele sind im Bootloader-Menü in Gruppen organisiert, die als Kategorien bezeichnet werden. Diese Zeile ist der Gruppentitel der Liste der Spiele für diese Gruppe, z. B. Actionspiel. Es verweist auch auf die grafische Bilddatei für die Spielegruppe. Die "1" am Anfang bezeichnet die Gruppennummer 1. Alle Spiele, die dieser Gruppe folgen, beginnen mit dieser Nummer. 1;Action-Spiele;Kategorie-Bildschirme\Action.png;;;

Dann fügen Sie für jedes Spiel innerhalb dieser Gruppe eine Zeile hinzu. Beginnend mit der Gruppennummer 1, dem Namen des Spiels und dem Pfad der Grafikdatei für einen Schnappschuss des Bildschirms und dem Pfad der Hex-Datei. Alles durch ";" getrennt. Fügen Sie ein weiteres ";" um den Parameter für die Sicherungsdatei zu überspringen. 1;1943;Arcade/Nineteen43.png;Arcade/Nineteen43.hex;; 1;2048;Arcade/2048.png;Arcade/2048.hex;;

Nachdem Sie die erste Gruppe von Spielen beendet haben, können Sie die zweite Gruppe von Spielen hinzufügen und so weiter. z. B.

9;Demo & Test;demos/demotest.png;;; 9;Heiße Butter;demos/HotButter_AB.png;demos/HotButter_AB.hex;; 9;Flashcart-Test;demos/flashcart-test/flashcart-test-title.png;demos/flashcart-test/flashcart-test.hex;demos/flashcart-test/badapple-frames.bin;

Die letzte Zeile enthält eine Sicherungsdatei im Parameter, die ein Zeichentrickfilm ist.

3. Um die konsolidierte Spielabbilddatei zu erstellen, geben Sie den Befehl ein, wobei games.csv Ihre Spielindexdatei ist.

python flashcart-builder.py games.csv

Dadurch wird eine Datei namens games-image.bin erstellt

4. Schreiben Sie die konsolidierte Spiel-Image-Datei in Arduboy.

Wir verwenden das flashcart-writer.py-Skript von MR. Blinky, um die konsolidierte Spielbilddatei in den seriellen Flash-Speicher des Arduboy zu schreiben.

Wenn Sie meine Beispieldatei games-image.bin verwenden, können Sie diesen Befehl eingeben.

python flashcart-writer.py games-image.bin

Wenn Sie einen SSD1309-OLED-Bildschirm anstelle des SSD1306-OLED im Standard-Build verwenden, können Sie den Bildschirmtreiber im laufenden Betrieb patchen. Um den SSD1309-Patch automatisch auf das hochgeladene Image anzuwenden, erstellen Sie eine Kopie von flashcart-writer.py und benennen Sie sie in flashcart-writer-1309.py um. Geben Sie dann ein

python flashcart-writer-1309.py games-image.bin

Schritt 7: Spiele von seriellem Flash spielen

Um Spiele von seriellem Flash zu spielen, schalten Sie den Arduboy ein.

Wenn Sie bereits ein Spiel geladen haben, startet das Spiel automatisch. Drücken Sie einmal die Reset-Taste oben auf dem Ardubaby, um zum Bootloader-Menü zu gelangen.

Das Bootloader-Menü wird angezeigt. Die RGB-LED leuchtet nacheinander auf.

Wenn stattdessen ein Symbol angezeigt wird, das wie ein USB-Anschluss aussieht, bedeutet dies, dass Ihr serieller Flash-Speicherchip nicht funktioniert. Bitte überprüfen Sie die Verkabelung.

Wenn Sie innerhalb von 12 Sekunden keine Taste drücken, wird das bereits im internen Flash-Speicher des ATMega32U4 gespeicherte Spiel ausgeführt.

Um von einem Spiel zum Bootloader-Menü zurückzukehren, drücken Sie einfach einmal die Reset-Taste.

Sie können die linke oder rechte Taste drücken, um durch die verschiedenen Kategorien (Gruppen) von Spielen zu blättern. Drücken Sie die Abwärts- oder Aufwärtstaste, um durch die Spiele innerhalb einer Kategorie (Gruppe) zu blättern. Drücken Sie die Taste "B", um das Spiel vom seriellen Flash-Speicher auf den internen Flash-Speicher des ATMega32U4 zu kopieren. Das Spiel beginnt innerhalb einer Sekunde.

Jetzt haben Sie eine winzige Spielkonsole, die Sie unterwegs spielen können.

Ich fordere Sie auf, Ihren 16M Serial Flash mit 500 Spielen zu sammeln und zu laden. Ich habe noch niemanden gesehen, der das getan hat, um den seriellen Flash aufzufüllen. Wenn Sie dies tun können, teilen Sie uns diese konsolidierte Spieldatei mit.

Schritt 8: Referenzen

Eine vollständige Anleitung dazu wird in diesem Link von Instructables.comTBD veröffentlicht

Youtube-Video zur Vorführung der ArduBaby-Spielekonsole

Youtube-Video zur 3.3V-Modifikation des USBasp-Bootloader-Programmierers.

Spieldateien und Schaltpläne der Schaltung in diesem Video finden Sie unter diesem GitHub-Link

Schaltpläne

MR. Blinkys GitHub-Link für das hausgemachte Arduboy-Paket

MR. Blinkys GitHub-Link für Python-Dienstprogramme für Spiele-Upload und serielle Flash-Speichervorgänge

Erwins Arduboy-Spielesammlungen

Dank an den Schöpfer (Kevin Bates), der Arduboy ist eine sehr erfolgreiche 8-Bit-Spielekonsole. Es gab Tausende von Spielen, die von dem Bastler geschrieben wurden, der sie frei im Community-Forum von Arduboy geteilt hat, damit mehr Leute das Programmieren lernen können.

Dank an MR. Blinky für die Erstellung des selbstgemachten Pakets, des Flashcarts und der Python-Dienstprogramme.

Empfohlen: