Tabla de contenido:

Cómo cargar juegos en Arduboy y 500 juegos en Flash-cart: 8 pasos
Cómo cargar juegos en Arduboy y 500 juegos en Flash-cart: 8 pasos

Video: Cómo cargar juegos en Arduboy y 500 juegos en Flash-cart: 8 pasos

Video: Cómo cargar juegos en Arduboy y 500 juegos en Flash-cart: 8 pasos
Video: How to upload games to homemade Arduboy & 500 games to flash-cart 2024, Junio
Anonim
Cómo cargar juegos en Arduboy y 500 juegos en Flash-cart
Cómo cargar juegos en Arduboy y 500 juegos en Flash-cart

Hice un Arduboy casero con memoria Flash serial que puede almacenar un máximo de 500 juegos para jugar en la carretera. Espero compartir cómo cargar juegos en él, incluido cómo almacenar juegos en la memoria flash en serie y crear su propio paquete de juegos consolidado para jugar en la carretera.

Puede ver este video de youtube para el proceso de creación de extremo a extremo y la explicación

Paso 1: configurar Arduino IDE

Si es nuevo en Arduino, vaya a https://www.arduino.cc para descargar el IDE de Arduino para el sistema operativo que está utilizando, por ejemplo, Windows 10 o Mac OSX o Linux.

Luego instálelo.

Paso 2: haga el cable USBasp

A diferencia de cargar códigos / juegos binarios en cualquier placa Arduino, la programación del cargador de arranque no se puede realizar a través del puerto USB.

Para grabar el cargador de arranque personalizado (Cathy3K) en el chip Atmega32U4, necesita un programador USBasp. Sin embargo, nuestra creación funciona a 3.3V, necesitamos modificar aún más el programador USBasp para que funcione en 3.3V.

Consulte el siguiente proyecto instructable para modificar su programador USBasp para que funcione tanto a 3,3 V como a 5 V a través de la configuración del puente.

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

Luego, siga la disposición de los pines y el video para hacer que el cable de programa USB asp a ArduBaby. el cable USBasp original que viene con el USBasp tiene dos conectores, cada uno de 10 pines. Cortaremos este cable por la mitad y conectaremos un cabezal macho de 6 pines a un extremo mientras mantenemos el otro extremo que se conecta con la placa USBasp a 10 pines.

Este otro extremo conectará los pines GND, VCC, MOSI, MISO, SCK, Reset del USBasp a los pines correspondientes del ATmega32U4 a través del encabezado macho que se conecta a los primeros seis pines del encabezado hembra en el Ardubaby (mi versión de Arduboy casero). Su versión puede tener un diseño de pines diferente. Puede hacer referencia a mi video para cambiar el diseño para que se adapte a su versión de Arduboy casero.

Para ejecutar el programa o grabar el cargador de arranque en ATmega32U4, quitará el botón y conectará este cable USBasp de 6 pines.

Asegúrese de marcar claramente qué pin es el pin uno en el encabezado del cable para que no se realice una conexión incorrecta. Cuando diseñé la disposición de los pines para los encabezados del sombrero del botón Ardubaby, traté de organizar los pines de tal manera que, incluso si intercambiaste el pin 1 con el pin 13, la fuente de alimentación -ve no se encontrará accidentalmente con la fuente de alimentación + ve para evitar daños. Sin embargo, nunca se sabe, pueden suceder otras cosas que aún podrían dañar su kit si se conecta en la dirección incorrecta.

Quemaré un pequeño agujero para marcarlo en el encabezado con la punta del soldador.

Paso 3: Grabe el cargador de arranque

MR. Blinky creó el paquete casero Arduboy para Arduboy casero.

Su paquete incluye los controladores de placa y la biblioteca de Arduboy que funciona con diferentes versiones del Arduboy original así como con las caseras.

1. Busque la carpeta GitHub de MR. Blinky para el Arduboy casero. https://github.com/MrBlinky/Arduboy-homemade-package 2. Siga las instrucciones en GitHub para configurar su IDE de Arduino con el paquete casero. 3. Primero copie la URL del "Administrador de placa adicional" para el paquete casero de Arduboy.

4. Inicie Arduino IDE. Haga clic en Preferencias en el menú superior de Arduino. Pegue este texto en las "URL adicionales del administrador de tableros". Nota: Si ya tiene otro texto en este campo, inserte este texto adicional al principio, luego agregue un "," y mantenga el otro texto intacto. 5. Salga de Arduino IDE y vuelva a iniciar el IDE para que se aplique el cambio anterior. 6. Haga clic en Herramientas -> Tablero: -> Administrador de tablero. Ingrese casero para buscar. Seleccione para instalar el paquete casero Arduboy por Mr. Blinky. Luego haga clic en actualizar para obtener la última versión. El paquete se agregará a Arduino. 7. Ahora seleccione Herramientas-> Tablero: “Arduboy hecho en casa. y seleccione los siguientes parámetros para Arduboy casero”Basado en:“SparkFun Pro Micro 5V - Cableado estándar”Núcleo:“Núcleo optimizado para Arduboy”Cargador de arranque:“Cathy3K”Programador: USBasp 8. Apague el Ardubaby y quite el botón del sombrero. 9. Configure el puente del USBasp en 3.3V. Asegúrese de estar usando un USBasp modificado que funcione completamente en 3.3V. 10. Conecte el USBasp al puerto USB de su computadora. Conecte el cable especial USBasp a ArduBaby a USBasp, y el otro extremo al encabezado del botón del Ardubaby, alinee el pin 1 con el pin 1. Solo los primeros 6 pines del Ardubaby se utilizan para grabar el gestor de arranque.

11. Su Ardubaby debería estar encendido ahora a través de la energía de 3.3V suministrada por el USBasp. 12. Presione el botón de reinicio del ArduBaby una vez. 13. Haga clic en el botón Herramientas-> Placas-> Grabar cargador de arranque en el IDE de Arduino. 14. Verifique el mensaje para ver si la grabación del cargador de arranque fue exitosa. 15. Si no es así, revise el cable y asegúrese de conectar los pines en la dirección correcta y alinee el pin 1 con el pin 1. A veces, Ardubaby comenzará a jugar un juego anterior si el menú de arranque se agota. Por lo tanto, debe hacer clic en el botón Grabar cargador de arranque rápidamente justo después de presionar el botón de reinicio para poner el Ardubaby en el modo de espera de flash. 16. Si todo está bien, ArduBaby se reiniciará y verá el menú de inicio o el juego anterior que ha cargado en ArduBaby.

Paso 4: compila y carga juegos individuales en Arduboy

Los juegos para Arduboy se pueden descargar de las siguientes fuentes:

Foro de la comunidad de Arduboy para juegos:

La búsqueda de GitHub en "Arduboy games" https://github.com/topics/arduboy-game o simplemente busca "GitHub arduboy games" en Google.

Colecciones de juegos compartidas por otros. p.ej. Colecciones Arduboy de Erwin

arduboy.ried.cl/

Puedes descargar el código fuente del juego que cargaste en Arduino y cargarlo en Arduboy. Vea el video sobre cómo se hace esto.

o simplemente el archivo hexadecimal (el archivo binario compilado pero presentado en número hexadecimal se imprime en un archivo de texto en lugar de un archivo binario).

YPara el código fuente, simplemente abra el código fuente dentro de Arduino IDE.

El código fuente, p. Ej. picovaders.ino debe almacenarse en una carpeta con el mismo nombre, p. ej. picovaders

Las bibliotecas necesarias de Arduboy2 ya deberían estar instaladas en el paso anterior donde cargamos el administrador de la placa para el paquete casero de Arduboy.

Simplemente conecte el Arduboy al puerto USB de su computadora.

Enciéndalo, luego haga clic en el botón Cargar en el IDE de Arduino para compilar y cargar el código en el Arduboy para jugar el juego.

Paso 5: Cargue archivos hexadecimales individuales

El archivo hexadecimal es un archivo de texto que contiene códigos binarios que resultan de la compilación de su programa Arduino (boceto), pero representado en un formato de archivo de texto usando números hexadecimales de dos dígitos 0-9, A-F.

Puede obtener estos archivos hexadecimales de diferentes maneras.

1. Podemos descargar archivos hexadecimales de las diferentes fuentes que explicamos anteriormente:

community.arduboy.com/c/games Colecciones de juegos Arduboy de Erwin

Busque "juegos de Arduboy" en GitHub.com o en google.com

Guarde estos archivos hexadecimales en archivos con una extensión de.hex.

2. Alternativamente, puede crear su propio archivo hexadecimal.

En el IDE de Arduino, seleccione Sketch> Exportar binario compilado. Se compilará su boceto, luego se enviará una copia del archivo.hex compilado al directorio de su boceto. Busque la carpeta de bocetos o en el IDE seleccione Boceto> Mostrar carpeta de bocetos para ver el archivo hexadecimal. Si instaló el paquete casero de MR. Blinky, se crearán dos versiones del archivo.hex. Por ejemplo, si compila picovaders.ino sketh, se crearán los siguientes dos archivos.hex.

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

Usaremos el primer archivo: picovaders.ino-arduboy-promicro-ssd1306.hex

3. Para cargar un archivo hexadecimal en Arduboy, debe usar un cargador. Hay muchos en Internet. Me gusta usar el cargador de MR. Blinky ya que es fácil de usar.

Vaya a https://github.com/MrBlinky/Arduboy-Python-Utilities y siga las instrucciones allí para instalar las utilidades de Arduboy Python de MR. Blinky. Si no tiene un Python instalado, primero debe seguir las instrucciones para instalar Python y los módulos de Python requeridos.

4. Conecte el Arduboy al puerto USB de su computadora. Encienda el Arduboy.

5. Inicie el programa de shell en su sistema operativo, p. Ej. la aplicación de terminal en Mac OSX o el símbolo del sistema en Windows para escribir los siguientes comandos para cargar el archivo hexadecimal en Arduboy. Tomando nuestro boceto anterior picovaders.ino como ejemplo.

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

6. Una vez que se carga el juego, Arduboy se reiniciará e iniciará el juego.

Paso 6: escribir juegos en Flash serial

1. Para escribir el archivo del juego consolidado en una memoria flash en serie, debe volver a utilizar las utilidades Arduboy Python de MR. Blinky. Debería tener esto ya instalado si sigue el paso anterior.

De lo contrario, vaya a https://github.com/MrBlinky/Arduboy-Python-Utilities y siga las instrucciones allí para instalar las utilidades Arduboy Python de MR. Blinky. Si no tiene un Python instalado, primero debe seguir las instrucciones para instalar Python y los módulos de Python requeridos.

2. Cree el archivo de índice para el archivo de imagen de juego consolidado para contener hasta 500 juegos.

Usaremos el script Use the flashcart-builder.py para construir los archivos de imagen de un juego consolidado para todos los juegos que desea almacenar en el flash serial de Arduboy. Un flash serial de 16 MB puede contener hasta 500 juegos. Este script crea una imagen flash binaria a partir de un archivo de índice (.csv) y los siguientes 2 archivos para cada juego: a. Archivos.hex que es el archivo de texto que contiene los códigos hexadecimales de las imágenes binarias de los juegos Arduboy compilados. Consulte el archivo See the example-flashcart / flashcart-index.csv para ver la sintaxis de ejemplo. Este archivo se incluye en el paquete si hace clic en Clonar o Descargar. B. Archivos de imagen gráfica-p.webp

El video de youtube también explica cómo colocar las cosas en el lugar correcto de este archivo de índice.csv. Una cosa a tener en cuenta, el archivo.csv de ejemplos de GitHub de MR. Blinky se usa en PC con Windows, la barra invertida "\" se usa en los nombres de ruta. Si está utilizando un sistema liunx o MAC OSX, debe cambiarlo a "/".

Para comenzar rápidamente, puede descargar mi paquete de 63 juegos desde https://github.com/cheungbx/ArduBaby 63games.zip

Este paquete contiene los archivos hexadecimales y-p.webp

Puede agregar más juegos a games.csv y crear su propio archivo de imagen binario de juego consolidado para escribirlo en la memoria flash de serie. Puede poner un máximo de 500 juegos en el flash serial de 16M.

Explicaré cómo hacer el archivo.csv usando games.csv que puedes descargar desde mi GitHub.

Aunque el archivo.csv se puede abrir con Excel. NO use Excel para abrir el archivo. Corromperá el archivo. Utilice únicamente un editor de texto sin formato. Puede utilizar el bloc de notas en Windows. Usé el textEdit en MAC y haga clic en "Formato" -> "Hacer texto sin formato".

La primera línea del archivo.csv es el encabezado que puede ignorar. Lista; descripción; pantalla de título; archivo hexadecimal

La segunda línea apunta al archivo de imagen gráfica (debe ser de 128x64 píxeles en formato de archivo png) para la pantalla del manual del cargador de arranque. 0; cargador de arranque; arduboy_loader.png;;;

Los juegos se configuran a partir de la tercera línea. Los juegos están organizados en grupos en el menú del cargador de arranque llamados categorías. Esta línea es el título del grupo de la lista de juegos para ese grupo, p. Ej. Juego de acción. También apunta al archivo de imagen gráfica del grupo de juegos. El "1" al principio denota el grupo número 1. Todos los juegos que siguen a este grupo comenzarán con este número. 1; Juegos de acción; pantallas de categorías / Action.png;;;

Luego agrega una línea para cada juego dentro de ese grupo. Comenzando con el grupo número 1, el nombre del juego y la ruta del archivo gráfico para una instantánea de la pantalla, y la ruta del archivo hexadecimal. Todos separados por ";". Añade uno más ";" para omitir el parámetro del archivo guardado. 1; 1943; Arcade / Nineteen43.png; Arcade / Nineteen43.hex;; 1; 2048; Arcade / 2048.png; Arcade / 2048.hex;;

Una vez que haya terminado el primer grupo de juegos, puede agregar el segundo grupo de juegos y así sucesivamente. p.ej.

9; Demo & Test; demos / demotest.png;;; 9; Mantequilla caliente; demos / HotButter_AB.png; demos / HotButter_AB.hex;; 9; prueba de Flashcart; demos / flashcart-test / flashcart-test-title.png; demos / flashcart-test / flashcart-test.hex; demos / flashcart-test / badapple-frames.bin;

La última línea tiene un archivo de guardado en el parámetro que es una película de dibujos animados.

3. Para crear el archivo de imagen del juego consolidado, escriba el comando, donde games.csv es su archivo de índice del juego.

python flashcart-builder.py games.csv

Esto creará un archivo llamado games-image.bin

4. Escriba el archivo de imagen del juego consolidado en Arduboy.

Usamos el script flashcart-writer.py de MR. Blinky para escribir el archivo de imagen del juego consolidado en la memoria flash serial del Arduboy.

Si está utilizando mi archivo games-image.bin de muestra, puede escribir este comando.

python flashcart-writer.py games-image.bin

Si está utilizando una pantalla OLED SSD1309 en lugar del OLED SSD1306 en la versión estándar, puede parchear el controlador de pantalla sobre la marcha. Para aplicar automáticamente el parche SSD1309 a la imagen cargada, haga una copia de flashcart-writer.py y cámbiele el nombre a flashcart-writer-1309.py. Luego escribe

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

Paso 7: Juega juegos desde Flash serial

Para jugar juegos desde flash en serie, encienda el Arduboy.

Si ya tiene un juego cargado, el juego se iniciará automáticamente. Presione el botón de reinicio en la parte superior del Ardubaby una vez para ir al menú del cargador de arranque.

Se mostrará el menú del cargador de arranque. El LED RGB se iluminará en secuencia.

Si ves un ícono que parece un puerto USB en su lugar, eso significa que tu chip de memoria flash serial no está funcionando. Por favor, compruebe el cableado.

Si no presiona ninguna tecla en 12 segundos, se ejecutará el juego ya almacenado en la memoria flash interna del ATMega32U4.

Para volver de un juego al menú del cargador de arranque, simplemente presione el botón Restablecer una vez.

Puede presionar el botón izquierdo o derecho para desplazarse por las diferentes categorías (grupos) de juegos. Presione el botón hacia abajo o hacia arriba para desplazarse por los juegos dentro de una categoría (grupo). Presione el botón "B" para copiar el juego de la memoria flash en serie a la memoria flash interna del ATMega32U4. El juego comenzará en un segundo.

Ahora tienes una pequeña consola de juegos que puedes jugar mientras viajas.

Te desafío a recolectar y cargar tu flash Serial 16M con 500 juegos. No he visto a nadie que haya hecho eso todavía para llenar el flash en serie. Si puede hacer eso, comparta ese archivo de juego consolidado con nosotros.

Paso 8: referencias

Una instrucción completa de esto se publicará en este enlace de Instructables.com.

Vídeo de Youtube para la demostración de la consola de juegos ArduBaby

Video de Youtube para la modificación de 3.3V del programador del cargador de arranque USBasp.

Los archivos del juego y los esquemas del circuito en este video se pueden encontrar en este enlace de GitHub

Esquemas

Enlace de GitHub de MR. Blinky para el paquete casero de Arduboy

El enlace de GitHub de MR. Blinky para las utilidades de Python para la carga de juegos y las operaciones de memoria flash en serie

Colecciones de juegos Arduboy de Erwin

Créditos para el creador (Kevin Bates), Arduboy es una consola de juegos de 8 bits muy exitosa. Hubo miles de juegos escritos por el aficionado que los compartió libremente en el foro de la comunidad de Arduboy para que más personas puedan aprender a codificar.

Créditos a MR. Blinky por crear el paquete casero, el flashcart y las utilidades de Python.

Recomendado: