Скорректированная и оптимизированная юзер-френдли сборка mega-usb - утилиты управления картриджем Mega EverDrive (стоковый исходный код на сайте разработчика Mega EverDrive).
- Встроена справочная легенда по формату использования и параметрам (/?);
- Детализированы сообщения по ходу работы утилиты;
- Исправлены недочеты, добавлены дополнительные проверки;
- Исходник сформатирован «по-красоте» ;-)
При подключении Mega EverDrive к ПК (Windows-система) соединение организуется в виде виртуального USB-COM-порта (требуется драйвер). Когда Mega EverDrive уже включен и загружен с подготовленной карты памяти в нем (на экране Сеги "меню") – игры загружаются в одну команду, для загрузки другой игры нужно вернуться обратно в меню (напр. по сбросу). Если SD-карты в Mega EverDrive нет, то сначала загружаем (через USB, данной утилитой) конфигурацию FPGA (*.rbf), потом ОС контроллера (MEGA.BIN) или одной командой враз, а лишь затем игру – далее можно загружать игры также только после сброса "ресетом" (до цикла питания).
Конфигурация SVP.rbf самодостаточна (можно использовать вместо MEGA.rbf для любых игр) – но после ее применения будут также работать загружаемые программы, использующие сопроцессор SVP эмулируемый в FPGA (даже заголовок ROM не учитывается, в то же время при загрузке программы с карты памяти для активации SVP по адресу 0x000150 должно быть написано «Virtua Racing»). Рекомендую использовать комплект версии 3.13 (последняя - 3.14 работает некорректно, т.е. не работает).
По-умолчанию (без опций) образ ROM загружается и запускается как «обычный» (т.е. без маппера – размер до 4МБ); при наличии в заголовке указания на маппер «SSF», он активируется и на Mega EverDrive (вне зависимости от размера образа); если ROM больше 4МБ и не содержит указания SSF в заголовке – то будет активирован режим «M10» («сквозная адресация», которая может быть несовместима с подключенными перманентно Mega-CD или встроенными играми, а также с 32X; режим «M10» используется самоделками и хаками). Указание опций превалирует над указанным порядком. Максимальный размер загружаемого ROM (даже в режиме SSF) – 15МБ (аппаратное ограничение Mega EverDrive).
mega-usb <имя_файла> [-опции]
Упрощенное использование (без опций):
*.RBF - Загрузка конфигурации в FPGA
MEGA.BIN - Загрузка образа ОС 68k в Mega EverDrive v2(x7), x3 ,x5
MEGAOS.bin - Загрузка образа ОС 68k в Mega EverDrive v1 (не для v2)
*.SMS - Загрузка программы (игры) в режиме MasterSystem
*.* - Загрузка программы (игры) в режиме MegaDrive (SMD, М10, SSF - см. выше)
Опции (не применяются к фиксированным маскам, указанным выше):
-smd - Загрузка файла как SMD, обычный ROM (зачастую избыточно, т.к. по-умолчанию)
-m10 - Загрузка файла как SMD "big-ROM" (10MB без маппера)
-ssf - Загрузка файла как SMD ROM с маппером SSF (исп. также для доступа к функциям EverDrive, см. ниже)
-cd - Загрузка файла как Mega-CD addon ROM BIOS (требуется соотв. оборудование)
-32x - Загрузка файла как 32X addon ROM (требуется соотв. оборудование)
-sms - Загрузка файла как MasterSystem ROM
-os - Загрузка файла как EverDrive приложения
-o - Загрузка образа ОС в Mega EverDrive v1 (не для v2)
(Аналогично MEGAOS.bin без опций)
-fo - Загрузка образа в т.ч. Прошивки в Mega EverDrive v1 (не для v2)
(Часть MEGAOS.bin прошивается, часть загружается)
PS. Не забываем, что Mega EverDrive для разработчиков SMD-приложений предоставляет также следующий функционал:
- Связь с внешней системой (ПК или другой USB-хост) через виртуальный COM-порт (на стороне хоста) и регистры в адресном пространстве на стороне SMD (необходимо включать режим SSF);
- Возможность хранения контента на SD-карте Mega EverDrive (необходимо включать режим SSF) и его энергонезависимой памяти («на батарейке»);
- Возможность использования адресного пространства памяти ROM картриджа Mega EverDrive как ОЗУ (необходимо включать режим SSF);
(см. примеры разработчика)
- Есть аппаратно-эмулируемый графический сопроцессор SVP (в режиме SVP недоступны регистры SSF, а вместе с этим и функционал EverDrive по работе с USB-соединением и пр.);
- Есть аппаратно-эмулируемый синтезатор YM2413;
- Есть сопроцессор умножения/деления чисел (MEGA.rbf до версии 3.03 включительно).
PPS. Скомпиллированный, зазипованный экзешник: mega-usb.exe.zip