| Приставки > Картриджи / диски |
| Дампинг |
| << < (37/43) > >> |
| HardWareMan:
Влоб попробовал на "ура" слить 8МБайт с картриджа Pier Solar. Вполне резонно слились 4МБ и 4МБ висячей шины (судя по ногам управления это нормально). А кто-то тут говорил, что считывается только первых 32КБ. Надо прикрутить скрипты к дамперу и тогда можно будет дампить все, даже то, что на хитром маппере. Маппер тут от сигнала !TIME работает (опять же согласно пинам), на нем же флешка сохранений(?). Так что проект развивается, скоро предоставлю первый черновой вариант. |
| aodinets:
как всегда, гениально! :nyam: |
| HardWareMan:
Я вот теперь думаю. Так как у меня все сигналы подогнаны под настоящие, а некоторые картриджи требуют последовательности определенных действий, то я введу простой язык скриптов, чтобы можно было автоматизировать процесс дампинга. Таким образом, например, можно будет сдампить все игры многоигровки, или многобанковой игры, вроде стритфайтера вроде или того же пирсоляра. Ах да, я это уже говорил. |
| MetalliC:
--- Цитата: HardWareMan --- А кто-то тут говорил, что считывается только первых 32КБ. --- Конец цитаты --- так и есть, при старте игры первые 32кб отзеркалены не помню сколько раз, если нет - игра просто не запустится (код читает данные с области выше 32кб и должен получить там зеркало) чуть дальше по ходу кода ром уже должен быть "нормальным", записей в !TIME-область между ними емнип нет, так что каким макаром оно переключается так и не выяснили. --- Цитата: HardWareMan ---на нем же флешка сохранений(?). --- Конец цитаты --- да там, вернее сериальная епромка Добавлено позже: Eke пишет что --- Цитата ---/* By default, first 32K of each eight 512K pages mapped in $000000-$3FFFFF are mirrored in the 512K page */ /* mirroring is disabled/enabled when a specific number of words is being read from specific ROM addresses */ /* Exact decoding isn't known but mirrored data is expected on startup when reading a few times from $181xx */ /* this area doesn't seem to be accessed as byte later so it seems safe to always return mirrored data here */ --- Конец цитаты --- как вариант - миррор может быть только для 8-бит доступа, у него в эмуляторе зеркало хукнуто только для него. |
| HardWareMan:
Прикол в том, что картридж не имеет разницу на чтение для байта или слова. единственный вариант определить - это при чтении байта по нечетному адресу (при чтении по четному оно будет выглядеть одинаково для слова и байта). А вот че прикольно там: --- Код: ---ROM:000015A0 00 00 00 00 00 00 00 00 4E 75 4E 75 00 42 61 73 ........NuNu.Bas ROM:000015B0 69 45 67 61 58 6F 72 7A 21 00 6D 70 5F 62 64 75 iEgaXorz!.mp_bdu ROM:000015C0 73 64 00 6D 70 5F 73 65 67 30 33 00 73 63 5F 76 sd.mp_seg03.sc_v ROM:000015D0 69 67 30 30 00 73 63 5F 6A 69 67 30 35 00 00 FF ig00.sc_jig05.. --- Конец кода --- |
| MetalliC:
HardWareMan, разве ? я думал UDW/LDW на картридж идут |
| HardWareMan:
Это запись, а не чтение. Всего в картридже участвуют 5 сигналов: !CE0 - сигнал выборки по адресам $000000 - $3FFFFF !TIME - сигнал выборки по адресам $A13000 - A130FF !CAS0 - сигнал строба чтения (активирует сразу 16 бит) !LWR - сигнал строба записи младшего байта (D0-D7) !VRES - сигнал сброса Таким образом, писать он может только в D0-D7 (как 16 бит не проканает, этот адрес доступен только по нечетным адресам). |
| MetalliC:
ясно, не знал что эти сигналы работают только при записи. хех, судя по скудному числу сигналов Eke и я угадали - оно там действительно детектит чтение из какой-то последовательности адресов |
| HardWareMan:
Итак, я снял насколько можно компаунда с CPLD и прозвонил ноги. Достоверно на нее идут следующие сигналы со слота: Адреса: VA1, VA2, VA3, VA13, VA14, VA15, VA16, VA17, VA18, VA19, VA20, VA21 Данные: VD0, VD1, VD2, VD3 Управление: CE0, TIME, CAS0, LWR, VRES 8 линий должно идти на флеш (256 блоков по 32КБ = 8МБайт), явно отследил только 7. Чтобы знать точно нужно сдувать CPLD, пока не хочу. В итоге, чтобы схема магических чтений работала и при этом вмещалась в 32КБ, нужно чтобы участвовали следующие адреса: VA1, VA2, VA3, VA13 и VA14. Шина данных используется только на половину от байта. Младших адресов 3, так что логически можно предположить, что в группе 8 регистров. Остальное позже. |
| MetalliC:
кстати вспомнил, магии там даже больше, об этом писал человек первым получивший полный дамп игры, типа что если М68К довольно долго выполняет код в RAM (его код, которым он хотел дампить карт) то картридж опять переходит в отмирроренное состояние, так что ему пришлось дампить его через Z80, пока М68К крутился в РОМ. хотя у DrMefisto когда он дампил карт SGCExplorer-от такой фигни не было, после перевода карта в "нормальное" состояние он оставался в нем сколь угодно долго. в аттаче архив ныне выпиленного сайта hackpiersolar если тебе вдруг будет интересно Добавлено позже: кстати, ты не в курсе кто автор железа картриджа, Tiido AKA TmEE ? |
| HardWareMan:
Не знаю, кто автор железа, но Тидо был как-то причастен, причем не только касаемо музыки. Теперь по наблюдениям. Я посканил обращение к TIME. К мапперу обращение идет 3мя записями: 1. $A13001 <= $03 2. $A1300X <= Page, где X из 3/5/7, а Page 0..15. 3. $A13001 <= $01 Все соответствует предыдущим изысканиям. Теперь про зеркальный адрес $018010. Тут получается, что VA16 и VA15 равны еденице, а VA14 и VA13 равны 0. Не знаю, насколько это важно, еще не испытывал. |
| belovo:
Уважаемые спецы, у меня есть сборник 64 в 1, на котором почти все игры разные. Я бы хотел попробовать его задампить, потому что в сети вроде не попадался ни разу, и по возможности - поменять игры на такие, где копирайты не затерты. Для этого, как понимаю, надо записать и поставить новые чипы памяти. Я думал в сторону 27е040, но подойдет ли распиновка? Если нет, то где найти инфу по тем чипам, что стоят в карике: 8M202 и 4M09? Гугл по этим запросам ничего толкового не выдает. Какой тип микрухи выставлять в программаторе, чтобы их считать? Программатор G540 у меня. Прикладываю фотки платы: Заранее очень благодарю за ответы! |
| Skay:
belovo, проще тебе с Сah4e3'ом договориться отправить на дамп. так как кроме дампа его еще надо заставить работать на эмуле будет. |
| belovo:
Skay, угу, он самый - только у меня обложка другая. Мне бы самому было интересно разобраться, базовые навыки прошивки EPROMов у меня есть, хотелось бы попробовать многоигровку эту поковырять :) |
| Skay:
belovo, просто у Санчеза отличная приблуда есть http://www.emu-land.net/forum/index.php/topic,210.msg740152.html#msg740152 просто даже сдампив все, надо еще разбирать мапер, чтоб оно завелось на эмуле, иначе это будет просто набор байтов. В общем с NES не всё так просто. |
| belovo:
Skay, классная вещь! Написал ему - надеюсь, ответит )) Вообще, я нашел кое-какую инфу про маскромы, что используются в NES-кариках, но ведь наверняка китайцы брали какие-то свои микрухи. |
| ПАУК:
--- Цитата: belovo ---угу, он самый - только у меня обложка другая --- Конец цитаты --- http://emudendy.ru/dendy_1/epm.html |
| belovo:
ПАУК, еще более наркоманская )) Во, это ее дамп, точно! Тогда остался вопрос с микрухами, что можно использовать. |
| Rumata:
--- Цитата: belovo от 06 Октябрь 2014, 10:33:33 ---Мне бы самому было интересно разобраться, базовые навыки прошивки EPROMов у меня есть, --- Конец цитаты --- --- Цитата: belovo от 06 Октябрь 2014, 10:22:21 ---Я думал в сторону 27е040, но подойдет ли распиновка? --- Конец цитаты --- Если есть базовые навыки и желание, то что мешает? o_0 Берёшь даташит и смотришь распиновку. Назначение контактов картриджа тоже известно. Не вижу проблем --- Цитата: belovo от 06 Октябрь 2014, 10:22:21 ---где найти инфу по тем чипам, что стоят в карике: 8M202 и 4M09? --- Конец цитаты --- Нигде. Это чисто условные обозначения. Можно предположить, что первая 8 Мбайт, вторая 4 Мбайта |
| belovo:
Rumata, прости за глупый вопрос, но все же )) Ок, назначение контактов карика известно и лежит например вот тут: http://wiki.nesdev.com/w/index.php/Cartridge_connector. Даташит на микруху тоже есть, вот он: http://www.chipfind.ru/datasheet/pdf/winbond/w27e040.pdf Но как именно соотносятся, например, эти CPU A0...A14, CPU D0...D7 и контакты EPROM? Ну т.е. что куда подводить, где можно почитать об этом? |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |