Project

General

Profile

Emulator Issues #8223

Datel AGP requires default exception handlers

Added by Sonicadvance1 over 5 years ago.

Status:
Accepted
Priority:
Low
Assignee:
-
Category:
PPC
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
Yes
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

The game doesn't install exception handlers on boot like regular games that use the Nintendo SDK.
It instead relies on the handlers that the IPL install upon boot.
It does something odd that involves hitting the exception handlers that needs to be investigated.
Our non-IPL path doesn't install default handlers, but it may end up needing to do so at some point in order to properly support this game.
Since we don't only install a couple exception handlers that only do an rfi the game doesn't continue very far in the boot process without having the actual IPL running.

One could most likely start with investigating the route the game takes through the exception handlers with the IPL and attempting to replicate that without the IPL.

History

#1 Updated by mimimi over 5 years ago

Do the exception handlers from normal games work for this? Are they always the same, or are there differences? Could you dump those exception handlers when running any gamecube game, and use them for the Datel-AGP stuff?

#2 Updated by Sonicadvance1 over 5 years ago

The ones that regular games install with the SDK are the same as the ones that the IPL installs.
Just ripping the ones from the games/IPL don't seem to work, but they do cause a change in behaviour. Also we wouldn't be able to package them in Dolphin.

Creating a default exception handler that saves the required information to the exception frame is fairly easy to do.

#3 Updated by mimimi over 5 years ago

So, the exception handlers are only half of the issue?

And i wasn't thinking about packing the exception handlers in Dolphin, more like dumping them when running a gamecube game. And then add like a 3rd bios/ipl option that copies those exception handlers to memory.

Well, it seems like somebody needs to debug this to find out what exactly is going on

Also available in: Atom PDF