Sommario:

Come caricare giochi su Arduboy e 500 giochi su flash-cart: 8 passaggi
Come caricare giochi su Arduboy e 500 giochi su flash-cart: 8 passaggi

Video: Come caricare giochi su Arduboy e 500 giochi su flash-cart: 8 passaggi

Video: Come caricare giochi su Arduboy e 500 giochi su flash-cart: 8 passaggi
Video: Как загрузить игры на самодельный Ардубой и 500 игр на флешку 2024, Novembre
Anonim
Come caricare giochi su Arduboy e 500 giochi su Flash-cart
Come caricare giochi su Arduboy e 500 giochi su Flash-cart

Ho realizzato degli Arduboy fatti in casa con memoria Flash seriale che può memorizzare un massimo di 500 giochi da giocare in viaggio. Spero di condividere come caricare i giochi su di esso, incluso come archiviare i giochi nella memoria flash seriale e creare il tuo pacchetto di giochi consolidato per giocare in viaggio.

Puoi visualizzare questo video di YouTube per il processo di creazione end-to-end e la spiegazione

Passaggio 1: configurare l'IDE Arduino

Se non conosci Arduino, vai su https://www.arduino.cc per scaricare l'IDE Arduino per il sistema operativo che stai utilizzando, ad esempio Windows 10 o Mac OSX o Linux.

Quindi installalo.

Passaggio 2: crea il cavo USBasp

A differenza del caricamento di codici binari/giochi su qualsiasi scheda Arduino, la programmazione del bootloader non può essere eseguita tramite la porta USB.

Per masterizzare il bootloader personalizzato (Cathy3K) sul chip Atmega32U4, è necessario procurarsi un programmatore USBasp. Tuttavia, la nostra creazione funziona a 3.3V, dobbiamo modificare ulteriormente il programmatore USBasp per funzionare a 3.3V.

Fare riferimento al seguente progetto istruibile per modificare il programmatore USBasp in modo che funzioni a 3,3 V o 5 V tramite le impostazioni dei ponticelli.

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

Quindi segui il layout dei pin e il video per creare il cavo del programma da USBasp ad ArduBaby. il cavo USBasp originale fornito con USBasp ha due connettori, ciascuno a 10 pin. Tagliamo questo cavo a metà e collegheremo un'intestazione maschio a 6 pin a un'estremità mantenendo l'altra estremità che si collega alla scheda USBasp a 10 pin.

Quest'altra estremità collegherà i pin GND, VCC, MOSI, MISO, SCK, Reset dall'USBasp ai pin corrispondenti dell'ATmega32U4 attraverso l'intestazione maschio che si collega ai primi sei pin dell'intestazione femmina sull'Ardubaby (la mia versione di Arduboy fatto in casa). La tua versione potrebbe avere un layout dei pin diverso. Puoi fare riferimento al mio video per modificare il design per adattarlo alla tua versione di Arduboy fatto in casa.

Per eseguire il programma o masterizzare il bootloader su ATmega32U4, rimuoverai il cappello del pulsante e collegherai questo cavo USBasp a 6 pin.

Assicurati di contrassegnare chiaramente quale pin è il pin uno sull'intestazione del cavo in modo che non crei la connessione sbagliata. Quando progetto il layout dei pin per le intestazioni del cappello del pulsante Ardubaby, ho cercato di disporre i pin in modo tale che anche se avessi scambiato il pin 1 con il pin 13, l'alimentatore -ve non si incontrasse accidentalmente con l'alimentatore +ve per evitare danni. Tuttavia, non si sa mai, potrebbero accadere altre cose che potrebbero comunque danneggiare il tuo kit se ti colleghi nella direzione sbagliata.

Brucerò un piccolo foro per segnarlo sull'intestazione usando la punta del saldatore.

Passaggio 3: masterizza il bootloader

MR. Blinky ha creato il pacchetto Arduboy fatto in casa per Arduboy fatto in casa.

Il suo pacchetto include i driver della scheda e la libreria di Arduboy che funziona con diverse versioni dell'Arduboy originale e con quelle fatte in casa.

1. Sfoglia la cartella GitHub di MR. Blinky per l'Arduboy fatto in casa. https://github.com/MrBlinky/Arduboy-homemade-package 2. Segui le istruzioni su GitHub per configurare il tuo IDE Arduino con il pacchetto fatto in casa. 3. Prima copia l'URL del "gestore della scheda aggiuntiva" per il pacchetto fatto in casa di Arduboy.

4. Avvia Arduino IDE. Fare clic su Preferenze dal menu in alto di Arduino. Incolla questo testo negli "URL di Gestione schede aggiuntive" Nota: se hai già altro testo in questo campo, inserisci questo testo aggiuntivo all'inizio, quindi aggiungi un ", " e mantieni intatto l'altro testo. 5. Uscire da Arduino IDE e riavviare l'IDE per rendere effettive le modifiche precedenti. 6. Fare clic su Strumenti -> Scheda: -> Gestione scheda. Inserisci fatto in casa per cercare. Seleziona per installare il pacchetto Arduboy fatto in casa da Mr. Blinky. Quindi fare clic su Aggiorna per ottenere l'ultima versione. Il pacchetto verrà aggiunto ad Arduino. 7. Ora seleziona Strumenti-> Scheda: “Arduboy fatto in casa. e selezionare i seguenti parametri per Arduboy fatto in casa” Basato su: “SparkFun Pro Micro 5V - Cablaggio standard” Core: “Arduboy Optimized core” Bootloader: “Cathy3K” Programmatore: USBasp 8. Spegnere Ardubaby e rimuovere il cappello del pulsante. 9. Impostare il ponticello sull'USBasp su 3,3V. Assicurati di utilizzare un USBasp modificato che funzioni interamente a 3.3V. 10. Collega l'USBasp alla porta USB del tuo computer. Collega lo speciale cavo USBasp a ArduBaby a USBasp e l'altra estremità all'intestazione del cappello del pulsante di Ardubaby, allinea il pin 1 al pin 1. Solo i primi 6 pin di Ardubaby vengono utilizzati per la masterizzazione del bootloader.

11. Il tuo Ardubaby dovrebbe essere acceso ora tramite l'alimentazione a 3,3 V fornita da USBasp. 12. Premere una volta il pulsante di ripristino dell'ArduBaby. 13. Fare clic sul pulsante Strumenti-> Schede-> Masterizza Bootloader sull'IDE Arduino. 14. Controllare il messaggio per vedere se la masterizzazione del bootloader ha esito positivo. 15. In caso contrario, controlla il cavo e assicurati di collegare i pin nella direzione corretta e allinea il pin 1 con il pin 1. A volte, l'Ardubaby inizierà a giocare a un gioco precedente se il menu di avvio scade. Quindi, è necessario fare clic rapidamente sul pulsante Masterizza bootloader subito dopo aver premuto il pulsante di ripristino per mettere Ardubaby in attesa della modalità flash. 16. Se va tutto bene, ArduBaby si riavvierà e vedrai il menu di avvio o il gioco precedente che hai caricato su ArduBaby.

Passaggio 4: compila e carica giochi singoli su Arduboy

I giochi per Arduboy possono essere scaricati dalle seguenti fonti:

Forum della community di Arduboy per i giochi:

La ricerca GitHub su "Giochi Arduboy" https://github.com/topics/arduboy-game o semplicemente cerca "Giochi Arduboy GitHub" su Google.

Raccolte di giochi condivise da altri. per esempio. Le collezioni Arduboy di Erwin

arduboy.ried.cl/

Puoi scaricare il codice sorgente del gioco che carichi su Arduino e caricarlo su Arduboy. Guarda il video su come farlo.

o solo il file esadecimale (il file binario compilato ma presentato in numero esadecimale viene stampato su un file di testo anziché su un file binario).

YPer il codice sorgente, apri semplicemente il codice sorgente all'interno dell'IDE di Arduino.

Il codice sorgente, ad es. picovaders.ino deve essere archiviato in una cartella con lo stesso nome, ad es. picovaders

Le librerie Arduboy2 richieste dovrebbero essere già installate nel passaggio precedente in cui carichiamo il gestore della scheda per il pacchetto Arduboy fatto in casa.

Basta collegare l'Arduboy alla porta USB del tuo computer.

Accendilo, quindi fai clic sul pulsante Carica sull'IDE di Arduino per compilare e caricare il codice su Arduboy per giocare.

Passaggio 5: carica file esadecimali singoli

Il file esadecimale è un file di testo contenente codici binari risultanti dalla compilazione del tuo programma Arduino (schizzo), ma rappresentato in un formato di file di testo utilizzando numeri esadecimali a due cifre 0-9, A-F.

Puoi ottenere questi file esadecimali in diversi modi.

1. Possiamo scaricare file esadecimali dalle diverse fonti che abbiamo spiegato sopra:

community.arduboy.com/c/games Collezioni di giochi Arduboy di Erwin

Cerca "Giochi Arduboy" su GitHub.com o su google.com

Salva questi file esadecimali in file con estensione.hex.

2. In alternativa, puoi creare il tuo file esadecimale.

Nell'IDE di Arduino seleziona Schizzo > Esporta binario compilato. Il tuo schizzo verrà compilato, quindi una copia del file.hex compilato verrà emessa nella directory del tuo schizzo. Sfoglia la cartella degli schizzi o nell'IDE seleziona Schizzo > Mostra cartella degli schizzi per vedere il file esadecimale. Se hai installato il pacchetto fatto in casa di MR. Blinky, verranno create due versioni del file.hex. Ad esempio, se si compila lo sketh picovaders.ino, verranno creati i seguenti due file.hex.

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

Useremo il primo file: picovaders.ino-arduboy-promicro-ssd1306.hex

3. Per caricare file esadecimali su Arduboy, è necessario utilizzare un uploader. Ce ne sono molti su internet. Mi piace usare l'uploader di MR. Blinky perché è semplice da usare.

Vai su https://github.com/MrBlinky/Arduboy-Python-Utilities e segui le istruzioni per installare le utility Arduboy Python di MR. Blinky. Se non hai un python installato, devi prima seguire le istruzioni per installare python e i moduli python richiesti.

4. Collega l'Arduboy alla porta USB del tuo computer. Accendi l'Arduboy.

5. Avvia il programma shell nel tuo sistema operativo, ad es. l'app del terminale in Mac OSX o il prompt dei comandi in Windows per digitare i seguenti comandi per caricare il file esadecimale su Arduboy. Prendendo come esempio il nostro schizzo precedente picovaders.ino.

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

6. Una volta caricato il gioco, Arduboy si ripristinerà e avvierà il gioco.

Passaggio 6: scrivi giochi su Flash seriale

1. Per scrivere il file di gioco consolidato su flash seriale, è necessario utilizzare nuovamente le utility Arduboy Python di MR. Blinky. Dovresti averlo già installato se segui il passaggio precedente.

Altrimenti, vai su https://github.com/MrBlinky/Arduboy-Python-Utilities e segui le istruzioni per installare le utility Arduboy Python di MR. Blinky. Se non hai un python installato, devi prima seguire le istruzioni per installare python e i moduli python richiesti.

2. Creare il file indice per il file immagine di gioco consolidato per contenere fino a 500 giochi.

Utilizzeremo lo script Use the flashcart-builder.py per creare un file immagine di gioco consolidato per tutti i giochi che desideri archiviare nel flash seriale dell'Arduboy. Un flash seriale da 16 MB può contenere fino a 500 giochi. Questo script crea un'immagine flash binaria da un file indice (.csv) e dai seguenti 2 file per ogni gioco: a. File.hex ovvero il file di testo contenente i codici esadecimali delle immagini binarie dei giochi Arduboy compilati. Fare riferimento al file See the example-flashcart\flashcart-index.csv per la sintassi di esempio. Questo file è incluso nel pacchetto se si fa clic su Clona o Scarica. B. File di immagine grafica-p.webp

Il video di YouTube spiega anche come mettere le cose al posto giusto di questo file indice.csv. Una cosa da notare, il file.csv di esempio da GitHub di MR. Blinky viene utilizzato in PC Windows, la barra rovesciata "\" viene utilizzata nei nomi di percorso. Se stai usando un sistema liunx o MAC OSX devi cambiarlo in "/".

Per iniziare velocemente, puoi scaricare il mio pacchetto di 63 giochi da https://github.com/cheungbx/ArduBaby 63games.zip

Questo pacchetto contiene i file esadecimali e i file-p.webp

Puoi aggiungere più giochi in games.csv e creare il tuo file di immagine binario di gioco consolidato da scrivere sulla flash seriale. Puoi mettere un massimo di 500 giochi sul flash seriale 16M.

Spiegherò come creare il file.csv utilizzando il file games.csv che puoi scaricare dal mio GitHub.

Anche se il file.csv può essere aperto utilizzando excel. NON usare excel per aprire il file. Danneggerà il file. Si prega di utilizzare solo un editor di testo normale. Puoi usare il blocco note in Windows. Ho usato textEdit in MAC e ho fatto clic su "Formato"-> "Crea testo normale".

La prima riga del file.csv è l'intestazione che puoi ignorare. Elenco;Descrizione;Schermata del titolo;File esadecimale

La seconda riga punta al file immagine grafica (deve essere 128x64 pixel in formato file png) per la schermata manu del boot loader. 0;Bootloader;arduboy_loader.png;;;

I giochi sono configurati a partire dalla terza riga. I giochi sono organizzati in gruppi nel menu del bootloader chiamati categorie. Questa riga è il titolo del gruppo dell'elenco dei giochi per quel gruppo, ad es. Gioco d'azione. Punta anche al file di immagine grafica per il gruppo di giochi. L'"1" all'inizio indica il gruppo numero 1. Tutti i giochi che seguono questo gruppo inizieranno con questo numero. 1;Giochi d'azione;categoria-schermi\Action.png;;;

Quindi aggiungi una riga per ogni gioco all'interno di quel gruppo. A partire dal gruppo numero 1, nome del gioco e percorso del file grafico per un'istantanea dello schermo e percorso del file esadecimale. Tutti separati da ";". Aggiungi un altro ";" per saltare il parametro per il file di salvataggio. 1;1943;Arcade/Nineteen43.png;Arcade/Nineteen43.hex;; 1;2048;Arcade/2048.png;Arcade/2048.hex;;

Dopo aver terminato il primo gruppo di giochi, puoi aggiungere il secondo gruppo di giochi e così via. per esempio.

9;Dimostrazione e test;demos/demotest.png;;; 9;Burro caldo;demo/HotButter_AB.png;demo/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;

L'ultima riga ha un file di salvataggio nel parametro che è un film di cartoni animati.

3. Per creare il file di immagine del gioco consolidato, digita il comando, dove games.csv è il file dell'indice del gioco.

python flashcart-builder.py games.csv

Questo creerà un file chiamato games-image.bin

4. Scrivi il file immagine del gioco consolidato su Arduboy.

Usiamo lo script flashcart-writer.py di MR. Blinky per scrivere il file immagine di gioco consolidato nella memoria flash seriale dell'Arduboy.

Se stai usando il mio file di esempio games-image.bin puoi digitare questo comando.

python flashcart-writer.py games-image.bin

Se stai utilizzando uno schermo OLED SSD1309 invece dell'OLED SSD1306 sulla build standard, puoi patchare il driver dello schermo al volo. Per applicare automaticamente la patch SSD1309 all'immagine caricata, crea una copia di flashcart-writer.py e rinominala in flashcart-writer-1309.py. Quindi digita

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

Passaggio 7: gioca dai flash seriali

Per giocare da flash seriale, accendi Arduboy.

Se hai già caricato un gioco, il gioco si avvierà automaticamente. Premi il pulsante di ripristino nella parte superiore di Ardubaby una volta per accedere al menu del bootloader.

Verrà visualizzato il menu del bootloader. Il LED RGB si accenderà in sequenza.

Se invece vedi un'icona che assomiglia a una porta USB, significa che il tuo chip di memoria flash seriale non funziona. Pls controllare il cablaggio.

Se non si preme alcun tasto entro 12 secondi, verrà eseguito il gioco già memorizzato nella memoria flash interna di ATMega32U4.

Per tornare da un gioco al menu del bootloader, basta premere una volta il pulsante Ripristina.

È possibile premere il pulsante sinistro o destro per scorrere le diverse categorie (gruppi) di giochi. Premi il pulsante su o giù per scorrere i giochi all'interno di una categoria (gruppo). Premi il pulsante "B" per copiare il gioco dalla memoria flash seriale alla memoria flash interna di ATMega32U4. Il gioco inizierà entro un secondo.

Ora hai una piccola console di gioco che puoi giocare in viaggio.

Ti sfido a raccogliere e caricare il tuo flash seriale 16M con 500 giochi. Non ho ancora visto nessuno che l'abbia fatto riempire il flash seriale. Se puoi farlo, condividi con noi quel file di gioco consolidato.

Passaggio 8: riferimenti

Un'istruzione completa di questo sarà pubblicata in questo link di Instructables.comTBD

Video Youtube per la dimostrazione della console di gioco ArduBaby

Video Youtube per la modifica a 3.3V del programmatore bootloader USBasp.

I file di gioco e gli schemi del circuito in questo video possono essere trovati a questo link GitHub

Schemi

Link GitHub di MR. Blinky per il pacchetto fatto in casa Arduboy

Link GitHub di MR. Blinky per le utilità Python per il caricamento del gioco e le operazioni di memoria flash seriale

Collezioni di giochi Arduboy di Erwin

Grazie al creatore (Kevin Bates), l'Arduboy è una console di gioco a 8 bit di grande successo. C'erano migliaia di giochi scritti dall'hobbista che li condivideva liberamente sul forum della community di Arduboy in modo che più persone possano imparare a programmare.

Ringraziamenti a MR. Blinky per aver creato il pacchetto fatto in casa, la flashcart e le utility Python.

Consigliato: