Оглавление:

Как загрузить игры в Arduboy и 500 игр во Flash-корзину: 8 шагов
Как загрузить игры в Arduboy и 500 игр во Flash-корзину: 8 шагов

Видео: Как загрузить игры в Arduboy и 500 игр во Flash-корзину: 8 шагов

Видео: Как загрузить игры в Arduboy и 500 игр во Flash-корзину: 8 шагов
Видео: Игровая консоль Arduboy на 200 игр своими руками. 2024, Июль
Anonim
Как загрузить игры в Arduboy и 500 игр во Flash-корзину
Как загрузить игры в Arduboy и 500 игр во Flash-корзину

Я сделал самодельный Arduboy с последовательной флеш-памятью, который может хранить до 500 игр, в которые можно играть в дороге. Я надеюсь поделиться тем, как загружать в него игры, в том числе как сохранять игры в последовательную флэш-память и создавать свой собственный объединенный игровой пакет, чтобы играть в дорогу.

Вы можете просмотреть это видео на YouTube, чтобы увидеть процесс создания и объяснение.

Шаг 1. Настройте IDE Arduino

Если вы новичок в Arduino, перейдите по адресу https://www.arduino.cc, чтобы загрузить Arduino IDE для операционной системы, которую вы используете, например Windows 10, Mac OSX или Linux.

Затем установите его.

Шаг 2: сделайте кабель USBasp

В отличие от загрузки двоичных кодов / игр на любую плату Arduino, программирование загрузчика не может быть выполнено через порт USB.

Чтобы записать пользовательский загрузчик (Cathy3K) на чип Atmega32U4, вам понадобится программатор USBasp. Однако наше творение работает при напряжении 3,3 В, нам необходимо дополнительно модифицировать программатор USBasp для работы при напряжении 3,3 В.

Обратитесь к следующему проекту с инструкциями по изменению вашего программатора USBasp для работы как при 3,3 В, так и при 5 В с помощью перемычек.

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

Затем следуйте схеме контактов и видео, чтобы сделать программный кабель USBasp для ArduBaby. оригинальный кабель USBasp, поставляемый с USBasp, имеет два разъема, каждый по 10 контактов. Мы разрежем этот кабель пополам и подключим 6-контактный штекер к одному концу, оставив другой конец, который соединяется с платой USBasp, на 10-контактном.

Этот другой конец будет подключать контакты GND, VCC, MOSI, MISO, SCK, Reset от USBasp к соответствующим контактам ATmega32U4 через штекерный разъем, который подключается к первым шести контактам женского разъема на Ardubaby (моя версия самодельный Ардубой). Ваша версия может иметь другое расположение выводов. Вы можете ссылаться на мое видео, чтобы изменить дизайн, чтобы он соответствовал вашей версии самодельного Arduboy.

Чтобы запустить программу или записать загрузчик на ATmega32U4, снимите шляпку кнопки и подключите этот 6-контактный кабель USBasp.

Убедитесь, что вы четко отметили, какой из контактов является первым, на разъеме кабеля, чтобы не было неправильного подключения. При разработке схемы расположения выводов для заголовков кнопок Ardubaby я попытался расположить выводы так, чтобы даже если вы поменяли местами вывод 1 и вывод 13, источник питания -ve случайно не встретится с источником питания + ve, чтобы избежать повреждений. Однако вы никогда не знаете, что могут произойти другие вещи, которые могут повредить ваш комплект, если вы подключитесь в неправильном направлении.

Я прожигу крошечное отверстие, чтобы отметить это на головке, используя кончик паяльника.

Шаг 3. Запишите загрузчик

MR. Blinky создал самодельный Arduboy-пакет для самодельного Arduboy.

В его пакет входят драйверы платы и библиотека Arduboy, которая работает как с разными версиями оригинального Arduboy, так и с самодельными.

1. Найдите самодельный Arduboy в папке MR. Blinky на GitHub. https://github.com/MrBlinky/Arduboy-homemade-package 2. Следуйте инструкциям на GitHub, чтобы настроить IDE Arduino с помощью самодельного пакета. 3. Сначала скопируйте URL-адрес «Дополнительного менеджера платы» для самодельного пакета Arduboy.

4. Запустите Arduino IDE. Нажмите «Настройки» в верхнем меню Arduino. Вставьте этот текст в «URL-адреса Additional Boards Manager». Примечание. Если у вас уже есть другой текст в этом поле, вставьте этот дополнительный текст в начало, затем добавьте «» и оставьте другой текст без изменений. 5. Закройте Arduino IDE и снова запустите IDE, чтобы изменения вступили в силу. 6. Щелкните Инструменты -> Доска: -> Менеджер доски. Введите самодельный для поиска. Выберите, чтобы установить самодельный пакет Arduboy от Mr. Blinky. Затем нажмите «Обновить», чтобы получить последнюю версию. Пакет будет добавлен в Arduino. 7. Теперь выберите Инструменты-> Доска: «Самодельный Arduboy. и выберите следующие параметры для самодельного Arduboy »на основе:« SparkFun Pro Micro 5V - стандартная проводка »Ядро:« Оптимизированное ядро Arduboy »Загрузчик:« Cathy3K »Программатор: USBasp 8. Выключите Ardubaby и снимите шляпку кнопки. 9. Установите перемычку на USBasp на 3,3 В. Убедитесь, что вы используете модифицированный USBasp, который полностью работает при напряжении 3,3 В. 10. Подключите USBasp к USB-порту вашего компьютера. Подключите специальный кабель USBasp к ArduBaby к USBasp, а другой конец - к заголовку кнопки Ardubaby, выровняйте контакт 1 с контактом 1. Только первые 6 контактов Ardubaby используются для записи загрузчика.

11. Теперь ваш Ardubaby должен быть включен от источника питания 3,3 В через USBasp. 12. Один раз нажмите кнопку сброса ArduBaby. 13. Щелкните по кнопке Tools-> Boards-> Burn Bootloader в среде Arduino IDE. 14. Проверьте сообщение, чтобы убедиться, что запись загрузчика прошла успешно. 15. Если нет, проверьте кабель и убедитесь, что вы подключили контакты в правильном направлении и выровняли контакт 1 с контактом 1. Иногда Ardubaby начинает играть в предыдущую игру, если меню загрузки выходит из строя. Итак, вам нужно быстро нажать кнопку «Записать загрузчик» сразу после того, как вы нажали кнопку сброса, чтобы перевести Ardubaby в режим ожидания прошивки. 16. Если все в порядке, ArduBaby перезагрузится, и вы увидите либо меню загрузки, либо предыдущую игру, которую вы загрузили в ArduBaby.

Шаг 4: компилируйте и загружайте одиночные игры в Arduboy

Игры для Arduboy можно скачать из следующих источников:

Форум сообщества Arduboy для игр:

Выполните поиск на GitHub по запросу «Arduboy games» https://github.com/topics/arduboy-game или просто выполните поиск по «GitHub arduboy games» в Google.

Коллекции игр, которыми поделились другие. например Коллекции Эрвина Arduboy

arduboy.ried.cl/

Вы можете загрузить исходный код игры, которую вы загрузили в Arduino, и загрузить в Arduboy. Посмотрите видео, как это делается.

или просто шестнадцатеричный файл (скомпилированный двоичный файл, но представленный в шестнадцатеричном формате, распечатывается в текстовый файл вместо двоичного файла).

Y Для исходного кода просто откройте исходный код в среде Arduino IDE.

Исходный код, например picovaders.ino необходимо хранить в одноименной папке, например. пиковадеры

Необходимые библиотеки Arduboy2 должны быть уже установлены на предыдущем шаге, где мы загружаем менеджер плат для самодельного пакета Arduboy.

Просто подключите Arduboy к USB-порту вашего компьютера.

Включите его, затем нажмите кнопку «Загрузить» в среде Arduino IDE, чтобы скомпилировать и загрузить код в Arduboy, чтобы начать игру.

Шаг 5. Загрузите файлы в формате Single Hex

Hex-файл - это текстовый файл, содержащий двоичные коды, полученные в результате компиляции вашей программы Arduino (эскиз), но представленный в формате текстового файла с использованием двухзначных шестнадцатеричных чисел 0-9, A-F.

Получить этот шестнадцатеричный файл можно разными способами.

1. Мы можем загружать шестнадцатеричные файлы из различных источников, которые мы объяснили выше:

community.arduboy.com/c/games Коллекции игр Arduboy от Эрвина

Найдите "игры для Arduboy" на GitHub.com или google.com.

Сохраните эти шестнадцатеричные файлы в файлы с расширением.hex.

2. Как вариант, вы можете создать свой собственный шестнадцатеричный файл.

В среде Arduino IDE выберите «Скетч»> «Экспорт скомпилированного двоичного файла». Ваш скетч будет скомпилирован, а затем копия скомпилированного файла.hex будет выведена в каталог вашего скетча. Перейдите к папке эскиза или в среде IDE выберите «Скетч»> «Показать папку эскиза», чтобы увидеть шестнадцатеричный файл. Если вы установили самодельный пакет MR. Blinky, будут созданы две версии файла.hex. Например, если вы скомпилируете sketh picovaders.ino, будут созданы следующие два файла.hex.

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

Мы будем использовать первый файл: picovaders.ino-arduboy-promicro-ssd1306.hex

3. Чтобы загрузить шестнадцатеричный файл в Arduboy, вам необходимо использовать загрузчик. Их много в Интернете. Мне нравится использовать загрузчик MR. Blinky, поскольку он прост в использовании.

Перейдите по адресу https://github.com/MrBlinky/Arduboy-Python-Utilities и следуйте инструкциям по установке утилит Arduboy Python от MR. Blinky. Если у вас не установлен python, вам необходимо сначала выполнить инструкции по установке python и необходимых модулей python.

4. Подключите Arduboy к USB-порту вашего компьютера. Включите Arduboy.

5. Запустите программу оболочки в вашей операционной системе, например приложение терминала в Mac OSX или командную строку в Windows, чтобы ввести следующие команды для загрузки шестнадцатеричного файла в Arduboy. В качестве примера возьмем наш предыдущий скетч на picovaders.ino.

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

6. После загрузки игры Arduboy сбросит настройки и запустит игру.

Шаг 6. Запишите игры на последовательную флэш-память

1. Чтобы записать объединенный файл игры на последовательную флеш-память, вам нужно снова использовать Arduboy Python Utilities от MR. Blinky. У вас должно быть это уже установлено, если вы выполните предыдущий шаг.

В противном случае перейдите по адресу https://github.com/MrBlinky/Arduboy-Python-Utilities и следуйте инструкциям по установке утилит MR. Blinky Arduboy Python. Если у вас не установлен python, вам необходимо сначала выполнить инструкции по установке python и необходимых модулей python.

2. Создайте индексный файл для консолидированного файла образа игры, который будет содержать до 500 игр.

Мы будем использовать сценарий Use the flashcart-builder.py для создания консолидированных файлов образа игры для всех игр, которые вы хотите сохранить в последовательной флэш-памяти Arduboy. Последовательная флэш-память объемом 16 МБ может вместить до 500 игр. Этот сценарий создает двоичное флэш-изображение из индексного файла (.csv) и следующих 2 файлов для каждой игры: a..hex файлы, которые представляют собой текстовый файл, содержащий шестнадцатеричные коды двоичных изображений скомпилированных игр Arduboy. См. Пример синтаксиса в файле example-flashcart / flashcart-index.csv. Этот файл включается в пакет, если вы нажмете «Клонировать» или «Загрузить». б.-p.webp

Видео на YouTube также объясняет, как разместить вещи в этом индексном CSV-файле в нужном месте. Следует отметить, что файл примеров.csv с GitHub MR. Blinky используется на ПК с Windows, в именах путей используется обратная косая черта "\". Если вы используете систему liunx или MAC OSX, вам необходимо изменить его на «/».

Для быстрого старта вы можете загрузить мой пакет из 63 игр с https://github.com/cheungbx/ArduBaby 63games.zip

Этот пакет содержит шестнадцатеричные и png-файлы 63 выбранных мной игр, а также индексный файл games.csv и файл games-image.bin, созданный с помощью сценария flashcard-builder.py.

Вы можете добавить больше игр в games.csv и создать собственный консолидированный файл двоичного образа игры, который будет записан на последовательную флэш-память. Вы можете поместить не более 500 игр на 16-мегабайтную последовательную флеш-память.

Я объясню, как создать файл.csv с помощью games.csv, который вы можете загрузить с моего GitHub.

Хотя файл.csv можно открыть с помощью Excel. НЕ используйте excel для открытия файла. Это повредит файл. Пожалуйста, используйте только текстовый редактор. Вы можете использовать блокнот в Windows. Я использовал textEdit в MAC и щелкнул «Форматировать» -> «Сделать обычный текст».

Первая строка файла.csv - это заголовок, который можно игнорировать. Список; Описание; Титульный экран; Шестнадцатеричный файл

Вторая строка указывает на файл графического изображения (должен быть 128x64 пикселя в формате файла png) для экрана меню загрузчика. 0; Загрузчик; arduboy_loader.png;;;

Настраиваются игры, начиная с третьей строчки. Игры организованы в группы в меню загрузчика, называемые категориями. Эта строка является заголовком группы списка игр для этой группы, например. Экшн-игра. Он также указывает на файл с графическим изображением для группы игр. Цифра 1 в начале обозначает группу номер 1. Все игры, следующие за этой группой, будут начинаться с этого номера. 1; Экшены; экраны категорий / Action.png;;;

Затем вы добавляете по одной строке для каждой игры в этой группе. Начиная с номера группы 1, названия игры и пути к графическому файлу для снимка экрана, а также пути к шестнадцатеричному файлу. Все разделены знаком «;». Добавьте еще один ";" чтобы пропустить параметр для файла сохранения. 1; 1943; Arcade / Nineteen43.png; Arcade / Nineteen43.hex;; 1; 2048; Аркада / 2048.png; Аркада / 2048.hex;;

После того, как вы закончите первую группу игр, вы можете добавить вторую группу игр и так далее. например

9; Демо и тест; demos / demotest.png;;; 9; Горячее масло; демо / HotButter_AB.png; демо / 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;

В последней строке есть файл сохранения в параметре, который является мультипликационным фильмом.

3. Чтобы создать консолидированный файл образа игры, введите команду, где games.csv - это индексный файл вашей игры.

python flashcart-builder.py games.csv

Это создаст файл с именем games-image.bin.

4. Запишите объединенный файл образа игры в Arduboy.

Мы используем сценарий flashcart-writer.py MR. Blinky для записи файла консолидированного образа игры в последовательную флэш-память Arduboy.

Если вы используете мой образец файла games-image.bin, вы можете ввести эту команду.

python flashcart-writer.py games-image.bin

Если вы используете OLED-экран SSD1309 вместо SSD1306 OLED в стандартной сборке, вы можете исправить драйвер экрана на лету. Чтобы автоматически применить исправление SSD1309 к загруженному образу, сделайте копию flashcart-writer.py и переименуйте ее в flashcart-writer-1309.py. Затем введите

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

Шаг 7. Играйте в игры с последовательной вспышки

Чтобы играть в игры с последовательной вспышки, включите Arduboy.

Если у вас уже есть загруженная игра, она запустится автоматически. Нажмите кнопку сброса в верхней части Ardubaby один раз, чтобы перейти в меню загрузчика.

Отобразится меню загрузчика. Светодиод RGB загорится последовательно.

Если вместо этого вы видите значок, похожий на порт USB, это означает, что микросхема последовательной флэш-памяти не работает. Пожалуйста, проверьте проводку.

Если вы не нажмете никаких клавиш в течение 12 секунд, будет запущена игра, уже сохраненная во внутренней флэш-памяти ATMega32U4.

Чтобы вернуться из игры в меню загрузчика, просто нажмите кнопку «Сброс» один раз.

Вы можете нажимать левую или правую кнопку для прокрутки различных категорий (групп) игр. Нажимайте кнопку «вниз» или «вверх» для прокрутки игр в категории (группе). Нажмите кнопку «B», чтобы скопировать игру из последовательной флэш-памяти во внутреннюю флэш-память ATMega32U4. Игра начнется через секунду.

Теперь у вас есть крошечная игровая консоль, в которую можно играть в дороге.

Я призываю вас собрать и загрузить на вашу 16-мегабайтную последовательную флеш-память 500 игр. Я еще не видел никого, кто бы это делал, чтобы заполнить серийную вспышку. Если вы можете это сделать, поделитесь с нами этим объединенным файлом игры.

Шаг 8: ссылки

Полная инструкция будет опубликована по этой ссылке на Instructables.comTBD.

Youtube видео для демонстрации игровой консоли ArduBaby

Youtube видео для 3.3V модификации программатора загрузчика USBasp.

Файлы игры и схемы схемы в этом видео можно найти по этой ссылке GitHub

Схемы

Ссылка MR. Blinky на GitHub для домашнего пакета Arduboy

Ссылка MR. Blinky на GitHub для утилит python для загрузки игр и операций с последовательной флэш-памятью

Коллекции игр Arduboy от Эрвина

Благодарим создателя (Кевина Бейтса), что Arduboy - очень успешная 8-битная игровая консоль. Были тысячи игр, написанных любителем, который свободно поделился ими на форуме сообщества Arduboy, чтобы больше людей могло научиться программировать.

Благодарим MR. Blinky за создание самодельного пакета, flashcart и утилит python.

Рекомендуемые: