Автор Тема: Эмулятор Nes на Playstation2 c возможностью игры вчетвером. Есть ли такой?  (Прочитано 8331 раз)

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

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5125
    • Просмотр профиля
Racooll, в эмуляторе будет нормально, если самому ограничить окно 224p и подогнать ширину.
Не разбираюсь в этом и не совсем понял, убирать Interlace не буду.

Добавил Autofire Pattern, который влияет на скорость турбо.

Сделал две тестовые сборки, убрал код для других режимов, так что в опциях ставить ничего не нужно. fceu-packed_test3_480p.elf - как прошлая попытка, но теперь StartY не изменяется. fceu-packed_test3_480p_nocrop.elf - здесь без обрезки, картинка должна быть пиксель в пиксель, если включить Best Fit. Если будет хорошо, то можно попробовать сделать для 480p без обрезки, либо оставлять чёрные полосы сверху и снизу.

Оффлайн Racooll

  • Пользователь
  • Сообщений: 96
    • Просмотр профиля
Sharpnull,
No crop версия мне нравится, гладкий скроллинг, теперь и впрямь pixel perfect. Думаю её и стоит работать. В простой версии абсолютно никаких изменений.
И ещё. Я был не прав насчет interlacing'а. Он просто сломан, возможно со времен Akuhak. Правильный interlacing off только в старой 0.90i, так что вам решать его судьбу.
« Последнее редактирование: 20 Апрель 2018, 17:43:41 от Racooll »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5125
    • Просмотр профиля
Racooll, в no crop версии коэффициенты для обрезки картинки были для всей текстуры, получается их стоило подкорректировать, но так как документацию я сильно не искал, а в эмуляторе разницы нет, это нереально отлаживать.
Тогда придётся немного отрефакторить код и добавить режим 480p (возможно 720p). К вечеру попробую сделать. Прежде чем выкладывать на GitHub ещё раз дам вам протестировать.

AKuHAK намеренно сделал 448i и 224p, потому что режим 224p, при всём своём растяжении шрифта, учитывает количество вмещающихся файлов/папок (кроме меню) и в эмуляторе работает как и задумано. В 0.90i используется 478i и 478p, там код проще и не обрезает верх/низ. Я бы вернулся к старому заданию режимов, но там используются другие коэффициенты начала (StartY) и в эмуляторе 478p высота сжимается в два раза (опять вина растяжения текстуры).

Кстати, под режимом 480p я имею в виду не тот, что был в 0.90i, а специальный, обозначается как GS_MODE_DTV_480P, полагаю Digital TV.

Оффлайн Racooll

  • Пользователь
  • Сообщений: 96
    • Просмотр профиля
Sharpnull,
Объясню что происходит на железе при crop off, может поможет. fceux передает в тв ВСЮ картинку, сам ничего не обрезает сверзу/снизу. Далее уже тв обрезает картинку сверху/снизу, нет черных полос, можно двигать изображение из fceux вверх вниз и увидеть края изображения вплоть до самого крайнего пикселя. По мне такое лучше, как на оригинальной nes, где тоже телек сам обрубал лишнее.
А стандартный fceux сам обрезает картинку и передает её на тв с рамкой. На тв уже ничего не обрезается ибо изображение и так влезает, если центровать, больше пикселей сверху/снизу увидеть нельзя (т.к они  уже обрезаны програмно)
Прикреплю фото как видна картинка с crop off, без сдвига и со сдвигом. И  также с обычной версии.

Оффлайн Racooll

  • Пользователь
  • Сообщений: 96
    • Просмотр профиля
Насчет интерлейса, подключил композитный кабель, сделал видео с версии 3.1, в 90i никаких проблем с экраном нет. Пожалуй это всё, чем посодействую в данном вопросе)

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5125
    • Просмотр профиля
Racooll,
Спасибо. Всё равно до конца не ясны причины такого поведения, но я и не собираюсь в это углубляться.
Про видео, Interlacing Off неважно, я понял что всё плохо. Смущает соотношение сторон: по высоте сжато, а должно быть 4:3.

Добавил 640x480p и 1280x720p. Опцию Interlacing не убирал, так как лень весь код править, она не влияет на эти режимы. 480p работает нормально, а 720p ставится в эмуляторе как 1280x360 и картинка растягивается неверно, самое большое что получилось установить 1280x640. Наверно косяк эмулятора, так как тестовая программа режимов тоже неправильно отображает 720p, а 1080i вообще не видно.

480p должно быть как и раньше, у 720p хоть и 16:9 с Best Fit всё равно будет 768x720 (как раз кратно 256x240).

Кстати, смотрел как работают игры PAL на NTSC. 60 FPS увеличивают скорость эмуляции, пробовал тупой способ: отбрасывать каждый 6-й кадр, тогда 50 FPS растягиваются на 60, но получается не очень.
« Последнее редактирование: 21 Апрель 2018, 19:28:35 от Sharpnull »

Оффлайн Racooll

  • Пользователь
  • Сообщений: 96
    • Просмотр профиля
Sharpnull,
Для пал подошел бы режим 576p 50 hz. Есть такой режим в gsm.

Потестил сборку, 480p прекрасно, 720p при запуске игр черный экран. Только центровка экрана не сохраняется и сбрасывается во всех режимах после выхода из игры. В целом замечательный прогресс
« Последнее редактирование: 21 Апрель 2018, 20:20:31 от Racooll »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5125
    • Просмотр профиля
Racooll, хм, не понятно почему 720p не работает, может видеопамяти не хватает. Придётся убрать. Режим 576p видел, но тогда придётся растягивать экран. Центровку посмотрю, похоже задел, не знаю должна ли она работать для 480p.
--------
Центровка точно не работает для NTSC и PAL? Что значит "не сохраняется"?  В конфиг сохраняется. Раньше центровка работала сразу после загрузки эмулятора без захода в опции? Рассмотрим конкретный случай: в настройках NTSC и Interlacing On, после загрузки эмулятора и запуска игры (без захода в опции) всё должно быть как и в прошлой версии, так как код инициализации практически такой же. Что-то нарушить мог ли только опции Display и Interlacing.
--------
Посмотрел ещё код. Там вообще центровка написана плохо. Кажется будто она работала только если каждый раз заходить в Center Screen после загрузки эмулятора, так как коэффициенты сбрасываются после загрузке эмулятора или смены Display, Interlacing.
« Последнее редактирование: 22 Апрель 2018, 09:42:40 от Sharpnull »

Оффлайн Racooll

  • Пользователь
  • Сообщений: 96
    • Просмотр профиля
Sharpnull,
Тестил 3 версии на предмет центровки. 90i (старую), 3.2 тест и akuhak 2013 года (условно новые). Новые показали идентичный результат. Во всех стоял ntsc, interlacing on. Сначала новые. Выставил экран, сохранил конфиг, зашел в игру, в игре экран такой, как выставлял, выхожу из игры, заново захожу в игру - экран сбрасывается на дефолт, надо каждый раз восстанавливать из настроек. После перезагрузки консоли центровка снова на дефолте, но из конфига можно восстановить вручную, для каждой игры заново. Кстати заметил, что из akuhak выход на эльф все же работает, но через раз, иногда нормально, иногда черный экран.
В 90i после каждой игры - не сбрасывается, а после перезагрузки, автоматически и правильно выставляется только положение по горизонтали, по вертикали - ниже чем было сохранено. Вручную из конфига всё восстанавливается норм. Ещё в 90i картинка сверху/снизу не обрезана и без рамок, но скроллинг не такой плавный как в 3.2 при 480p.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5125
    • Просмотр профиля
Racooll, как я и думал. Вы когда написали о центровке, подумал что в моей последней версии сломалось. В моих версиях никогда не выходит в ELF? Там при установке пути, если ELF на HDD, то работать не должно, а вот после перезагрузки эмулятора вероятно.
по вертикали - ниже чем было сохранено.
Там с какого-то перепоя прибавляется 22 или 11 в зависимости от Interlacing, если после центровки сменить PAL/NTSC будет тоже смещение.
но скроллинг не такой плавный как в 3.2 при 480p.
Если вы о скроллинге уровня в игре, там же 478i/p, поэтому и погрешность.

На счёт 720p, попробуйте GSM, на вики пишут, что макс. разрешение в игре, которое может использоваться - 720x576i. Остальные с GS Mode Selector.

Я попробую сделать нормальное центрирование с загрузкой/сохранением.
--------
Кстати, похоже в моих сборках (т. е. ELF-файлах, но не в исходном коде) картинки для скина не будут грузиться, потому что у меня библиотека, которая отвечает за графику, без поддержки jpeg и png, включить не получилось.
« Последнее редактирование: 22 Апрель 2018, 14:51:17 от Sharpnull »

Оффлайн Racooll

  • Пользователь
  • Сообщений: 96
    • Просмотр профиля
Sharpnull,
Через gsm у меня работают все hd режимы включая 1080p. Только в той или иной степени меняются чёткость и пропорции изображения. 720p по вертикали самый сплюснутый, а у 1080p цвета чуть зеленее обычного.
В моих версиях никогда не выходит в ELF?
Ни разу.
« Последнее редактирование: 22 Апрель 2018, 17:58:39 от Racooll »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5125
    • Просмотр профиля
Racooll, тогда вопрос об ELF больше не трогаем.
Сделал нормальную установку смещения. Проверьте сохраняется/загружается/изменяется нормально ли. Я использовал коэффициент сдвига по вертикале, так что для разных режимов сдвиг будет немного другой.
Вы сказали про 720p, что сплюснутый, но картинка и соотношение сторон хорошие, если выставить Best Fit?

Оффлайн Racooll

  • Пользователь
  • Сообщений: 96
    • Просмотр профиля
Sharpnull,
Теперь центровка работает как надо, сохраняется, загружается и не сбрасывается)
720p (GSM), сильно сплюснут и в режиме best fit. Огромные черные бордюры сверху и снизу занимают примерно треть экрана, пропорции никакие, да и по четкости не сильно лучше чем 480p.
Думаю если глобально над чем то работать, то лучше над 576p для пала, по аналогии с 480p.
Маленький твик можно сделать в быстром меню: выход из игры переместить с самый низ списка, для удобства.
« Последнее редактирование: 23 Апрель 2018, 11:11:01 от Racooll »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5125
    • Просмотр профиля
Racooll, значит 720p уберу.
У вас PAL с Interlacing On может отображаться как 4:3? Там стоит разрешение 640x512i, а Best Fit сейчас с поправкой на 4:3 и чёрную полосу внизу. В этом случае отображается правильное соотношение сторон?
Если я попытаюсь добавить 720х576p, мне Best Fit делать для 5:4 или обоих (5:4, 4:3)? Если делать только для 5:4, проблем не будет на каких-то телевизорах?

Может для NTSC/PAL без интерлейсинга всё же сделать 448p и 512p, а не 224p и 256p как сейчас.

Оффлайн Racooll

  • Пользователь
  • Сообщений: 96
    • Просмотр профиля
Sharpnull,
Best Fit сейчас с поправкой на 4:3 и чёрную полосу внизу. В этом случае отображается правильное соотношение сторон?
Изображение в целом сильно сплюснуто, большие черные полосы сверху и снизу. Пропорции явно не 4:3, скорее 6:3. В 90i гораздо лучше, полосы тоньше раза в два.
Если я попытаюсь добавить 720х576p, мне Best Fit делать для 5:4 или обоих (5:4, 4:3)?
Не понял что имеется ввиду, к сожалению)

Может для NTSC/PAL без интерлейсинга всё же сделать 448p и 512p, а не 224p и 256p как сейчас.
Сомневаюсь что такие режимы "поймут" элт телевизоры (для которых и предназначен был деинтерлейсинг).
Правильным было бы сделать так, чтобы interlacing off работал в точности как в 90i.
« Последнее редактирование: 23 Апрель 2018, 17:18:17 от Racooll »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5125
    • Просмотр профиля
В 90i тоже 640x512i, но с некоторыми изменениями. Сплюснуто всегда или только с Best Fit?
Не понял что имеется ввиду, к сожалению)
Ну, 576i каким-то образом в аналоговом телевидении считается 4:3, но 720x576p - это 5:4. Для режима 576p можно установить высоту меньше, например 540p и будет 4:3.
Сомневаюсь что такие режимы "поймут" элт телевизоры (для которых и предназначен был деинтерлейсинг).
В 90i ставилось 478p и 512p не просто так наверно.

Оставлю как есть.

Оффлайн Racooll

  • Пользователь
  • Сообщений: 96
    • Просмотр профиля
Сплюснуто всегда или только с Best Fit?
Замерил размеры выводимого изображения (ширина/высота) в режимах pal и ntsc, с best fit, в режиме пал был ром пал региона smb, и наоборот. Результат: PAL-48,5/34,2см. NTSC-55,5/38,2. Сам экран 70/39,4.
« Последнее редактирование: 24 Апрель 2018, 11:27:23 от Racooll »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5125
    • Просмотр профиля
Racooll, значит Best Fit в данном случае не подходит. А какое соотношение сторон стояло в настройках монитора?
Добавил версию с поддержкой CD/DVD, на эмуляторе работает. В версии AKuHAK была пропущена загрузка модуля, из-за этого не отображались файлы. Модуль мне не удалось скомпилировать, взял из сети.
--------
Скины всё-таки работают, хотя казалось не должны были.
« Последнее редактирование: 24 Апрель 2018, 15:59:19 от Sharpnull »

Оффлайн Racooll

  • Пользователь
  • Сообщений: 96
    • Просмотр профиля
Sharpnull,
какое соотношение сторон стояло в настройках монитора?
16:9

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5125
    • Просмотр профиля
Это наверно последний релиз. Сделал удобным меню в игре.

Оффлайн AKuHAK

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