По суті це перемикач банок 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.
Щоб спростити цей процес я написав невеличку програму, яка допомогає склеїти дампи картриджів в единий файл