Автор Тема: [SMD] Создание собственной многоигровки на одном чипе  (Прочитано 10414 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 129
  • Пол: Мужской
    • Просмотр профиля
Можно ли реализовать многоигровку на перезаписываемом картридже?

Интересует именно программный способ, без каких-либо аппаратных изменений.

Возможно, кто-то уже сталкивался с этой задачей и есть идеи или готовые решения.

Некоторые эмуляторы (например, BizHawk) корректно работают с самодельными «многоигровками»: можно взять образ такого картриджа и заменить одну из игр на свою — и это будет работать.

Однако на реальном картридже такой подход, насколько я понимаю, не работает. Вероятно, проблема связана с адресацией: каждая игра «ожидает», что она загружается с начала адресного пространства, тогда как в многоигровом ROM она находится по смещению.

При этом в оригинальных многоигровых картриджах, судя по всему, проблема решается на уровне железа — за счёт использования отдельных чипов или специальной логики (mapper), которая подменяет адресацию и «подставляет» нужную игру как будто она начинается с нуля.

Отсюда вопрос:
существуют ли программные инструменты или методы, позволяющие переразметить ROM (изменить адресацию, точки входа и т.д.), чтобы игра могла корректно работать не с начала файла, а со смещением?

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2883
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
по моему если и сделаешь, то все, к примеру 4 игры - могут быть только в пределах 4 мегабайт в сумме. если по 1 мегабайту к примеру взять игры, то можно самому "запускатор" сделать. и просто потом джампами на нужные игры прыгать. но это надо будет чтоб все эти четыре игры были одного региона.

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 129
  • Пол: Мужской
    • Просмотр профиля
мне и надо в пределах 4 мб разместить игры

если по 1 мегабайту к примеру взять игры, то можно самому "запускатор" сделать. и просто потом джампами на нужные игры прыгать.

Я делал что-то подобное, у готового меню менял адреса jmp, но это не работает на реальном железе, запуститься только та игра которая вначале Рома стоит. Или я что-то не так понял. Можешь по подробней рассказать.

но это надо будет чтоб все эти четыре игры были одного региона.

причем здесь регион? у меня есть многоигровки где у игр может быть разный регион

Оффлайн Talking_Sword

  • Пользователь
  • Сообщений: 1011
  • Happy Games Only!
    • Просмотр профиля
Можно ли реализовать многоигровку на перезаписываемом картридже?

Интересует именно программный способ, без каких-либо аппаратных изменений.
Чисто в теории можно "чисто программно", без каких-либо аппаратных изменений, но на практике это будет очень сложно, я бы с этим не связывался.

Нужно учитывать, что пираты все равно ставят в многоигровки Mega Drive схему переключения банков, значит, "чисто программный способ", как мне кажется, слишком сложный, иначе бы уже давно делали многоигровки для Mega Drive с одним лишь ПЗУ. Этим пиратам лишь бы на чем-то сэкономить. Раз не делают, значит есть сложности.

Сразу говорю, намного проще будет купить картидж с вот такой платой (смотрите фотографию в посте). Далее, вот стандартная схема переключения банков для многоигровок Mega Drive. Покупаете эти микросхемы в DIP-корпусах, сверлите отверстия в пластике на плате картриджа, в которые потом вставите микросхемы. То, что над текстолитом, это именно пластик, он нужен только для экономии текстолита, чтобы увиличить плату, чтобы она доставала до креплений, в нем ничего важного нет, его можно сверлить смело. Потом соединяете микросхемы согласно схеме с обратной стороны проводками. Там еще нужно обрезать дорожки от VA17-21, они пойдут через HC32.

Вторую HC174 ставить не нужно, она нужна только для многоигровок большого объема. На этой плате можно сделать картридж максимум 8 МБ, так как там микросхема в корпусе TSOP48, а они идут максимум 8 МБ.

P.S.: вы еще помучаетесь с самостоятельной сборкой многоигрового ROM-а, так как еще не написали сборщик многоигровых ROM-ов для Mega Drive, поэтому ROM придется собирать вручную, как это делал я.

Оффлайн Беларус

  • Модератор
  • Сообщений: 1472
    • ВКонтакте
    • Steam
    • Просмотр профиля
Только если скомпилировать сборник из игр, которые кто-то дизасэмблировал или у которых есть исходники.
Можно ещё попробовать тупо сместить все абсолютные адреса в ромах :biggrin:

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2883
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
во во... утро вечера мудреннее - проснулся и понял что погорячился :) если первую игру можно втулить влегкую. то начиная со второй - надо будет ковырять все адреса и изменять. они-же по сути указаны от начала рома. бывают конечно относительные адреса и с ними проблем невозникнет. но вот абсолютные адреса... тут без правок не обойтись. то есть это надо игру разобрать, сделать резиновой и только тогда можно будет втулить в единый общий ром.


Оффлайн Томахомэ

  • Пользователь
  • Сообщений: 983
  • Пол: Мужской
    • Просмотр профиля
А как многоигровки вообще обходятся с векторами и обработчиками прерываний, которые у каждой игры разные?

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 129
  • Пол: Мужской
    • Просмотр профиля
Можно ещё попробовать тупо сместить все абсолютные адреса в ромах
вот я об этом как раз и подумал в первую очередь. типа написать такую программу которая за тебя будет искать что нужно сместить и на сколько.

Только если скомпилировать сборник из игр, которые кто-то дизасэмблировал или у которых есть исходники.
ну это я так понял будет работать НЕ с ассемблерными исходниками, а например с исходниками на SGDK или BEX.
Мне кажется нельзя создать например многоигровку из исходников первого и второго Соника просто дописав меню.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2883
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
ну поэксперементировать можно... какие есть самые галимые, то есть маленькие игры? и желательно простенькие.

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 129
  • Пол: Мужской
    • Просмотр профиля
ну поэксперементировать можно... какие есть самые галимые, то есть маленькие игры? и желательно простенькие.
можно сначала здесь посмотреть https://github.com/And-0/awesome-megadrive?tab=readme-ov-file#open-source-games
или если хочешь вручную дизассемблировать то самые известные это: Alien 3, Rambo 3, streets of rage, flicky, sunset riders..

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2883
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
японских бох! никогда не думал что моя любимая Alien 3 всего 512 килобайт щасья :) Рэмбо так и вовсе 256. класс класс. будем посмотреть надосуге. заодно хоть повод будет свой дизассемблер забэкапить со старого компа  :cool:

Оффлайн Беларус

  • Модератор
  • Сообщений: 1472
    • ВКонтакте
    • Steam
    • Просмотр профиля
написать такую программу которая за тебя будет искать что нужно сместить и на сколько
Простое решение, но, скорее всего, надо будет постоянно отлавливать и исправлять баги в игре, т.к. таким образом нельзя точно распознать адрес в роме, это можно только через дизасм. Takamura-kun вот дизасмит ромы быстро, но не знаю, делает ли он это на заказ.

ну это я так понял будет работать НЕ с ассемблерными исходниками, а например с исходниками на SGDK или BEX.
Мне кажется нельзя создать например многоигровку из исходников первого и второго Соника просто дописав меню.
По идее, все компилятры должны давать выбрать начальный адрес будущего рома.

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

Но тут я пока не разбираюсь и надо будет исправить в игре все инструкцыи TRAP на новое расположение в этом списке.
Или же записать тут адреса отдельного обработчика, который смотрит, что за игра его потревожила и выполнять код для него. Но это может сказаться на производительности. Например, Квакшот активно использует трапы при распаковке архивов, если правильно помню.
« Последнее редактирование: 25 Март 2026, 21:20:53 от Yaranga »

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2883
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
надо кароче однокликовый дизассемблер сделать. чтоб он сам формулы просчитывал, где адреса по формулам считаются. наугад тыркать кнопку С на неразмеченном участке кода - такая себе идея... он там разберет и что надо и что не надо :) так-же отчасти могла бы помочь некая эвристика, типа код разбирает, и сразу-же анализирует - адекватный ли это код, или абракадабра.

пока предлагаю на эти самые Трапы забить. SegaMark, ты Rambo III (W) (REV 01) [!] попробуй в иде поковырять. там что-то я помню эмулятор запускается и адреса после обратно в иду шлет, чтобы хоть отчасти полный дизасм сделать... надо кароче список адресов собрать в кучу, а после думать как зарезинить игру. причем не разбираясь это адрес для музыки или графики, или еще для чего... достаточно что просто на этот кусок рома какая-то часть кода ссылается. если хоть одну игру мы так зарезиним - то тогда уже про эти трапы можно будет думать.

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

видимо надо чтоб дополнительное окошко вылазило с ручными метками, а там уже отмечать флагами какие метки не нужно разбирать. но блин, я не хочу вылазить за 1024х768, а места итак уже нет - под завязку все забито и всё нужное.

Добавлено позже:
и у меня затуп  :blush:

мой чудо-дизассемблер рожает как:
and.w     (pc,d0.w), d1         ; C27B
ASM68K.exe ругается: Illegal value (-1532)

в эмуляторе:
and.w    $E2 (pc,d0), d1

как правильно? и откуда этот $E2 взялся...

Добавлено позже:
ога... с Е2 разобрались. мой косяк. надо же читать 2 следующих байта... пойду искать где это в коде и исправлять  :blush:

Добавлено позже:
вроде поправил... но один хрен не собирает ASM68K.exe... ругается на негативное число. $E2 - ну как бы понятно, что меньше $7F... вот только чего он мне всю малину портит?
« Последнее редактирование: 26 Март 2026, 11:04:14 от SeregaZ »

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Соника делали 3 в 1:
https://www.emu-land.net/forum/index.php/topic,55005.0.html

Ещё официальные сборники есть Mega Games 6 (Vol 1 - Vol 3), Mega Games 1,2,3  , Mega Games 10 in 1 :
« Последнее редактирование: 26 Март 2026, 11:32:57 от Ti_ »

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2883
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
все. я кароче как Виннипух... застрял :) ругается на 
and.w     $E2(pc, d0.w), d1и все прочие and такого-же типа с рс.

это сам ASM68K.exe гонит (ибо он и правда в некоторых вещах хромает) или все-таки я что-то навертел не то в своем дизассемблере?

Добавлено позже:
я тут проконсультировался у гугеля более пристрастно - надо кароче переделать. читая сырой байт данного опкода and - нужно не рисовать его как есть, а надо сразу расчитывать метку и добавлять её в дизасм. завтра попробую.
« Последнее редактирование: 26 Март 2026, 17:39:58 от SeregaZ »

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 129
  • Пол: Мужской
    • Просмотр профиля
Соника делали 3 в 1:
https://www.emu-land.net/forum/index.php/topic,55005.0.html
Ух ты, это реально работает. Я записал картридж с этим РОМом и все три игры запустились. Я не успел подумать о таком сборнике а его уже сделали :thumbup:. Интересно как он этого добился o_0?

Ещё официальные сборники есть Mega Games 6 (Vol 1 - Vol 3), Mega Games 1,2,3  , Mega Games 10 in 1 :
Буду теперь все эти проверять.

Интересно будет еще проверить. Будет ли работать если заменить игру, которая лежит первая в памяти
« Последнее редактирование: 26 Март 2026, 15:08:31 от SegaMark »

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2883
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
тем временем глянул в другом месте... а я уже такое оказывается делал :) просто получается для and недоделал... эм... ну тогда проще. оттуда копирнем и в and вставим :)

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Ух ты, это реально работает. Я записал картридж с этим РОМом и все три игры запустились. Я не успел подумать о таком сборнике а его уже сделали . Интересно как он этого добился ?
Соников давно дизассемблировали просто, что он и использовал.
На СОР1-2-3 также можно попробовать: https://github.com/gsaurus/sor-disassemblies/

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2883
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
и все равно я рад, что хоть маленько седня попрограммил :) кароче еще ошибку нашел... завтра исправлю. и еще адреса кучу нашел. тоже добавлю. старое вложение пока снесу за ненадобностью. завтра если доделаю приложу. а если оно еще и сдвинется из коробки, то буду писать кипятком от восторга. хотя сомневаюсь конечно что прям из коробки сработает. обычные move то останутся без изменений... но я надеюсь что хотя-бы запустится начальная заставка или что-то в этом роде. это будет уже успех.

Оффлайн Беларус

  • Модератор
  • Сообщений: 1472
    • ВКонтакте
    • Steam
    • Просмотр профиля
официальные сборники есть
Вот это интересно :ohmy:
Я сравнил некоторые игры этих сборников и увидел, что различаются только адреса. Т.е. изучив эти смещения можно делать из них сборники игр. Ещё это облегчает их декомпиляцию и дизасм :thumbup:
Вот все сборники для Сеги:
Mega Games I, 2, 3, 6, 6 (Vol. 2, Vol. 3), 10, 6-Pak, Sega Top Five, Sonic Classics, Sega Sports 1, Classic Collection, The Disney Collection
« Последнее редактирование: 27 Март 2026, 03:34:41 от Yaranga »

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2883
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
итак, все нытье под снос... вроде ашипки поправил, пофиксил, сижу кайфую... разве что проблема с exg, ибо ASM68K ставит порядок параметров как ему удобно. в итоге именно на этой команде есть расхождение между оригиналом и ресборкой после моего дизасма. ну думаю херня вопрос! ща своим чексумм-фиксером все поправлю... угу... щаззззз... именно с Рэмбой он не хочет работать :) как бы считает что-то, но фиксенный ром гружу во Фьюжен - пишет чек сумм инкоррект, а в игре видимо вшита защита и поэтому игра не стартует.

это какой-то нюанс с ромами-коротышами? и чек сумму там надо считать как-то по другому? на других ромах вполне себе вроде успешно сумма фиксится.

***

ясно. надо читать размер рома, и гонять только в пределах размера. а не на всю длину рома.
« Последнее редактирование: 27 Март 2026, 08:05:05 от SeregaZ »

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 129
  • Пол: Мужской
    • Просмотр профиля
Я сравнил некоторые игры этих сборников и увидел, что различаются только адреса.
А как сравнивал? типа брал например Columns находил его в сборнике и сделал двоичное сравнение.
И как понял что отличаются адреса а не команды Ассемблера?

Добавлено позже:
Mega Games I, 2, 3, 6, 6 (Vol. 2, Vol. 3), 10, 6-Pak, Sega Top Five, Sonic Classics, Sega Sports 1, Classic Collection, The Disney Collection
Спасибо за полный список. The Disney Collection без The ищется
« Последнее редактирование: 27 Март 2026, 07:49:51 от SegaMark »

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2883
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
ушел за хлебом кароче... надо еще подумать какие функции должны иметь ссылки, вместо конкретных значений. сейчас пока еще не дает сдвигать данные - надо больше вникать в процесс :) после пересборки из-за глюка ASM68K с exg - чек сумма не бьется и надо править (обновленный чекфиксер приложил, хотя надо будет обновить его еще раз - заявленный размер рома может не соответствовать размеру файла. это надо учесть будет в обновлении). после все запускается. доволен как слон.

Добавлено позже:
еще чуть добавил моменты, где в командах могут быть ссылки. но пока все равно код двигаться не хочет :) впрочем уже прогресс - синий экран выбивает. раньше и такого не было.
« Последнее редактирование: 30 Март 2026, 07:22:11 от SeregaZ »

Оффлайн Talking_Sword

  • Пользователь
  • Сообщений: 1011
  • Happy Games Only!
    • Просмотр профиля
SegaMark, вы мое сообщение в этой теме прочитали?

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 129
  • Пол: Мужской
    • Просмотр профиля
вы мое сообщение в этой теме прочитали?
да

Оффлайн Беларус

  • Модератор
  • Сообщений: 1472
    • ВКонтакте
    • Steam
    • Просмотр профиля
брал например Columns находил его в сборнике и сделал двоичное сравнение.
И как понял что отличаются адреса а не команды Ассемблера?

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2883
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
да уж... ИИ умеет поддержать: "и тут твоя резина порвалась!" (контекст обсуждения резиновости кода, с возможностью сдвинуть данные).

добавил 2 нопа в самом начале рома и теперь сижу мутным глазом пытаюсь что-то понять в логах трассеров с оригинала и с моего с синим экраном :)

Добавлено позже:
итак, сколько убийц нашел и поправил... но уперся теперь опять в чексумму :)

если игра без изменения размера $3FFFF в заголовке и физически 256 килобайт, то моя правка чексуммы работает и игра запускается.

если игра увеличилась - $40003 (2 нопа добавились) - в заголовке для размера правлю это число. правлю чек сумму с учетом нового размера - но не работает. эмулятор то доволен и ошибки не пишет, но игра внутри себя пересчитывает программно чек сумму как-то по другому и по итогу мой внешний расчет несовпадает с игровым внутренним.

если то, что игра насчитала программно - насильно записать в ром и запустить, то заставка даже стартует (это я прям конечно афигел)... но эмулятор тогда уже говорит, что чексумма не проходит. что-то я прям пока в тупике.

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


Добавлено позже:
вроде раздуплил... я же, как самый умный, везде леплю метки. и раз система заприметила где-то прыг на адрес $200 - она повесила туда метку. я добавляю два нопа - как раз по этому адресу. получается метка теперь сместилась на адрес 204. по итогу програмный расчет чексуммы ныкается нетуда и поэтому по итогу чексумма не совпадает :) я прям как тот Гендальф, который поймал левелап. правда мне тут активно ИИ помогает сидит... я лишь пальцем в небо тыкаю, а он меня кругами водит, но иногда попадаем туда куда надо :) доволен доволен... хотя надо теперь будет думать как добавить правило, чтобы учесть подобные случаи, чтобы жесткопривязанный адрес не меняло на метку когда это надо. и это прям победа! если доковыряю, то потом пойду дальше смотреть почему на меню игра сыплется и кто очередной садовник... то есть убийца. интрига, что дарья донцова отдыхает.

Добавлено позже:
вот в данном случае убийца с чексуммой:
movea.l   #label_200, a0        ; 207Cнадо было оставить #$200 а не лепить label_200
« Последнее редактирование: 29 Март 2026, 17:34:20 от ghostdog3 »

Оффлайн bgr

  • Пользователь
  • Сообщений: 611
    • ВКонтакте
    • Просмотр профиля
Ti_, а много ты дизасмов в сети знаешь? Можешь ещё поделиться?

Добавлено позже:
SeregaZ, убери проверки и всё.

Добавлено позже:
Нашёл дизасм многоигровки:
https://github.com/RocketRobz/MegaGames10-Disasm
« Последнее редактирование: 28 Март 2026, 11:15:08 от bgr »

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2883
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
SeregaZ, убери проверки и всё.
легко сказать :) я ж не бум бум в ромхакинге  :lol: да дело не в этом. проблему я по сути решил. просто добавил условие, что если адрес $200 не менять его на метку, а писать как есть. на первое время сойдет. заставка стартует. потом то конечно сыплется и зависает - но это уже победа! я имею ввиду при добавлении двух нопов (а значит можно и больше, но там уже надо будет придумать автоматизацию замены коротких прыжков на длинные, но это потом). по началу бы все мутные места отловить, чтоб отделить мух от котлет - где число, а где именно что чтение из рома и значит надо метку ставить, а не голое число. вот это пока-что для меня главная задача. но все равно даже на текущем этапе - уже доволен как слон результатом! система работает однокликово и рожает код совместимым со старым ASM68K.exe, и сраные питоны не нужны. хотелось бы конечно эмулятор еще подключить, чтобы адреса он сам автоматом выковыривал - но там пока даже не представляю как подступится. пока-что адреса вручную в листик пишу, а этот листик дизассемблер подхватывает и парсит в момент загрузки. правда дело еще от компа зависит... на старом 775, когда я его писал - медленно работало. на этом "новом" i5 9500 прям нормально, что аж можно работать без раздражения :)

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 129
  • Пол: Мужской
    • Просмотр профиля
SeregaZ, Не совсем понял что ты пытаешься сделать.
Что за игру ты ковыряешь?
Где взял меню?
Какой эмулятор используешь?
Пробовал ли запустить на реальном железе?
Для чего ты 2 нопа в начало добавлял? типа добавил 2 нопа чтобы сдвинуть адрес начала, а потом в меню ссылку поменял или что то другое?

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

вы еще помучаетесь с самостоятельной сборкой многоигрового ROM-а, так как еще не написали сборщик многоигровых ROM-ов для Mega Drive, поэтому ROM придется собирать вручную, как это делал я.
если у нас все получиться то я сам могу такой сборщик написать, просто сейчас надобности такой нет.

Добавлено позже:
ты Rambo III (W) (REV 01) [!] попробуй в иде поковырять.
я к сожалению пока не разу такого не делал, даже не знаю что для этого нужно.

Добавлено позже:
а много ты дизасмов в сети знаешь? Можешь ещё поделиться?
Я находил где-то 13 штук, это не считая официальные исходники. Точно не помню где я их все находил, но большинство из них я скачал с Romhacking.net там раньше был тип disassembler, сейчас не могу что-то похожее найти. Если нужно могу скинуть
« Последнее редактирование: 28 Март 2026, 18:01:15 от SegaMark »