DC-SWAT Forum

Полная версия: BIOS Disassembling
Вы просматриваете yпpощеннyю веpсию форума. Пеpейти к полной веpсии.
Страниц: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Так есть вопросы .... можно Smile
1.Почему Дримовский lan адаптер c RL8139 подключенный к G2 медленный у меня netbsd c корнем на NFS (swap там же) вполне сносно работает не винт конечно но это самая быстрая периферия ,что мне попадалась для дрима.
1.5Про игры пока .... ну их я не геймер те вообще ну их.
2.Валидация те проверка контрольной суммы програмная можно найти, умеретьSmile но найти. Аппаратной там вроде не откуда взяться.
3.bios из DS последней версии или он из любой подойдет. Предыдущую не помню версию регулярно использую для пререпрошивки (кстати вещьSmile
Но гружу с DS CDroma. RS232 занят.
сам порт г2 возможно и быстрый. но имеется ввиду чтобы скорость получить надо ихний сеговский протокол PCI поддержать.. он скорее всего не такой как обычный комповский.

валидация скорее аппаратная. в регистр 0xa05f_74e4 грузят какоето значение 0х001f_ffff- (то ли количество байт, толи ожидаемую чек сумму....) потом вычитывают весь биос с какого адреса (вроде 0х100) и до конца
дальше исполнение идёт с памяти.
факт тот, что если валидация не проходит, то шина г1 блокируется..или даже ещё какоето железов чипе холли...

валидацию попытаться обмануть можно, первый код который грузит прокачивальщик в память можно ведь подправить... и сделать регистр, или кактой бит (например ногу с сериал порта, или с видео переключателей, вроде СВАТ упоминал что есть потенциальные GP_IO выводы ) ... это всё нужно на переключение выбора CS сигнала биоса и альтернативного. сначала прокачать оригинльным, потом перекинуть это регистр и грузануть с нового биоса...
в загрузчивке прокачки просто добавить код переключения, и вернуть опять в точку копирования данных с нового биоса...


ну а по эмулятору gd-rom можете подробнее написать что планируте сделать... а то многие хотелибы)) но пока увы...
http://www.ebay.com/itm/Sega-Dreamcast-B...25757868c2
Да вот такая штука у меня есть завел как раз когда ваял мост 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 :
уже есть кое что но это только кое что и больше ничего особенного.
Как фотки выложить чтобы более предметно....
Ссылками на внешние ресурсы или в форуме есть способ к теме приклеить?
я кидаю на radikal.ru , там потом ссылку беру и вставляю в текст... некоторые советуют другие серваки...

по г2 , если протокол более-менее известен, особенно как по дма данные передавать. то можно и на другой конец какойнить носитель повесить (sd/hdd/dvd-rom)....

по гд-ром: вроде ничего особенного, IDE подобное устройство, только фифо пакета команд не 6 слов (12 байт) а чуть больше (16). ну состветсвенно, они в каком то своём формате. а так, теже регистры ATA... данные в играх, если я правильно понял всегда по дма передаются, но для этого отдельные сигналы DMACK/DREQ используются.
алтернативный вариант - не использовать сеговсекий протокол подменив сисколы своими вызовами, и сделать протокол более простым и удобным для нас.


JKstate, как вообще уровень подготовки:

- программирование на С/С++ под win
- программирование плис, контроллеров?
- разработка схем, трасировка плат

чувствую, пока сам вплоную не сяду за дримку, новостей об эмуле не будет... но пока нет время,
может с кем скооперироваться, дабы ускорить процесс...?
не хилый ценничег этой штуковины (http://www.ebay.com/itm/Sega-Dreamcast-B...25757868c2)
что в этом сетивике особенного? какая там сорость?
если сделать модуль для г2 в усб с хорошей скоростью - это будет достойной заменой, или интересней именно сеть?
это realtek 8139 для G2 или мост G2<>PCI просто ethernet адаптер для дрима.
Скорость 10/100 Мбит full duplex работает.
Вообще мне был интересней не какой то конкретный винт сдром или сетевой контроллер , а просто настоящая PCI те 4е- PCI слота у дрима.
Но как всегда подойдя к решению этой задачи.... И в очередной 7или 20 раз подчинив привод gdroma понял , что нужен альтернативный способ загрузки
при вкл.питания или сбросе ,а то вж-вж-бррр-и пр дрдр уже ... ну как помягче то надоел что ли.
Про , что знаю точнее чем чаще приходится пользоваться Smile #!/bin/sh,C (только GCC) ,perl,C++ не люблю (да нет не навижуSmile)) винду тоже Smile ,
вообщем моя основная ОС Freebsd, любимая NetBSD,(а остальные живут под XEN.)
У меня большой арсенал альтеровских циклонов правда вторых но их мне хватает есть 2а дев.боард с EP2c5 один с EP2c8 и один EP2c35 щас фотки выложу
Это то , что есть на данный момент для построения апаратной имитации GDROM.
Еще не не припаял ROM mod Smile и max3232
[Изображение: dsc039681046524.jpg]
[Изображение: dsc039841046505.jpg]
Это devboard с альтерами собственно ничего особенного платы програматор
[Изображение: dsc039761046504.jpg]
[Изображение: dsc039791046502.jpg]
Это мой вариант "изувечивания" дрима для компиляции и сборки разного софта:
[Изображение: dsc039871046508.jpg]
[Изображение: dsc039861046506.jpg]
[Изображение: dsc039891046511.jpg]
[Изображение: dsc039901046513.jpg]
JKstate, а что на второй фотке на БП написано? 1,2,6 - понятно, а вот остальное - нет..
зачётно выглядит.

но лично моё мнение, одной плиской задачи решать трудно, какойнить контроллер надо вешать или иметь свзь и управлять с компа по усб или рс232. сама по себе плиска без мозгов далеко не уйдёт. а програмить автоматы это не сравнить с тем что можно написать на с-с++.

да, а что дало выведение платы гдром на шлейф?...


ну и какие наработки или успехи в проектах для плис? чтонить удалось достичь -получить... ?
какие задумки дальше, планы, стратегии????
SI{AY : 3,4,5 GND (земляSmile Там по цвету проводов вроде видно.
cybdyn
Автоматы синтезировать гораздо интересней чем воять на С++ полупрозрачные виджеты для бухгалтерШ и пр.чих в прочем за что платят под то и пляшем.
ПЛИС это универсальный инструмент достаточно залить процессорное ядро из к примеру с http://opencores.org/
(это например хорошо работает http://opencores.org/project,aquarius ,но большое)
(можно это http://opencores.org/project,nextz80) и можно городить всякую фигню сделать спектрум , а на первом
адаптивный фильтр , умножалку матриц NxMxK с gz упаковкой результатов Smile и отправкой в космос результатов вычислений так и результаты упаковки.
Причем плюсов у процессорных ядер в ПЛИС гораздо больше чем во внешнем CPU к примеру единая тактовая - снхронная работа фсего проэкта там еще +++++ много да ну их.
Но в CPU на данном этапе никакой необходимости нет только при возне с FAT на SDшке . Но это не та задача с которой надо заморачиваться сейчас.
Надо знать с каким регистровым файлом и битовым полем мы имеем дело нужно реализовать интерфейс шины хотя бы несколько регистров откликаюшихся на адресацию G1..... и достуных для процессора дрима.
Для чего сделан удлинитель :
1! Оценить нагрузочную способность шины те возможно отташить на кабеле контроллер без потери работоспособности дрима.(проверенно работает)
2!Возможность работать с шиной контролировать сигналы и наблюдать их.(чо можно вообще сделать если даже осцилограф не подсунуть)
3!Возможность собирать сигналы и состояния контроллера GDROMa посредством ПЛИС грабера для выяснения нюансов работы контроллера.
и 4 не интересное совсем поключение и отладка собственного оборудования.
НО и еще раз НО все это замечательНО да только без нормального биоса с поддержкой произвольной и главное быстрой загрузки отладочного
ПО очень долго и трудоемко городить свою железку.
Так что вот с этим BIOS Disassembling всетки ковырять надо.
про ядра в плис это я слышал, но не юзал, как освою так и буду иметь мнение.... пока проще то что знаешь сам)))

может автоматы интересней,...ну и комуто на ассемблере тоже интресней писать)) или на рассыпухе собирать железо вместо плис))) ...каждому своё ,...но отлаживать их и писать не так удобней чем на С.
тем более когда, как в данный момент, неиззвестно как разгребать команды и как работать с устройством.... это когда всё понятно то упрощяй до не могу... а тут нужно иметь высокую гибкость, быструю заливку с компа, мониторинг...и т.д

я думаю 99% неудач в наладке этого гд-эмуля как раз в том что одни пишут только для плис автоматы, другие не знают С и туго с написанием приложенией под вин-32. и не могут получить/увидеть данных от устройства... и так далее.
наладка это комплексный процесс... железо зачастую превосходит по объёму компонентов в разы, взять хотябы объём памяти в девбоксах.


по биосу: вообщето есть же способ BIOS + SD MOD. загрузка с зашитого во флэш биоса прог, модулей и прочей софт-дури с SD карты. это хвала SWATу !!!!! чем вам не подходит?

или что мешает грузить свой код вместо оригинального биоса. у вас под рукой мощный инструмент - ПЛИС!
породнив с компом (по усб или рс232, или как угодно), заливай данные и грузи...
или более банально поставить ram и через плис + комп , тож самое делать...
У оригинального biosa есть одно очень большое приемущество перед любым ПО. ОН "знает" как правильно проинициализировать все железо приставки(и Я не имею ввиду всякую фигню типа GDROma или video и звука) те создать програмно-аппаратное окружение , среду для загрузки и работы другого ПО пускай этим ПО будет только одна комманда "nop" но она будет исполнена в определенном состоянии RAM и самого CPU.
Ведь после сброса процессор приставки даже понятия не имеет какой тип памяти к нему подключен SDRAM или что то еще , тем более какие задержки
и timing CAS/RAS. И , что писать все процедуры инициализации железа внутри самого CPU чтоб выполнить несколько десятков отладочных команд.

Просто так ничего подсунуть не получится Sad USB шина на плис это отдельный и весьма ресурсоемкий проект rs232 медленно остается LPT.....

Электрические характеристики внутренних шин (не ввода/вывода типа G1/2) дрима и частота на которых работает Ram не позволят просто так даже провод длинной в 100 мм припаять к ним остается имитировать ROM (сделав связку из SRAM FPGA и некого интерфейса ПК пускай LPT) скопировать в него биос или биос дримшела и что получается действия по созданию SRAM/FPGA/PC_LPT ЖЕЛЕЗКИ пустая трата времени не к чему не приводящая(и арифметически подлежит сокращениюSmile.
Получается флешка вместо биоса с тумблером и прошивалка дрим\шела самое оптимальное решение в плане борьбы со стандартным bios.
инициализация эт понятно. я же не так буквально имею ввиду. код вставлять можно в ту область откуда исполняется менюшка к примеру... ну вообщем не абы откуда естесно...

усб не в плис получать, а естестно какаойто бридж типа ft245 или другой, тот же усб-рс232. у меня куча кабелей от фонов на pl2303...

ну и мы по сути сэлф-девелоперами становимся...по освоению желаза дримы)) , про дэв боксы тож никто не задёт вопросов надо ли было создавать с таким избытком.. чтобы потом в релизе урезать по возможности больше...
т.е перед "арифметическим сокращением" предшествует огромная работа по созданию этого самого альтернативного варианта биоса...))))
который может ещё не раз придётся править и потом...

я привёл пример с SRAM на случай если меньше думать (зависит от опыта).. а так если грамотно написать проект то достаточно той плис что у вас на макетках (или как там их)... и моста с усб. даже тупого усб в рс232, которому на выходе надо два-три провода кинуть RX, TX
( и GNDWink ) на плиску.... кстати переходники усб-рс232 имеют больший бауд-рейт, гдето до 1MB/sec можно получить (эт я условно , ну 800KB/s точно выжимал)...

"SRAM/FPGA/PC_LPT ЖЕЛЕЗКИ" - быстро и удобно править код и заливать... мне лично проще припаять 8 бит шину, и управляющие сигналы. чем искать флэш. потом писать диск с шелом и т.д..

"флешка вместо биоса с тумблером и прошивалка дрим\шела" - да, простое решение, как раз тем кому не до плис... получается только заливай файл с колм на SD. ну правда как быстро это можно делать если надо корректировать код часто??)))
да, и судя по тому что впереди ещё освоение г2 шины. полюбас надо иметь возможность удобной-быстрой заливки.. не хочется годами налаживать одну консоль..

и этот чел уже наступает на пятки..(http://dknute.livejournal.com/41023.html) , хотелось чтобы мы первыми запустили "мечту в космос" )))
G2 Не требует больших затрат на освоение так как у нее если следовать идеи Икехары (японец который подцепил ide винт) есть возможность цеплять "не отвечающие устройства" те CPU DC начинает i/o G2 цикл , а шина завершает его по таймауту при этом устройство может read/write.
Скорость получается в районе 1,5 / 2 Мбайт/с но для SRAM буфера с LPT к PC и простой програмки переливалки можно наполнять память дрима нолями и единицами куда всунуть такую прогу в стандартный биос Я знаю могу весь текст биоса выложить после его загрузки в озу.
Но Мне интересно найти место в биосе откуда происходит старт загруженной штатно проги или процедуру которая отвечает за "пляшущий пультик" те когда все железо проинициализировано и работает штатно.

А народ пускай делает это хорошо же - не для зарабатывания бабла , а просто развлечение ну как рыбалка или фотография.
Кто то первый вокруг земли кто то первый на луну , а Мне вообще пофик и на тех и на этих.
Прикол то не в том кто первый , а в том кто правильно сделает тот и победил .) Вот яркий пример все знают GPS с SIRF III , а MTK лучше и быстрее хотя и вышел гораздо позже.
http://racketboy.com/forum/viewtopic.php?f=1&t=25927
Вон скока понацепляли.
цель подключения SRAM+FPGA+pc(lpt,usb) - отладка на живом железе различных "моментов" : работа с устройствами, дма и т.д) и это только интструмент, для тех кто понимает - что им он нужен..)))

а так, поиск "процедуры которая отвечает за "пляшущий пультик", проще на какомнить эмуляторе отыскать это место, там вроде и дэбагер есть. но в асме sh4 я плохо "вижу" - не привык.

по г2: кроме ихекары есть доки. в них скорость больше заявлена 40мб. 1,5-2мб это скорее если по модемному протоколу подключаться. но там обычный цикл через CS (chip-select). вообщем это надо всё исследовать самому. если интерес ещё будет. пока хоть какоето устройство сделать...
всётаки пока только более удачный на практике SD мод и оболочка шел. остальное в поделках так и осталось)))

там давние кадры. прикольно конечно. правда чем дело закончилось то, есть какие материалы - чтобы продолжить их дело??
Да это студенты за ихний зачет .
А что там продолжать rtl 8019 стряхнуть можно с любой платы ISA шина цепляется почти без размышлений как совершенно верно подмеченно cs деталька
это и USB 1.1 на 96xx (не помню точно маркировку в xerox PHaser3102 принтерах стоит) зацеплены по заветам Икехара.
Скорее всего под NetBSD или linux (хотя с последним на дриме можно в себя совсем уйти и не вернутся очень муторно ядро собирать)
Full speed на G2 это уже совсем другая история там уже и бубен побольше и плясок много.Я так трансляцию прерываний не выплясал....
Думал в плис перенесу да ... да забил все равно надо нормальную загрузку делать.
А про эмуляторы мысль правильная не пробовал ни разу щас найду какойнить.
да, попробуйте эмули. интересна пошаговая отладака. типа делаещь шажок - видно что там в регах меняется. заодно потом раскажите. очень пригодиться в этом биос-дисасемблинге.

"трансляцию" прерываний - в смысле на стороне софта дрима? обработчик и инициализацию как правильно делать?
Страниц: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
URL ссылки