BIOS Disassembling - Версия для печати +- DC-SWAT Forum (http://www.dc-swat.ru/forum) +-- Форум: Sega Dreamcast (/forum-2.html) +--- Форум: Hardware (/forum-9.html) +--- Тема: BIOS Disassembling (/thread-1752.html) |
RE: BIOS Disassembling - cybdyn - 10.04.2012 00:43 я начал сам потиху разбирать код биоса. сначала пройду путь тот что уже описан, попробую добраться до чегото нового, того что нехватает... несмотря на то, что казалось асм в SH4 мне не привычный, и хочеться по началу всё бросить, по тиху начию привыкать, и уже не скажу что всё так безнадёжно и сложно... в любом случае, хорошо знать какойто минимум , т.к просто подключить какуюто платку мало - надо же "чтото" будет заливать в память))) RE: BIOS Disassembling - Rio - 10.04.2012 15:58 Так а с какой целью ты все-таки хочешь его изучать - просто так, из спортивного интереса, для себя, либо же хочешь выгоды из этого какую-то получить? RE: BIOS Disassembling - cybdyn - 11.04.2012 11:27 с выгодой подклюения устройств или замены гдром))) RE: BIOS Disassembling - cybdyn - 11.04.2012 13:25 обнаружил прокачку на в самом почти начале))) после инита контроллера памяти и пару сис регов, идет копирование кода прокачки в память (0x8c0000e0) и исполнение... H'8c0000e0: H'd204 .. mov.l @(H'8c0000f4), R2 (H'001fffff) H'8c0000e2: H'd106 .. mov.l @(H'8c0000fc), R1 (H'a05f74e4) H'8c0000e4: H'2122 "! mov.l R2, @R1 H'8c0000e6: H'd204 .. mov.l @(H'8c0000f8), R2 (H'0007ffc0) H'8c0000e8: H'6106 .a mov.l @R0+, R1 H'8c0000ea: H'2312 .# mov.l R1, @R3 H'8c0000ec: H'7304 .s add H'04, R3 H'8c0000ee: H'4210 .B dt R2 H'8c0000f0: H'8bfa .. bf H'8c0000e8 H'8c0000f2: H'8915 .. bt H'8c000120 H'8c0000f4: H'ffff .. ??? H'8c0000f6: H'001f .. mac.l @R1+, @R0+ H'8c0000f8: H'ffc0 .. fadd FR12, FR15 H'8c0000fa: H'0007 .. mul.l R0, R0 H'8c0000fc: H'74e4 .t sub H'1c, R4 H'8c0000fe: H'a05f _. bra H'8c0001c0 прикольно, этого в том красочном примере не было. RE: BIOS Disassembling - cybdyn - 12.04.2012 01:09 SWAT, из приведённого кода слуде что идёт как прокачка так переписывание всего биоса в память. начиная с адреса 0xa0000100 -> 0x8c000100 такой вопрос, после этого копирования к биосу уже нет никаких обращений? ведь по идее уже всё скопировано, и биос уже не используется??? или это копирование только ради проверки. RE: BIOS Disassembling - SWAT - 12.04.2012 08:17 Да, в примере нету кода прокачки, есть только его загрузка. Потом биос используется для получения дефолтных шрифтов, их там много, чуть ли не пол биоса и используется часто. Ну а так вроде бы больше ничего, программа шелл грузится при старте. А ну и еще по идее там должен быть код драйвера для AICA, если там конечно не в PIO режиме сделано, в чем я сомневаюсь. RE: BIOS Disassembling - cybdyn - 12.04.2012 10:59 если только шрифты потом нужны, чисто как данные, это будет хорошо получается можно закинуть в память с устройства свой код не опасаться что с биоса будет чтото исполняться (надеюсь). по вопросу замены кода работы с гдром на свой: игры используют уже установленный код? я про код вызова сисколов, хендлеров исключений(прерываний), сами не переустанавливают чтото своё или заново из биоса? где глянуть информацию о сисколах и конкретно и тех что работают с приводом? http://lwn.net/Articles/263284/ есть такая ссыль, можноли пользоваться как источником информации о сисколах, или там под чтото другое написано. там вроде упоминается что при написании кода пользовались реверсом. RE: BIOS Disassembling - SWAT - 12.04.2012 12:19 Обычно игры сисколы не переустанавливают, но такое имеет место быть, особенно в хакнутых бинарниках. А так большинство игр используют одну и ту же библиотеку для работы с сисколами из KATANA SDK или WinCE SDK. Про сисколы можно посмотреть здесь - http://mc.pp.se/dc/syscalls.html но тут не все описано, часть еще можно посмотреть и в реверсе биоса. По твоей ссылке, гдром юзается напрямую через G1, без сисколов. RE: BIOS Disassembling - cybdyn - 12.04.2012 12:39 да на прямую, какбы описывают низкий уровень работы с приводом, кстати код у них как в оригинале или близкий? а потом они не оформляют в сискольную структуру все эти функции , чтобы потом установить/прописать её для сискольных вызовов? также вопрос по isold , он подменяет сисколы? там все функции используются, в смысле все важны, или реально игры только некоторые юзают. интересует описание что надо внутри каждой сискольной функции (по работе с гдром) делать , какие параметры передаются, и результаты возвращает, - это к вопросу запуска игр с моей платки. если я настрою транзакции по г1/г2 : чтение/запись в реги (PIO) и чтение по дма , я бы далее поменялбы сисколы и написал код уже на своё устройство. вообщем, по тиху к исходничкам isold я подхожу, на них посмотреть можно или это уже секретная зона))) ??? этот вопрос можно освещать или личная интелектуальная собственность. просто продолжить работу проще чем самому заново осваивать, это потеря времени... RE: BIOS Disassembling - SWAT - 12.04.2012 19:39 (12.04.2012 12:39)cybdyn писал(а): да на прямую, какбы описывают низкий уровень работы с приводом, кстати код у них как в оригинале или близкий? Нет, зачем им это. (12.04.2012 12:39)cybdyn писал(а): также вопрос по isold , он подменяет сисколы? там все функции используются, в смысле все важны, или реально игры только некоторые юзают. Да подменяет. Сисколы перехватываются все, но не все эмулируются, некоторые, те что связаны с DMA, просто заглушками. (12.04.2012 12:39)cybdyn писал(а): интересует описание что надо внутри каждой сискольной функции (по работе с гдром) делать , какие параметры передаются, и результаты возвращает, - это к вопросу запуска игр с моей платки. если я настрою транзакции по г1/г2 : чтение/запись в реги (PIO) и чтение по дма , я бы далее поменялбы сисколы и написал код уже на своё устройство. Я могу сделать поддержку твоего девайса в DS, но исходники я пока не публикую. RE: BIOS Disassembling - cybdyn - 12.04.2012 23:42 код вообщемто не нужен, скорее алгоритм и их функциональное назнчение. а нутро я сам напишу. есть ли гдето подробное описание или ссылка про сисколы гдрома? или сам дорабатывал? "Сисколы перехватываются все" - в смысле, что ещё както динамически?)) или я не так понял. ладно, посмотрим, если я сам не сделаю эту подддержу, спрошу помощи. RE: BIOS Disassembling - SWAT - 13.04.2012 14:54 Информацию я собирал по крупицам с разных мест, эмуляторов, реверса биоса и прочее, а так же отслеживал работу сам. Про перехват я немного не так выразился. По сути там всего 3 разных вектора сисколов: сисемный, драйвер flashrom и gdrom, некоторые в памяти дублируются. Я перехватываю системный и гдром, флешром я не перехватываю, так как мне это пока не нужно, может потом что то придумаю. У каждого вектора по несколько команд разных, я эмулирую все основные, на некоторых заглушки, а некоторые, на которые инфы нет вообще, я вообще игнорю, но они и не используются нигде практически. RE: BIOS Disassembling - cybdyn - 13.04.2012 16:36 про сисколы я уже немного врубился по твоей ссылке. по реверсу тоже увидел, как там инсталируют эти вектора, а потом вызовают инициализацию гдрома. информацию о этих сисколах, то что удалось насобирал (чего они делают, как применять и т.д) будешь документировать? RE: BIOS Disassembling - SWAT - 14.04.2012 09:10 Неа Времени нету. RE: BIOS Disassembling - cybdyn - 14.04.2012 16:22 ой, да ладно))), сколько там у тех сисколов функций. RE: BIOS Disassembling - SWAT - 15.04.2012 17:49 Достаточно. RE: BIOS Disassembling - cybdyn - 15.04.2012 22:22 SWAT не стоит боятся что DS станет не нужна, как раз напротив, это устроийство и любое другое будет запускать игры именно с вашей оболочки, иначе и быть не могёт))... информация о сисколах или любая другая важная информация нужна исколючительно в отладочных целях, для экономии всё того же времени, которого у вас как вы говорите нету. а вот я бы мог сам это сделать, как по железу, так и по софту. далее всё сводиться к внедрению в DS, это уже можете делать сами... я предоставлю всю необходимую информацию и всё о проекте в любом случае выкладывается только на этом сайте)) в отличае от проектов dknute или ка там его лично моё мнение, что не стоит тормозить прогресс, тем более люди итак заждались чегото новенького, чем запуск игр с SD или новой-красочной заставки на DS))) а ситуация с изготовленным устройством myx пока как я понял плодов не принесла, и врятли даст, т.к там только PIO режим... RE: BIOS Disassembling - SWAT - 16.04.2012 18:33 Зачем тебе погружатся в сисколы? Сделай устройство и драйвер если есть возможность и все. Я добавлю его поддержку в DS и загрузчики уже сам довольно быстро. Для того чтобы проверить твой девайс, сисколы совершенно не нужны. RE: BIOS Disassembling - cybdyn - 17.04.2012 00:20 да, сисколы может и рано, но незабУвай девелоперы люди Творческие!, иногда всё оч быстро решается, особенно под настроение и при хорошем расположение духа, и не мало важно при соответсвующей инфе под рукой..!! я вот думаю наперёд, мотивация такая: 1 - хочу больше знать об этом вопросе. - любознатеольность, 2 - загрузчики не совершенны - хочу попытаться их встроить вместо где находится оригинальный код - отпадает необходимость версий up/low и т.п... 3 - не хотелось бы на этапе отладки зависеть, беспокоить, 4 - лишьний раз делить/дробить работу, если лучше этот кусок отладит один человек. т.к практика показывает что может возникнуть итак 1000 мелких вопросов, по каждому тут писать нет желания, так ещё и новые сгенерятся от возможного взаимного недопонимания.. лишние вопросы типа - "а зачем тебе.../ а что это даёт.../ а пачамуу... " - вместо них если сможете подставить - "вот есть готовый и лучший вариант, есть готовая информация...бери и качай отсюда...", то я не буду спрашивать...))) твой вариант хорош по умолчанию, когда некуда деваться)). по драйверу - какие его фунцкии надо реализовать? .h файл какойнить примерный. RE: BIOS Disassembling - SWAT - 17.04.2012 11:27 1. Ну это же хорошо 2. Разве есть что то совершенное? Никуда ты их больше не встроишь, сколько там места оригинальный код занимает ты видел? Мне и так то его не хватает... 3. Дык отлаживай девайс в чем проблема, загрузчики то тут причем вообще. 4. Я вообще не могу понять что ты пристал к этим сисколам и лоадерам, ты хочешь их эмулировать аппаратно что ли? Как вообще связана работа и отладка твоего девайса с ними? Да нету никакой готовой инфы, неоткуда скачать и посмотреть. По поводу драйвера, в идеале конечно чтобы был не только хедер, а готовый драйвер для работы с девайсом, т.е. логика тоже. Я бы уже его внедрил в систему куда быстрее, чем если бы писал сам. И вообще хоть скажи что этот девайс делать может, конкретно, а не абстрактно. |