VMU Hack - Версия для печати +- DC-SWAT Forum (http://www.dc-swat.ru/forum) +-- Форум: Sega Dreamcast (/forum-2.html) +--- Форум: Hardware (/forum-9.html) +--- Тема: VMU Hack (/thread-2044.html) Страниц: 1 2 |
RE: VMU Hack - SWAT - 16.08.2013 08:36 Итак, удалось получить код этого дампера, спасибо SI{AY за это. Кстати автор кода упомянул, что есть шанс брикнуть VMU, мне кажется это означает присутствие потенциальной возможности записи в область памяти биоса. Вот основная выдержка из кода, которая производит дамп: PHP код: ; read fw addr trh,trl => vrmad1 Похоже $0ef5 это промежуточная функция в биосе, для сискола чтения памяти. А ведь есть вектор и на функцию записи. Хотя здесь я могу ошибаться конечно, пока просто предположение. Все бы ничего только вот нету у меня японской VMU У меня вообще никакой нету Придется заказать разные версии и отложить это дело на время, если желающих больше нет. RE: VMU Hack - shadow - 16.08.2013 09:26 (16.08.2013 08:36)SWAT писал(а): Придется заказать разные версии и отложить это дело на время, если желающих больше нет. SWAT, сделай образ диска или подробную инструкцию для запуска через DreamShell, я думаю на этом форуме, да и не только на нём найдутся люди которые смогут сдампить биос RE: VMU Hack - LEUMAS - 16.08.2013 10:55 есть у меня vmu карточки пару штук. RE: VMU Hack - SWAT - 16.08.2013 12:20 shadow, так а смысл его дампить, они все есть в инете. Сейчас надо методом тыка искать дырку для записи в биос. LEUMAS, а какого региона они у тебя? До кучи прикрепляю к сообщению все имеющиеся VMU биосы. В архиве 4 разных версии + один девелоперский. RE: VMU Hack - LEUMAS - 16.08.2013 12:34 все три карты HKT-7000 RE: VMU Hack - SWAT - 16.08.2013 13:30 К сожалению это не говорит о ее региональной принадлежности... Вот список всех типов: HKT-7000 - Standard VMU HKT-7001 - Godzilla VMU (possibly VMS) HKT-7002 - VMS (Memory card, no screen) HKT-7005 - MOSURADORIMUBATORU (software with Visual Memory)? HKT-7006 - Gamera VMS (LE VMS) HKT-7007 - VMU HKT-7007 - '-03' Aqua Blue VMU HKT-7007 - '-16' Clear VMU HKT-7007 - '-18' SGGG LE VMU HKT-7008 - '-01' "BOY super invention kit, crab break ASON" ? HKT-7008 - '-02' "Giant Gram VMU" HKT-7009 - '-01' US Blue VMU Поговорил я с Маркусом, в общем ничего нового он мне не выдал. Я хотел узнать у него на счет возможности записи в биос, он сказал что там скорее всего либо защита от записи, либо вообще нет возможности для этого. Комментарий он свой объяснил просто предосторожностью, мало ли кто закосячит себе VMU, чтобы его потом не винили Как пример обеих ситуаций можно сопоставить bios rom дрима, где отсутствует возможность записи, а так же его же flash rom, с защищенным блоком от записи только у фабричных данных. В первом случае поможет только замена или прошивка на программаторе, а во втором небольшой хардварный хак. Но я думаю не стоит пока сбрасывать со счетов то, что там нет защиты на запись и есть хардварные возможность у чипа. Так как в принципе в ту область не пускают из программы, в нее попасть можно только вот с помощью хитрости описанной выше, так что есть шанс что Sega понадеялась только на одну защиту, хотя любит она конечно хардварно все запрещать, но здесь может быть не тот случай, так как это не DC, а периферия. RE: VMU Hack - LEUMAS - 16.08.2013 13:56 а ка крегион определить к карты? на всех мейд ин чайна написано. елсли нада то вером разберу, так как бегу на работу уже. RE: VMU Hack - MetalliC - 16.08.2013 20:45 (16.08.2013 07:55)SWAT писал(а): MetalliC, я более развернуто описал процесс обмена по DMA, я даже немного ошибся здесь пока писал, там правильней написано.да, там более-менее верно описано. но смысл в том, что мапля это не тупое ДМА, которому дали данные от сих до сих и оно их куда-то отправило, мапля это простенький командный процессор. т.е. цикл работы после старта ДМА таков - - считал 4байта команды, взял оттуда номер порта и длину отсылаемых данных - считал 4байта указателя куда писать принимаемые данные - отправил по шине данные (через DDT DMA SH4) - принял данные (тоже через DDT DMA SH4), если данные не пришли - записал FFFFFF (флажок что устройство не ответило) - если в коде команды не был взведен битик "последняя" процесс повторяется с начала таким макаром за один запуск maple опрашиваются все имеющиеся устройства, но по сути запусков SH4 ДМА при этом Holly делает хренову кучу) и само по-себе мапле-дма не стартует, биос/игры запускают его с частотой кадров. (16.08.2013 07:55)SWAT писал(а): Кстати с какой цельюреверсил управление в Naomi, вплоть до года три назад у всех оно эмулировалось кривым и оч глючным HLE, и меня оно сильно вымораживало, вот я и занялся исследованиями, а т.к. оно работает через maple и его выштудировал само собой разумеется ни док ни тем более исходников на эту тему тогда не было, всё выяснялось отладкой и изучением кода биоса/игр и логов доступа к maple. в последствии оказалось, что в наоми на первой мапле-шине висит MCU, который выполняет функции maple-JVS моста (JVS это шина/стандарт плат ввода-вывода в аркадах) более того, оказалось что в этом MCU внутреннего рома почти нет, биос/игры загружают прошивку сами в RAM MCU, и система команд оказалась от Z80, представьте мое удивление, когда я в биосе наоми увидел до боли знакомые опкоды зилога так или иначе я это дело раскурил, как в плане устройства железяки для LLE эмуляции, так и алгоритма работы его кода для HLE, так что щас оно работает перфектно, и в Demul и в MAME, да и оказалось что в Hikaru этот чип тоже есть. RE: VMU Hack - MetalliC - 16.08.2013 22:49 ну а по поводу практического применения VMU для хака дрима... тут первая проблема - при подключении его к контроллеру он выпадает из пользовательской программы в биос, если это не обойти то дальше заморачиваться смысла нет. модифицировать сам биос даже не думайте, как я уже говорил там mask-rom, это не EEPROM или FLASH которые (пере)программируются, это кусок чипа, данные в котором намертво закладываются при его производстве, и "перезаписать" их не возможно, не та технология, грубо говоря это тупо матрица с перемычками в чипе. RE: VMU Hack - SWAT - 19.08.2013 07:36 Я так и думал что ты мне хардварную составляющую описываешь, так как там именно все так как ты сказал, а я имел ввиду софт. Как бы то ни было, отправить небольшой кусок кода все-же возможно. Хак биоса VMU для того и нужен, чтобы можно было при подключении к дриму использовать свой код, понятно дело что без этого, остальное не имеет смысла. Откуда такая уверенность про mask-rom? Есть доказательства этого? Если это действительно так, то без своего девайса похоже не обойтись... RE: VMU Hack - MetalliC - 19.08.2013 23:26 (19.08.2013 07:36)SWAT писал(а): Откуда такая уверенность про mask-rom? Есть доказательства этого?VMU.pdf из Katana R11b, стр. 142 хех, люди вон до сих пор биос с европейских VMU даже считать не смогли, а вы раскатали губу их записать/модифицировать, оптимисты вообще всё не так плохо, дока говорит что пользовательская программа не прерывается автоматом при подключении к контролеру, ей генерится прерывание мол заканчивай свои дела и выпрыгивай в биос, так что если положить болт на INT0 то софтинка по-идее так и останется работать. другой вопрос как SIO переключить в режим Maple (или оно само ?), какие там регистры и биты, и доступны ли вообще эти регистры не биосу а программе в флеше RE: VMU Hack - SWAT - 20.08.2013 13:04 Мда печаль, пропустил я как то эту запись в табличке про Mask-ROM В остальных местах она упоминается просто как ROM. Значит нужно думать что-то другое. К примеру VMU определяет подключена ли она к DC одним из своих контактов (я думаю там просто хэндлер на прерывании весит), возможно его достаточно просто отключить, чтобы VMU не выходила из режима игры и продолжала работать. На сколько я понял, регистры для работы с maple просто не документированы были в официальных доках, но использовать их можно и в игре, пользуясь доступной о них инфой со стороны. Может это прокатит? Главное чтобы при отключенном контакте, сама шина заработала. P.S. Блин не до конца прочитал и начал писать ответ ))) Написал то же самое... В общем если это так, тогда вообще хорошо, описание регистров есть здесь http://web.archive.org/web/20100426181147/http://www.maushammer.com/potato.html Код: 0x160-0x162 Not (officially) Used Т.е. тупо складываем фрейм в Work RAM и отсылаем его с помощью этих регистров. RE: VMU Hack - MetalliC - 20.08.2013 20:56 (20.08.2013 13:04)SWAT писал(а): В общем если это так, тогда вообще хорошо, описание регистров есть здесь http://web.archive.org/web/20100426181147/http://www.maushammer.com/potato.htmlтам можно сказать ничего не описано толком, биты в регистрах 160-162 должны быть те же что в регистре CFLAG MCU джойстика, т.к. в MCU наоми они те же, только расположены в другом порядке, не думаю что сега персонально для чипа ВМУ изобретала что-то эксклюзивное. описаны они (да и весь алгоритм приема/передачи по мапле) начиная с 61стр. MAPLE82E.doc вообще по логике вещей там не может быть так всё просто как описано у того чела, там как минимум при передаче данных должны играться битами TXB (первые 32байт ответа, перед которыми SIO сгенерит паттерн старта на шине), CTXB (вторые и последующие 32байт ответа), ENDP (последние 32байт ответа, после которых SIO сгенерит стоп-паттерн) короче это надо садиться и полностью "раскуривать" прошивку VMU (хех, где только столько времени найти ), я надеюсь IDA Pro умеет такой тип процессоров ? RE: VMU Hack - SWAT - 21.08.2013 10:48 Это не SIO переключаются в режим Maple, там для Maple отдельный интерфейс, на сколько я помню, а внутречиповый SIO только для обмена между VMU, у них и скорость мелкая. Ты вот опять в дебри полез, не надо там дергать ни за какие TXB и т.п. это хардварно все делается само. Так же как и со стороны дрима тоже не надо париться ни с чем, там сама шина все делает, ты же только инициализируешь DMA один раз для отправки/приемки всего и вся. Зачем им нагружать и без того еле шевелящийся проц всякими протоколами (если они даже основной дримовский этим не стали грузить), там все реализовано хардварно, а из проца уже это управляется всего парой регистров, типа - отправь данные, а оно там само пошло колбасить. Так же и прием, там железка складывает тупо в Work RAM уже готовый фрейм и все, а проц уже только парсит полученные данные. IDA Pro скорее всего стандартный чип поддерживает, но в VMU он кастомный, т.е. с кучей доп. инструкций, которых нет в оригинале. Но дисассемблер для него написали уже сами умельцы, так что с разбором особых проблем быть не должно. RE: VMU Hack - Rio - 03.09.2013 16:51 Сват, а на сам Maple есть офф. дока\спецификация? RE: VMU Hack - SWAT - 04.09.2013 12:44 (03.09.2013 16:51)Rio писал(а): Сват, а на сам Maple есть офф. дока\спецификация? (20.08.2013 20:56)MetalliC писал(а): описаны они (да и весь алгоритм приема/передачи по мапле) начиная с 61стр. MAPLE82E.doc RE: VMU Hack - MetalliC - 07.09.2013 15:04 (03.09.2013 16:51)Rio писал(а): Сват, а на сам Maple есть офф. дока\спецификация?если еще актуально ссылка раз это вся внутренняя Сеговская дока по Дриму на инглише (не сомневаюсь, что где-то есть еще более подробная на японском, но ее увы нету), тебе оттуда могут быть интересны папки E_MapleBus_FT_Spec и E_MapleBus_Peri_HW_Spec ссылка два дока на VMU из Katana-SDK RE: VMU Hack - Rio - 07.09.2013 16:16 (07.09.2013 15:04)MetalliC писал(а):(03.09.2013 16:51)Rio писал(а): Сват, а на сам Maple есть офф. дока\спецификация?если еще актуально Большое спасибо. |