Автор Тема: puNES  (Прочитано 47511 раз)

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

Оффлайн evgs

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
puNES
« : 15 Март 2012, 19:23:28 »
**************************************************************************************************************
puNES - тактово-точный кроссплатформенный эмулятор NES/Famicom/Dendy, написанный на языке C.
Доступны версии под Windows и Linux (32- и 64-разрядные)
Разработка началась в 2010 году. Автор - FHorse с форума nesdev.com.
Исходный код пока закрыт, но в будущем планируется перевести проект на OpenSource.
На текущий момент puNES является одним из лучших эмуляторов NES для казуального геймера,
которому не нужны спец.возможности, наподобие TAS и дебаггера.

По данным tasvideos.org эмулятор лидирует в общем зачёте точности, обгоняя даже Nintendulator.

Отличительные особенности:
- единый кроссплатформенный GUI благодаря библиотеке QT.
- высокая точность.
- поддержка множества мапперов.
- высококачественная эмуляция звука.
- встроенные графические фильтры, поддержка различных TV-пропорций и режимов сглаживания.
- поддержка NTSC/PAL/Dendy режимов.
- эмуляция турбо-кнопок.
- эмуляция багов фамиклонов, таких как перепутанные emphasis bits и скважность звука.
- официальная локализация (русский язык доступен начиная с версии 0.95)

Официальная ветка форума:
http://forums.nesdev.com/viewtopic.php?f=3&t=6928

Последняя стабильная версия (ссылки обновляются автоматически):

Direct3D Windows:
http://dl.dropbox.com/u/21595068/punes.win32.d3d9.zip
http://dl.dropbox.com/u/21595068/punes.win64.d3d9.zip

SDL/OpenGL Windows:
http://dl.dropbox.com/u/21595068/punes.win32.sdl.zip
http://dl.dropbox.com/u/21595068/punes.win64.sdl.zip

SDL/OpenGL Linux:
http://dl.dropbox.com/u/21595068/punes.32bit.tar.gz
http://dl.dropbox.com/u/21595068/punes.64bit.tar.gz

Последняя wip-версия (для поиска ошибок и бета-тестинга), предоставлена FHorse:

Direct3D Windows:
https://dl.dropboxusercontent.com/u/21595068/punes64.d3d9.exe
https://dl.dropboxusercontent.com/u/21595068/punes32.d3d9.exe

SDL/OpenGL Windows:
https://dl.dropboxusercontent.com/u/21595068/punes64.sdl.exe
https://dl.dropboxusercontent.com/u/21595068/punes32.sdl.exe

SDL/OpenGL Linux:
https://dl.dropboxusercontent.com/u/21595068/punes64
https://dl.dropboxusercontent.com/u/21595068/punes32

***********************************************************************************************************


« Последнее редактирование: 19 Август 2015, 20:25:13 от Yaranga »

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1570
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: puNES
« Ответ #1 : 15 Март 2012, 20:13:40 »
Вижу ты в теме автора часто появляешься и видимо давно пользуешься им. Расскажи, чем он лучше или просто выделяется среди других эмуляторов. Не для холивара спрашиваю. Просто пока еще не добрался до дома, так что потестить не могу этот эмуль под линуксом.
« Последнее редактирование: 15 Март 2012, 20:16:26 от s1nka »

Оффлайн evgs

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #2 : 15 Март 2012, 20:55:45 »
Да ничем особо не выделяется, за исключением того, что он тактово-точный.
Battletoads'ы, FHorse и тесты подтверждают это.
Я часто сижу на несдеве, а там тема про puNES периодически всплывает.
Автор просит отзывов и предложений у народа.
Плюс ко всему, интересно под линуксом тестировать свежие версии,
мелкий и удобный бинарник с "цельным" GUI, такого давно не хватало.
Вроде и всё.
« Последнее редактирование: 21 Март 2012, 23:54:23 от evg.s »

Оффлайн riderr3

  • Пользователь
  • Сообщений: 77
  • Пол: Мужской
    • Steam
    • Youtube
    • Просмотр профиля
Re: puNES
« Ответ #3 : 16 Март 2012, 02:07:35 »
Да, пока что ещё немного сырой эмулятор. Ромы в архивах не загружает, и звук немного странный. Хорошо что и для Linux есть. Если проект не забросят, может что и получится...

Оффлайн evgs

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #4 : 16 Март 2012, 09:35:56 »
Звук не ахти, помимо рыхлости присутствуют какие-то паразитные тона, но думаю это поправят.
Насчет мапперов, кстати, уже неплохо:
Цитата
Mappers supported : 0, 1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 15, 16, 18, 19, 21, 22, 23, 24, 25, 26, 32, 33, 34, 38, 41, 56, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 82, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97, 99, 107, 108, 112, 113, 114, 115, 117, 118, 119, 120, 121, 132, 133, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 147, 148, 149, 150, 152, 154, 156, 158, 159, 171, 172, 173, 175, 176, 177, 178, 180, 182, 183, 184, 185, 186, 189, 193, 200, 201, 202, 203, 204, 205, 206, 207, 208, 212, 213, 214, 215, 216, 217, 221, 222, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 240, 241, 243, 244.
« Последнее редактирование: 25 Март 2012, 21:06:31 от evg.s »

Оффлайн B0nus

  • Пользователь
  • Сообщений: 601
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #5 : 16 Март 2012, 09:38:19 »
очень даже неплохой эмулятор, жаль только что многоигровки не грузит ещё.

Оффлайн evgs

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #6 : 16 Март 2012, 09:51:44 »
Ну, я думаю, что эмулировать все нелицензионные мапперы для многоигровок - не самый главный приоритет.
Если вся лицензия заработает без глюков, этого будет вполне достаточно.
Наверное лучше пустить все усилия на звук, оптимизацию и багфиксы.

Оффлайн B0nus

  • Пользователь
  • Сообщений: 601
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #7 : 16 Март 2012, 09:53:48 »
и зачем тогда такой эмулятор нужен будет их и так уже тыщщи.
а те кто запускает все (практически все) картриджи только два пока - nestopia и FceuX (Fceumm).

Оффлайн evgs

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #8 : 16 Март 2012, 09:55:22 »
Вложение в первом посте обновлено.
Вылетает ли эмуль сейчас при изменении размера окна и загрузке рома при использовании software-рендеринга?
« Последнее редактирование: 16 Март 2012, 09:58:38 от evg.s »

Оффлайн B0nus

  • Пользователь
  • Сообщений: 601
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #9 : 16 Март 2012, 10:28:30 »
да вылетает, сменил окно с 2х на 3х и эмулятор вылетел с ошибкой.
использую windows 7 x64/

Оффлайн evgs

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #10 : 19 Март 2012, 19:19:09 »
17.03.2012 - Исправлен баг с вылетом эмулятора при изменении размеров окна и метода рендеринга.
19.03.2012 - Исправлена "грязь" в DPCM, треугольнике и остальных каналах.
Исправлен баг в тоновых каналах (раньше проявлялся в Alien 3 - tune 2)
Исчез свистящий паразитный призвук, присутствующий везде.
Полностью переписан подавитель щелчков DPCM, стал значительно лучше.
Рендеры теперь поддерживают мультитрединг.
Изменен тип эмуляции турбо-контроллеров.

Добавлено позже:
0.53 (massive bugfix release)
Correct frequency pitch emulation in Dendy mode.
Fixed all the bugs that were going to crash the emulator in the Windows version, now are really stable.
Correct a lots of bugs in the apu emulation and now the sound is much more cleaner and precise.
Rewrite from scratch the popping sound reducer.
Thx Eugene.S for suggestions, feedback and patience.
0.54 (bugfix release)
I've forgotten to uncomment same code in new squares emulation that results in distorted sound. Correct.

- в первом посте теперь находятся автообновляемые ссылки на текущую версию.
« Последнее редактирование: 19 Март 2012, 19:22:08 от evg.s »

Оффлайн B0nus

  • Пользователь
  • Сообщений: 601
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #11 : 20 Март 2012, 13:35:14 »
уже 0.55 версия :)

Оффлайн evgs

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #12 : 20 Март 2012, 18:58:51 »
Как звук по сравнению с прошлой версией?
Тоновые каналы всё ещё грязноваты, особенно на ВЧ.
Но по сравнению с тем, что было - лучше значительно.

DPCM больше нигде не щёлкает.
Автор говорит, что эмулировать звуковую подсистему
было самой сложной частью всей работы над puNES.
« Последнее редактирование: 20 Март 2012, 19:08:02 от evg.s »

Оффлайн evgs

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #13 : 01 Август 2012, 02:18:44 »
За прошедшее время произведено много доработок и добавлена куча новых мапперов.
В целом, олдовые несдевовцы признали puNES очень перспективным эмулятором, не уступающим по точности nestopia и nintendulator:
http://nesdev.parodius.com/bbs/viewtopic.php?t=9125

И, наконец самое интересное - в течение июля была серьёзно переработана звуковая подсистема.
Добавлен качественный ресемплер (кристальная чёткость ВЧ). Звук у последней беты (064wip) на достойном уровне.
« Последнее редактирование: 04 Август 2012, 17:48:27 от evg.s »

Оффлайн evgs

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #14 : 02 Август 2012, 16:43:43 »
Зацените, как эмуляторы проходят современные тесты точности:

http://tasvideos.org/EmulatorResources/NESAccuracyTests.html
https://docs.google.com/spreadsheet/ccc?key=0AtB4s1QfNFAVdFNXR0NGdkxGeWp1cTRCbk5HNlUxNXc#gid=11

Результат удивил даже меня. Пунес оказался одним из точнейших. Мда...

Напомню, что это проект студента, изучающего C.
Просто человек изначально писал эмулятор по тактово-точным принципам - аналогичным nestopia/nintendulator/bsnes и используя всю доступную на сегодняшний день документацию.

Для справки:
Organic объяснил, что Visual65xx это еще более низкий уровень - истинно тактово-точный симулятор в математическом понимании.
Таких эмуляторов NES пока не существует. Но прогресс идёт ;). Для написания эмулей этого типа необходимо досконально изучить потроха CPU и PPU, причем послойно. Иначе никак.
« Последнее редактирование: 02 Август 2012, 17:05:11 от evg.s »

Оффлайн org

  • Пользователь
  • Сообщений: 48
    • Просмотр профиля
Re: puNES
« Ответ #15 : 02 Август 2012, 17:08:55 »
Небольшое примечание: Visual6502 тактово-точный только в плане цифровой логики.

Но учитывайте факт, что например выход APU и PPU - это аналоговые сигналы, которые на реальной приставке не идеальные (помехи от теплового движения электронов, паразитные емкости между слоями микросхемы и прочее).

Оффлайн evgs

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #16 : 05 Август 2012, 16:11:54 »

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1570
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: puNES
« Ответ #17 : 05 Август 2012, 18:28:42 »
Хороший эмуль, жаль нету плюшек в виде перемоток вперед/назад. В остальном понравилось.

Оффлайн evgs

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #18 : 05 Август 2012, 20:08:29 »
Внизу окошка ползунок бежит, если потянуть его влево, будет перемотка назад (1 деление = 5с.)

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1570
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: puNES
« Ответ #19 : 20 Сентябрь 2012, 19:36:15 »
0.68 (bugfix release)
Correct a bug introduced in version 0.66 that in some circumstances, did not allow the filling of the audio buffer in time, producing a sound skipping.

0.67
Correct the support for the D-pad in the Windows version (reported by Alterac).
In the "Standard Pad" setup added a button (1 for Keyboard and 1 for Joystick) to unbind all buttons (suggested by Alterac).
Implemented the support of Drag & Drop of roms directly in the emulator window to load them (suggested by thefox).
Other small bugfixes.

0.66
Fixed some little bugs in the apu engine (sweep and triangle) and implemented the non-linearity and interaction between audio channels. Now (finally) the apu_mixer (http://wiki.nesdev.com/w/index.php/Emulator_tests) test roms works well in puNES (I hope).

Оффлайн evgs

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #20 : 23 Сентябрь 2012, 01:21:00 »
Кому интересно послушать перепутанную скважность у Square-каналов, вот последний 0.69 WIP

Оказывается, такая "багофича" была во многих денди. Подробнее про это дело:
http://forum.emu-russia.net/viewtopic.php?p=16370#p16370 - и далее, до конца
http://forums.nesdev.com/viewtopic.php?f=9&t=8286
« Последнее редактирование: 23 Сентябрь 2012, 11:55:41 от evg.s »

Оффлайн ShadowFlash

  • Пользователь
  • Сообщений: 2264
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #21 : 23 Сентябрь 2012, 08:27:30 »
Смешно но факт - puNES 0.68 не запускает Zanac (U)

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1570
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: puNES
« Ответ #22 : 23 Сентябрь 2012, 09:04:43 »
ShadowFlash, смешно, но факт, на 0.68 играл по минуте в:
Zanac (U) [!].nes
Zanac (U) [o1].nes
Zanac (U) [o2].nes
Zanac (U) [o3].nes
Zanac (U) [t1].nes
Zanac (U) [T+Bra1.0_ROMHackBR].nes
Zanac (U) [T+Chi].nes
Zanac (U) [T+Chi][o1].nes

з.ы. debian

Оффлайн evgs

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #23 : 23 Сентябрь 2012, 11:38:24 »
Аналогично проверил Zanac (USA).nes, CRC32=2165C0C2, из набора No-Intro.
punes64_068_win, punes32_068_linux. Все работает как надо.

Оффлайн ShadowFlash

  • Пользователь
  • Сообщений: 2264
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #24 : 23 Сентябрь 2012, 12:33:53 »
Еще забавнее - ром какой-то странный у меня - не плохой дамп, ибо играл тыщу раз на mednafen и на PSP/GBA, но вот puNES его не запускает, качнул другой и завелся.

Оффлайн B0nus

  • Пользователь
  • Сообщений: 601
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #25 : 03 Октябрь 2013, 17:18:32 »
обновился до стабильной версии 0.69
http://forums.nesdev.com/viewtopic.php?t=6928

список изменений:

MMC3A and MMC3C are now full implemented.
Fixed a bug in MMC3 code and now the status bar in Mickey's Safari in Letterland is displayed correctly.
Added an option in the Audio Settings that enables the sound output of a early Famicom-clone consoles (swaps the duty cycles 25% and 50%).
Fixed a bug introduced in a previous version that did not allow the start of the "Batman - Return of the Joker".
Added support for Windows 8.
Added CLI option "--portable" for run puNES in portable mode (is no longer necessary to rename the executable even if it is still possible to do so for backwards compatibility).
Fixed the display of the parameters of the command line in the Windows version.

прямые ссылки на скачивание:

х32 http://dl.dropbox.com/u/21595068/punes.win32.zip
х64 http://dl.dropbox.com/u/21595068/punes.win64.zip

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1570
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: puNES
« Ответ #26 : 03 Октябрь 2013, 17:28:02 »
Круто.
* s1nka пошел обновляться.

Оффлайн evgs

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #27 : 03 Октябрь 2013, 17:31:48 »
Было дело, автор даже писал D3D-версию без SDL. Забросил, или нет - пока не знаю.
Бета_1333 сохранилась, под виндой D3D работает намного быстрее, чем openGL (на моей машине).

Оффлайн shikoist

  • Пользователь
  • Сообщений: 508
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #28 : 12 Октябрь 2013, 14:45:36 »
Звук потрескивает на 64-битной семёрке... Или так и должно быть? Пробовал TMNT3 (U), на VirtuaNES 0.97 потрескивания нет, а тут есть.

Оффлайн B0nus

  • Пользователь
  • Сообщений: 601
  • Пол: Мужской
    • Просмотр профиля
Re: puNES
« Ответ #29 : 04 Ноябрь 2013, 21:31:38 »
0.70 версия

http://dl.dropbox.com/u/21595068/punes.win32.zip
http://dl.dropbox.com/u/21595068/punes.win64.zip

список изменений:

Fixed some memory leaks (thanks to Valgrind).
A restriction in the code of mapper UnROM prevented the start of the "Battle Kids 2 - Mountain of Torment". Fixed.
*** Windows Version ***
In this version I've rewritten from scratch the Audio stack. I abandoned the use of SDL replaced with the XAudio2 (DirectX). With this I hope I have permanently removed the audio lag problem experienced by many.
Improved handling of reading from gamepads, now the sensitivity and accuracy are significantly better. Increased compatibility with many gamepad (thanks OldGhost).
Fixed a bug which allowed the start of the screensaver during the game session.