Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VC crash screen + load progress #2153

Merged
merged 6 commits into from
Jan 14, 2025
Merged

VC crash screen + load progress #2153

merged 6 commits into from
Jan 14, 2025

Conversation

Rebbacus
Copy link

A port of the VC functions I did for the Majora's Mask Randomizer VC - load progress of the ROM and custom crash screens.

The PPC assembly was converted to gzi commands and is placed in the unused spaces of app1. The hooks are in the exception handler, the start-up and rom loading routines, and in cpuFindFunction to save a register value when it finds an illegal instruction.
I've played for a little bit on dolphin and wii and it seems okay.

The wii crash addresses, N64 registers and last entered recomp node
NICEcrash01

An N64 stack trace is attempted. Due to how the VC doesn't really keep track of the program counter, a guess is made on where to start. This often fails however, and can result in incorrect info or the page showing unavailable.
NICEcrash02

Wii GP registers
NICEcrash03

Wii Back Chain
NICEcrash04

Some recomp code heap stuff
NICEcrash05

Couldn't get controller polling to work, so the crash pages advance on a timer, and this doesn't include any random crash patches yet - I'd like to see what crashes get reported first.

@fenhl fenhl added Type: Bug Something isn't working Type: Enhancement New feature or request Component: Patching Affects the patching of the ROM labels Dec 21, 2023
@fenhl fenhl added Status: Needs Review Someone should be looking at it Status: Needs Testing Probably should be tested Status: Under Consideration Developers are considering whether to accept or decline the feature described labels Feb 15, 2024
@fenhl
Copy link
Collaborator

fenhl commented Apr 22, 2024

@Rebbacus Could you post a screenshot of the load screen as well please?

@Rebbacus
Copy link
Author

This will come up after the "You will need the classic controller" message when starting up the VC, and after bringing up the home menu.
Screenshot 2024-04-22 163842

@fenhl
Copy link
Collaborator

fenhl commented Apr 30, 2024

We've been discussing this internally and some concerns have been raised:

  1. The comments make it look like this is removing the existing features for using 8MB memory and remapping the D-pad. I'm assuming this isn't actually the case, but could the comments be adjusted to directly point to where these features have been moved to?
  2. The comments say it is for NACE, but if it doesn't play nice with NACJ then it'll need to be split off into its own .gzi with the correct one being determined somehow.

@fenhl fenhl added the Status: Waiting for Author Changes or response requested label Apr 30, 2024
@Rebbacus
Copy link
Author

  1. The D-pad and 8MB memory lines were present, but I've moved them up to the top with the comments for visibilty.

  2. I was under the impression the patcher was only taking US OoT wads, since the requirement pages stated it wanted the US OoT wad. Oops.
    This gzi is only good for the US version, as the offsets for the JP wad differ. I'm not sure how to get the patcher to tell them apart.

@fenhl fenhl removed the Status: Waiting for Author Changes or response requested label May 27, 2024
Main.py Outdated Show resolved Hide resolved
@cjohnson57
Copy link
Collaborator

This seems good to me, though I'd like to get some more testing on it

@cjohnson57 cjohnson57 removed the Status: Needs Review Someone should be looking at it label Dec 6, 2024
@fenhl
Copy link
Collaborator

fenhl commented Dec 27, 2024

How long is it supposed to take for the crash screen to appear? I have this PR on my branch and someone just reported getting a VC crash and not seeing the crash screen, but they reset fairly quickly.

@cjohnson57 cjohnson57 removed Status: Needs Testing Probably should be tested Status: Under Consideration Developers are considering whether to accept or decline the feature described labels Jan 13, 2025
@fenhl fenhl added this to the next milestone Jan 14, 2025
@fenhl fenhl merged commit 02a6f6a into OoTRandomizer:Dev Jan 14, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Patching Affects the patching of the ROM Type: Bug Something isn't working Type: Enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants