DC-SWAT Forum

Полная версия: Подключаем HD к Dreamcast...?
Вы просматриваете yпpощеннyю веpсию форума. Пеpейти к полной веpсии.
Страниц: 1 2 3 4 5 6 7 8
Что то не то, девайс вроде и дергается, но детект не правильный. Во первых не показался его лейбл (между Detected и размером), а во вторых его геометрия определилась не правильно, получились одинаковые параметры cylinders/heads/sectors из за чего и размер определился не правильно.
Давай для начала попробуем проверить сам девайс, в нете есть линукс и/или бсд с поддержкой hdd (ну должны быть где то, ведь снимали видео же), если там все ок, то я накидаю новый драйвер уже с более детальным дебагом и будем разбираться уже что к чему.
накидай драйвер, можно самый простенький. вывод текущих состояний ата регистров.
заодно, если это будет внешний модуль, покажешь процесс создания и запуска.

далее, я бы мог чтонить дописать))
1) немного странно, почему он адрессуется по CHS а не по LBA?
2) какие сдесь ограничения по ёмкости винта в плане CHS как я понимаю это (65'535 C * 65'535 H * 65'535 S секторов по 512 байт)
3) что нужно от аппаратной части что-бы уйти с PIO на DMA?
1) - кто(что) по адресу? не совсем понял

2) - ограничения могут быть, если в драйвере была поддержка только 28 разрядного LBA, то надо дописывать 48-ми разрядную.

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

с PIO уйти нельзя - т.к запись команд и чтение статусов по любому только через PIO.

с применением плис не надо никакой доп обвязки кот есть сейчас. и иметь возможность использовать различные простоколы шины G2 одновременно...
+ можно присобачить всеми любимую SD карту)) ну и ещё кучу всего)))

как раз у SWAT появится дэв-кит, вот сразу и в дамки))
(20.02.2012 12:53)cybdyn писал(а): [ -> ]1) - кто(что) по адресу? не совсем понял

Как я понял драйвер в дримшеле адрессует сектор кортеджем cylinders/heads/sectors (старый способ), а не одним единственным длинным адрессом сектора (LBA).
не могу точно судить, т.к не имею исходников перед глазами((((,
вроде данный способ адресации зависит от ATA команды.
но помоёму в любом случае и так должно работать. если нет других багов))
1) Для API адресация идет уже по LBA, а вот отправка команды в HDD идет в формате cylinders/heads/sectors, я не знаю почему так сделано, наверное потому что драйверу этому уже 10 лет (точнее порту на дрим, так как первая версия его была еще с 97 года в оригинальной kos для pc), тогда и не было других способов я думаю Smile
В любом случае драйвер этот нужно переделывать конечно полностью, он там совсем very simple... Как появится время, я напишу его с нуля, мне даже интересно это сделать чисто с точки зрения опыта. Но прежде чем его отлаживать, нужно убедится в работоспособности девайса.

2) Да так и есть, ровно столько сколько ты написал, но это потом я думаю можно будет поправить.
3) Другая схема нужна Smile

Драйвер этот я не трогал практически (только поменял функции задержки), т.е. он в первозданном виде, если он сейчас выдает ерунду, то скорее всего проблема в девайсе.
я бы воспользовался наработками по пс2 open loader. там исходники для ATA на С. я только дописывал поддержку под привода ATAPI.
Ну что надо собирать на ПЛИС а не росыпью это понятно, но как работать правильно с линиями DMA и IRQ(точно не уверен есть ли она на разьёме). Накидал бы кто схемку.

Можно ли бутаться через G2? Может используя свободные ячайки плиски можно сделать порт I/O для внешней флешки, что бы не впаивать её в дрим (просто тыкнул по G2 вместе с контроллером HDD), да и ещё порты не помешали бы в замен SPI.

Там же где и выкладывали проект клона BBA, была фота и схемма конвертора G2>PCI (на плиске), вот только файла проекта небыло выложенно. Как он там транслировал адресса, как там использовались DMA и IRQ линии? Может правильней будет сделать мост на PCI и использовать уже готовые контроллеры SATA, ETHERNET
Бутится нельзя, но в принципе можно подумать над хаком, там можно перехватить данные от AICA, может как то получится подменить что то на код и запустить его при старте, но это нужно все досконально исследовать.
Olegos - а вы уже конкретно собрались это делать, или просто вопрос по теории вероятности?
бутиться нельзя, но это не факт. может есть в биосе альтернативная загрузка апдейта для шела, это может сказать тот кто разбирал до винтика биос и оригиальный шел. т.к в консольках это стандартная фича, в пс1 это взломщик колодов через PIO, в пс2 это FMBC через карту памяти. мож и в дриме чёнить есть.

ктото давалл ссылочку или я сам нашёл непомню архивчик "Dreamcast Dev Docs"
в частности неплохой док по дриму DCDBSysArc990907E.pdf

с дма точно не знаю, там только запросы ( хххREQ ) шины, похоже что идёт в привязке к протоклу синхроному PCI-подобному.

со стороны софта тоже должно быть заранее спрограмировано. но по софту более подробно написано.

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

а по железу, всё что хотите можно сделать. надо только время - это вообщемто основной враг прогресса.
IRQ есть, но это просто запрос прерывания. схема разьёма есть в пдф на дримку.
(21.02.2012 14:28)cybdyn писал(а): [ -> ]бутиться нельзя, но это не факт. может есть в биосе альтернативная загрузка апдейта для шела, это может сказать тот кто разбирал до винтика биос и оригиальный шел. т.к в консольках это стандартная фича, в пс1 это взломщик колодов через PIO, в пс2 это FMBC через карту памяти. мож и в дриме чёнить есть.

С карты памяти там можно загрузить только бэкграунд для оригинального шела и на этом все апдейты к сожалению заканчиваются.
Остается надежда на лазейку через G2, точнее через aica, так как он на этой шине сидит и можно перехватить данные от него к цпу.
2cybdyn: пока только мечтаю. Что бы конкретно заняться и сделать, надо будет капитально возобновить память и восполить пробелы в знаниях. При благоприятном стечении событий я мог бы организовать производство.
2olegos : в каком плане могбы производство наладить. какие есть возможности?

2SWAT: не совсем догоняю. какие данные, что исполняемый код храниться в аике и цпу его скачивает и выполняет??? а то если это звуковые данные то в них никакого смысла.
да и учитывая обращение к аике вродь тоже синхронное (PCI-like) чтобы перехватить надо знать о протоколе. а если узнаем о протоколе, то и аика не нужна будет
(21.02.2012 07:01)SWAT писал(а): [ -> ]скорее всего проблема в девайсе.
Я тут не причем) Девайс сделан в точности как на разработанной Kiyoshi Ikehara схеме, без ошибок и соплей.
если бы можно увидеть что в регистрах сидит. а так сказать сложно.
и SWAT советовал же найти нетбсд.

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

кстати не забудь перемычку на MASTER поставить.!!! а то не выбрано будет устройство.
както стрёмно висит в воздухе RESET. непорядок.

[Изображение: 41b4904dfa04.jpg]
(22.02.2012 12:05)cybdyn писал(а): [ -> ]В каком плане могбы производство наладить. какие есть возможности?

Ну производство плат (устройств), производсто металических корпусов. Вот делать пластиковые корпуса и разьмы я не могу (точней очень дорого).
платы эт хорошо.

http://jj1odm.qp.land.to/g2usb/g2_simple_bus_ex.gif

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

что в исходниках? с каким полем адресов работает драйвер?

вот ещё много полезной инфы по сигналам...
http://jj1odm.qp.land.to/g2bus.php#pinout
Страниц: 1 2 3 4 5 6 7 8
URL ссылки