Приставки > Картриджи / диски
Взломщик кодов для Sega MD,как пользоваться?
<< < (14/18) > >>
Segaman:

--- Цитата: murgatroid_79 от 29 Октябрь 2021, 09:28:15 --- А на плате взломщика этот контакт занят сигналом !LWR--- разрешение записи во внутреннее ОЗУ взломщика :-\

--- Конец цитаты ---
значит пришло время для перемычек  :)
Rumata:

--- Цитата: murgatroid_79 от 29 Октябрь 2021, 09:28:15 ---этот контакт занят сигналом !LWR
--- Конец цитаты ---
Что значит "занят"? Это один и тот же сигнал. Если ОЗУ не выбрано через /CS, то какие проблемы?
Rumata:
ДА!
Забыл сказать. Для начала следует воткнуть этот "взъломщик" в этот ФлешКит и попробовать его прочитать. Должно получиться, но в итоге скорее всего будет жуткий овер
Segaman:
Rumata, прочитал. вот ром. в эмуле стартует спокойно

Добавлено позже:

--- Цитата: murgatroid_79 от 09 Апрель 2018, 06:32:19 --- Потестил взломщик с разными чипами SRAM.Первую ногу никуда не подтягивал,перемычку между 26 и 28(+пит) не перерезал.
С чипами HY6264A LP-70,UT62256CPC-70LL,IS61C256CPC-12J прошёл все уровни МК2 без зависонов и "рассыпания" спрайтов. Предполагаю в этих чипах своя подтяжка имеется.
С чипом HM65256 BLP-12 вообще не стартует,чёрный экран...посмотрел даташит,а это PSUEDO SRAM  o_0
 С чипом CXK58257AP-10LL(который и стоял при первых запусках :D)происходит зависание на 4...7 уровне.
 Не тот чип первым под руку попал :D

--- Конец цитаты ---
т.е. хотите сказать, что взломщик троит из-за того, что нога на его внутреннем ОЗУ не подтянута к земле?
т.е. если подтянуть ногу к земле, он перестает троить и работает нормально?

Добавлено позже:
murgatroid_79, вопрос касаемо версии без fpga: был ли у него корпус вообще?  :)
почитал сообщения в треде и такое ощущение, будто корпуса у него никогда и не было.

Добавлено позже:
Еще я что-то не допонял каким образом взломщик удерживает значения из ОЗУ?
murgatroid_79:

--- Цитата: Segaman от 30 Октябрь 2021, 17:28:18 ---т.е. хотите сказать, что взломщик троит из-за того, что нога на его внутреннем ОЗУ не подтянута к земле?
т.е. если подтянуть ногу к земле, он перестает троить и работает нормально?

--- Конец цитаты ---
То,что ты процитировал,относиться к "микросхемному варианту" взломщика и проблемам,когда я его восстанавливал.
Там выяснилось
--- Цитата: murgatroid_79 от 05 Апрель 2018, 06:11:46 ---,что плата разведена под установку микросхемы SRAM типа 6264 (8K x 8),а в плате изначально стояла типа 62256 (32K x 8).... И в схеме я нарисовал 62256 машинально.И поставил такую же.
И получилось,что адресная линия А14 (1-я нога микросхемы) висит в воздухе,а А13 (26-я нога микросхемы) замкнута на +5V...
Поставил на плату микросхему типа 6264 и прошёл все уровни МК2 без зависонов  :-\
   
--- Конец цитаты ---
Т.е.  зависоны и рассыпания спрайтов были связаны с несоответствием установленной микросхемы ОЗУ и разводкой её посадочного места...А вывод gnd микросхемы,как положено, подключен к земле
 И искажения звука,к сожалению,остались :(

 


Добавлено позже:

--- Цитата: Segaman от 30 Октябрь 2021, 17:28:18 ---т.е. если подтянуть ногу к земле, он перестает троить и работает нормально?

--- Конец цитаты ---
  кажется я запаивал перемычку на версии 2006 года и разницы не заметил :neznayu:
Надо бы повторить.


Добавлено позже:

--- Цитата: Segaman от 30 Октябрь 2021, 17:28:18 ---murgatroid_79, вопрос касаемо версии без fpga: был ли у него корпус вообще?  :)
почитал сообщения в треде и такое ощущение, будто корпуса у него никогда и не было.

--- Конец цитаты ---
Был и корпус и коробочка :)
Позже выложу фотки,если интересно :-\
Segaman:

--- Цитата: murgatroid_79 от 25 Февраль 2018, 08:41:04 ---    Rumata,у меня получается,что первый дешифратор,состоящий из горсти инверторов и четырёх ЛА2  выбирает конкретный адрес:$000078. А это вектор 6-прерывание по кадровому синхроимпульсу 0_0 Как это понимать?

 Второй дешифратор,DD14 выбирает адрес,или даже диапазон адресов:$3Fxxxx,что соответствует расположению ПЗУ картриджа.
   Правильно? :neznayu:
 


--- Конец цитаты ---
а вот и зацепка. я не могу прочитать адрес 78. мой ром крашится при чтении.
если взломщик выключить, то все отлично работает.
предположу, что взломщик ожидает чтение адреса 78 только тогда, когда происходит вертикальное прерывание, следовательно если я его читаю - получаем краш.
разбираюсь дальше. попробую читать адрес по нажатию кнопки, а также попробую писать переменную до прерывания и после прерывания - потому что похоже что взломщик клинится в вертикалочку и разводит там беспорядочки :)

Добавлено позже:
даже по байтам читать не дает.
пробовал дергать байты 79,7A и 7B по отдельности.

Добавлено позже:
подтверждаю, взломщик долбится в вертикалку, заменяет ее на свою, выполняет свои грязные делишки и возвращает в обычное прерывание.
я поставил счетчик и ввел код во взломщике, чтобы он его чинил.
запись внутри вертикалки увеличивает число ровно на 1.
запись в основном цикле увеличивает число на рандомное в пределах 1-2.

Добавлено позже:
капаюсь в коде и хочу выдвинуть предположение:
что если при запросе по адресу $7А взломщик отключает картридж и включает свой РОМ.
потому что если это так, у него в VINT записано $0000 и команда $4EB9 вместо адреса, что как бы повлечет за собой Illegal Address, а у взломщика там аккурат функция записи переменных из включенных кодов, после чего он прыгает по адресу VINT+2 (т.е. $7A) где выполняет 4eb9, что триггерит взломщик обратно в Картридж и CPU переходит по адресу, который находится выше VINT (т.е. адрес записанный в $7C), где как правило всегда стоит rte

Добавлено позже:
просто если мое предположение верно, то починить взломщик будет воще изи:
- цепляем ногу A21 и A22 на РОМ взломщика, чтобы он всегда читался в адресах выше 4 мегабайта
- я переписываю код активации введенных кодов так, чтобы он триггерил пространство адресов сразу обратно в картридж, а потом из своего уютного 4 мегабайта выполнял активацию кодов
- ну и возврат обратно в картридж посредсвтом rte

что получаем в итоге:
вот так было
.::Состояние::..::Пространство::.КартриджРОМ картриджаТриггер в $7AРОМ взломщика, активация кодов, триггер обратно
вот так станет
.::Состояние::..::Пространство::.КартриджРОМ картриджа + РОМ взломщика выше $400000Триггер в $7AРОМ взломщика, переход в $400000, триггер обратно в РОМ картриджа, активация кодов
результат: неглюченный звук, на %98 реже зависание игры

Добавлено позже:
т.е. все глитчи и баги вызывал ROM взломщика будучи резко переключенным из ROM-а игры, потому что в таком случае Z80 особенно сильно страдает.
ну и как известно Z80 вполне вправе при должном желании повесить себя (а заодно и всё остальное) к хренам собачьим.  :lol:

Добавлено позже:
либо более дешевый вариант, хакнуть код взломщика, чтобы он выполнял такие действия при триггере:
- останавливать Z80
- активировать коды
- возобновлять Z80
- тригериться в ром

кстати Z80 можно возобновлять и из шел-кода выделив под него место в стеке. так например время Z80 в пространстве взломщика снизится почти до нуля.
то есть:
- останавливать Z80
- активировать коды
- записать шеллкод триггера в картридж и возобновления Z80 в стек
- записать ссылку на шелл код в стек
- выполнить rts
- внутри шелл кода безопасно триггернуться в картридж
- внутри шелл кода возобновить Z80
- внутри шелл кода выполнить rte

ну и код активации введенных кодов можно оптимизировать на добрый десяток циклов засчет отказа от бит-шифт команд  :)

Добавлено позже:
murgatroid_79, сколько у нас места под ROM можно максимально сделать?
я имею ввиду сколько ног адреса подведены к ROM взломщика?
если 256кб это не предел, это будет просто супер новость :wow:
и тот же вопрос про встроенную RAM  :)
Segaman:
на стриме все протестировал, вот с таймкодом  :cool:
https://youtu.be/likXbUaztbE?t=23878
вкратце: чтение по адресу $78 является триггером, переключающим пространство между взломщиком и картриджем
murgatroid_79:

--- Цитата: murgatroid_79 от 30 Октябрь 2021, 22:59:24 --- Был и корпус и коробочка :)
Позже выложу фотки,если интересно :-\
--- Конец цитаты ---
Вот,нашёл пару фоток


Segaman:
пробил ПЗУ-шку с этого карика (фотка Rumata)

я хреново разбираюсь во всех моментах, но судя по datasheet у него есть нога WE (Write Enable)
не значит ли это что память перепрошиваемая?
также у него есть обратно совместимый собрат 28F400BX на 256кб
я перепроверил щас на консоли и получил подтвердение, что ром весит 128кб, так как по адресу $40000 получаю зеркало.
будет ли перезаписываться та память, что под каплей (фотка murgatroid_79)

или шансов вообще нет?

приложил даташит
murgatroid_79:

--- Цитата: Segaman от 02 Ноябрь 2021, 16:05:03 ---пробил ПЗУ-шку с этого карика (фотка Rumata)
(Ссылка на вложение)
я хреново разбираюсь во всех моментах, но судя по datasheet у него есть нога WE (Write Enable)
не значит ли это что память перепрошиваемая?

--- Конец цитаты ---
Правильно,PA28F200 перепрошиваемая.
EVIL:

--- Цитата: murgatroid_79 от 02 Ноябрь 2021, 19:17:31 ---Правильно
--- Конец цитаты ---
murgatroid_79:

--- Цитата: Segaman от 02 Ноябрь 2021, 16:05:03 ---также у него есть обратно совместимый собрат 28F400BX на 256кб
--- Конец цитаты ---
  Обратно совместимый,правильно,но размер  её 256K X 16 или 512K X 8.
Всё из-за 16-ти битной шины данных
Т.е. читаем 256 Киловорд ( или 512 Килобайт).
Во взломщике же стоит  меньшего размера,в два раза.
Т.е. 128Киловорд ( или 256 Килобайт)



--- Цитата: Segaman от 02 Ноябрь 2021, 16:05:03 ---я перепроверил щас на консоли и получил подтвердение, что ром весит 128кб, так как по адресу $40000 получаю зеркало.

--- Конец цитаты ---
Может,всё-таки,128 Киловорд ? А в килобайтах будет как раз 256.
Segaman:

--- Цитата: murgatroid_79 от 02 Ноябрь 2021, 19:42:06 ---  Обратно совместимый,правильно,но размер  её 256K X 16 или 512K X 8.
Всё из-за 16-ти битной шины данных
Т.е. читаем 256 Киловорд ( или 512 Килобайт).
Во взломщике же стоит  меньшего размера,в два раза.
Т.е. 128Киловорд ( или 256 Килобайт)
(Ссылка на вложение)

--- Конец цитаты ---
ну если нога не подведена, можно накинуть :)
нам запасные 256кбайт на вес золото
murgatroid_79:

--- Цитата: Segaman от 02 Ноябрь 2021, 19:44:26 ---ну если нога не подведена, можно накинуть :)
нам запасные 256кбайт на вес золото

--- Конец цитаты ---
Накинуть то можно,но надо учесть,что дешифратор адреса в ПЛИС Altera,скорее всего, учитывает размер ПЗУ . :-\
Segaman:

--- Цитата: murgatroid_79 от 02 Ноябрь 2021, 20:20:28 --- Накинуть то можно,но надо учесть,что дешифратор адреса в ПЛИС Altera,скорее всего, учитывает размер ПЗУ . :-\


--- Конец цитаты ---
Думаю врятли это будет проблемой, так как альтера контролит в основном тока Output Enable.
Значит если его не будет, то и ПЗУ не будет отдавать данные по верхним адресам.

Добавлено позже:
Ну и реакция у Плиса толкьо на адрес $78
Я проверил зеркала по всем мегабайтам с 0 по 7 ключительно, триггера небыло.
Rumata:

--- Цитата: Segaman от 02 Ноябрь 2021, 16:05:03 ---не значит ли это что память перепрошиваемая?
--- Конец цитаты ---
Ну там как бы прям на корпусе написано FLASH. Только вот... 28 серия 12-волтьвая. Так что для стирания и записи на неё надо ещё Vpp = 12 Вольт подавать.

--- Цитата: Segaman от 02 Ноябрь 2021, 16:05:03 ---будет ли перезаписываться та память, что под каплей
--- Конец цитаты ---
Ну китайцы-то записали. Распиновка скорее всего под тот же PSOP-44, хотя могут быть нюансы. А вот что под каплей - вопрос. можно попробовать ID считать

--- Цитата: Segaman от 02 Ноябрь 2021, 19:44:26 ---нам запасные 256кбайт на вес золото
--- Конец цитаты ---
Выпилить зубастого мальчика.

Segaman:

--- Цитата: Rumata от 02 Ноябрь 2021, 21:09:18 ---Ну там как бы прям на корпусе написано FLASH. Только вот... 28 серия 12-волтьвая. Так что для стирания и записи на неё надо ещё Vpp = 12 Вольт подавать.

--- Конец цитаты ---
Блин, это проблемно. Программатор у меня от USB питается, так что таких мощнстей он не дает.


--- Цитата: Rumata от 02 Ноябрь 2021, 21:09:18 ---Ну китайцы-то записали. Распиновка скорее всего под тот же PSOP-44, хотя могут быть нюансы. А вот что под каплей - вопрос. можно попробовать ID считать

--- Конец цитаты ---
Тут я врятли что-то смогу, недостаток оборудования. Можно сказать недорос еще.


--- Цитата: Rumata от 02 Ноябрь 2021, 21:09:18 ---Выпилить зубастого мальчика.

--- Конец цитаты ---
Это первое что я собирался сделать, но я ж туда еще кучу других плюх хочу докинуть, вроде скриптов прохождения сквозь стены, телепортации по триггерам и тп.
При текущей его конструкции это более чем реально. :cool:
Rumata:

--- Цитата: Segaman от 02 Ноябрь 2021, 21:00:56 ---триггера небыло.
--- Конец цитаты ---
И не должно быть.
В режиме ввода взломщик представляет из себя обычный картридж. Следовательно: он живёт в диапазоне $000000 - $3FFFFF и этот диапазон делят меж собой ПЗУ и ОЗУ (ну по крайней мере так должно быть). Смотри в каких адресах активны сигналы выборки ПЗУ и ОЗУ

Добавлено позже:
Есть флешки 29F800 (например https://aliexpress.ru/item/1005002901973361.html )
 - 8 Megabit (1 M x 8-Bit/512 K x 16-Bit)
 - 5.0 Volt-only operation for read, erase, and program operations
 - 44-pin SOP
Segaman:

--- Цитата: Rumata от 02 Ноябрь 2021, 21:43:36 ---И не должно быть.
В режиме ввода взломщик представляет из себя обычный картридж. Следовательно: он живёт в диапазоне $000000 - $3FFFFF и этот диапазон делят меж собой ПЗУ и ОЗУ (ну по крайней мере так должно быть). Смотри в каких адресах активны сигналы выборки ПЗУ и ОЗУ

--- Конец цитаты ---
А вот это интересная новость.
Посмотрю в коде, как он переходит в картридж.
Наверняка тупо прыгает в $76 как я и предполагал.

--- Цитата: Rumata от 02 Ноябрь 2021, 21:43:36 ---
Добавлено позже:
Есть флешки 29F800 (например https://aliexpress.ru/item/1005002901973361.html )
 - 8 Megabit (1 M x 8-Bit/512 K x 16-Bit)
 - 5.0 Volt-only operation for read, erase, and program operations
 - 44-pin SOP

--- Конец цитаты ---
выглядит очень вкусно, правда срок доставки "январь" малость отпугивает.  :)
зато можно заказать их десяток и сидеть с довольной рожей.
Rumata:

--- Цитата: Segaman от 02 Ноябрь 2021, 22:07:38 ---А вот это интересная новость.
--- Конец цитаты ---
:-\ Да это как бы и не новость. Как бы иначе и не бывает. Любой взломщик при первом включении будет выглядеть как картридж. Соответственно можно выбрать коды, записать в ОЗУ и всё такое. А потом делается сброс (хоть отдельной кнопкой) При этом: а) ПЗУ взломщика отрубается, а ОЗУ уходит вверх, б) процессор начинает читать уже игровой картридж с нулевого адреса
Кстати, флеш-картридж работает так же.
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии