Эмуляция > Эмуляторы консолей 1-4 поколений
Эмулятор NES какой выбрать?
<< < (5/6) > >>
Ivan_XIII:
Sharpnull, а почему графические глюки есть на реальном железе (см. мое сообщение парой постов выше)? Проблема в русифицированном роме?
Sharpnull:

--- Цитата: Ivan_XIII от 26 Апрель 2025, 23:06:49 ---а почему графические глюки есть на реальном железе (см. мое сообщение парой постов выше)? Проблема в русифицированном роме?

--- Конец цитаты ---
EverDrive тоже эмулирует мапперы, поэтому могут быть такие же проблемы. Mesen конечно мог бы определять маппер по первым записям в регистры и запретить смену Mirroring на недопустимые значения. Полагаю, в EverDrive было проще не делать проверки ради одной игры. Если проблемы только в русской версии, то EverDrive также использует базу ромов, где указан правильный маппер.
UPD: Кстати, в Wai Wai World (J) [T+Rus Shedevr (11.06.2005)] на emu-land стоит бы сменить на заголовок NES 2.0 как в Konami Wai Wai World (Japan) (в начале файла 4E 45 53 1A 08 10 70 18 30 00 00 00 00 00 00 01), тогда в Mesen (последних версий) работало бы правильно.
Ivan_XIII:

--- Цитата: Sharpnull от 26 Апрель 2025, 23:24:28 ---EverDrive тоже эмулирует мапперы, поэтому могут быть такие же проблемы. Mesen конечно мог бы определять маппер по первым записям в регистры и запретить смену Mirroring на недопустимые значения. Полагаю, в EverDrive было проще не делать проверки ради одной игры. Если проблемы только в русской версии, то EverDrive также использует базу ромов, где указан правильный маппер.

--- Конец цитаты ---
Спасибо за подробный ответ. Всегда приятно читать человека, реально разбирающегося в теме.
ghostdog3:

--- Цитата: Sharpnull от 26 Апрель 2025, 23:01:04 ---Если вы про такую проблему
--- Конец цитаты ---
Да, начинается она так, относительно безобидно, но чуть позже начнётся каменные проходы, которые будут постоянно меняться, что делает прохождение почти невозможным.


--- Цитата: Sharpnull от 26 Апрель 2025, 23:01:04 ---У FCEUX проблем больше
--- Конец цитаты ---
Теория всегда проверяется практикой. Вот Кулхард, запустил Wai Wai World на Mesen, у него в летательном уровне вылезла эта кашица, перешёл на Mednafen, то же самое, потом ещё третий был какой-то модный, вроде бы BizHawk, то же самое. А у "дедушки" FCEUX таких проблем не наблюдается. И таких игр не одна и не две.

В целом, согласен с Yaranga, идеального эмулятора не существует. Тут каждый выбирает, что ему ближе - точность (вплоть до воспроизведения тех же проблем, что были на "железе") и проблемы с эмуляцией части игр или высокая совместимость, но возможные "неточности". Я для себя всегда выбираю второй вариант - мне нужно именно "ехать" (запустить и играть без проблем), а не "шашечки" (сколько пунктов набрал эмулятор в тесте на точность).
Ivan_XIII:

--- Цитата: ghostdog3 от 27 Апрель 2025, 10:34:36 ---Да, начинается она так, относительно безобидно, но чуть позже начнётся каменные проходы, которые будут постоянно меняться, что делает прохождение почти невозможным.
--- Конец цитаты ---
Я именно это и описывал. Сейчас еще раз на Фамикоме перепроверил - на Эвердрайве, благо сейвстейт был, пока летим над полями-лесами, по экрану просто пробегает полоса, а вот в космосе из-за того, что скроллинг идет как бы не с начала экрана, и в нижнюю часть попадают тайлы сверху, получается каша из камней. Кстати, еще заметил, что при подлете к боссу, пока у него женское лицо, у него вместо глаз черные квадраты, и верхняя часть тела отрисовывается снизу, пока идет скроллинг, когда останавливаемся для боя, все нормально.
А вот на японском лицензионном картридже ничего этого нет, я заморочался и пробежал по-быстрому до уровня с полетом, там все правильно рисуется. Выходит, дело таки в реализации маппера, как и сказал Sharpnull. Еще бы пиратку старую найти и посмотреть, возможно, "каша" из моего детства тоже была вызвана тем, что китайцы меняли маппер (они так часто делали).
v007:
А кто-нибудь может вышеописанное проверить на NES Mini или на свитче?

Добавлено позже:

--- Цитата: Ivan_XIII от 26 Апрель 2025, 21:01:09 ---У меня на абсолютно реальном железном Фамикоме 84-го года выпуска и Эвердрайве N8 от Тотина (оригинальном) в этом уровне проблемы с графикой
--- Конец цитаты ---
А есть возможность на флэш картридж залить оригинальный ром?
Ivan_XIII:

--- Цитата: v007 от 27 Апрель 2025, 10:52:59 ---А есть возможность на флэш картридж залить оригинальный ром?
--- Конец цитаты ---
Есть, но выделить время и поиграть смогу уже не раньше 1 мая (сейвстейт от переводного рома явно не подойдет для оригинала, чтобы быстро проверить, а сегодня уже другим занят, ну а завтра работа).
Sharpnull:

--- Цитата: ghostdog3 от 27 Апрель 2025, 10:34:36 ---Теория всегда проверяется практикой. Вот Кулхард, запустил Wai Wai World на Mesen, у него в летательном уровне вылезла эта кашица, перешёл на Mednafen, то же самое, потом ещё третий был какой-то модный, вроде бы BizHawk, то же самое. А у "дедушки" FCEUX таких проблем не наблюдается. И таких игр не одна и не две.
--- Конец цитаты ---
Я про практику и писал, у FCEUX много проблем и он уже плохо обновляется. Это не ошибка Mesen, дело в том, как задаётся маппер и как эмулятор обрабатывает его, когда он чётко не задан. Повторю, проблем бы не было, если бы Кулхард запустил оригинальный ром на Mesen 0.9.9 или последнем Mesen с заголовком рома iNES 1.0 или любую версию рома с заголовком рома NES 2.0 на последнем Mesen.
Если исправите заголовок Wai Wai World (J) [T+Rus Shedevr (11.06.2005)] https://www.emu-land.net/consoles/dendy/roms/wai-wai-world (приложил), то Кулхард больше не будет страдать в последнем Mesen. В обоих английских переводах уже NES 2.0 и работает правильно.
UPD: Я открыл код FCEUX, они специально игнорируют запись 0xFF в Mirroring Control регистр :facepalm: https://github.com/TASEmulators/fceux/blob/2b8f6e76271341616920bb7e0c54ee48570783d3/src/boards/vrc2and4.cpp#L114. Для тех кто не понял, этот костыль для конкретной игры Wai Wai World не даст записать в регистр 0xFF, если вдруг вам захочется в другой игре или хаке, обычно такое не нужно - только 2 бита учитываются, но при оптимизации нормально писать типа такого LDA #$FF STA $xx STA $9000 и сам факт костыля огорчает.
UPD2: Так же можно обмануть эмулятор, изменив файл так, чтобы контрольная сумма совпала с оригиналом, с Mesen 0.9.9 и новым такое сработает, но не BizHawk. Вот ром (CRC32Hack) с правильным полётом на Mesen 0.9.9 и новее. Использовал https://github.com/rr-/CRC-manipulator:

--- Код: ---crcmanip-cli.exe p "Wai Wai World (J) [T+Rus Shedevr (11.06.2005)].bin" hack.bin 8A96E00D -o -p 131062
--- Конец кода ---
Предварительно убрал заголовок. Программа изменила 4 байта в свободном месте.
Для перехода на уровень с полётом Game Genie - AANAPSLA. Если вводить чит в эмуляторе, ром не будет изменён.
Так, например, можно исправить работу хаков на ужасном эмуляторе NesterJ для PSP, который вручную задаёт CYCLES_PER_LINE (https://github.com/PSP-Archive/NesterJ-AoEX/blob/main/nesterj/nes/nes_set_cycles.cpp).
v007:

--- Цитата: SF_SpA от 16 Февраль 2021, 14:20:29 ---Всем привет! Подскажите, пожалуйста, какой NES эмулятор выбрать, всеми любимый FCEUX у меня лагает, точнее игры на нём работают не плавно, рывками, хотя FPS показывает 50.

--- Конец цитаты ---
Вот, интересная статья:
https://www.reddit.com/r/miniSNESmods/comments/98xjmm/nes_classic_input_lag_analysis_default_emulator/

Яндекс нормально переводит, если что.
ghostdog3:
Sharpnull, спасибо за труды! Правильно ли я понял, что любая из этих двух исправленных версий позволит воспроизвести летательный уровень в Mesen нормально? Скажите, сработают ли они в Mednafen, или под него нужен иной костыль?
Ivan_XIII:
В общем, проверил оригинальный японский ром, как и обещал (спасибо Sharpnull за GG-код сразу на полетный уровень). Тот, что у нас на Эму-ленде лежит, не заработал (серый экран после включения консоли), взял из гудсета. Проблема присутствует (см. снимки экрана, прошу прощения за колхоз, но как уж получилось, лишнее отрезал, но вроде эффект "уехавшего вверх и выехавшего снизу экрана" и "безглазого босса" видно). Для интереса проверил также два исправленных рома из сообщения от Sharpnull выше - то же самое.

Кстати, заметил еще вот что, не имеет отношения к эмулятору, этакая бонусная информация по русифицированному рому. В нем выдаются неработающие пароли (понятно, что это актуально только для тех, кто сейвстейтами не пользуется, но тем не менее). Можете для интереса проверить пароль на фото, я его сфотал, когда проходил неделю назад, перед полетом к Варуде. Игра его не принимает.
onimush:
Какой эмулятор может запустить "Super Mario Bros. 2j (Unl) [!].unf" , "Super Mario Bros. 2 (J) (LF36) [p1].nes" из goodnes ? fceux не может.
Razor:
Super Mario Bros. 2 (J) (LF36) [p1].nes запускается в Mesen
Ivan_XIII:

--- Цитата: onimush от 08 Май 2025, 10:38:45 ---Какой эмулятор может запустить "Super Mario Bros. 2j (Unl) [!].unf" , "Super Mario Bros. 2 (J) (LF36) [p1].nes" из goodnes ? fceux не может.

--- Конец цитаты ---
А можно ромы сюда прикрепить, чтобы по всему ромсету не копаться?
Razor:

--- Цитата: Ivan_XIII от 08 Май 2025, 11:16:26 ---А можно ромы сюда прикрепить
--- Конец цитаты ---
Ivan_XIII:
Super Mario Bros. 2j (Unl) [!].unf запускается в Nestopia UE 1.52.0. Второй ром в ней же не запускается. Также оба не запускаются в puNES 0.110 и Ares 135.
B0nus:
запускается обе версии в punes 0.111 и wip-версиях.
Sharpnull:

--- Цитата: onimush от 08 Май 2025, 10:38:45 ---"Super Mario Bros. 2 (J) (LF36) [p1].nes" из goodnes ? fceux не может.
--- Конец цитаты ---
Кривой заголовок, Mesen его исправляет, потому что ром есть в базе:
[DB] Initialized - 10655 games in DB
PRG CRC32: 0x25E0B714
PRG+CHR CRC32: 0x4F9BF9BC
[iNes] Mapper: 0 Sub: 0
[iNes] PRG ROM: 80 KB
[iNes] CHR ROM: 8 KB
[iNes] Mirroring: Vertical
[iNes] Battery: No
[DB] Game found in database
[DB] Mapper: 43  Sub: 0
[DB] System : NesNtsc
[DB] Mirroring: Vertical
[DB] PRG ROM: 80 KB
[DB] CHR ROM: 8 KB
[DB] Battery: No
[DB] Database info will be used instead of file header.
[Input] 2 NES controllers connectedОн есть в NES 2.0 ромсете:    <game><!-- Bootleg Singles\Super Mario Bros. 2 (YS-612).nes -->
      <prgrom size="81920" crc32="25E0B714" sha1="7E7711B911F10B4EF325B7B25A770E1DE188FE27" sum16="63F5" />
      <chrrom size="8192" crc32="F9FE2697" sha1="F5EC342A44C909D99D46AE311A4B77ED00E645EB" sum16="842C" />
      <rom size="90112" crc32="4F9BF9BC" sha1="60916E985D317B4F15D56ED328BFA43720B18ED4" />
      <pcb mapper="43" submapper="0" mirroring="V" battery="0" />
      <console type="0" region="0" />
      <expansion type="1" />
   </game>FCEUX всё равно неправильно эмулирует. Эмулятор https://unlicensed.games/libg/static.php?page=NintendulatorNRS запускает тоже и даёт выбрать варианты (в puNES тоже):


--- Цитата: onimush от 08 Май 2025, 10:38:45 ---Какой эмулятор может запустить "Super Mario Bros. 2j (Unl) [!].unf
--- Конец цитаты ---
Тоже есть в NES 2.0 ромсете и запускается через NintendulatorNRS. Но он в Bad Dumps, значит мусор:    <game><!-- Bad Dumps\Super Mario Bros. 2 (TONY-I).nes -->
      <prgrom size="81920" crc32="04F65D2F" sha1="1168F5F0642DC5473C1FA5FF6CA3091CD33DA860" sum16="F109" />
      <chrrom size="8192" crc32="F9FE2697" sha1="F5EC342A44C909D99D46AE311A4B77ED00E645EB" sum16="842C" />
      <rom size="90112" crc32="EA7682A9" sha1="A033411AE3215B7DB53E1480DD31FD8BCC25416D" />
      <pcb mapper="311" submapper="0" mirroring="V" battery="0" />
      <console type="0" region="0" />
      <expansion type="1" />
   </game>Есть с таким же названием не плохой, но маппер другой:    <game><!-- Bootleg Singles\Super Mario Bros. 2 (TONY-I).nes -->
      <prgrom size="81920" crc32="2DDD578D" sha1="C331AA93E312B6DE66D10182D56637C552FB1990" sum16="CDE9" />
      <chrrom size="8192" crc32="F9FE2697" sha1="F5EC342A44C909D99D46AE311A4B77ED00E645EB" sum16="842C" />
      <rom size="90112" crc32="8887060A" sha1="4839033E7CEE7E234ADA56F694026386C0FCAB0F" />
      <pcb mapper="43" submapper="0" mirroring="V" battery="0" />
      <console type="0" region="0" />
      <expansion type="1" />
   </game>Прикладываю три файла из NES 2.0 ромсета с правильными мапперами. Полный ромсет https://www.emu-land.net/forum/index.php/topic,90774.msg1635446.html#msg1635446. GoodNES давно стоит переименовать в BadNES.
UPD: Дополнил комментарий.
UPD2:

--- Цитата: Ivan_XIII от 01 Май 2025, 14:09:17 ---Можете для интереса проверить пароль на фото, я его сфотал, когда проходил неделю назад, перед полетом к Варуде. Игра его не принимает.
--- Конец цитаты ---
В эмуляторе работает, может символом ошиблись.
Ivan_XIII:

--- Цитата: Sharpnull от 08 Май 2025, 13:27:26 ---В эмуляторе работает, может символом ошиблись.
--- Конец цитаты ---
Перепроверю, но на консоли я и его раз 5 вводил, и с похожими символами. Но перепроверю обязательно. Спасибо, что проверили!
onimush:
В какой нес эмуль можно самостоятельно добавлять поддержку мапперов?
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии