![]() ![]() You need a Nintendo 64, a GameShark Pro with a functioning parallel port on the back, a PC with a parallel port (USB adapters for connecting printers may not work), the game you want to find codes for, and (if the game requires a GS keycode to boot) another game like Super Mario 64, Mario Kart 64 and most others to boot the system, to select the correct key code, then turn the system off again, swap in the cart that needs the keycode, and then turning everything back on. For MK64, the two results are 000EB3DC and 000EB40C.Īnother way to find the register value is more involved, as it requires some hardware. You should find the register's value in two possible memory locations, both exactly 0x30 hexadecimal (48 decimal) bytes apart.Make sure "Hex" is checked and "32 bits (aligned)" selected to the right of it. Click the "Search." button, and put the VI_STATUS value into the "Search value" textbox.The memory addresses will be used later in this guide. These addresses are unique to every game and every game revision. The next step is to find the location in memory that sets the value of the register.Take note of the 4-byte/32-bit value there.That should move the memory viewer to address A4400000. Click on the "Predefined" button and choose VI_STATUS.Go into the "Plugins" menu and select "Debugger: Memory." to open the Memory window.Launch Nemu64 and start the desired game.The easiest way to find the register's value is to use an emulator. All of the information below was sourced from information provided by xdaniel on the forum archive. The question is how to find the VI_STATUS_REG/VI_CONTROL_REG register's current value and set it. Bit 12-15 = Always 0011 for optimal operation.Bit 8-9 = Enable anti-aliasing and always resample.(has no effect because gamma is disabled) Using the diagram as an example, here is an explanation of each bit from the right to left: Below is an example diagram explaining what each bit of the register does based on its value set in Mario Kart 64. What's more, the value of the register is set by the developers in the game's code, and that information can be manipulated using ROM patches or GameShark codes. This register controls dither filtering, anti-aliasing, gamma boost, gamma filtering, and color depth. ![]() The important thing to know is the Nintendo 64 has a register called VI_STATUS_REG/VI_CONTROL_REG (address 0x04400000). The technical details are beyond the scope of this guide. People knew games like Quake 64 had options in the video menu to disable anti-aliasing, but it wasn't until 2016 when users at the forums figured out how the setting was applied and how to control it. Removing effects applied by the RCP, such as anti-aliasing and dither filtering, is more complicated. The OSSC can be configured with optimal timings to generate similar results. Products like Retroactive's UltraHDMI, Pixel FX's N64Digital, and Tim Worthington's N64RGB have "deblur" features that adjust their horizontal sampling to compensate for the interpolation. Remove Horizontal BlurĪt this time, there is no known way to disable the Nintendo 64 horizontal image interpolation through software or hardware mods. This effectively applies a smoothing filter to the image. Finally, the Nintendo 64 interpolates the image's horizontal axis from 320 to 640. First, anti-aliasing, dither filtering, and other adjustments are applied to the image by the RCP (Reality Co-Processor) based on the value set in the VI_CONTROL_REG register. 3.1 How to Find the Current Register ValueĪs explained in the My Life in Gaming video above, there are two different smoothing processing occurring to the video output of the Nintendo 64.
0 Comments
Leave a Reply. |