Table des matières:

Comment télécharger des jeux sur Arduboy et 500 jeux sur Flash-cart : 8 étapes
Comment télécharger des jeux sur Arduboy et 500 jeux sur Flash-cart : 8 étapes

Vidéo: Comment télécharger des jeux sur Arduboy et 500 jeux sur Flash-cart : 8 étapes

Vidéo: Comment télécharger des jeux sur Arduboy et 500 jeux sur Flash-cart : 8 étapes
Vidéo: HW #44 - Introduction au développement Game Boy 2024, Novembre
Anonim
Comment télécharger des jeux sur Arduboy et 500 jeux sur Flash-cart
Comment télécharger des jeux sur Arduboy et 500 jeux sur Flash-cart

J'ai fait un Arduboy maison avec une mémoire Flash série qui peut stocker jusqu'à 500 jeux pour jouer sur la route. J'espère partager comment y charger des jeux, y compris comment stocker des jeux dans la mémoire flash série et créer votre propre package de jeu consolidé pour jouer sur la route.

Vous pouvez voir cette vidéo youtube pour le processus de création de bout en bout et l'explication

Étape 1: Configurer l'IDE Arduino

Si vous êtes nouveau sur Arduino, accédez à https://www.arduino.cc pour télécharger l'IDE Arduino pour le système d'exploitation que vous utilisez, par exemple Windows 10 ou Mac OSX ou Linux.

Ensuite, installez-le.

Étape 2: Fabriquez le câble USBasp

Contrairement au chargement de codes/jeux binaires sur n'importe quelle carte Arduino, la programmation du chargeur de démarrage ne peut pas être effectuée via le port USB.

Pour graver le chargeur de démarrage personnalisé (Cathy3K) sur la puce Atmega32U4, vous devez vous procurer un programmeur USBasp. Cependant, notre création fonctionne à 3,3V, nous devons encore modifier le programmateur USBasp pour qu'il fonctionne en 3,3V.

Reportez-vous au projet instructable suivant pour modifier votre programmeur USBasp pour qu'il fonctionne à la fois à 3,3 V ou à 5 V via les paramètres de cavalier.

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

Suivez ensuite la disposition des broches et la vidéo pour créer le câble du programme USBasp vers ArduBaby. le câble USBasp d'origine fourni avec l'USBasp possède deux connecteurs de 10 broches chacun. Nous allons couper ce câble en deux et connecter un en-tête mâle à 6 broches à une extrémité tout en gardant l'autre extrémité qui se connecte à la carte USBasp à 10 broches.

Cette autre extrémité connectera les broches GND, VCC, MOSI, MISO, SCK, Reset de l'USBasp aux broches correspondantes de l'ATmega32U4 via l'en-tête mâle qui se connecte aux six premières broches de l'en-tête femelle sur l'Ardubaby (ma version de Arduboy maison). Votre version peut avoir une disposition des broches différente. Vous pouvez référencer ma vidéo pour modifier le design afin de l'adapter à votre version d'Arduboy maison.

Pour exécuter le programme ou graver le chargeur de démarrage sur ATmega32U4, vous devez retirer le chapeau du bouton et brancher ce câble USBasp à 6 broches.

Assurez-vous de marquer clairement quelle broche est la première broche sur l'en-tête du câble afin que cela ne fasse pas la mauvaise connexion. Lorsque j'ai conçu la disposition des broches pour les en-têtes de bouton Ardubaby, j'ai essayé d'arranger les broches de telle sorte que même si vous avez échangé la broche 1 avec la broche 13, l'alimentation -ve ne rencontrera pas accidentellement l'alimentation +ve pour éviter les dommages. Cependant, on ne sait jamais, d'autres choses peuvent arriver qui pourraient encore endommager votre kit si vous vous connectez dans le mauvais sens.

Je vais graver un petit trou pour le marquer sur l'en-tête à l'aide de la pointe du fer à souder.

Étape 3: graver le bootloader

MR. Blinky a créé l'Arduboy-homemade-package pour Arduboy maison.

Son package comprend les pilotes de carte et la bibliothèque d'Arduboy qui fonctionnent avec différentes versions de l'Arduboy original ainsi qu'avec celles faites maison.

1. Accédez au dossier GitHub de MR. Blinky pour l'Arduboy maison. https://github.com/MrBlinky/Arduboy-homemade-package 2. Suivez les instructions sur le GitHub pour configurer votre Arduino IDE avec le package maison. 3. Copiez d'abord l'URL du « gestionnaire de carte supplémentaire » pour le package maison Arduboy.

4. Démarrez l'IDE Arduino. Cliquez sur Préférences dans le menu supérieur d'Arduino. Collez ce texte dans les « URL supplémentaires du gestionnaire de tableaux » Remarque: Si vous avez déjà un autre texte dans ce champ, insérez ce texte supplémentaire au début, puis ajoutez un « » et gardez l'autre texte intact. 5. Quittez l'IDE Arduino et redémarrez l'IDE pour appliquer la modification ci-dessus. 6. Cliquez sur Outils -> Carte: -> Gestionnaire de cartes. Entrez maison pour rechercher. Sélectionnez pour installer le package Arduboy fait maison par Mr. Blinky. Cliquez ensuite sur mettre à jour pour obtenir la dernière version. Le package sera ajouté à Arduino. 7. Maintenant, sélectionnez Outils-> Carte: « Arduboy fait maison. et sélectionnez les paramètres suivants pour Homemade Arduboy "Basé sur: "SparkFun Pro Micro 5V - Câblage standard" Core: "Arduboy Optimized core" Bootloader: "Cathy3K" Programmeur: USBasp 8. Éteignez l'Ardubaby et retirez le bouton hat. 9. Réglez le cavalier de l'USBasp sur 3,3V. Assurez-vous que vous utilisez un USBasp modifié qui fonctionne entièrement en 3,3V. 10. Connectez l'USBasp au port USB de votre ordinateur. Connectez le câble spécial USBasp à ArduBaby à USBasp, et l'autre extrémité à l'en-tête de bouton de l'Ardubaby, alignez la broche 1 sur la broche 1. Seules les 6 premières broches de l'Ardubaby sont utilisées pour la gravure du chargeur de démarrage.

11. Votre Ardubaby doit maintenant être allumé via l'alimentation 3,3 V fournie par l'USBasp. 12. Appuyez une fois sur le bouton de réinitialisation de l'ArduBaby. 13. Cliquez sur le bouton Outils-> Cartes-> Graver le chargeur de démarrage sur l'IDE Arduino. 14. Vérifiez le message pour voir si la gravure du chargeur de démarrage a réussi. 15. Sinon, vérifiez le câble et assurez-vous de connecter les broches dans le bon sens et d'aligner la broche 1 avec la broche 1. Parfois, l'Ardubaby commencera à jouer à un jeu précédent si le menu de démarrage expire. Vous devez donc cliquer rapidement sur le bouton Graver le chargeur de démarrage juste après avoir appuyé sur le bouton de réinitialisation pour mettre l'Ardubaby en mode d'attente de flash. 16. Si tout va bien, l'ArduBaby redémarrera et vous verrez soit le menu de démarrage, soit le jeu précédent que vous avez chargé sur l'ArduBaby.

Étape 4: compiler et télécharger des jeux uniques sur Arduboy

Les jeux pour Arduboy peuvent être téléchargés à partir des sources suivantes:

Forum de la communauté Arduboy pour les jeux:

La recherche GitHub sur « Arduboy games » https://github.com/topics/arduboy-game ou simplement la recherche « GitHub arduboy games » sur google.

Collections de jeux partagées par d'autres. par exemple. Les collections Arduboy d'Erwin

arduboy.ried.cl/

Vous pouvez télécharger le code source du jeu que vous chargez sur Arduino et le télécharger sur Arduboy. Voir la vidéo sur la façon dont cela est fait.

ou simplement le fichier hexadécimal (le fichier binaire compilé mais présenté en nombre hexadécimal s'imprime dans un fichier texte au lieu d'un fichier binaire).

YPour le code source, ouvrez simplement le code source dans Arduino IDE.

Le code source, par ex. picovaders.ino doit être stocké dans un dossier du même nom, par ex. picovaders

Les bibliothèques Arduboy2 requises doivent déjà être installées à l'étape précédente où nous chargeons le gestionnaire de cartes pour le package maison Arduboy.

Connectez simplement l'Arduboy au port USB de votre ordinateur.

Allumez-le, puis cliquez sur le bouton Télécharger sur l'IDE Arduino pour compiler et télécharger le code sur l'Arduboy pour jouer au jeu.

Étape 5: Télécharger des fichiers hexadécimaux uniques

Le fichier hexadécimal est un fichier texte contenant des codes binaires résultant de la compilation de votre programme Arduino (esquisse), mais représenté dans un format de fichier texte utilisant des nombres hexadécimaux à deux chiffres 0-9, A-F.

Vous pouvez obtenir ces fichiers hexadécimaux de différentes manières.

1. Nous pouvons télécharger des fichiers hexadécimaux à partir des différentes sources que nous avons expliquées ci-dessus:

community.arduboy.com/c/games Collections de jeux Arduboy d'Erwin

Recherchez "Jeux Arduboy" sur GitHub.com ou sur google.com

Enregistrez ces fichiers hexadécimaux dans des fichiers avec une extension.hex.

2. Alternativement, vous pouvez créer votre propre fichier hexadécimal.

Dans l'IDE Arduino, sélectionnez Sketch > Exporter le binaire compilé. Votre croquis sera compilé, puis une copie du fichier.hex compilé sera sortie dans le répertoire de votre croquis. Accédez au dossier d'esquisse ou dans l'IDE, sélectionnez Esquisse > Afficher le dossier d'esquisse pour voir le fichier hexadécimal. Si vous avez installé le package maison de MR. Blinky, deux versions du fichier.hex seront créées. Par exemple, si vous compilez le schéma picovaders.ino, les deux fichiers.hex suivants seront créés.

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

Nous utiliserons le premier fichier: picovaders.ino-arduboy-promicro-ssd1306.hex

3. Pour télécharger un fichier hexadécimal sur Arduboy, vous devez utiliser un téléchargeur. Il y en a beaucoup sur internet. J'aime utiliser le téléchargeur de MR. Blinky car il est simple à utiliser.

Accédez à https://github.com/MrBlinky/Arduboy-Python-Utilities et suivez les instructions pour installer les utilitaires Arduboy Python de MR. Blinky. Si vous n'avez pas installé de python, vous devez d'abord suivre les instructions pour installer python et les modules python requis.

4. Connectez l'Arduboy au port USB de votre ordinateur. Allumez l'Arduboy.

5. Démarrez le programme shell dans votre système d'exploitation, par ex. l'application de terminal dans Mac OSX ou l'invite de commande dans Windows pour taper les commandes suivantes pour télécharger le fichier hexadécimal sur l'Arduboy. Prenant notre précédent croquis picovaders.ino comme exemple.

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

6. Une fois le jeu téléchargé, l'Arduboy se réinitialise et démarre le jeu.

Étape 6: Écrire des jeux sur Serial Flash

1. Pour écrire le fichier de jeu consolidé sur une mémoire flash série, vous devez à nouveau utiliser les utilitaires Arduboy Python de MR. Blinky. Vous devriez l'avoir déjà installé si vous suivez l'étape précédente.

Sinon, accédez à https://github.com/MrBlinky/Arduboy-Python-Utilities et suivez les instructions pour installer les utilitaires Arduboy Python de MR. Blinky. Si vous n'avez pas installé de python, vous devez d'abord suivre les instructions pour installer python et les modules python requis.

2. Créez le fichier d'index du fichier image de jeu consolidé pour contenir jusqu'à 500 jeux.

Nous utiliserons le script Utiliser le flashcart-builder.py pour créer les fichiers d'image de jeu consolidés pour tous les jeux que vous souhaitez stocker dans le flash série de l'Arduboy. Un flash série de 16 Mo peut contenir jusqu'à 500 jeux. Ce script crée une image flash binaire à partir d'un fichier d'index (.csv) et des 2 fichiers suivants pour chaque jeu: a..hex qui est le fichier texte contenant les codes hexadécimaux des images binaires des jeux Arduboy compilés. Reportez-vous au fichier Voir le fichier example-flashcart\flashcart-index.csv pour un exemple de syntaxe. Ce fichier est inclus dans le package si vous cliquez sur Cloner ou Télécharger. b. Fichiers d'images graphiques-p.webp

La vidéo youtube explique également comment mettre les choses au bon endroit de ce fichier d'index.csv. Une chose à noter, le fichier d'exemples.csv du GitHub de MR. Blinky est utilisé sur un PC Windows, la barre oblique inverse "\" est utilisée dans les chemins d'accès. Si vous utilisez un système liunx ou MAC OSX, vous devez le remplacer par "/".

Pour démarrer rapidement, vous pouvez télécharger mon pack de 63 jeux sur https://github.com/cheungbx/ArduBaby 63games.zip

Ce paquet contient les fichiers hexadécimaux et les fichiers-p.webp

Vous pouvez ajouter plus de jeux dans games.csv et créer votre propre fichier image binaire de jeu consolidé à écrire sur le flash série. Vous pouvez mettre un maximum de 500 jeux sur le flash série 16M.

Je vais vous expliquer comment faire le fichier.csv en utilisant le games.csv que vous pouvez télécharger depuis mon GitHub.

Même si le fichier.csv peut être ouvert à l'aide d'Excel. N'utilisez PAS Excel pour ouvrir le fichier. Cela va corrompre le fichier. Veuillez utiliser un éditeur de texte brut uniquement. Vous pouvez utiliser le bloc-notes dans Windows. J'ai utilisé le textEdit dans MAC et cliquez sur "Format" -> "Créer du texte brut".

La première ligne du fichier.csv est l'en-tête que vous pouvez ignorer. Liste;Discription;Écran titre;Fichier hexadécimal

La deuxième ligne pointe vers le fichier image graphique (doit être de 128x64 pixels au format de fichier png) pour l'écran de manuel du chargeur de démarrage. 0;Bootloader;arduboy_loader.png;;;

Les jeux sont configurés à partir de la troisième ligne. Les jeux sont organisés en groupes dans le menu du chargeur de démarrage appelés catégories. Cette ligne est le titre du groupe de la liste des jeux pour ce groupe, par ex. Jeu d'action. Il pointe également vers le fichier image graphique du groupe de jeux. Le "1" au début indique le numéro de groupe 1. Tous les jeux qui suivent ce groupe commenceront avec ce numéro. 1;Jeux d'action;écrans de catégorie\Action.png;;;

Ensuite, vous ajoutez une ligne pour chaque jeu au sein de ce groupe. En commençant par le groupe numéro 1, le nom du jeu, et le chemin du fichier graphique pour un instantané de l'écran, et le chemin du fichier hexadécimal. Tous séparés par ";". Ajouter un de plus ";" pour ignorer le paramètre du fichier de sauvegarde. 1;1943;Arcade/Nineteen43.png;Arcade/Nineteen43.hex;; 1;2048;Arcade/2048.png;Arcade/2048.hex;;

Après avoir terminé le premier groupe de jeux, vous pouvez ajouter le deuxième groupe de jeux et ainsi de suite. par exemple.

9;Demo & Test;demos/demotest.png;;; 9;Beurre chaud;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;

La dernière ligne a un fichier de sauvegarde dans le paramètre qui est un film d'animation.

3. Pour créer le fichier image de jeu consolidé, tapez la commande, où games.csv est votre fichier d'index de jeu.

python flashcart-builder.py games.csv

Cela créera un fichier nommé games-image.bin

4. Écrivez le fichier image de jeu consolidé sur Arduboy.

Nous utilisons le script flashcart-writer.py de MR. Blinky pour écrire le fichier image consolidé du jeu dans la mémoire flash série de l'Arduboy.

Si vous utilisez mon exemple de fichier games-image.bin, vous pouvez taper cette commande.

python flashcart-writer.py games-image.bin

Si vous utilisez un écran OLED SSD1309 au lieu du SSD1306 OLED sur la version standard, vous pouvez patcher le pilote d'écran à la volée. Pour appliquer automatiquement le correctif SSD1309 à l'image téléchargée, faites une copie de flashcart-writer.py et renommez-la en flashcart-writer-1309.py. Tapez ensuite

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

Étape 7: Jouez à des jeux à partir de Serial Flash

Pour jouer à des jeux à partir d'un flash série, allumez l'Arduboy.

Si vous avez déjà un jeu chargé, le jeu démarrera automatiquement. Appuyez une fois sur le bouton de réinitialisation situé en haut de l'Ardubaby pour accéder au menu du chargeur de démarrage.

Le menu du chargeur de démarrage s'affiche. La LED RVB s'allumera en séquence.

Si vous voyez une icône qui ressemble à un port USB s'afficher à la place, cela signifie que votre puce de mémoire flash série ne fonctionne pas. Veuillez vérifier le câblage.

Si vous n'appuyez sur aucune touche dans les 12 secondes, le jeu déjà stocké dans la mémoire flash interne de l'ATMega32U4 sera exécuté.

Pour revenir d'un jeu au menu du chargeur de démarrage, appuyez simplement une fois sur le bouton Réinitialiser.

Vous pouvez appuyer sur le bouton gauche ou droit pour faire défiler les différentes catégories (groupes) de jeux. Appuyez sur le bouton bas ou haut pour faire défiler les jeux au sein d'une catégorie (groupe). Appuyez sur le bouton "B" pour copier le jeu de la mémoire flash série sur la mémoire flash interne de l'ATMega32U4. Le jeu commencera dans une seconde.

Maintenant, vous avez une petite console de jeu que vous pouvez jouer sur la route.

Je vous mets au défi de collecter et de charger votre flash série 16M avec 500 jeux. Je n'ai encore vu personne qui a fait ça pour remplir le flash série. Si vous pouvez le faire, partagez ce fichier de jeu consolidé avec nous.

Étape 8: Références

Une instruction complète de ceci sera publiée dans ce lien de Instructables.comTBD

Vidéo Youtube pour la démonstration de la console de jeu ArduBaby

Vidéo Youtube pour la modification 3.3V du programmeur de bootloader USBasp.

Les fichiers de jeu et les schémas du circuit dans cette vidéo peuvent être trouvés sur ce lien GitHub

Schémas

Lien GitHub de MR. Blinky pour le package fait maison Arduboy

Lien GitHub de MR. Blinky pour les utilitaires python pour le téléchargement de jeux et les opérations de mémoire flash série

Collections de jeux Arduboy d'Erwin

Crédits au créateur (Kevin Bates), l'Arduboy est une console de jeu 8 bits très réussie. Il y avait des milliers de jeux écrits par l'amateur qui les partageait librement sur le forum communautaire d'Arduboy afin que plus de gens puissent apprendre à coder.

Remerciements à MR. Blinky pour la création du package maison, du linker et des utilitaires python.

Conseillé: