SuperFW 0.21 для SuperChis

Друзья, подписывайтесь на наш Telegram-канал!

Инфо РЕКЛАМА: ООО «АЕР Услуги», ИНН: 7703380158

Из интересного на AliExpress: SuperChis Prime для Game Boy Advance и DSPico с USB Type-C для Nintendo DS.

Ещё можно купить корпуса eXtremeRate: для Game Boy Advance SP или для Nintendo DS Lite.

Про SuperChis я уже рассказывал в отдельном обзоре. Там мы сравнивали его с SuperCard, а здесь разберём прошивку: от обновления до настройки игр и сохранений.

Флеш-картридж SuperChis Prime для Game Boy Advance

SuperChis работает на SuperFW от разработчика Davidgf. Да, это та самая прошивка, которую можно поставить на старый SuperCard. Поэтому если вы уже читали статью про SuperFW, то многое здесь будет знакомо.

Но у SuperChis своя сборка прошивки, есть запись игр в NOR-память, да и меню с тех пор немного поменялось.

Сначала давайте обновим прошивку. Скорее всего, картридж пришел к вам не с последней версией SuperFW. На момент написания статьи актуальна версия 0.21 — её и поставим.

Подготовка

Нам понадобится сам SuperChis, консоль и карта памяти microSD. В отличие от старого SuperCard, специально искать карту на два гигабайта здесь не нужно.

В обзоре SuperChis у меня работали карты на 32 ГБ в FAT32 и на 128 ГБ в exFAT. Карта на 512 ГБ тогда не заработала. Так что совместимость с конкретной картой всё равно стоит проверить.

Если на карте уже есть игры и сохранения, сначала скопируйте её содержимое на компьютер. Особенно папки с сохранениями и служебную папку .superfw.

Теперь скачайте SuperFW 0.21 со страницы разработчика. Для SuperChis нужен файл superfw-chis.fw.

Скопируйте этот файл на карту памяти. Переименовывать его не нужно.

Перед обновлением зарядите консоль. Во время записи прошивки выключать её или вытаскивать картридж нельзя.

Обновление прошивки

Вставляем карту памяти в SuperChis и включаем консоль. Для начала можно посмотреть, какая прошивка уже установлена. Кнопками L или R перейдите в последнюю вкладку с буквой i.

SuperFW 0.20: информация о прошивке SuperChis

В моём случае здесь написано Version 0.20 и Chis variant.

Если сразу вернуться к списку файлов и запустить superfw-chis.fw, то появится сообщение Flashing is disabled!

Обновление SuperChis заблокировано: Flashing is disabled

Это нормально. По умолчанию запись прошивки заблокирована.

Вернитесь во вкладку i и одновременно нажмите Вниз + B + Start. Внизу появится надпись Update flashing is enabled.

Разблокировка записи прошивки SuperChis

Теперь вернитесь к списку файлов, выберите superfw-chis.fw и нажмите A.

Файл superfw-chis.fw на карте памяти

Появится окно обновления. Для подтверждения нажмите L + R + Вверх.

Сначала прошивка проверит файл, а затем начнет запись.

Проверка файла SuperFW 0.21 перед обновлением

Bad firmware checksum!

Вот здесь у меня всё пошло не с первого раза. Вместо обновления появилась ошибка Bad firmware checksum!

Ошибка Bad firmware checksum при обновлении SuperChis

Я открыл свойства скачанного файла в Windows. Внизу окна была галочка «Разблокировать».

Свойства файла superfw-chis.fw в Windows: галочка Разблокировать

Поставил её, применил изменения и скопировал файл на карту памяти с заменой. Но ошибка появилась снова.

Помогло только следующее: я удалил старый superfw-chis.fw с карты памяти и заново скопировал туда разблокированный файл. После этого обновление пошло.

У разработчика есть и отдельное примечание про ошибку checksum при обновлении с 0.18 и более старых версий. Для них он предлагает использовать процедуру первой установки. У меня стояла 0.20, поэтому это уже другой случай.

Завершение обновления

Когда проверка пройдет, появится надпись Programming firmware... Дожидаемся окончания.

Запись SuperFW 0.21 в память SuperChis

Сообщение Flash update complete! означает, что прошивка записана.

Обновление прошивки SuperChis завершено

Теперь обязательно выключите и снова включите консоль. Если просто открыть вкладку с информацией, там ещё может отображаться старая версия: в памяти консоли продолжает работать 0.20.

После полного перезапуска уже видим Version 0.21.

SuperFW 0.21 Chis variant после перезапуска консоли

Всё! С обновлением закончили, теперь можно пользоваться картриджем.

Использование

Игры для Game Boy Advance копируются на карту памяти в виде файлов .gba. Их можно складывать в папки. Предварительно прогонять каждую игру через программу на компьютере не нужно.

В верхней части экрана находятся вкладки. Переключаются они кнопками L и R:

  • Недавно запущенные игры — если включен Recent ROMs;
  • Файлы на карте памяти;
  • Игры в NOR-памяти;
  • Глобальные настройки;
  • Пользовательские настройки;
  • Тестирование картриджа;
  • Информация о прошивке.

Выбор пункта — A, возврат назад — B. По спискам перемещаемся крестовиной. Значения настроек обычно меняются кнопками Влево и Вправо.

Пойдем по порядку.

Основное меню

Вкладка с дискетой показывает файлы на карте памяти. Отсюда мы и будем запускать игры.

Основное меню SuperChis со списком файлов на microSD

Выберите игру и нажмите A. Откроется окно ROM information.

Информация об игре Lost Vikings перед запуском

Здесь картридж определяет ID игры, её ревизию и тип сохранения. В данном случае это Lost Vikings: ALVE, версия 0, сохранение EEPROM (0.5KB).

Если вас всё устраивает, нажмите A на кнопке Load GBA game ROM. Игра запустится.

Но можно настроить запуск более подробно. Кнопками L и R в этом окошке переключаются страницы ROM information, Patching options и Loading options. Давайте разберем две последние вкладки.

Patching options

В этой вкладке находятся настройки патчинга игры.

Patching options: патчи, DirectSave, внутриигровое меню и RTC

Patching — какие патчи применять при запуске.

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

Patch engine — использовать патчи, созданные анализатором для этого ROM-файла. Этот вариант появляется в строке Patching только после нажатия кнопки PatchEngine внизу экрана.

Пункт Patch engine в строке Patching и кнопка PatchEngine внизу

No patching — запускать без патчей. Обычно этот вариант нужен для homebrew. Без патчей часть игр не запустится или не сможет сохраняться.

При выборе Auto в глобальных настройках прошивка предложит создать патч, если для игры ещё нет готового.

SuperFW предлагает сгенерировать патчи для неизвестного ROM

Выбираем Yes и ждем. При следующем запуске уже можно будет использовать готовый результат.

PatchEngine с кнопкой в виде треугольника — запустить такой анализ вручную. Это может пригодиться для переводов и ROM-хаков: ID у игры бывает тот же, а содержимое уже изменено. Патч от оригинальной версии в таком случае не обязательно подойдет.

Save mode

Save mode — способ работы с обычными игровыми сохранениями. Здесь два основных варианта.

DirectSave — игра записывает сохранение сразу в файл на карте памяти. Этот режим доступен для поддерживаемых игр с Flash или EEPROM. Если он доступен, обычно его и можно оставить.

SRAM — игра сохраняется во внутреннюю память картриджа, а уже потом прошивка переносит сохранение на карту памяти.

У SuperChis со SRAM-памятью сохранение после выключения консоли удерживает батарейка. У версии с FRAM питание для хранения данных не требуется. Но в обоих случаях режим в меню называется SRAM.

При этом я не рекомендую хранить сохранения внутри SRAM- или FRAM-чипа. Эта память общая для всех игр: можно забыть перенести сохранение на microSD, запустить другую игру и случайно его перезаписать. Поэтому лучше сохранять прогресс в файлах .sav на карте памяти. Если выбран Savegame save: On reboot, прошивка делает это автоматически при следующем включении консоли.

Остальные настройки

In-game menu — включить внутриигровое меню. По умолчанию оно вызывается сочетанием L + R + Start.

Emulated RTC — эмуляция часов для игр, которым они нужны. Например, для некоторых Pokémon. Если подходящего RTC-патча нет, настройка будет недоступна.

Обратите внимание: внутриигровое меню и другие дополнительные функции могут работать не во всех играх. Если после их включения появились зависания или графические ошибки, попробуйте отключить In-game menu и проверить запуск ещё раз.

Loading options

Следующая вкладка отвечает за загрузку сохранений, читы и параметры конкретного запуска.

Loading options в режиме DirectSave с загрузкой сохранения

Savegame load — что делать с сохранением при запуске игры.

Load — загрузить соответствующий .sav-файл. Это обычный вариант, если вы хотите продолжить игру.

Clear — начать игру без прежнего сохранения. В режиме DirectSave файл .sav перезаписывается уже при запуске игры. В режиме SRAM сначала очищается память картриджа, а файл на карте перезаписывается при переносе сохранения.

В режиме DirectSave пункт Savegame save показывает Automatic. Отдельно переносить данные из SRAM здесь не нужно.

Если переключить Save mode на SRAM, вариантов станет больше.

Загрузка сохранения и перенос на карту при перезапуске в режиме SRAM

Savegame save: On reboot — при следующем включении консоли прошивка перенесёт сохранение из памяти картриджа на microSD. После игры выключаем консоль, снова включаем с этой же картой и даём SuperFW закончить запись.

Savegame save: Manual — отключить автоматический перенос сохранения на карту памяти. Записать его в .sav-файл нужно вручную через файловое меню — сейчас покажу, как это сделать.

В Savegame load тоже появляется Manual. Автоматически загружать .sav прошивка не будет.

Ручная загрузка сохранения в режиме SRAM

Как перенести сохранение вручную

В основном меню откройте папку с сохранениями, выберите .sav-файл с тем же названием, что и файл игры, и нажмите A.

Ручная запись и загрузка SAV-файла через память SRAM

Write SRAM to sav — записать содержимое памяти сохранений картриджа в выбранный файл на microSD.

Load sav to SRAM — наоборот, загрузить файл с карты памяти в картридж.

Clear/Erase sav — очистить выбранное сохранение.

Cancel — вернуться назад.

Для обычного использования проще оставить загрузку Load, а запись — Automatic для DirectSave или On reboot для SRAM.

RTC, читы и сохранение настроек

RTC time — дата и время для игры с эмуляцией RTC. Если функция недоступна, вместо времени будет прочерк.

Load cheats — загрузить читы. Одного включения этого пункта недостаточно: нужна база читов, а в глобальных настройках должен быть включен Enable cheats.

Remember config — запомнить настройки патчей, DirectSave, внутриигрового меню, RTC и читов для этой игры. Выберите кнопку с дискетой и нажмите A. Значения Savegame load и Savegame save эта кнопка не запоминает. В режиме SRAM при следующем запуске они снова берутся из глобальных настроек.

Удаление и скрытие файлов

С настройками запуска разобрались. Теперь вернемся к списку файлов. Если нажать на игре Select, появится другое меню.

Меню файла: удаление, скрытие и запись игры в NOR

Delete file/directory — удалить файл или папку.

Hide file/directory — скрыть файл или папку. Сам файл при этом остается на карте памяти.

Чтобы скрытые файлы не отображались в списке, перейдите в пользовательские настройки и выставьте Show hidden files в Disabled. Если нужно снова их увидеть — выберите Enabled. После изменения нажмите Save to SD card.

Скрытие срабатывает не сразу. Лучше выключить и снова включить консоль с картриджем, чтобы список файлов обновился.

Write game to flash — записать игру во внутреннюю NOR-память SuperChis. Про эту функцию поговорим отдельно.

Запись игр в NOR-память

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

При обычном запуске ROM каждый раз загружается с microSD в оперативную память картриджа. В NOR игра остается и после выключения консоли. Поэтому при следующем запуске заново копировать весь ROM не нужно.

Кроме того, NOR может помочь с тормозами. В обзоре SuperChis я уже показывал это на примере Super Mario Advance 2 — Super Mario World: после записи в NOR игра перестала тормозить на уровне с большим количеством Купа Труп.

Для NOR есть отдельная вкладка с изображением микросхемы. Пока туда ничего не записано, она показывает Flash is empty.

Пустая NOR-память SuperChis

Возвращаемся к файлам на карте памяти, выбираем игру, нажимаем Select и затем Write game to flash.

Откроется знакомое окно информации об игре. Только кнопка внизу теперь называется Write game to flash.

Подготовка Lost Vikings к записи в NOR-память

До записи можно перейти в Patching options и выбрать режим сохранений, патчи и внутриигровое меню.

Настройка патчей перед записью в NOR: выбран режим SRAM

На скриншоте выбран SRAM. Это пример настройки, а не обязательное условие для всех игр в NOR.

Затем возвращаемся на страницу информации и подтверждаем запись кнопкой A. Ждем сообщения Game flashed successfully!

Игра успешно записана в NOR-память SuperChis

Теперь в NOR-вкладке появилась игра. Внизу видно, сколько памяти занято.

Lost Vikings в списке игр NOR: занято 4 МБ из 124 МБ

В данном случае занято 4 МБ из 124 МБ, доступных для игр. Чтобы запустить игру, выбираем её и нажимаем A, затем подтверждаем запуск.

Патчи применяются при записи в NOR. Чтобы потом переключить DirectSave на SRAM или включить внутриигровое меню, игру придётся удалить и записать заново с другими настройками. Для удаления выберите игру в NOR-вкладке и нажмите Select. Параметры загрузки сохранения, время RTC и читы можно менять при запуске, без повторной записи игры.

Карта microSD по-прежнему нужна для сохранений и настроек прошивки.

Глобальные настройки

Следующая вкладка — с гаечным ключом. Здесь задаются общие параметры и настройки запуска по умолчанию.

Обратите внимание: меню прокручивается вниз. На одном экране все пункты не помещаются.

Глобальные настройки SuperFW перед перезапуском после обновления

Menu Hot-key — сочетание кнопок для входа во внутриигровое меню. По умолчанию L + R + Start.

Game boot — способ запуска игры. Skip BIOS boot пропускает повторный запуск через BIOS. Если с игрой есть проблемы, можно попробовать вариант с BIOS.

Fast ROM loading — быстрая загрузка ROM с карты памяти. Если при загрузке появляются ошибки или игра нестабильно запускается, попробуйте отключить эту опцию.

Verify flashing — проверять данные после записи игры в NOR-память.

EWRAM overclock — ускорить работу оперативной памяти самой консоли. Это экспериментальная опция для GBA и GBA SP. На Game Boy Micro и Nintendo DS такой разгон не поддерживается. Если всё работает нормально, специально включать его не обязательно.

Настройки папок сохранений, резервных копий и читов

Save path — где хранить обычные .sav-файлы. Можно выбрать /SAVEGAME/, /SAVES/ или Next to ROM. Последний вариант означает, что сохранение будет лежать рядом с самой игрой.

Flash saves — отдельная папка для сохранений игр из NOR. Здесь выбирается /SAVEGAME/ или /SAVES/.

Скриншоты этой вкладки я сделал ещё до перезапуска после обновления. В 0.21 добавились пункты Verify flashing и Flash saves, поэтому расположение строк немного отличается.

Save backup # — сколько предыдущих копий сохранения оставлять при записи с бэкапом. При значении 0 дополнительные копии не создаются.

Savestate path — папка для мгновенных сохранений. В 0.21 это /SAVESTATE/ либо служебная папка /.superfw/savestate/, которая в меню сокращена до .sfw/savestate.

Enable cheats — включить поддержку читов. По умолчанию выключена.

Default GBA settings

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

Патчинг, внутриигровое меню и эмуляция RTC по умолчанию

Patching — режим патчинга по умолчанию:

Auto — прошивка сама выбирает подходящий вариант и при необходимости предлагает создать патч;

Built-in database — использовать встроенную базу;

Patch engine — использовать анализатор и его патчи;

No patching — не применять патчи.

In-game menu — включать внутриигровое меню по умолчанию.

Emulated RTC — включать эмуляцию часов там, где она поддерживается.

RTC time — дата и время, с которых начнут отсчёт игровые часы. Нажмите A, чтобы изменить их.

Установка даты и времени эмулируемых часов RTC

RTC speed — скорость хода игровых часов. Regular означает обычную скорость: часы идут, пока вы играете.

Но это всё равно программная эмуляция. Когда консоль выключена, считать прошедшие часы картриджу нечем.

Автозагрузка, автосохранение и Direct-Save в глобальных настройках

Savegame load — автоматически загружать сохранение при запуске игры или делать это вручную.

Savegame save — автоматически переносить сохранение из памяти картриджа на карту после перезапуска или оставить ручной режим.

Direct-Save — использовать прямую запись сохранений на карту памяти по умолчанию, если игра поддерживает этот режим.

После изменения настроек прокрутите меню до Save to SD card и нажмите A. Иначе после выключения консоли изменения не сохранятся.

Пользовательские настройки

Здесь настраивается внешний вид и поведение меню.

Пользовательские настройки SuperFW: тема, язык и последние игры

Theme color — цветовая тема. Можно оставить светлую, а можно выбрать что-нибудь другое.

Жёлтая тема SuperFW
Голубая тема SuperFW
Зелёная тема SuperFW
Фиолетовая тема SuperFW
Тёмная тема SuperFW

Language — язык интерфейса. Русский в 0.21 уже есть. В этой статье я оставил английский, чтобы названия совпадали со скриншотами.

Recent ROMs — показывать отдельную вкладку с недавно запущенными играми.

Вкладка с недавно запущенными играми SuperFW

Удобная штука, если вы играете в одну и ту же игру: не нужно каждый раз искать её в папках. В 0.21 сюда добавляются и игры, запущенные из NOR.

Чтобы убрать игру из этого списка, выберите её и нажмите Select. Сам ROM-файл при этом не удаляется.

Text speed — скорость прокрутки длинных названий и подсказок.

Show hidden files — показывать скрытые файлы. Если вы спрятали игру через Hide file/directory, а теперь не можете её найти, проверьте этот пункт.

В конце снова нажимаем Save to SD card.

Тестирование картриджа и информация

Вкладка с зеленым графиком — инструменты для проверки картриджа.

Тестирование памяти SuperChis, проверка microSD и работа с flash

SDRAM memory test — проверить оперативную память картриджа, в которую загружаются игры с microSD.

SRAM memory test — проверить память сохранений.

SRAM battery test — проверить, сохраняются ли данные после выключения. Прошивка предложит выключить консоль примерно на две минуты, затем включить и посмотреть результат. Для версии с FRAM такой тест проверяет сохранность данных, а не наличие батарейки.

Перед тестами памяти сохранений перенесите свой прогресс на карту памяти: тест записывает в эту память проверочные данные.

SD (read) benchmark — измерить скорость чтения microSD.

Flash backup — сделать резервную копию содержимого flash. Это полезно перед экспериментами с прошивкой.

Erase flash — удалить все игры из списка NOR. Прошивка картриджа при этом остаётся. Для удаления одной игры используйте Select в NOR-вкладке.

Последняя вкладка, с буквой i, показывает версию прошивки и вариант сборки. Через неё же разблокируется обновление — это мы уже сделали в начале статьи.

Внутриигровое меню

Осталось поговорить про меню, которое открывается прямо во время игры.

Если при запуске был включен In-game menu, нажмите L + R + Start. Если вы меняли сочетание в глобальных настройках, используйте своё.

Внутриигровое меню SuperFW 0.21

Часть пунктов может быть недоступна. Это зависит от игры и выбранных при запуске настроек. На светлой теме недоступные пункты выделены бледным цветом.

Resume game — вернуться в игру.

Reset — открыть варианты перезапуска и выхода.

Перезапуск игры и возврат в меню SuperChis

Reset game — перезапустить игру.

Reset to menu — вернуться в меню SuperFW. Если выбран Savegame save: On reboot, прошивка перенесёт сохранение на карту памяти.

Back to menu (skip save) — вернуться в меню, пропустив перенос сохранения. Уже записанный через DirectSave файл эта команда назад не откатывает.

Go back — вернуться на предыдущую страницу.

Save to SD card

Здесь можно сразу перенести сохранение из памяти картриджа на microSD. В версии 0.21 для этого нужно выбрать при запуске игры SRAM и Savegame save: On reboot. При DirectSave этот пункт недоступен: игра уже записывает сохранение на карту.

Запись сохранения на microSD из внутриигрового меню

Save to SD (overwrite) — записать сохранение на карту, заменив предыдущий файл.

Save to SD (with backup) — записать сохранение с резервной копией, если в Save backup # задано количество копий.

Save and quit to menu — записать сохранение и выйти в меню картриджа.

Если у вас SuperChis с SRAM и севшей батарейкой, такой перенос позволяет записать файл до выключения консоли. Главное — сначала сохраниться средствами самой игры, а уже потом переносить результат.

Savestates

Это мгновенные сохранения. Например, можно сохраниться прямо перед сложным прыжком и после неудачи вернуться в ту же точку.

Мгновенные сохранения SuperFW: временный слот памяти

Слоты с изображением микросхемы — временные сохранения в оперативной памяти. Они пропадут после выключения консоли. Количество доступных слотов зависит от свободной памяти.

Quick save — сделать мгновенное сохранение;

Quick load — загрузить его;

Make persistent — перенести его в постоянный слот на карте памяти.

Слоты с дискетой — постоянные. Там сохранение записывается на microSD и остается после выключения консоли. Для них доступны Save state, Load state и Delete.

Но мгновенные сохранения здесь не такие надежные, как в эмуляторе. В отдельных играх после загрузки могут появляться графические ошибки или зависания. Поэтому обычные игровые сохранения тоже стоит делать.

RTC clock и Cheats

RTC clock — изменить дату и время игровых часов или скорость их хода. Пункт доступен в играх с работающей эмуляцией RTC.

Cheats — выбрать читы для запущенной игры. Для этого они должны быть заранее установлены и загружены.

Файлы читов .cht хранятся в /.superfw/cheats/. Подробности по подходящей базе и названиям файлов есть в инструкции разработчика.

Что изменилось в версии 0.21

Если вы уже пользовались SuperFW, то переучиваться почти не придется. Основная логика осталась прежней.

В версии 0.21 разработчик исправил запуск некоторых модифицированных Pokémon, а также ошибки интерфейса SuperChis, PatchEngine и внутриигрового меню. Кроме того, переработаны пути сохранений, а игры из NOR теперь попадают в список недавно запущенных.

Если понадобятся дополнительные подробности, у SuperFW есть официальная документация. А про сам SuperChis, его платы и отличия от SuperCard можно почитать в обзоре картриджа.