Vectrex Multicard
Додано: 15 квітня 2023, 19:16
Пропоную вашій увазі проект Vectrex DIY Cart від Alan Leverett
Загальна інформація
По суті це перемикач банок EPROM на базі Arduino. Автор розробив дві версії плати, які можна замовити на PCBWay. Автор отримає відсоток від замовлення:
Скетч для Arduino лежить на github
Программування Arduino
Для компіляції проекту треба встановити бібліотеку ssd1306Ascii через Tools->Manage Libraries.
В залежності від типу плати вибрати True або False
В залежності від типу EPROM поставити необхідну кількість банок в параметрі ROM_MAX
В titles[] вказати назви файлів в банках в залежності від їх кількості. Нижче буде наведено програму за допомогою якої можна зробити цей масив.
Підготовка прошивки для EPROM
Фактично треба склеїти образи оригінальних картриджів або homebrew програм з кроком 8 або 32 кБ в залежності від версії плати та прошивки Arduino в єдиний байтовий масив та прошити в EPROM, наприклад, за допомогою TL866.
Щоб спростити цей процес я написав невеличку програму, яка допомогає склеїти дампи картриджів в единий файл
По суті це перемикач банок EPROM на базі Arduino. Автор розробив дві версії плати, які можна замовити на PCBWay. Автор отримає відсоток від замовлення:
- DIY Cart+8 - для банок по 8 кБ, це стандартний розмір класичних картриджів для Vectrex
- DIYCart+32 - для банок по 32 кБ, це максимальний розмір, який підтримує Vectrex, багато Homebrew розроблені під цей об'єм
- EPROM, 27010...27080
- Arduino Nano
- 3 тактові кнопки 6х6 мм
- OLED Display 128x32 0,91"
- панелька DIP32
- резистор 470 Ом
Скетч для Arduino лежить на github
Программування Arduino
Для компіляції проекту треба встановити бібліотеку ssd1306Ascii через Tools->Manage Libraries.
В залежності від типу плати вибрати True або False
Код: Виділити все
#define IS_8K_CART true
Код: Виділити все
// Default game lists:
#if IS_8K_CART
// x35 8K games requires 27c040 / 27c4001
#define ROM_MAX 16
#else
// x21 32K games requires 27c080 / 27c801 (x16 for 27c040 / 27c4001)
#define ROM_MAX 21
#endif
Код: Виділити все
String titles[] = {
#if IS_8K_CART
"Cart Menu", // Unused
"Space Wars",
"Solar Quest",
"Berzerk",
"Clean Sweep",
Підготовка прошивки для EPROM
Фактично треба склеїти образи оригінальних картриджів або homebrew програм з кроком 8 або 32 кБ в залежності від версії плати та прошивки Arduino в єдиний байтовий масив та прошити в EPROM, наприклад, за допомогою TL866.
Щоб спростити цей процес я написав невеличку програму, яка допомогає склеїти дампи картриджів в единий файл