Автор Тема: Чтение SRAM-пямяти картриджа (Резервное копирование сохранений)  (Прочитано 1146 раз)

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

Оффлайн gegmaster

  • Пользователь
  • Сообщений: 87
    • Просмотр профиля
Приветствую всех! Сделал флеш-картридж по схеме Рюмика c FRAM-памятью для сохранений. Для программирования картриджа переделал DVD-плеер на MediaTek MT1389. Картридж работает, программатор читает и пишет. Теперь остро стала необходимость в резервном копировании сохранений. Причины под спойлером.
Вопрос, каким образом можно осуществить резервное копирование сохранений? Может есть какой-то способ вытащить эти сохранения с помощью программатора, в наличие есть TL866 и старенький willem? Знаю есть готовые решения на микроконтроллерах в виде дамперов, но я пока не готов к таким приобретениям.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4911
    • Просмотр профиля
Наверно не поможет, но для FlashKit MD (китайцы продают за 2400р, недавно было 2000) есть исходный код: https://krikzz.com/pub/support/flashkit-md/, можно узнать последовательность записи в регистры.

Оффлайн Rumata

  • Модератор
  • Сообщений: 24485
    • Просмотр профиля
"Схема Рюмика" - это уже пугает, ибо неизвестно, что там наворочено. Я FRAM ставлю без всяких рюмиков :)

ОЗУ в картридже читается точно так же, как ПЗУ. Только действующим является младший байт, старший не имеет значения.

Если у тебя ПЗУ 2 Мб, то проблем вообще никаких. Адресация линейная. В самом начале 3 Мб висит ОЗУ, подробности в заголовке. Для записи используется /LWR. Если ПЗУ больше 2 Мбайт, то используется дополнительный триггер, управляемый через /TIME. Есть правда вариант размещения ОЗУ выше, в 4-й Мбайт.

При использование FRAM есть некоторые сложности. Ей требуется СТРОБ АДРЕСА (где-то я об этом писал и диаграммы приводил). В приставке он формируется автоматически. В программаторе нет.

Если программатор умеет работать с FRAM, то надо делать адаптер, который будет обращаться к ОЗУ  с учётом дешифрации адреса.

Вообще странно, что там что-то слетает :-\

Оффлайн Rumata

  • Модератор
  • Сообщений: 24485
    • Просмотр профиля
для FlashKit MD
FlashKit MD на SRAM. Там всё тупо и без затей, как я писал выше.

Оффлайн gegmaster

  • Пользователь
  • Сообщений: 87
    • Просмотр профиля
Sharpnull, FlashKit MD покупать мне нет необходимости, да и не известно будет ли он работать с моим флеш-картриджем.

ибо неизвестно, что там наворочено
Схема старая давно известная. Можно переключать режим сохранений с 2мб ПЗУ и с 3мб ПЗУ, дешифрация на 74HC138 и два диода.
249521-0

При использование FRAM есть некоторые сложности. Ей требуется СТРОБ АДРЕСА
В общем простым чтением через обычный программатор, я так понял, не получится.

Оффлайн Rumata

  • Модератор
  • Сообщений: 24485
    • Просмотр профиля
Да, похоже в TL этой микросхемы нет

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4911
    • Просмотр профиля
Юмористическое решение: встроить в игру вывод SRAM на экран, можно с RLE/LZ, его быстро фотографируешь на телефон (даже что-то типа QR-кодов сделать можно). Когда приспичит, ввести назад 8-32КБ, можно модифицировать контроллер для быстрого ввода(?). UPD: 256*1024 бит / 3 бита за нажатие одной из 8 кнопок / 30 нажатий в секунду / 60 = 48.5 минуты. Если считать 8 кнопок по 1 биту и ввод каждый кадр, то всего 9-11 минут. UPD2: Подключаем 2 или 4 контроллера и время восстановления бэкапа не больше 6 минут :ohmy:
« Последнее редактирование: 26 Июль 2022, 13:49:38 от Sharpnull »

Оффлайн Rumata

  • Модератор
  • Сообщений: 24485
    • Просмотр профиля
Может проще перевод довести до ума?

Оффлайн gegmaster

  • Пользователь
  • Сообщений: 87
    • Просмотр профиля
Может проще перевод довести до ума?
Да, эта идея меня посетила одной из первых. Вот и сейчас сижу разбираюсь в ромхакинге. Думаю во всем виновата крутая заставка Шедевра, хотя могу ошибаться. Если хватит ума разобраться как ее вырезать, то возможно проблема отвалится.

Оффлайн Rumata

  • Модератор
  • Сообщений: 24485
    • Просмотр профиля
Заставку-то отрезать проблемой быть не должно. Она засунута или в хвост или в пустое место дампа. Поменять значение PC в заголовке, скорее всего как в оригинале. Вот если текст или шрифт куда-то залезли, то это хуже.

Оффлайн gegmaster

  • Пользователь
  • Сообщений: 87
    • Просмотр профиля
Поменять значение PC в заголовке, скорее всего как в оригинале.
Спасибо за подсказку. Изменил в заголовке два адреса как в оригинале и ром запустился сразу с оригинальной заставки SEGA, без заставки Шедевра.

249528-0

Ну далее только остается протестровать на железе.
« Последнее редактирование: 26 Июль 2022, 17:30:24 от gegmaster »

Оффлайн Rumata

  • Модератор
  • Сообщений: 24485
    • Просмотр профиля
Кстати.

TL866 II+
249530-0

RT809H
249532-1

Оффлайн Rumata

  • Модератор
  • Сообщений: 24485
    • Просмотр профиля
Кстати, а что это перевод Шедевра на 2 Мб? Я вижу только на 3

Оффлайн gegmaster

  • Пользователь
  • Сообщений: 87
    • Просмотр профиля
TL866 II+ RT809H
А вот это уже интересно. Тогда вопрос, если вывести из слота шину адреса A0-A14 и младшую половину шины данных D0-D7, то как управлять данной микросхемой не выпаивая ее из картриджа? Сигнал /CS заведен на дешифратор HC138, а значит нужно подать какой-то двоичный код, чтобы активировать нужный выход.
Кстати, а что это перевод Шедевра на 2 Мб? Я вижу только на 3
На сайте Шедевр автор перевода заменил патч и теперь пропатчив им оригинальный ром размер файла не меняется, а следовательно также сохранения работают.
249534-0
Размеры в роме тоже разные
« Последнее редактирование: 26 Июль 2022, 19:57:45 от gegmaster »

Оффлайн Rumata

  • Модератор
  • Сообщений: 24485
    • Просмотр профиля
значит нужно подать какой-то двоичный код, чтобы активировать нужный выход.
В первом приближении подать на А21 (у Рюмика это вроде Н20) лог. 1. (люблю я советских инженеров :D )

На сайте Шедевр автор перевода заменил патч
Внезапно o_0 Пойду посмотрю.

Оффлайн gegmaster

  • Пользователь
  • Сообщений: 87
    • Просмотр профиля
Ну в общем как и предполагал картридж без заставки Шедевр стартует как надо. Пошел тестировать до победного  :lol:

Оффлайн Rumata

  • Модератор
  • Сообщений: 24485
    • Просмотр профиля
Ждём результатов

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7393
    • Просмотр профиля
А я не понял: это что, получается, народу нравится перевод Шедевра но не нравится заставка Шедевра?

Оффлайн Rumata

  • Модератор
  • Сообщений: 24485
    • Просмотр профиля
Беда заключалась в том, что на приставке (в эмуляторе все хорошо) этот ром запускается с проблемами (не отображаются спрайты героев, глюки с текстом), но если понажимать несколько раз Reset или выключать/включать приставку, то игра запускалась нормально.
Народ от этого просто в восторге и поёт осанну Шедевру. :lol:

Оффлайн gegmaster

  • Пользователь
  • Сообщений: 87
    • Просмотр профиля
А я не понял: это что, получается, народу нравится перевод Шедевра но не нравится заставка Шедевра?
И перевод и заставка очень нравятся, но дело тут в том, что с флеш-картриджа на 60 герцовых приставках игра стартует с глюками. Я проверял это на оригинальной приставке Genesis 1 VA6, на стародельном клоне с GO-ONE(60Hz) и на новодельном клоне SM801 (60HZ), что на флешь-картридже Рюмика, что на оригинальном флеш-картридже Krikzz'а результат одинаков. Понажимав несколько раз RESET можно добиться нормального старта на этих приставках. Единственное когда он правильно запускается это когда я приставку на SM801 перевел в 50Hz.
Ни я первый обнаружил эти баги:
https://www.emu-land.net/forum/index.php/topic,81385.msg1382713.html#msg1382713


Добавлено позже:
Выявил я ситуацию при которой пропадают сохранения. Если после включения приставки на заставке с синими буквами SEGA выключить питание и снова запустить, то сохранения гарантировано слетают. Причем что на оригинальном роме, что с переводом результат один.Теперь бы понять это только флеш-карик от Рюмика этим грешит или на FlashKit cart MD - KRIKzz тоже самое. Возможно это какая то особенность FRAM памяти.
« Последнее редактирование: 27 Июль 2022, 10:08:36 от gegmaster »

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7393
    • Просмотр профиля
А мысль, что игра тупо не рассчитана на 60Гц не допускается? Какой исходный ROM и его регион? Ато их вона скока:

Оффлайн Rumata

  • Модератор
  • Сообщений: 24485
    • Просмотр профиля
Какой исходный ROM и его регион?
Амэрика :D Выше уже писалось об этом


Добавлено позже:
А мысль, что игра тупо не рассчитана на 60Гц не допускается?
В первую очередь допускается мысль, что игра тупо не проверялась на железе

Оффлайн gegmaster

  • Пользователь
  • Сообщений: 87
    • Просмотр профиля
Выявил я ситуацию при которой пропадают сохранения.
Отбой пока по потерям сохранений. Выявил что слетать стало постоянно при любом выключении приставки. Играл на клоне SM801-A1. Завел сейчас оригинал Genesis 1, как не пытался выключать сохранения остаются. Далее будем посмотреть.

А мысль, что игра тупо не рассчитана на 60Гц не допускается?
Тут как говорится за хлебом далеко ходить не надо. Берем прям из архива патча текстовый файл rom.txt и смотрим что нужно.  :)
Патч-перевод игры Shining Force 2 на русский язык.
Авторы перевода: DimOK, Nick o'DIMM

Название оригинального РОМа: Shining Force II (U) [!].gen

SHA-256: 9adf662d 09881f58 ec37d174 ab01e87a 7fcfb247 00b5f84b 26c0cd4f 351509e9
MD5: 6473b1505334ef5620d13191c18251fe
CRC32: 4815e075

Оффлайн JARL32

  • Пользователь
  • Сообщений: 605
  • Пол: Мужской
  • Verum facies
    • Просмотр профиля
В первую очередь допускается мысль, что игра тупо не проверялась на железе
Выходила же на кариках, с сохранением от батарейки, в 2005 раза три прошел.

Оффлайн gegmaster

  • Пользователь
  • Сообщений: 87
    • Просмотр профиля
Скорее всего это была версия NewGame. Более того перевод от Шедевра специально был раздут на 3 мб, чтобы не попал на картриджи NewGame, поэтому им пришлось на скорую руку сварганить свой кривой.

https://shedevr.org.ru/forum/viewtopic.php?t=4234

Отсюда можно сделать вывод, почему перевод не тестировался на реальном железе.

Оффлайн JARL32

  • Пользователь
  • Сообщений: 605
  • Пол: Мужской
  • Verum facies
    • Просмотр профиля
Нет, ньюгеймовский перевод я никогда не играл, вообще в моих краях ньюгеймовские картриджи очень редко встречались. К тому же там была и заставка шедевра и никодим с димком. Да и адрес их сайта я навсегда оттуда запомнил.

Оффлайн gegmaster

  • Пользователь
  • Сообщений: 87
    • Просмотр профиля
Возможно, не отрицаю. На форуме Шедевров (ссылка выше), тоже упоминали про какую-то версию "Шеедевр-Падис-Ньюгейм". Но найти эту версию в сети у меня не получилось. Видимо эта версия прошла мимо дамперов.


Добавлено позже:
* Shining_Force_II_U__T_Rus1_05F_Shedevr_(no_splash_screen).zip (1471.28 КБ - загружено 30 раз.) - версия рома без заставки Шедевр, полностью пройденная на железе.
« Последнее редактирование: 06 Август 2022, 10:51:03 от gegmaster »