Автор Тема: Модифицируем игры для Sega Saturn  (Прочитано 79353 раз)

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

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8192
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« : 04 Сентябрь 2015, 19:08:21 »
Информация о модификации игр для Sega Saturn
--------------------------------------------------------------------------------------------
« Последнее редактирование: 21 Январь 2017, 16:48:09 от paul_met »

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8192
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #300 : 28 Декабрь 2024, 00:46:16 »
В случае с N64 подобный разгон ломает почти все игры. С Ps1 получше, но не уверен, точно помню игры, где разгон тоже ломал игровой процесс, все ускорялось.
Тут ещё зависит от конкретной игры - некоторые ускоряются, а другие становятся плавнее при неизменной скорости.

Оффлайн SavitarSvit

  • Пользователь
  • Сообщений: 1500
  • Пол: Мужской
  • Хирург личности
    • Youtube
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #301 : 17 Май 2025, 11:16:46 »
paul_met, а возможно ли увеличить разрешение экрана в игре waku waku puyo puyo dungeon?
Во время игры у меня постоянно ощущение, что обзор в игре маловат.

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8192
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #302 : 17 Май 2025, 14:38:54 »
paul_met, а возможно ли увеличить разрешение экрана в игре waku waku puyo puyo dungeon?
Во время игры у меня постоянно ощущение, что обзор в игре маловат.
Нет, там уже используется разрешение (352х240). Так что, для максимального качества картинки (без искажений) надо соблюдать соотношение сторон 22:15.

Оффлайн daneeall

  • Пользователь
  • Сообщений: 94
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #303 : 18 Май 2025, 12:31:38 »
WWF Wrestlemania Arcade с широкоформатным хаком рандомно высыпается в кашу, на NTSC-J VA0 через SAROO. Оригинал работает нормально.

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8192
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #304 : 18 Май 2025, 14:35:47 »
WWF Wrestlemania Arcade с широкоформатным хаком рандомно высыпается в кашу, на NTSC-J VA0 через SAROO. Оригинал работает нормально.

Во-первых, мало информации (когда появляется каша, при каком условии и т.д.).
Во-вторых, косяк может быть и на стороне Saroo (всё-таки это эмулятор привода и т.д.)
В-третьих, в случае с WW:AG, то хак не был предназначен для игры на консоли, так как в игре отсутствует механизм переключения частот CPU и смена разрешения не будет работать корректно. Но точно не должно быть так, как показано на скрине (всего-то изменены координаты отрисовки).

Оффлайн daneeall

  • Пользователь
  • Сообщений: 94
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #305 : 18 Май 2025, 15:05:11 »
Во-первых, мало информации (когда появляется каша, при каком условии и т.д.).
Во-вторых, косяк может быть и на стороне Saroo (всё-таки это эмулятор привода и т.д.)
В-третьих, в случае с WW:AG, то хак не был предназначен для игры на консоли, так как в игре отсутствует механизм переключения частот CPU и смена разрешения не будет работать корректно. Но точно не должно быть так, как показано на скрине (всего-то изменены координаты отрисовки).
Никаких особых условий не требуется. В кашу высыпается либо на первом же бое, либо через 2-3, в любом случае линейку до финала пройти невозможно. SAROO последней ревизии, прошивка 0.7 Думается что дело не в эмуляторе привода, ибо не патченный образ на нём играется без проблем. Ещё заметил что фиолетовые вертикальные полосы (те что сходятся и расходятся на экране отбивки между раундами) имеют видимый зазор по горизонтали между друг другом. В прочем, если хак не для игры на консоли, то это не важно.

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8192
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #306 : 18 Май 2025, 16:37:09 »
Никаких особых условий не требуется. В кашу высыпается либо на первом же бое, либо через 2-3, в любом случае линейку до финала пройти невозможно. SAROO последней ревизии, прошивка 0.7 Думается что дело не в эмуляторе привода, ибо не патченный образ на нём играется без проблем. Ещё заметил что фиолетовые вертикальные полосы (те что сходятся и расходятся на экране отбивки между раундами) имеют видимый зазор по горизонтали между друг другом. В прочем, если хак не для игры на консоли, то это не важно.
Ещё есть вариант, что патчится не тот образ (регион).

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8192
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #307 : 21 Май 2025, 11:19:41 »
Разблокировка FPS (Часть 2).


Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8192
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #308 : 27 Июнь 2025, 17:12:34 »
Разблокировка FPS (Часть 3).

« Последнее редактирование: 27 Июнь 2025, 18:29:22 от paul_met »

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8192
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #309 : 02 Январь 2026, 01:36:22 »
Shining Force III - Scenario 1 - расширенная версия


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

  • Пользователь
  • Сообщений: 954
  • Пол: Мужской
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #310 : 02 Январь 2026, 11:14:35 »
Как определить, какой именно у конкретной игры для Saturn файл - исполнительный? У Death Crimson с этим, например, вообще ни хрена не понятно, и даже обычные для Saturn'овских игр TXT-файлы в корневой директории отсутствуют.

Оффлайн Agent Smith

  • Пользователь
  • Сообщений: 75
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #311 : 02 Январь 2026, 11:18:54 »
Разблокировка FPS (Часть 2).
paul_met, Ютюб не работает, а все на него выкладываете.

Больше никаких вариантов?

Оффлайн Krok

  • Пользователь
  • Сообщений: 112
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #312 : 02 Январь 2026, 11:22:02 »
Agent Smith, как это не работает? випиэнки или дипиайки, и все работает, на полной скорости, в фулл хд

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8192
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Re: Модифицируем игры для Sega Saturn
« Ответ #313 : 02 Январь 2026, 11:37:51 »
Как определить, какой именно у конкретной игры для Saturn файл - исполнительный? У Death Crimson с этим, например, вообще ни хрена не понятно, и даже обычные для Saturn'овских игр TXT-файлы в корневой директории отсутствуют.
Обычно этим файлам дают имена типа "0.BIN" или просто "0", чтобы они находились в начальных секторах диска. Вообще, в зависимости от игры, файлов с кодом может быть много. А чтобы не гадать, проще воспользоваться отладкой.

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

  • Пользователь
  • Сообщений: 954
  • Пол: Мужской
    • Просмотр профиля
Re: Модифицируем игры для Sega Saturn
« Ответ #314 : 02 Январь 2026, 11:43:25 »
Обычно этим файлам дают имена типа "0.BIN" или просто "0", чтобы они находились в начальных секторах диска. Вообще, в зависимости от игры, файлов с кодом может быть много. А чтобы не гадать, проще воспользоваться отладкой.

В случае с DC приколизмусы начинаются уже с содержимого CUE, распакованного из CHDюка для соответствующего software list'а MAME.

FILE "deathcri.bin" BINARY
  TRACK 01 MODE1/2352
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    PREGAP 00:02:00
    INDEX 01 06:00:12
  TRACK 03 AUDIO
    PREGAP 00:01:33
    INDEX 01 08:04:33

Я щас один с такой структуры диска в глубочайшем афиге сижу?

Оффлайн Yaranga

  • Администратор
  • Сообщений: 14521
  • Пол: Мужской
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #315 : 02 Январь 2026, 12:23:41 »
Я щас один с такой структуры диска в глубочайшем афиге сижу?
Почему? Те кто в теме и так знают, а те кто не в теме - им скорей пофиг. Дримовскому диску для запуска нажны две сессии - это был главный прикол, из-за чего дримку не надо было чиповать и ломать другими способами.
А структура... так посмотри на cui от первой плойки - там по большей части примерно так же.

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

  • Пользователь
  • Сообщений: 954
  • Пол: Мужской
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #316 : 02 Январь 2026, 12:39:23 »
Почему? Те кто в теме и так знают, а те кто не в теме - им скорей пофиг. Дримовскому диску для запуска нажны две сессии - это был главный прикол, из-за чего дримку не надо было чиповать и ломать другими способами.
А структура... так посмотри на cui от первой плойки - там по большей части примерно так же.

Только это не Dreamcast'овская - это Saturn'овская самая первая часть серии. Или у Сатурна так же?

Оффлайн Yaranga

  • Администратор
  • Сообщений: 14521
  • Пол: Мужской
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #317 : 02 Январь 2026, 12:53:16 »
Или у Сатурна так же?
И у Сатурна, и у первой Соньки похожая структура. У Дримки обычно такая:

REM SINGLE-DENSITY AREA
FILE "Dead or Alive 2 (USA) (Track 1).bin" BINARY
  TRACK 01 MODE1/2352
    INDEX 01 00:00:00
FILE "Dead or Alive 2 (USA) (Track 2).bin" BINARY
  TRACK 02 AUDIO
    INDEX 00 00:00:00
    INDEX 01 00:02:00
REM HIGH-DENSITY AREA
FILE "Dead or Alive 2 (USA) (Track 3).bin" BINARY
  TRACK 03 MODE1/2352
    INDEX 01 00:00:00

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

  • Пользователь
  • Сообщений: 954
  • Пол: Мужской
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #318 : 02 Январь 2026, 13:10:48 »
Надыбал на SegaRetro.org один из техдоков по Сатурну. От чего может зависеть "плавающее" значение Area Code Group? Знать его важно, чтобы вычислить адрес Application Initial Program внутри диска.

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8192
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #319 : 02 Январь 2026, 13:23:56 »
От чего может зависеть "плавающее" значение Area Code Group?
Оно не плавающее, а постоянное. Внизу документа же идёт расшифровка.

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

  • Пользователь
  • Сообщений: 954
  • Пол: Мужской
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #320 : 02 Январь 2026, 13:35:26 »
Оно не плавающее, а постоянное. Внизу документа же идёт расшифровка.

А что тогда должно значить 20~100h?

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8192
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #321 : 02 Январь 2026, 14:19:17 »
А что тогда должно значить 20~100h?
Диапазон.

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

  • Пользователь
  • Сообщений: 954
  • Пол: Мужской
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #322 : 02 Январь 2026, 14:41:04 »
Диапазон.

Его-то я как раз и имел в виду под "плавающим".
Короче, вон у нас тут куски хекса в начале образа. Если учесть 16-байтные маркера секторов и взять максимальный размер кода регионов - $100 - то AIP должен начинаться с $f20, но там вместо данных, должных напоминать код - середина текста копирайтов, а сами какие-то такие данные идут лишь с $f60. Я что-то упустил при расчёте?

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8192
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #323 : 02 Январь 2026, 16:01:25 »
Его-то я как раз и имел в виду под "плавающим".
Ничего там "плавающего" нет. Данные всегда располагаются по зарезервированным для них адресам, не меняя своего местоположения. Прочитай статью "SEGA SATURN TECHNICAL BULLETIN #11" до конца и всё станет понятно.

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9514
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Re: Модифицируем игры для Sega Saturn
« Ответ #324 : 02 Январь 2026, 16:22:59 »
Я щас один с такой структуры диска в глубочайшем афиге сижу?
ммм, а что с ней не так ?

А что тогда должно значить 20~100h?
вас в школе таблицы читать не учили? вверху столбца английским по белому написано SIZE, т.е. длина, и она не фиксированная потому что IP может поддерживать один или несколько регионов

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

  • Пользователь
  • Сообщений: 954
  • Пол: Мужской
    • Просмотр профиля
Re: Модифицируем игры для Sega Saturn
« Ответ #325 : 03 Январь 2026, 05:02:59 »
ммм, а что с ней не так ?
вас в школе таблицы читать не учили? вверху столбца английским по белому написано SIZE, т.е. длина, и она не фиксированная потому что IP может поддерживать один или несколько регионов

Поддерживаемый регион у DC, как видим по первому скриншоту, только 1. Значит, AIP должен начинаться с $e40 (System ID+Security Code+монорегиональный Area Code+маркера нового сектора по смещениям 0 и $930)?

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

  • Пользователь
  • Сообщений: 954
  • Пол: Мужской
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #326 : 04 Январь 2026, 12:06:19 »
Судя по границе 2-го и 3-го секторов, система коррекции ошибок чтения на сатурновских CD также присутствует. Размеры данных для неё, я так понимаю, нужно также учитывать?

Добавлено позже:
В общем-то так и оказалось, что надо. Теперь вопрос посерьёзнее - есть ли у Сатурна какие-то свои системные переменные и стандартные вызовы BIOS'а, как у MSX или Neo-Geo? И если да, то как(ой/ая) за каким адресом закрепл(ё/е)н(а):
« Последнее редактирование: 04 Январь 2026, 13:07:43 от Томахомэ »

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8192
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #327 : 04 Январь 2026, 14:53:47 »
Теперь вопрос посерьёзнее - есть ли у Сатурна какие-то свои системные переменные и стандартные вызовы BIOS'а, как у MSX или Neo-Geo? И если да, то как(ой/ая) за каким адресом закрепл(ё/е)н(а):
Во-первых, зачем тебе это? А во-вторых, почему бы не почитать официальную документацию?

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

  • Пользователь
  • Сообщений: 954
  • Пол: Мужской
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #328 : 04 Январь 2026, 18:31:42 »
Во-первых, зачем тебе это? А во-вторых, почему бы не почитать официальную документацию?

Реверс-энжинеринг требует ясности. А когда непонятно даже толком, что где лежит... Хорошо еще, если это область после стека, куда консоль грузит данные с диска - тогда это для хранения внутриигровых данных. А вот переменные $60002dc и $6000260 (см. кусок дизасма бута всё того же Death Crimson ниже) - они для чего, учитывая, что заносится в моём случае бут в область, начинающуюся с $6002000?

Официальную техдокументацию я уже прошуровал, по самым разным PDFкам - нашел только про STACK-(M/S) и 1st READ ADDRESS. О назначении прочих областей RAM - пока ничего.

AIP:
0e20: d708  MOV.L   @($0020,PC),R7 [00000E44]
0e22: d507  MOV.L   @($001C,PC),R5 [00000E40]
0e24: 6772  MOV.L   @R7,R7
0e26: 6352  MOV.L   @R5,R3
0e28: c71b  MOVA    @($006C,PC),R0 [00000E98]
0e2a: 2032  MOV.L   R3,@R0
0e2c: c706  MOVA    @($0018,PC),R0 [00000E48]
0e2e: 6173  MOV     R7,R1
0e30: e215  MOV     #$15,R2
0e32: 6406  MOV.L   @R0+,R4
0e34: 4210  DT      R2
0e36: 2142  MOV.L   R4,@R1
0e38: 8ffb  BFS     $00000E32
0e3a: 7104  ADD     #$04,R1
0e3c: a030  BRA     $00000EA0
0e3e: 2572  MOV.L   R7,@R5

0e40: 0600 02dc

0e44: 0600 0260
<...>
0e98: 0000 0000

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8192
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Модифицируем игры для Sega Saturn
« Ответ #329 : 04 Январь 2026, 19:01:36 »
Значит, плохо смотрел.