Лежал диск и стало интересно вытащить от туда игры. Структуру игр nes не знаю, но сходу начал писать код. Написал скрипт за полтора дня (+ где-то дней 5 делал из него exe).
На диске есть несколько папок, два файла не копируются вообще (битые?, но это не игры). А сами игры лежат в папке NEWROM в контейнерах bin без NES заголовка. Реально там 150 игр, остальные 150 оказалась копиями. В зависимости от размера (их всего 4 вида) я прописал заголовки:
40960 => 4e45531a 020101 000000000000000000
49152 => 4e45531a 020231 000000000000000000
65536 => 4e45531a 020431 000000000000000000
131072 => 4e45531a 080021 000000000000000000
Если найдёте на других дисках другие размеры дайте знать я добавлю. В целом большинство сконверченных игр запускаются (во FCEUX), но некоторые нет, либо криво (29). Причин может быть две почему так:
1) заголовок может быть не подходящим, так как я не разбираюсь особо. Желательно как-то определять кол-во блоков кода и графики (PRG,CHR), но я не знаю как, может здешние знающие подскажут.
2) некоторые игры такие как contra, rockman имели один байт который мешал запуску во FCEUX (а DVD-плееру он не мешал, видимо фсеукс привиредливый). И когда я находил этот байт в сравнении с оригиналом, и менял то игра начинала запускаться.
Для этих двух игр я сделал ещё такие исправления по 1 байту.
Те же остальные что не работают нужно сравнивать с оригинальными файлами но для этого нужно знать название. В hex редакторе вроде не нашёл. Надеюсь на обратную связь чтобы добавлять исправления.
Вот список не запускающихся (или кривых) :
G003
G018
G020
G034
G035
G046
G047
G048
G052
G068
G106
G117
G119
G121
G129
G143
G148
G156
G200
G201
G205
G212
G219
G252
G254
G273
G274
G283
G285
Как использовать: поместите exe конвертера в папку с bin файлами и запустите. Появится папка output с nes играми.
скачать 150 игр:]скачать конвертер:]