Приставки > Картриджи / диски
Взломщик кодов для Sega MD,как пользоваться?
<< < (17/18) > >>
Segaman:
заработал мой франкенштейн.  :lol:
сделал так, что когда включается игра, просто щелкается ROM на 2 мегабайта выше, где собсно хранится игра.
а в первых 2мб хранится код моей прошивки для взломщика.

записал самую проблемную игру: Adventures of Batman and Robin
написал, чтобы в прерывании проц сразу уходил из пространства взломщика.
результат: глюки музыки упали процентов на 80, как я и говорил, но к сожалению полностью не исчезли.
ну и игра понятное дело когда-то, но вылетает, хоть и делает это в разы реже (дошел без проблем до босса на дирижабле)

так что для идеального взломщика, как уже и говорил ранее:
- надо ПЛИС заменять на свой
- размещать ром взломщика в 4м мегабайте (там где резерв Sega CD)
- подменять только адреса $78 и $7A ссылкой на взломщика (в 4ый мегабайт)

но в рамках моей задачи буду сидеть делать свою прошивку без замены ПЛИС-а
Segaman:


Добавлено позже:
хотя как вариант можно сделать, чтобы при переключении пространств, взломщик менял лишь первые 512 байт, остальные оставались игровыми
murgatroid_79:
Segaman, что за микросхема на макете?
Не могу разглядеть...
Segaman:

--- Цитата: murgatroid_79 от 03 Декабрь 2021, 06:07:33 ---Segaman, что за микросхема на макете?
Не могу разглядеть...

--- Конец цитаты ---
CD74HC238E :)
murgatroid_79:

--- Цитата: Segaman от 03 Декабрь 2021, 06:17:57 ---CD74HC238E :)

--- Конец цитаты ---
Ну и схему включения приложи
SAMael:
Схему взломщика или дешифратора?
Segaman:

--- Цитата: murgatroid_79 от 03 Декабрь 2021, 07:51:12 --- Ну и схему включения приложи


--- Конец цитаты ---
прикрепил. вроде все правильно указал.

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

входные данные:
!CS ROM
!CS RAM
!CE0#

выходные
!VA21+
!CE1#

таблица условий, которая помогла мне правильно все подключить:
!CS ROM!CS RAM!CE0#VA21+!CE1#lowhighhighlowlowhighlowhighlowhighhighhighlowhighlow
Rumata:

--- Цитата: Segaman от 03 Декабрь 2021, 04:49:22 ---сделал так, что когда включается игра, просто щелкается ROM на 2 мегабайта выше, где собсно хранится игра. а в первых 2мб хранится код моей прошивки для взломщика.
--- Конец цитаты ---

--- Цитата: Segaman от 03 Декабрь 2021, 04:49:22 ---- размещать ром взломщика в 4м мегабайте (там где резерв Sega CD)
--- Конец цитаты ---

Кто-нибудь может объяснить мне смысл этих манипуляций?
Segaman:

--- Цитата: Rumata от 03 Декабрь 2021, 18:01:19 ---Кто-нибудь может объяснить мне смысл этих манипуляций?

--- Конец цитаты ---
Когда взломщик щелкает ROM из игры во взломщик, страдает Z80, ибо он читает ROM игры, а тут вдруг на те - данные взломщика. ну и естественно Z80 начинает троить, так как он читал там ноты, паттерны и т.п. а здесь уже какая-то непонятная каша. Так можно и самому отъехать и всю систему с собой забрать.
Но если ROM взломщика будет в пространстве 0x400000 и при подмене ROM менять только первые 512 байт рома, то тогда это незаденет ROM игры и Z80 небудет троить из-за внезапного появления рома взломщика, вместо рома игры.

Добавлено позже:
А насчет рома взломщика в карике в 0-ом мегабайте и игры во 2-ом - это я отладочный картридж сделал.
т.е. я компилю ром взломщика, сохраняю его в 0-ой мегабайт, а потом сверху докидываю ром игры во 2-ой мегабайт.
получается удобный стенд для разработки нового рома для взломщика.
залил на флешак 4мб ром с взломщиком и игрой в одном флаконе, вставил во взломщика и протестил его работу.
жалко что всякие крикзовые флешаки не хотят работать - конфликт со встроенной RAM взломщика (хотя может найду для этого решение)
Rumata:

--- Цитата: Segaman от 03 Декабрь 2021, 18:08:35 ---страдает Z80, ибо он читает ROM игры
--- Конец цитаты ---
А с какого перепуга Z80 что-то там читает? Может просто не надо /M3 использовать не по назначению?
Segaman:

--- Цитата: Rumata от 03 Декабрь 2021, 18:15:32 ---А с какого перепуга Z80 что-то там читает? Может просто не надо /M3 использовать не по назначению?


--- Конец цитаты ---
это претензии к коду звукового движка. именно он страдает от подмены пространств.
взять другие игры, которые Z80 чисто под PCM WAV юзают (Sonic, Gunstar Heroes, Alien Soldier) и они прекрасно себя чуствуют за одним лишь исключением: Дико громкие аудио артефакты при воспроизведении PCM WAV сэмплов.

Добавлено позже:
вот такие косяки у взломщика с таким подходом к переключению пространств ROM
murgatroid_79:

--- Цитата: Rumata от 03 Декабрь 2021, 18:15:32 ---...Может просто не надо /M3 использовать не по назначению?
--- Конец цитаты ---
Rumata, а какое назначение у сигнала /M3 вот в этом Взломщике с ПЛИС Altera?
 :neznayu:
Rumata:
Да хоть с Альтерой, хоть без. На сколько я вижу он как сброс задействован. Кстати когда-то по зарубежным форумам ходила доморощенная распиновка слота, где эта линия была обозначена как сброс. И ещё несуразицы там были, кто-то толком не разобрался и написал первое, что пришло в голову. Остальные не сомневаясь поверили
HardWareMan:

--- Цитата: Rumata от 03 Декабрь 2021, 18:15:32 ---А с какого перепуга Z80 что-то там читает?
--- Конец цитаты ---
Здрасте, тот же GEMS юзает чтение из ROM картриджа, замапленное в окно 8000-FFFF Z80.


--- Цитата: Rumata от 03 Декабрь 2021, 18:15:32 ---Может просто не надо /M3 использовать не по назначению?
--- Конец цитаты ---
А вот кстати да, почему /M3 вместо /MRES?

Хых, тут взята моя картинка схемы системного картриджа и в середине её впечатана другая схема...
murgatroid_79:

--- Цитата: HardWareMan от 05 Декабрь 2021, 07:36:42 ---...Хых, тут взята моя картинка схемы системного картриджа и в середине её впечатана другая схема...
--- Конец цитаты ---
   Упс :blush: Подловил :)

Rumata:

--- Цитата: HardWareMan от 05 Декабрь 2021, 07:36:42 ---тот же GEMS юзает
--- Конец цитаты ---
То есть во взломщике используется GEMS, который сам по себе начинает что-то читать


--- Цитата: HardWareMan от 05 Декабрь 2021, 07:36:42 ---А вот кстати да, почему /M3 вместо /MRES?
--- Конец цитаты ---

Знакомые картинки?





Многие до сих пор этой распиновкой пользуются
Segaman:

--- Цитата: Rumata от 05 Декабрь 2021, 13:19:13 ---То есть во взломщике используется GEMS, который сам по себе начинает что-то читать

--- Конец цитаты ---
хорошая шутка.
вот наглядный пример:
преставим что Z80 читает текст в роме.
как текст выглядит из игры:

--- Цитата ---MC680x0/680x0/0x0/m68k/68k/68K — семейство CISC-микропроцессоров компании Motorola, основной конкурент процессоров семейства Intel x86 в персональных компьютерах 1980-х и первой половине 90-х
--- Конец цитаты ---
а вот так в том же месте выглядит текст в роме взломщика

--- Цитата ---Zilog Z80 — 8-разрядный микропроцессор, разработанный и производившийся фирмой Zilog с 1976 года. Широко использовался в персональных компьютерах, во встраиваемых и военных системах
--- Конец цитаты ---
когда происходит вертикальное прерывание, взломщик подменяет ром картриджа на свой, выполняет скрипт, который устанавливает указанные в кодах переменные в указанные значения, а потом прыгает обратно в ром картриджа и выполнает тамошний код вертикального прерывания.
в это время Z80 неостанавливается и продолжает читать текст.
получается, что на стороне Z80 текст может начать выглядеть так

--- Цитата ---MC680x0/680x0/0x0/m68k/68k/68K — 8-разрядный микропроцессор, разработанный компании Motorola, основной Широко использовался семейства Intel x86 в персональных компьютерах во встраиваемых половине 90-системах
--- Конец цитаты ---
на стриме мы это доказали: отключив вертикалочку получали неактивный взломщик, зато если читали по адресу $78, появлялся ром взломщика и оставался пока мы снова не прочтем $78
https://youtu.be/likXbUaztbE?t=23878
murgatroid_79:
 Всем привет :)
У меня тут случился приступ технического творчества :lol:

 С помощью этого приспособления перебирал адреса на Альтере и вылавливал выходные сигналы !CS ROM;!CS RAM и !CE0#
Получилось вот что:

--- Код: ---от $00 00 00  до $07 FF FF    !CS ROM  512Kb
от $08 00 00  до $0F FF FF    !CS RAM  512Kb
от $10 00 00  до $17 FF FF    !CS ROM  512Kb
от $18 00 00  до $1F FF FF    !CS RAM  512Kb
от $20 00 00  до $27 FF FF    !CS ROM  512Kb
от $28 00 00  до $2F FF FF    !CS RAM  512Kb
от $30 00 00  до $37 FF FF    !CS ROM  512Kb
от $38 00 00  до $3E FF FF    !CS RAM  448Kb ?

от $3F 00 00  до $FF FF FF   !CE0#   12Mb 64Kb

--- Конец кода ---

Добавлено позже:
Картинки для привлечения внимания ;)


Segaman:

--- Цитата: murgatroid_79 от 13 Декабрь 2021, 18:54:46 --- Всем привет :)
У меня тут случился приступ технического творчества :lol:
(Ссылка на вложение)
 С помощью этого приспособления перебирал адреса на Альтере и вылавливал выходные сигналы !CS ROM;!CS RAM и !CE0#
Получилось вот что:

--- Код: ---от $00 00 00  до $07 FF FF    !CS ROM  512Kb
от $08 00 00  до $0F FF FF    !CS RAM  512Kb
от $10 00 00  до $17 FF FF    !CS ROM  512Kb
от $18 00 00  до $1F FF FF    !CS RAM  512Kb
от $20 00 00  до $27 FF FF    !CS ROM  512Kb
от $28 00 00  до $2F FF FF    !CS RAM  512Kb
от $30 00 00  до $37 FF FF    !CS ROM  512Kb
от $38 00 00  до $3E FF FF    !CS RAM  448Kb ?

от $3F 00 00  до $FF FF FF   !CE0#   12Mb 64Kb

--- Конец кода ---

--- Конец цитаты ---
Это я уже программно на стриме выяснил, но приблуда интересная и по своему полезная.

Если дать питание читать любой адрес с $3F0000 по $3FFFFF - карик переключится в режим обычной работы (отлов чтения $78) и заодно кинет сигнал на M3, сбросив сосноль.
Скорее всего когда ты прочитал из того диапозона, взломщик включил !CE0# на постоянку и ждал чтения $78, чего не произошло.
т.е. дай питание и прочитай $3F0000 и затем начни читать адреса скажем с $100 - будет всегда !CE0#

Интересное наблюдение: Если читать с $400000 по $7FFFFF, плис не дает !CE0#  :)

И еще хотел добавить по переключению CS RAM и CS ROM: ПЛИС судя по-всему ловит только xx 00 xx и на них реагирует так:

При старте до чтения $3F0000При старте после чтения $3F0000До чтения $78После чтения $78После второго чтения $78!CS ROM с $x00000 по $x7FFFF!CE0# с $000000 по $3FFFFF!CE0# с $000000 по $3FFFFF!CS ROM с $x00000 по $x7FFFF!CE0# с $000000 по $3FFFFF!CS RAM с $x80000 по $xFFFFFНичего после $400000Ничего после $400000!CS RAM с $x80000 по $xFFFFFНичего после $400000Ничего после $400000M3 (сброс консоли)Ничего после $400000
x - любое число
последние две колонки чередются по чтению адреса $78
murgatroid_79:
   Рыбяты,а у нас оказывается продолжатель (исследований взломщика) имеется  :wow:
И это широко известный в узких кругах MiGeRA.

Он и схему на дискретных элементах проанализировал(и ошибки нашёл!),

и новую прошивку написал 0_0


Пересказывать долго,у него на сайте всё лаконично написано:http://migera.ru/smd/mega-cc.html
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

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