![]() |
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 - JKstate - 17.09.2012 15:42 Так есть вопросы .... можно ![]() 1.Почему Дримовский lan адаптер c RL8139 подключенный к G2 медленный у меня netbsd c корнем на NFS (swap там же) вполне сносно работает не винт конечно но это самая быстрая периферия ,что мне попадалась для дрима. 1.5Про игры пока .... ну их я не геймер те вообще ну их. 2.Валидация те проверка контрольной суммы програмная можно найти, умереть ![]() 3.bios из DS последней версии или он из любой подойдет. Предыдущую не помню версию регулярно использую для пререпрошивки (кстати вещь ![]() Но гружу с DS CDroma. RS232 занят. RE: BIOS Disassembling - cybdyn - 17.09.2012 18:25 сам порт г2 возможно и быстрый. но имеется ввиду чтобы скорость получить надо ихний сеговский протокол PCI поддержать.. он скорее всего не такой как обычный комповский. валидация скорее аппаратная. в регистр 0xa05f_74e4 грузят какоето значение 0х001f_ffff- (то ли количество байт, толи ожидаемую чек сумму....) потом вычитывают весь биос с какого адреса (вроде 0х100) и до конца дальше исполнение идёт с памяти. факт тот, что если валидация не проходит, то шина г1 блокируется..или даже ещё какоето железов чипе холли... валидацию попытаться обмануть можно, первый код который грузит прокачивальщик в память можно ведь подправить... и сделать регистр, или кактой бит (например ногу с сериал порта, или с видео переключателей, вроде СВАТ упоминал что есть потенциальные GP_IO выводы ) ... это всё нужно на переключение выбора CS сигнала биоса и альтернативного. сначала прокачать оригинльным, потом перекинуть это регистр и грузануть с нового биоса... в загрузчивке прокачки просто добавить код переключения, и вернуть опять в точку копирования данных с нового биоса... ну а по эмулятору gd-rom можете подробнее написать что планируте сделать... а то многие хотелибы)) но пока увы... RE: BIOS Disassembling - JKstate - 17.09.2012 20:43 http://www.ebay.com/itm/Sega-Dreamcast-Broadband-Adapter-NIB-/160884615362?pt=Video_Games_Accessories&hash=item25757868c2 Да вот такая штука у меня есть завел как раз когда ваял мост G2-PCI По поводу их него протокола и его железной реализации есть самопальная железка фотки и схему выложу если интересно.И это целая другая история по поводу как получить от Г2 половину ширины полосы PCI standart. Об этом месте речь: 8c0000e0: 04 d2 mov.l 0x8c0000f4,r2 ! 1fffff 8c0000e2: 06 d1 mov.l 0x8c0000fc,r1 ! a05f74e4 8c0000e4: 22 21 mov.l r2,@r1 8c0000e6: 04 d2 mov.l 0x8c0000f8,r2 ! 7ffc0 8c0000e8: 06 61 mov.l @r0+,r1 8c0000ea: 12 23 mov.l r1,@r3 8c0000ec: 04 73 add #4,r3 8c0000ee: 10 42 dt r2 8c0000f0: fa 8b bf 0x8c0000e8 8c0000f2: 15 89 bt 0x8c000120 8c0000f4: ff ff .word 0xffff 8c0000f6: 1f 00 mac.l @r1+,@r0+ 8c0000f8: c0 ff fadd fr12,fr15 8c0000fa: 07 00 mul.l r0,r0 8c0000fc: e4 74 add #-28,r4 8c0000fe: 5f a0 bra 0x8c0001c0 8c000100: 06 2f mov.l r0,@-r15 !Second Part loader <<<<<<<<<< 8c000102: 9f d0 mov.l 0x8c000380,r0 ! ff000000 8c000104: 7f a2 bra 0x8c000606 8c000106: 09 50 mov.l @(36,r0),r0 8c000108: 4a 90 mov.w 0x8c0001a0,r0 ! fdf 8c00010a: 00 34 cmp/eq r0,r4 8c00010c: 03 8b bf 0x8c000116 8c00010e: 26 d1 mov.l 0x8c0001a8,r1 ! 8c000018 8c000110: 27 d0 mov.l 0x8c0001b0,r0 ! ac004000 8c000112: 0b 41 jsr @r1 8c000114: 09 00 nop 8c000116: 44 91 mov.w 0x8c0001a2,r1 ! 7611 8c000118: 22 d0 mov.l 0x8c0001a4,r0 ! a05f6890 For GDROM or maple 8c00011a: 12 20 mov.l r1,@r0 8c00011c: fe af bra 0x8c00011c 8c00011e: 09 00 nop 8c000120: fa 44 ldc r4,dbr !Start NOW after load <<<<<<<< 8c000122: 22 d0 mov.l 0x8c0001ac,r0 ! 8c00b500 8c000124: 0b 40 jsr @r0 *********************************************************************** про GDROM : уже есть кое что но это только кое что и больше ничего особенного. Как фотки выложить чтобы более предметно.... Ссылками на внешние ресурсы или в форуме есть способ к теме приклеить? RE: BIOS Disassembling - cybdyn - 18.09.2012 01:40 я кидаю на radikal.ru , там потом ссылку беру и вставляю в текст... некоторые советуют другие серваки... по г2 , если протокол более-менее известен, особенно как по дма данные передавать. то можно и на другой конец какойнить носитель повесить (sd/hdd/dvd-rom).... по гд-ром: вроде ничего особенного, IDE подобное устройство, только фифо пакета команд не 6 слов (12 байт) а чуть больше (16). ну состветсвенно, они в каком то своём формате. а так, теже регистры ATA... данные в играх, если я правильно понял всегда по дма передаются, но для этого отдельные сигналы DMACK/DREQ используются. алтернативный вариант - не использовать сеговсекий протокол подменив сисколы своими вызовами, и сделать протокол более простым и удобным для нас. JKstate, как вообще уровень подготовки: - программирование на С/С++ под win - программирование плис, контроллеров? - разработка схем, трасировка плат чувствую, пока сам вплоную не сяду за дримку, новостей об эмуле не будет... но пока нет время, может с кем скооперироваться, дабы ускорить процесс...? RE: BIOS Disassembling - cybdyn - 18.09.2012 09:45 не хилый ценничег этой штуковины (http://www.ebay.com/itm/Sega-Dreamcast-B...25757868c2) что в этом сетивике особенного? какая там сорость? если сделать модуль для г2 в усб с хорошей скоростью - это будет достойной заменой, или интересней именно сеть? RE: BIOS Disassembling - JKstate - 18.09.2012 16:18 это realtek 8139 для G2 или мост G2<>PCI просто ethernet адаптер для дрима. Скорость 10/100 Мбит full duplex работает. Вообще мне был интересней не какой то конкретный винт сдром или сетевой контроллер , а просто настоящая PCI те 4е- PCI слота у дрима. Но как всегда подойдя к решению этой задачи.... И в очередной 7или 20 раз подчинив привод gdroma понял , что нужен альтернативный способ загрузки при вкл.питания или сбросе ,а то вж-вж-бррр-и пр дрдр уже ... ну как помягче то надоел что ли. Про , что знаю точнее чем чаще приходится пользоваться ![]() ![]() ![]() вообщем моя основная ОС Freebsd, любимая NetBSD,(а остальные живут под XEN.) У меня большой арсенал альтеровских циклонов правда вторых но их мне хватает есть 2а дев.боард с EP2c5 один с EP2c8 и один EP2c35 щас фотки выложу RE: BIOS Disassembling - JKstate - 18.09.2012 18:32 Это то , что есть на данный момент для построения апаратной имитации GDROM. Еще не не припаял ROM mod ![]() ![]() ![]() Это devboard с альтерами собственно ничего особенного платы програматор ![]() ![]() Это мой вариант "изувечивания" дрима для компиляции и сборки разного софта: ![]() ![]() ![]() ![]() RE: BIOS Disassembling - SI{AY - 18.09.2012 23:25 JKstate, а что на второй фотке на БП написано? 1,2,6 - понятно, а вот остальное - нет.. RE: BIOS Disassembling - cybdyn - 19.09.2012 00:57 зачётно выглядит. но лично моё мнение, одной плиской задачи решать трудно, какойнить контроллер надо вешать или иметь свзь и управлять с компа по усб или рс232. сама по себе плиска без мозгов далеко не уйдёт. а програмить автоматы это не сравнить с тем что можно написать на с-с++. да, а что дало выведение платы гдром на шлейф?... ну и какие наработки или успехи в проектах для плис? чтонить удалось достичь -получить... ? какие задумки дальше, планы, стратегии???? RE: BIOS Disassembling - JKstate - 19.09.2012 15:35 SI{AY : 3,4,5 GND (земля ![]() cybdyn Автоматы синтезировать гораздо интересней чем воять на С++ полупрозрачные виджеты для бухгалтерШ и пр.чих в прочем за что платят под то и пляшем. ПЛИС это универсальный инструмент достаточно залить процессорное ядро из к примеру с http://opencores.org/ (это например хорошо работает http://opencores.org/project,aquarius ,но большое) (можно это http://opencores.org/project,nextz80) и можно городить всякую фигню сделать спектрум , а на первом адаптивный фильтр , умножалку матриц NxMxK с gz упаковкой результатов ![]() Причем плюсов у процессорных ядер в ПЛИС гораздо больше чем во внешнем CPU к примеру единая тактовая - снхронная работа фсего проэкта там еще +++++ много да ну их. Но в CPU на данном этапе никакой необходимости нет только при возне с FAT на SDшке . Но это не та задача с которой надо заморачиваться сейчас. Надо знать с каким регистровым файлом и битовым полем мы имеем дело нужно реализовать интерфейс шины хотя бы несколько регистров откликаюшихся на адресацию G1..... и достуных для процессора дрима. Для чего сделан удлинитель : 1! Оценить нагрузочную способность шины те возможно отташить на кабеле контроллер без потери работоспособности дрима.(проверенно работает) 2!Возможность работать с шиной контролировать сигналы и наблюдать их.(чо можно вообще сделать если даже осцилограф не подсунуть) 3!Возможность собирать сигналы и состояния контроллера GDROMa посредством ПЛИС грабера для выяснения нюансов работы контроллера. и 4 не интересное совсем поключение и отладка собственного оборудования. НО и еще раз НО все это замечательНО да только без нормального биоса с поддержкой произвольной и главное быстрой загрузки отладочного ПО очень долго и трудоемко городить свою железку. Так что вот с этим BIOS Disassembling всетки ковырять надо. RE: BIOS Disassembling - cybdyn - 19.09.2012 16:01 про ядра в плис это я слышал, но не юзал, как освою так и буду иметь мнение.... пока проще то что знаешь сам))) может автоматы интересней,...ну и комуто на ассемблере тоже интресней писать)) или на рассыпухе собирать железо вместо плис))) ...каждому своё ,...но отлаживать их и писать не так удобней чем на С. тем более когда, как в данный момент, неиззвестно как разгребать команды и как работать с устройством.... это когда всё понятно то упрощяй до не могу... а тут нужно иметь высокую гибкость, быструю заливку с компа, мониторинг...и т.д я думаю 99% неудач в наладке этого гд-эмуля как раз в том что одни пишут только для плис автоматы, другие не знают С и туго с написанием приложенией под вин-32. и не могут получить/увидеть данных от устройства... и так далее. наладка это комплексный процесс... железо зачастую превосходит по объёму компонентов в разы, взять хотябы объём памяти в девбоксах. по биосу: вообщето есть же способ BIOS + SD MOD. загрузка с зашитого во флэш биоса прог, модулей и прочей софт-дури с SD карты. это хвала SWATу !!!!! чем вам не подходит? или что мешает грузить свой код вместо оригинального биоса. у вас под рукой мощный инструмент - ПЛИС! породнив с компом (по усб или рс232, или как угодно), заливай данные и грузи... или более банально поставить ram и через плис + комп , тож самое делать... RE: BIOS Disassembling - JKstate - 19.09.2012 17:41 У оригинального biosa есть одно очень большое приемущество перед любым ПО. ОН "знает" как правильно проинициализировать все железо приставки(и Я не имею ввиду всякую фигню типа GDROma или video и звука) те создать програмно-аппаратное окружение , среду для загрузки и работы другого ПО пускай этим ПО будет только одна комманда "nop" но она будет исполнена в определенном состоянии RAM и самого CPU. Ведь после сброса процессор приставки даже понятия не имеет какой тип памяти к нему подключен SDRAM или что то еще , тем более какие задержки и timing CAS/RAS. И , что писать все процедуры инициализации железа внутри самого CPU чтоб выполнить несколько десятков отладочных команд. Просто так ничего подсунуть не получится ![]() Электрические характеристики внутренних шин (не ввода/вывода типа G1/2) дрима и частота на которых работает Ram не позволят просто так даже провод длинной в 100 мм припаять к ним остается имитировать ROM (сделав связку из SRAM FPGA и некого интерфейса ПК пускай LPT) скопировать в него биос или биос дримшела и что получается действия по созданию SRAM/FPGA/PC_LPT ЖЕЛЕЗКИ пустая трата времени не к чему не приводящая(и арифметически подлежит сокращению ![]() Получается флешка вместо биоса с тумблером и прошивалка дрим\шела самое оптимальное решение в плане борьбы со стандартным bios. RE: BIOS Disassembling - cybdyn - 19.09.2012 18:15 инициализация эт понятно. я же не так буквально имею ввиду. код вставлять можно в ту область откуда исполняется менюшка к примеру... ну вообщем не абы откуда естесно... усб не в плис получать, а естестно какаойто бридж типа ft245 или другой, тот же усб-рс232. у меня куча кабелей от фонов на pl2303... ну и мы по сути сэлф-девелоперами становимся...по освоению желаза дримы)) , про дэв боксы тож никто не задёт вопросов надо ли было создавать с таким избытком.. чтобы потом в релизе урезать по возможности больше... т.е перед "арифметическим сокращением" предшествует огромная работа по созданию этого самого альтернативного варианта биоса...)))) который может ещё не раз придётся править и потом... я привёл пример с SRAM на случай если меньше думать (зависит от опыта).. а так если грамотно написать проект то достаточно той плис что у вас на макетках (или как там их)... и моста с усб. даже тупого усб в рс232, которому на выходе надо два-три провода кинуть RX, TX ( и GND ![]() "SRAM/FPGA/PC_LPT ЖЕЛЕЗКИ" - быстро и удобно править код и заливать... мне лично проще припаять 8 бит шину, и управляющие сигналы. чем искать флэш. потом писать диск с шелом и т.д.. "флешка вместо биоса с тумблером и прошивалка дрим\шела" - да, простое решение, как раз тем кому не до плис... получается только заливай файл с колм на SD. ну правда как быстро это можно делать если надо корректировать код часто??))) RE: BIOS Disassembling - cybdyn - 19.09.2012 19:55 да, и судя по тому что впереди ещё освоение г2 шины. полюбас надо иметь возможность удобной-быстрой заливки.. не хочется годами налаживать одну консоль.. и этот чел уже наступает на пятки..(http://dknute.livejournal.com/41023.html) , хотелось чтобы мы первыми запустили "мечту в космос" ))) RE: BIOS Disassembling - JKstate - 20.09.2012 17:43 G2 Не требует больших затрат на освоение так как у нее если следовать идеи Икехары (японец который подцепил ide винт) есть возможность цеплять "не отвечающие устройства" те CPU DC начинает i/o G2 цикл , а шина завершает его по таймауту при этом устройство может read/write. Скорость получается в районе 1,5 / 2 Мбайт/с но для SRAM буфера с LPT к PC и простой програмки переливалки можно наполнять память дрима нолями и единицами куда всунуть такую прогу в стандартный биос Я знаю могу весь текст биоса выложить после его загрузки в озу. Но Мне интересно найти место в биосе откуда происходит старт загруженной штатно проги или процедуру которая отвечает за "пляшущий пультик" те когда все железо проинициализировано и работает штатно. А народ пускай делает это хорошо же - не для зарабатывания бабла , а просто развлечение ну как рыбалка или фотография. Кто то первый вокруг земли кто то первый на луну , а Мне вообще пофик и на тех и на этих. Прикол то не в том кто первый , а в том кто правильно сделает тот и победил .) Вот яркий пример все знают GPS с SIRF III , а MTK лучше и быстрее хотя и вышел гораздо позже. RE: BIOS Disassembling - JKstate - 20.09.2012 17:55 http://racketboy.com/forum/viewtopic.php?f=1&t=25927 Вон скока понацепляли. RE: BIOS Disassembling - cybdyn - 20.09.2012 18:18 цель подключения SRAM+FPGA+pc(lpt,usb) - отладка на живом железе различных "моментов" : работа с устройствами, дма и т.д) и это только интструмент, для тех кто понимает - что им он нужен..))) а так, поиск "процедуры которая отвечает за "пляшущий пультик", проще на какомнить эмуляторе отыскать это место, там вроде и дэбагер есть. но в асме sh4 я плохо "вижу" - не привык. по г2: кроме ихекары есть доки. в них скорость больше заявлена 40мб. 1,5-2мб это скорее если по модемному протоколу подключаться. но там обычный цикл через CS (chip-select). вообщем это надо всё исследовать самому. если интерес ещё будет. пока хоть какоето устройство сделать... RE: BIOS Disassembling - cybdyn - 20.09.2012 18:38 всётаки пока только более удачный на практике SD мод и оболочка шел. остальное в поделках так и осталось))) там давние кадры. прикольно конечно. правда чем дело закончилось то, есть какие материалы - чтобы продолжить их дело?? RE: BIOS Disassembling - JKstate - 20.09.2012 19:28 Да это студенты за ихний зачет . А что там продолжать rtl 8019 стряхнуть можно с любой платы ISA шина цепляется почти без размышлений как совершенно верно подмеченно cs деталька это и USB 1.1 на 96xx (не помню точно маркировку в xerox PHaser3102 принтерах стоит) зацеплены по заветам Икехара. Скорее всего под NetBSD или linux (хотя с последним на дриме можно в себя совсем уйти и не вернутся очень муторно ядро собирать) Full speed на G2 это уже совсем другая история там уже и бубен побольше и плясок много.Я так трансляцию прерываний не выплясал.... Думал в плис перенесу да ... да забил все равно надо нормальную загрузку делать. А про эмуляторы мысль правильная не пробовал ни разу щас найду какойнить. RE: BIOS Disassembling - cybdyn - 20.09.2012 19:45 да, попробуйте эмули. интересна пошаговая отладака. типа делаещь шажок - видно что там в регах меняется. заодно потом раскажите. очень пригодиться в этом биос-дисасемблинге. "трансляцию" прерываний - в смысле на стороне софта дрима? обработчик и инициализацию как правильно делать? |