N64:N64blur

From ConsoleMods Wiki
Revision as of 15:05, 26 April 2022 by Agizmo (talk | contribs) (1.0 update complete. Still WIP. All the links go to the correct place (assembler games forum archive). Next plan is to move codes from Bob's Google Sheet to a table within the wiki. Need to rewrite opinion statements and pull details from the forums into )
Jump to navigation Jump to search
agizmo

Many Nintendo 64 games use software to add a blurring effect, presumably to smooth out the jagged, low-resolution 3D graphics. This seemed to do a great job back in 1996, when almost everyone played on a CRT with composite video. This blurring effect sometimes doesn't scale well to modern TV's and luckily, people figured out ways to turn if off on most games, if desired.

This page is a culmination of work done by many different people in the retro gaming community; The picture below is a result of their work and the improvements that can be made in these games (click the picture for a full-sized view). Also, see the video next to it from My Life In Gaming that does an excellent job explaining everything!

Comparison of N64 Anti-alias enable and disabled

Provided ID could not be validated.

Introduction:

Describing how the N64 gets its "blur" is a bit complicated and involves both hardware and software. First, there's basic anti-aliasing, which "smooths" the image. In the game Quake, developers actually added an option to disable this filter in the video options, where its simply called "filter". The fact that the option exists at all led game hackers to figure out how exactly to turn that software filter off using gameshark codes (or patched roms).

The N64 hardware itself ads a horizontal blur feature that also softens the image, which is completely different from the blur discussed above. Both internal HDMI mods offer a feature to disable this, as well as some advanced RGB mods.

Remove filters with software:

People on the Assemblergames forum found a way to use Gameshark codes to turn off software anti-aliasing in a similar manner to the way Quake does it. These codes can be implemented on original cartridges by using a Gameshark, however newer versions of the Gameshark are required (you can upgrade old versions with this method). If you own a ROM cart, you can download patches from Poregon's website and either use software such as Lunar IPS to patch the rom, or use your romcart's software to toggle them on or off before starting a game. This is much easier then manually entering each code and very convenient. These patches are also available in Smokemonster's rompacks: http://n64.poregon.com/shared/

List of Gameshark Codes

Auto-Patcher

saturnu also created a patcher, currently on version 0.4.0:
https://assemblergames.org/viewtopic.php?t=22454&start=180#p330133


Technical Information:

Here are links to more technical information about how these blur filters work and how to discover patches yourself.

xdaniel and saturnu both posted good explanations of how the Game Shark codes work and how to find them yourself:
https://assemblergames.org/viewtopic.php?t=22454&start=100#p330049
https://assemblergames.org/viewtopic.php?t=22454&start=100#p330052

saturnu sent this tutorial for gscc, which I think is the software the Game Shark people use to find the temp framebuffer readouts of the VI-Register values, that are rewritten. His post on Assemblergames describes the VI-Register but is missing how to find these values in in the rdram memory: http://doc.kodewerx.org/hacking\_n64.html#using\_gs\_gscc

Marshall (the creator of the UltraHDMI mod) chimed in with details about how the anti-aliasing works and how it interacts with both the software and hardware 'de-blur' mods: http://retroactive.be/forum/viewtopic.php?f=8&t=7&start=360#p784