Jump to content
  • 0

The Bish & Moan Function (Exception Handler)


Airikita
 Share

Question

IMPORTANT INFO TO HACKERS AND HARDWARE COMPATIBILITY!!!!

 

The function is 80001FF0. When this sucker goes off, it usually means that the N64 will give you a red bar. You can JR RA, NOP the function, but be aware to still check if the function is being fired.

 

However, if this piece of RAM gets called from a change you made, you are in trouble! N64 will block it. You can, however, force the condition in the code from the original code throwing that exception to skip it.

 

You can make anything run on N64 that works on Nemu this way (most likely), however this does not mean the graphics will be the same. For that, you'll need a tester to assure your maps and models are showing up perfectly on N64, or it might look like this:

 

 

20140601_065558_zps86538c62.jpg

 

 

If something crashes on Nemu, however, that doesn't mean it will work on N64. Nope.

 

 

GRAPHICS ERROR CHECK:

-------------------------------------

For the GDLT, this function will fire when the objects on-screen overflow the graphics memory for the video card:

800D670C -> GDLT error check

 

If this one fires, then you have too many models in the map on-screen. However, disabling it is fine, however the graphics on console might become multicolored in rare circumstances.

  • Like 3
Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

So basically you're making the game ignore unhandled exceptions?

I don't understand what you're implying... 80001FF0 makes the crash debugger flag, meaning on TV the red bar appears when this is triggered, causing a "crash". This sends a message to the crash debugger, which is only activated by the console.

 

If it triggers, and doesn't crash on Nemu, it will crash on the N64 console.

 

If you mean unhandled in-game, yeah it's unhandled. The stuff that Nemu doesn't handle, and such.

Link to comment
Share on other sites

  • 0

My file select hack crashes when it loads on console. And this function does not get called at all.

 

I also noticed that it is this very function I've hooked my ROM to RAM transfer in, since I thought it was only called on boot.

So yeah, I guess this doesn't always run when the game crash :(

 

Edit:

The crash was caused by a relocation offset or w/e they're called.. Those things are damn annoying.

Edited by CloudMax
Link to comment
Share on other sites

  • 0

My file select hack crashes when it loads on console. And this function does not get called at all.

 

I also noticed that it is this very function I've hooked my ROM to RAM transfer in, since I thought it was only called on boot.

So yeah, I guess this doesn't always run when the game crash :(

 

Edit:

The crash was caused by a relocation offset or w/e they're called.. Those things are damn annoying.

As I mentioned, if it crashes in Nemu, it will crash on console. 80001FF0 usually gets called when it works fine on emulator.

Other errors are not going to be part of 80001FF0.

 

Yours will crash because of relocation, but no code is able to check if the line being recalculated is incorrect, so 80001FF0 won't get called.

 

80001FF0 will usually be called with errors/crashes you won't notice on emulators (such as a bad display list conversion). But it won't necessarily go off over glitchy animations, etc. 80001FF0 goes off on hidden problems, which is Nintendo's way of testing (or blocking any modifications).

 

Also, spinout's codes use the COP 0 registers, and COP 0 registers are in charge of error checking. So, when you use spinout's codes/hacks, do change them, otherwise they will set problems on console.

 

Also, test 80001FF0 with working code hooks and hacks, Epona's damage hack did cause 80001FF0 to throw, even though it was fine on Nemu.

Link to comment
Share on other sites

  • 0

GRAPHICS ERROR CHECK:

-------------------------------------

For the GDLT, this function will fire when the objects on-screen overflow the graphics memory for the video card:

800D670C -> GDLT error check

 

If this one fires, then you have too many models in the map on-screen. Disabling it is fine, however the graphics on console might become multicolored in rare circumstances (but not during normal gameplay, usually when pausing).

 

 

Information regarding 80001FF0 was updated.

 

 

More information on GDLT:

Moving GDLT to a new RAM location causes video processing errors. It might be possible to move the GDLT, but the console does not approve.

  • Like 2
Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.