Приветствую!
Соскучились? Нечем заняться перед новым годом? А вот вам две новых железки!
Встречайте, Karabas-Go и Karabas-Go Mini!
Karabas-Go, как и предшественник Karabas-Pro:
Плата размером с 3.5" дисковод, монтажные отверстия предполагают прикрепить реальный флопик к плате.
На борту Karabas-Go присутствуют:
- Xilinx Spartan 6 на 25к ячеек
- RP2040 в качестве периферийного контроллера
- 4 МБ 10нс SRAM
- 32 Мб SDRAM
- USB-хаб на 4 USB порта для клавиатуры, мыши, джоев и геймпадов
- ESP8266 модуль для wifi / zifi / интернетов
- VGA 8:8:8 через ADV7125
- VDAC2 (FT812)
- Аудио-ЦАП PCM5102A
- MIDI-синтезатор SAM2695
- CF-карта
- 2х мини-СД карты
- 34-пиновый коннектор для флопа (ВГ93 либо другого контроллера дисковода на плате нет, подразумеватся софт-реализация в соотв. корках)
- магнитофонный вход-выход
- часики, EEPROM
- 2 DB9 порта для SEGA/Atari джойстиков
- питание от usb type-C
Karabas-Go Mini - это просто миниатюрная копия большого собрата, с некоторыми отличиями в железе:
- вместо VGA - HDMI выхлоп
- нет дисковода
- нет CF-карты
- нет портов DB9 джоев
- нет ЦАП (аналоговый звук выводится через ШИМ прямо с FPGA)
- есть АЦП (для захвата аналогового звука с миди-чипа и с FT812)
- есть пока некоторые проблемы по захвату изо с FT812 и выводу через HDMI
Фактически, приходится пилить параллельно две ветки с корками.
Цель: цели нет, есть только путь Развитие железа Karabas-Pro, можно и так сказать. Проекту уже год, но так и не было желания особого анонсировать, потому что вялотекуще там что-то течет и медленно пилятся корки
Пока можно похвастаться:
- Ядро TS-Conf, с VDAC2, ZIFI, Турбосаунд+ФМ, GS на 2 метра, SAA и прочими плюшками
- Ядро ZX Spectrum Next
- Ядро NES
- Ядро Karabas-Pro (нужно фиксить, работает пока через одно место)
- Ядро Радио-86РК
Корки в FPGA грузит RP2040 ногодрыгом, но довольно шустро. Это развязало руки по многим вопросам, в частности - по способу обновления корок. Просто закидываются файлы на микроSD карточку и все, готово. С обновлением прошивки периферийного контроллера - там тоже все просто, спасибо заводскому загрузчику в RP2040.
Привествуется участие заинтересованных лиц в проекте, в частности:
- для написания ровной прошивки под RP2040 (сейчас там arduino framework и много *****кода)
- для портирования других (вкусных) корок
Из ближайших планов был Minimig, точнее его собрат под Gowin чипы - Nanomig. Там автор сильно (в лучшую сторону) упросил обмен между периферийным контроллером и FPGA. Но все равно и часть по монтированию образов на стороне RP2040, и принимающую сторону (FPGA) надо будет переделывать, потому как обмен между 2040 и FPGA у меня идет по своему стандарту (пачками фиксированной длины). Это все поправимо.
Пока основная проблема портирования чужих корок с MIST/MISTer - это отсутствие поддержки System Verilog в Xilinx ISE под Spartan 6.
Чего не хотелось бы - так это портирования корок 1-в-1 с ZX UNO, где гвоздями прибиты какие-то костыли в плане софт-процессоров для ОСД и монтирования, загрузки образов и катриджей, либо необходимости использовать FAT16 карт или вообще карт в своем формате. На "гошах", чтоб этого избежать, есть для этого целая малинка