Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Segaman

Страницы: Назад 1 2 [3] 4 5 6 7 ... 109 Далее
61
Нашел ПЛИС обратно совместимый с тем, что в плате стоит
А еще нашел его более дешевую версию
Можно своего взломщика собрать  :lol:

62

  Segaman, у меня почему-то и HexDrive и Memory Viewer v1.2 на консоли цветную мозаику показывают :-\
(Ссылка на вложение)


 
у нас он тоже неработал на стриме, ну я его и переписал почти с нуля.

63
Стабилизатор  поставил LM1117...
Дополнительные адресные линии проводками подключил....
Непонятка в том,что игры на него пишутся и на приставке запускаются,а дамп взломщика нет 0_0
(Ссылка на вложение)
Я тебе могу дать свой хекс редактор (тот что я на стриме переписал)
Я добавлю в него функцию подсчета чексуммы.
  • Накинь переключателей, чтобы вручную переключаться между кариком и взломщиком.
  • Зашей РОМ взломщика во взломщик и мой хекс редактор во флешак.
  • Воткни флешак во взломщик.
  • Переведи взломщик в картридж.
  • Запусти консоль.
  • Мой редактор выгрузится в ОЗУ и будет из нее работать.
  • Переключи пространство на взломщик.
  • Посмотри содержимое и посчитай чексумму.
Как тебе такой план?

64
Поизучал схему и вроде как, если я ничего ненапутал, получается, что при прочтении любого адреса в $3F0000-$3FFFFF, схема записывает и сохраняет бит, позволяющий щелкать пространства по запросу $78.
Если этого не делать, то триггер $78 при срабатывании ни на что не влияет.
Этакий активатор работы взломщика :)
Ну и заодно ПЛИС сигналит !M3, чтобы все сбросилось

65
В конце своей работы, взломщик создает шелкод по адресу $FF0000, который выглядит так.

Он без остановки читает адрес $3F0000 в регистр d3.
Судя по коду, процессор никогда не выйдет из этого состояния.
Мой же вывод - взломщик выполняет ресет, если то место прочитать.
Щас проверю на консоли.

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

Добавлено позже:
Короче у меня идея возникла взять ноги OE от ПЛИСа, отрезать и через OR-модуль подключить (а еще лучше просто местами поменять с кариком).
Тогда будет стартовать сразу картридж и мне не надо будет дожидаться флеш-версии карика.
Просто как я понимаю все секреты взломщика кроются в адресах $000078 и $3F0000, но вот последний мне кажется работает единажды, потому что я не могу нормально задействовать его. Словно он одноразовый.
Кстати, мы подобрались настолько близко, что можно уже эмуляцию делать взломщика. Осталось лишь разгадать этот $3F0000

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

Добавлено позже:
Есть флешки 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
выглядит очень вкусно, правда срок доставки "январь" малость отпугивает.  :)
зато можно заказать их десяток и сидеть с довольной рожей.

67
Ну там как бы прям на корпусе написано FLASH. Только вот... 28 серия 12-волтьвая. Так что для стирания и записи на неё надо ещё Vpp = 12 Вольт подавать.
Блин, это проблемно. Программатор у меня от USB питается, так что таких мощнстей он не дает.

Ну китайцы-то записали. Распиновка скорее всего под тот же PSOP-44, хотя могут быть нюансы. А вот что под каплей - вопрос. можно попробовать ID считать
Тут я врятли что-то смогу, недостаток оборудования. Можно сказать недорос еще.

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

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

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

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

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

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

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

71
на стриме все протестировал, вот с таймкодом  :cool:
https://youtu.be/likXbUaztbE?t=23878
вкратце: чтение по адресу $78 является триггером, переключающим пространство между взломщиком и картриджем

72
    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  :)

73
Rumata, прочитал. вот ром. в эмуле стартует спокойно

Добавлено позже:
Потестил взломщик с разными чипами 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: был ли у него корпус вообще?  :)
почитал сообщения в треде и такое ощущение, будто корпуса у него никогда и не было.

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

74
А на плате взломщика этот контакт занят сигналом !LWR--- разрешение записи во внутреннее ОЗУ взломщика :-\
значит пришло время для перемычек  :)

75
У меня в адаптере сигнал !WE выведен на контакт B2.
 Кто-нибудь знает где этот сигнал обитает на программаторе Крикза?
Ну как варик можешь сделать под себя, а я просто у себя накину провод на B2 и B28 на самом программаторе, так что проблем не возникнет.

76
оффтоп

77
это у нас B28 и судя по всему  это не первый случай, когда на нее вешают Write Enable
приложил схему карика на 8мб

79
во

Добавлено позже:
у меня еще есть карик 2мб + sram.
программатор умеет писать\читать также еще и ее  :)
если нужны фотки его, то могу скинуть, но для дела я думаю врятли понадобится

80
Rumata, а по распиновке чипа разве нельзя дернуть нужный сигнал ноги?
я по распиновке узнал, что чип 8мб, а распаяно только 4мб на андерсах.

81
murgatroid_79, фотки карика

82
А у тебя в доступе есть программатор?
Честно: нет, но есть клон крикзовского программатора кариков
Это который вот етот у крикза
Если посоветуешь нужный, то могу заказать. Ток желательно более-менее бюджетный  :)

Добавлено позже:
Заказал себе уже донора, а также заказал версию 2000 года  :wow:

83
1. Я не случайно спросил про базу именно для ЭТОГО взломщика, который Симбас, который Чудов. Единственный источник кодов, что я знаю, книжки издательства Нева-Визит, аффилированого с Симбас
2. GG вообще-то по определению в ОЗУ не пишет. В ОЗУ пишет AR. Хотя есть умельцы, которые любой код конвертируют в формат GG и думают что так и надо.
3. Запиши в этот взломщик FFBCC8:0348, к примеру.
1. Подробнее ниже ответ
2. Я встречал когда-то коды GG в интернетах, которые писали в ОЗУ и думал что так и есть. GG на руках не было никогда, а щас вот уже год как являюсь владельцем такого. На стриме протестили и выяснили, что GG пишет только в ROM. Коды в RAM тупо неработают в GG.
3. Два кода:
BCC8-03
BCC9-48

Короче я собираюсь снова собрать всю информацию о взломщике и запилить обновление для обзора.
Уже на стримах выяснили, что коды для взломщика кропотливо собирали ребята из издательства Нева-Визит в течение 6 годиков с 2000 (года выпуска первого взломщика)
потому как коды встроенные во взломщик 2006 года вошли все коды из книг-кодов, которые мы встречали в книжках.

Также вопросы:
1) Какие ноги адреса и данных (остальные тоже) от порта картриджа подключены к контроллеру взломщика
2) Насколько часто сгорал картридж
3) Есть ли у кого версия 2000го года и существует ил дамп его прошивки (фотки я у себя нашел скачанные)
4) Припаен ли к контролеру вывод сигнала на ногу DTACK
5) Что за история с недопаенной перемычкой и что будет если ее допаять :)

Я видел очень много гневных отзывов про взломщик (даже с накрученными просмотрами), что мол он ломает игру.
У меня предположение есть, что взломщик возвращает данные вместо ОЗУ, когда запросы идут в указанную область памяти.
Из-за того, что он временами долго такой запрос обрабатывает, возникает конфликт, из-за чего все рушится.
Однако Z80 страдает больше всего, как мне кажется, из-за того, что взломщик пытается контролировать диапозон памяти больше, чем с FF0000-FFFFFF.
Например, он также срабатывает при запросах в память Z80 A0000-A01FFF, из-за чего мне кажется, что он контролит вообще тупо все, что запрашивается начиная с адреса 800000 до FFFFFF.
Поправьте меня.

Ну и чисто от себя для спортивного интереса:
Есть особое желание сделать кастомную прошивку для взломщика, но мне в таком случае нужен карик с легко перезаписываемой с компа ROM памятью.
Может ли кто в этом помочь?
Карик-донар предоставлю  :)

84
Почему Соник НАСТОЛЬКО популярен для хакинга?
Сырцы на ассемблере очень хорошо разобраны + есть куча гайдов по хакингу соника.
Я лично изучение хакинга начинал в 2006-ом с Sonic 2, но было сложновато, так что переехал на Sonic 1, так как для него гайдов больше было.

85
Звуки из Bare Knuckle III / Streets of Rage 3, но с какими-то искажениями...
На 15-ой секунде mp3-файла смех Эша, на 19-ой фраза "Final wrath" (или Final grab), которую кричит Шива когда делает один из своих супер-ударов, на 41-ой секунде смех Мистера Икс-робота. На 22-ой секунде звук броска Акселя и сразу за ним тоже звук броска Сэмми. На 28-ой звук смерти, только непонятно какой именно из персонажей, возможно все поочередно.
Все верно. Открыл японский ром и там ровно в том же месте ровно те же звуки в том же качестве.
Видимо тестировали разные ромы перед выдачей в релиз, а на релиз записали хлам вместо игры  :)
Если что открывал с помощью Audacity в качестве 4000гц 8 bit signed, когда больше дискретезацию ставил, звуки невозможно было воспринимать.
Странно что в роме звуки лежали в таком качестве, потому что например в Contra Hard Corps звуки в большем качестве, чем при воспроизведении (прикрепил)
Весёлое исследование получилось  :lol:

86
Отослать Коверингу :lol:

А как с ним связаться?

Важный дамп. Но нужно фото платы приложить, а то вдруг ты этот ром сам придумал, а не реальный дамп. А то всякого мусора и так в сетах хватает.
Можешь ещё отослать ему этот ром, а то нипанятна:
За совет спасибо, а вот про твой ром не понял :)

87
Попал в руки карик, на который записывают хоумбрю-игру и продают.
На нем предзаписана игра Adventurous Boy: Mao Xian Xiao Zi инфо
Но вот что меня заинтересовало, это сдержимое рома за пределами 512кб отданных игре.
Среди кучи всякого мусора я обнаружил аудио-данные из неизвестной игры.
Приложил дамп аудио данных (берегите уши)
Самое отчетливое звучание на 41й секунде - смех.
Также прикладываю дамп самого карика - 4мб

На игру мне так то пофиг, но вот какой игре принадлежат аудио-данные?

88
Вообщем давно в моей коллекции лежит картридж с игрой The Ooze, который недавал мне покоя и оказалось не зря.
Хэш-сумма дампа не совпадает ни с одним известным дампом из GoodGen V3.21
Судя по зоголовку это (JU) [!] , а вот содержимое отличается на 4 байта, где идет проверка региона (проброс сразу к коду игры без проверки)
Как следует поступить с ромом?  :neznayu:
Впервые дамплю игру, РОМ которой отсутсвует в GoodGen

89
Мы там на стриме разобрали по полочкам принцип работы протокола линк-кабеля и даже смогли воспроизвести его на железе.
В ближайшее время сделаю юнит-тест и сяду писать эмуляцию.
Так что Кооп в ZT ближе, чем когда-либо  :)

90
x.GREYSON.x, ну многие вещи из MSX версии легли в основу для 2 части.
может тогда хак на вторую часть делать? :)

Страницы: Назад 1 2 [3] 4 5 6 7 ... 109 Далее