Is it possible to disable anti-aliasing in N64 games via GameShark cheats?

Locked
User avatar
Archive
Posts: 891479
Joined: June 25th, 2019, 11:00 am

Is it possible to disable anti-aliasing in N64 games via GameShark cheats?

Post by Archive » June 27th, 2019, 12:44 pm

posted by mdmx on Feb 4, 2016:

Unfortunately a lot of Nintendo 64 games have very blurry visuals because of anti-aliasing.

A few games do not use anti-aliasing which result in a sharper picture. For example Hydro Thunder or Automobili Lamborghini.

Quake 64 does even have an option to turn anti-aliasing on and off. That made me wonder if it's possible to turn off anti-aliasing in other games as well. Probably with a GameShark cheat code? Does anyone know if that's even possible?
 

User avatar
Archive
Posts: 891479
Joined: June 25th, 2019, 11:00 am

Is it possible to disable anti-aliasing in N64 games via GameShark cheats?

Post by Archive » June 27th, 2019, 12:44 pm

posted by Zoinkity on Feb 4, 2016:

You flip around flags on VI Status. I don't know why people seem to prefer raw pixels to smoothed images, but whatever.



Code:
VI Status A4400000
00000003 color source for framebuffer(s)
00000004 gamma divot enabled
00000008 gamma enabled
00000010 divot enabled
00000040 serrate
00000300 antialiasing mode
0: antialias and resample, always fetching extra lines
1: antialias and resample, fetching lines as needed
2: resample
3: replicate pixels without interpolation


 

User avatar
Archive
Posts: 891479
Joined: June 25th, 2019, 11:00 am

Is it possible to disable anti-aliasing in N64 games via GameShark cheats?

Post by Archive » June 27th, 2019, 12:44 pm

posted by darkspire17 on Feb 4, 2016:

FINALY
 

User avatar
Archive
Posts: 891479
Joined: June 25th, 2019, 11:00 am

Is it possible to disable anti-aliasing in N64 games via GameShark cheats?

Post by Archive » June 27th, 2019, 12:44 pm

posted by Fandangos on Feb 4, 2016:

I just watched a video discussing this today:




So the code I must enter is "A4400000", just it?
What does serrate means in 3D graphics?
 

User avatar
Archive
Posts: 891479
Joined: June 25th, 2019, 11:00 am

Is it possible to disable anti-aliasing in N64 games via GameShark cheats?

Post by Archive » June 27th, 2019, 12:44 pm

posted by mdmx on Feb 6, 2016:

unfortunately with GameShark Pro I can only search between address 0x80000400 and 0x803FFFFF:
http://doc.kodewerx.org/hacking_n64.html#gs_code_types

Does that mean it's impossible to create a GameShark code?
 

User avatar
Archive
Posts: 891479
Joined: June 25th, 2019, 11:00 am

Is it possible to disable anti-aliasing in N64 games via GameShark cheats?

Post by Archive » June 27th, 2019, 12:44 pm

posted by xdaniel on Feb 7, 2016:

All assuming I didn't mess up...

Check if/where there's a mirror of the VI Status register somewhere in memory that's accessible by the GameShark, from which the game in question writes to the actual register. In the case of Zelda OoT (NTSC v1.2), "810069EE 3216" and "81006A1E 3216" seem to do the job, as can hopefully be seen below; first photo with AA, second without.

In this case, the original value in the register at 0xA4400000 is 0x00013016. That value can also be found at addresses 0x000069EC and 0x00006A1C. So, using this file as a guideline, I arrived at 0x00013216 as the value that would disable AA but keep the rest of the display... functioning properly (0x00013316 caused the image to, um, not look very playable). And that was turned into a 16-bit write GS code, although 8-bit should be sufficient.

Anyway, I'd be glad if someone could confirm or deny that I've done this correctly.

(Edit, I'm leaning towards I've done this at least not 100% correctly, because this does cause a bunch of vertical stripes of ca. 1cm width to appear on the screen...)

Image
Image
 

User avatar
Archive
Posts: 891479
Joined: June 25th, 2019, 11:00 am

Is it possible to disable anti-aliasing in N64 games via GameShark cheats?

Post by Archive » June 27th, 2019, 12:44 pm

posted by mdmx on Feb 7, 2016:

I've connected my old Win98 Laptop to my Gameshark. With GSCC I can view Address A4400000.

I've used Quake 64 (PAL) to check the values when the filter was turned on (default) and after turning the filter off. The interesting part happens at Offset 01 and Offset 02.

Filter Off: 00 32


Image



Filter On: 01 30


Image



Offset 05 and 06 is constantly changing regardless of the filter setting.

However when I try to overwrite these values in GSCC the game immediately crashes.

edit: Found it at address 800706AC
 

User avatar
Archive
Posts: 891479
Joined: June 25th, 2019, 11:00 am

Is it possible to disable anti-aliasing in N64 games via GameShark cheats?

Post by Archive » June 27th, 2019, 12:44 pm

posted by xdaniel on Feb 7, 2016:

Try searching for the value (that is, the 32-bit value / 4 bytes) at 0xA4400000 elsewhere in memory. I've tried a couple of games - Zelda OoT, Mario 64, F-Zero X, Mario Kart 64 - all of which have exactly two copies of the value, 0x30 bytes apart from each other. These copies can be modified by the GameShark itself at least, and do affect the game.

Also, the vertical bands I mentioned in my edit to my last post go away if you disable the dither filter, i.e. bit 16. Thus OoT's 0x00013016 becomes 0x00003216, and the codes for NTSC v1.2 are 810069EC 0000, 810069EE, 3216, 81006A1C 0000 and 81006A1E 3216. The same thing for Super Mario 64 JPN is 813348BC 0000, 813348BE 3216, 813348EC 0000 and 813348EE 3216.
 

User avatar
Archive
Posts: 891479
Joined: June 25th, 2019, 11:00 am

Is it possible to disable anti-aliasing in N64 games via GameShark cheats?

Post by Archive » June 27th, 2019, 12:44 pm

posted by mdmx on Feb 7, 2016:

Thanks for your help. I'm new into game hacking. This is my first try and I'm doing it on real hardware, no emulator.

I did search for 00013016 on Turok 1 (PAL). Found the values at 0x800EF37C

When I change 0x800EF37D to 00 the image is much sharper, but anti-aliasing is still active.
When I change 0x800EF37E to 32 then anti aliasing is off. The value 33 will make it even a bit sharper. However it's not noticeable on my photos. Try it out by yourself Image

But how do I turn this into a Gameshark code?

Here are a few pics:

Default:


Image



changed 0x800EF37D to 00:


Image



changed 0x800EF37D to 00
AND changed 0x800EF37E to 32


Image



changed 0x800EF37D to 00
AND changed 0x800EF37E to 33


Image
 

User avatar
Archive
Posts: 891479
Joined: June 25th, 2019, 11:00 am

Is it possible to disable anti-aliasing in N64 games via GameShark cheats?

Post by Archive » June 27th, 2019, 12:44 pm

posted by xdaniel on Feb 7, 2016:

Nice to see it worked for you!

As for making a GS code out of that, the easiest way would probably be that you split the 32-bit value into two 16-bit ones, then make two 16-bit write codes. So with ex. 00003216 as the new value, it'll be 0000 and 3216; 16-bit writes are prefixed with 0x81 instead of 0x80 (which are 8-bit writes), so with address 0x800EF37C, the codes should be 810EF37C 0000 and 810EF37E 3216.
 

Locked