July 21st, 2014, 20:55 Posted By: wraggster
Pixel-Accurate Plugin for N64 (2014/07/20) is released. It's a MAME-based per-pixel-accurate render plugin for the N64 video interface.
|Due to several requests and complaints by people in Shunyuan's thread, I've decided to release a native build of angrylion's modifications to the MAME RDP code and some VI code. (Graphics plugins emulate both the RDP and the video interface or "VI".)
With the exception of a few unsolved RDP mysteries and possibly some regressions, angrylion's "little RDP plugin" has successfully corresponded to a pixel-by-pixel level of real graphical filtering accuracy as with a genuine Nintendo 64. In fact, the "SoftGraphic" plugin released by Shunyuan was based on an old, bugged trunk of this software from years ago and removes most of this extent of accuracy in exchange for some speed-ups. If you desire full speed or inaccurate, high-resolution PC hardware renders of Nintendo 64 games, do not use this plugin.
Attached are the two versions of the plugin you can use (and, in case it was not already installed on your system, the Microsoft C run-time 12.0 library). One of them renders at the "native" NTSC 640x480 resolution, for the N64's digital-to-analog conversion from raw RGB pixels to the TV screen, and the other is fixed to 320x240, which limits the emulation screen to the scope of the frame buffer pixels in RDRAM but is less accurate since the native pre-scale width has to be downscaled from 640 to 320, causing a possible offset of one pixel column.
Pixel-Accurate Plugin for N64 (2014/07/20) Changelog:
* included RPGMaster's GUI with the project
* fixed raster origin offset when not using GPU-accelerated scaling
* implemented DllTest feature to log description of chosen pixel format
* added new message display methods (warnings and status bar texts)
* added new OpenGL test methods and a SMPTE test bars screen render
* RDP commands skipping now only skips triangles, not entire command lists
* will now initialize (and usually work) after switching from other plugins
* corrected synchronization status flag to not be constant (more speed)
* now using GL_BGRA_EXT on Win32 instead of RGBA (more speed)
* no longer constantly re-creating and destroying texture objects (speed)
* clamped texture end edge coordinates with bi-linear upscale
* moved initialization of OpenGL to screen/VI update emulation thread loop
For more information and downloads, click here!
There are 0 comments - Join In and Discuss Here