* Можно добавить исправление контрольной суммы SNES, это не влияет на запуск в эмуляторе, но он пишет, когда неверная.
* Почему-то SD карту не могу выбрать. Может что-то не понял.
* Сортировку возможно лучше сделать без учёта регистра.
* Патчи читов можно сделать простого формата как список 01FFBE:0A и Game Genie как в
Game Genie Guy! (есть исходный код). Такой же формат (наверно общепринятый) на
https://gamehacking.org/, только там ещё есть интервалы и ещё некоторые приколы.
Какое сжатие поддерживает xdelta (VCDIFF)?
--------
Про xdelta почему спрашиваю. xdelta3 для винды по умолчанию добавляет сжатие (secondary compression) lzma, которое не поддерживает web-патчер
https://www.marcrobledo.com/RomPatcher.js/. Попробовал сейчас в UniPatcher - ошибка, без сжатия ещё не пробовал.
UPD: Без сжатия работает, если создан так:
xdelta3.exe -e -S -s old.bin new.bin delta.vcdiff
Если убрать -S, то по умолчанию lzma и ошибка в UniPatcher.
--------
* Можно добавить удаление/добавление
FDS заголовка. Игр для FDS мало, но некоторые старые эмуляторы понимают только с заголовком или только без. Это легко, одна сторона всегда размером 65500, а заголовок 16 байт, в котором "FDS", количество сторон и нули. Проверка остатка и всё.
Ещё иногда нужно склеивать стороны в один файл, но это, наверно, излишне.
Если что, дописывал конвертер QD <-> FDS на Python 3:
- Добавил контрольные суммы, вместо нулей, которые есть в QD, но в образах в сети они не всегда верные и хотя размер QD больше (65536), конец может обрубиться из-за контрольных сумм, но там обычно мусор.
- Возможность добавления FDS заголовка при QD -> FDS.
- Любое количество сторон (255 макс. для байта).
- Исправил некоторые баги.
https://gist.github.com/infval/18d65dd034290fb908f589dcc10c6d25--------
* Хорошо бы добавить высчитывание контрольной суммы, как в
https://www.marcrobledo.com/RomPatcher.js/. Есть отдельные программы и X-plore показывает SHA-1, MD5 (но не CRC32 :( ), но так было бы удобней.