Понадобилась 3DOшка, читающая диски без цифровой подписи (RSA). А где взять?
Panasonic 3DO TESTING STATION SYSTEM сейчас стоят дорого (недавно обсуждали) и покупка не оправдана реальной полезностью.
Решил сам сделать.
Взял микруху Flash-памяти AM29F800BB-70SC (корпус SO-44), залил "патченный BIOS", поставил - работает.
Хитростей не много, поделюсь подробно для информации.
1. Можно брать и другую 5-вольтовую Flash с аналогичной организацией: 8Mbit / 1 048 576 bytes / 524 288 worlds).
2. Для заливки bios.rom в микруху годится любой программатор, её поддерживающий и поддерживающий напряжения: Read - 5V, Write - 5V, Erase - 5V. Я шил "служебным" "Тритоном" v.5.7T.
Некоторые древние программаторы, у которых Write/Erase - 12V и изменение не доступно - не годятся (пример - "Мастер-02"), несмотря на существующие переходники и якобы поддержку.
Из самодельных программаторов, её точно поддерживает EzoFlash и его многочисленные клоны.
Если доступа к программатору нет, а клон EzoFlash городить неохота, можно попробовать купить флешку 29F800 (SO-44) и поискать людей, занимающихся авто-чип-тюнингом - у них обычно есть хорошие программаторы, и под эту Flash может найтись и переходник, т.к. именно эта AM29F800BB (SO-44) применялась в эл. блоках управления каких-то Мерседесов 90-х годов (модели не знаю), там она работала с 16-разрядной организацией.
3. Если программатор работает с микрухой 16-битным доступом, то в софте программатора надо выбирать 16-разрядный доступ. Тогда bin-файл заливается как есть.
Если программатор шьёт эту Flash 8-разрядным доступом, тогда bin-файлу предварительно нужно сделать "byte swap".
В некоторых случаях свопить не нужно, а в некоторых софт свопит сам - в общем, зависит от программатора.
4. Если софт программатора не поддерживает образы ПЗУ (.rom), наш patched_BIOS нужно сконвертировать в .bin. Это можно сделать софтом от тех же программаторов, я делал софтом от Willem. Испытанный .bin файл прилагаю в аттаче. Им можно шить.
5. Микруха паяется "pin-to-pin".
6. Flash-памяти для нормального старта нужен RESET, поэтому pin 44 Flash нужно через резистор 51...100 Ом - подключить к выходу Watchdog(а) приставки ( IC400 BA6162F). Схему подключения RESET(а) тоже прилагаю - цепь обозначена
синим.
Монтаж - на фото:
Для установки резистора я воспользовался пустой площадкой 1-й ноги ROM2 (IC341), ибо ROM2 мне нафиг не нужна. SMD-резюк хорошо встал между этими площадками (pin44 IC340 - pin1 IC341).
7. После монтажа флешки, приставка должна заработать сразу. Потом нужно убедиться, что RESET отрабатывается четко, для этого, при включенной приставке, независимо с диском или нет - нужно (пинцетом, например) кратковременно замкнуть любой вывод резистора R422 на GND ("земляные" дорожки там рядом) - приставка должна перезагрузиться, и "стартануть" как обычно. Можно повторить пару раз.
R422 найти не сложно - чуть выше CLIO:
Этот резистор (R422) находится в схеме мониторинга преобразователя платы питания приставки, а его замыкание на корпус "изображает" реакцию консоли на пропадание основной частоты (существенное изменение формы) импульсов преобразователя БП (типа БП внезапно стал неисправен), поэтому CLIO блокирует работу приставки, удерживая её в "RESET".
Если Reset к флешке не подпаивать, может быть постоянный запуск с чёрным экраном, загрузка BIOS через раз и т.д.
8. Если всё нормально, надо прожечь на болванку
корректный диск без цифровой подписи, например:
Killing Time v.2.2alpha (not signed), или
Decathlon (unsigned) (2007)(Oldergames)(US)[!](Games):
Decathlon (Oldergames exclusive relised).
Игра должна заработать и можно играть.
9. Я не стал в неё ставить обратно родной BIOS "вторым этажом" и городить переключатель. Все подписанные диски будут играться и так, а если сугубо для подписанных, у меня другие FZ-10 есть.
Но если очень нужно - можно напаять сверху и реализовать переключение по аналогии со схемой "Dual SRAM Mod" от
13chuck13:
[3DO] Модуль памяти Memory Unit FZ-EM256 / Dual SRAM - mod10. А вот теперь - подводный камень. "Хороший" такой.
Такая "приставка-тестер", как наиболее вероятно и приставка "3DO Testing Station" с
Ebay, не будет жрать не подписанные образы, собранные программой Альтмера -
OperaFS[De]Compiler.
Что эта прога делает с файлами при сборке / разборке - не знаю (и насколько корректно вообще собирает), если очень интересно, можете к нему обратиться...
Но для запуска на реальной консоли с "patced_BIOS", не подписанный образ должен быть - либо только "девелоперским", из числа тех игр, которые без RSA утекли в Интернет (как Decathlon, Killing Time v.2.2alpha), либо должен быть собран руками из SDK.
То есть, игра должна иметь чистую операционную систему.
А в загрузчике эмулятора присутствует какой-то костыль.
Но это не проблема - заново собрать 3DO-диск из-под SDK довольно легко, даже у меня с первого раза получилось, есть подробная инструкция от
Versus, где рассказано как пользоваться laytool < :
3DO SDKДиск, собранный из-под SDK, будет иметь чистую ОС и будет "правильным".
Так что, OperaFS[De]Compiler хорошо годится для первоначальной разборки, для сборки - нет, т.к. делает "кривой образ". Только образ, собранный в SDK, будет схож с "девелоперским" и заработает на такой приставке, даже несмотря на то, что может работать на
FreeDO с patched_BIOS. Эмулятор FreeDO, как я уже говорил, имеет какой-то костыль в загрузчике.
Может, кому-нибудь будет интересна эта инфа.