DC-SWAT Forum

Полная версия: Dreamcast "NO GD-ROM": VMU
Вы просматриваете yпpощеннyю веpсию форума. Пеpейти к полной веpсии.


На мысль навёл.
А можно сделать в дримшелл типа виртуальную ВМУ на SD карте или винчестере? Чтобы игры сохранялись в неё. Ну типа как на XBOX игры на винт могут сохраняться.
(26.01.2016 15:35)Lin писал(а): [ -> ]На мысль навёл.
А можно сделать в дримшелл типа виртуальную ВМУ на SD карте или винчестере? Чтобы игры сохранялись в неё. Ну типа как на XBOX игры на винт могут сохраняться.

Была у меня такая идея для ISO Loader, но пока не до этого. Да и памяти надо для нее много, а ее и так не хватает.
Возможно в итоге придется делать отдельный вид загрузчиков, расширенных, у которых будет меньшая совместимость (так как больше памяти надо), но больше всяких дополнительных функций.
Задел для подобных расширений функционала уже есть в принципе.
хм, а каким образом ?
игры-то к VMU-шкам напрямую обращаются, не через какие-нибудь сисколлы.
(29.01.2016 00:36)MetalliC писал(а): [ -> ]хм, а каким образом ?
игры-то к VMU-шкам напрямую обращаются, не через какие-нибудь сисколлы.

По прерыванию Maple DMA ходить в буфер обмена и подменять данные. Естественно раньше, чем игра туда посмотрит, я и так в общем то перехватываю прерывания раньше чем игра их получает, могу делать что угодно. Ну это если красиво делать и универсально, чтобы во всех играх работало. Таким образом можно в принципе любое Maple устройство эмулировать, этот вот буфер обмена для DMA облегчает задачу. Вот если бы игра сама как то с Maple BUS дружила, т.е. был бы протокол какой то, то тогда было бы сложнее. А тут просто буфер на 16 кило летает туда сюда.

Но можно сделать проще, по крайне мере для KATANA. Просто пропатчить в бинарнике функции для работы с VMU, чтобы был редирект на мои. Возможно не везде корректно будет работать, но я думаю в большинстве случаев прокатит. А найти эти функции не проблема в принципе, SDK все есть, binutils'ами пользоваться умею Smile Создаем ключ для поиска по начальному коду функции и ищем в памяти. Потом пару инструкций с прыжком записываем туда и радуемся. Я так уже в общем то делал, просто в другом контексте.

Во всем этом только одна загвоздка есть - нехватка памяти. Во первых код разрастется, так как добавится эмуляция VMU, плюс еще и кусок файловой системы и драйверов надо прилеплять, что за запись отвечает, сейчас он просто отключен для экономии памяти. Вот откуда ее брать пока не понятно.
URL ссылки