-
Notifications
You must be signed in to change notification settings - Fork 235
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
Conversation
@Rebbacus Could you post a screenshot of the load screen as well please? |
We've been discussing this internally and some concerns have been raised:
|
|
This seems good to me, though I'd like to get some more testing on it |
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. |
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](https://private-user-images.githubusercontent.com/100238547/292121081-b38b8d2e-7dc7-4f86-bb8e-c8a449ee62d6.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4MzQwMDMsIm5iZiI6MTczODgzMzcwMywicGF0aCI6Ii8xMDAyMzg1NDcvMjkyMTIxMDgxLWIzOGI4ZDJlLTdkYzctNGY4Ni1iYjhlLWM4YTQ0OWVlNjJkNi5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQwOTIxNDNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04NmY1NzljZTVlZDg3Mzc3MTM4MWE1YTMwMGNmMDRhNTQ2MDMzNzllYmU2ZjM1MWUwN2JjZmY2MGNlOTUwNGEwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.qEK4Gh8P8czwqce-dhaXb1FBQPu6y1dPTd0F0Nhif8Y)
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](https://private-user-images.githubusercontent.com/100238547/292128264-3c7378a5-fb6d-4e6f-81e2-81ba6b8a97c7.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4MzQwMDMsIm5iZiI6MTczODgzMzcwMywicGF0aCI6Ii8xMDAyMzg1NDcvMjkyMTI4MjY0LTNjNzM3OGE1LWZiNmQtNGU2Zi04MWUyLTgxYmE2YjhhOTdjNy5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQwOTIxNDNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zMDlhZWRjNjY2OGMyZWY2ZGQ2NDhhMTJlYTM5ZmUyNjM5YWQ5MmM3NjVjZTcwMzcwODFiYmM0YmM1NTQ4N2UxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.N5ohldiMlQKnWBNR_28771U824QrNGmK3b_gCO3bmuk)
Wii GP registers
![NICEcrash03](https://private-user-images.githubusercontent.com/100238547/292129735-8a7ecb8e-7d9c-4f90-a91c-82d1dcd7961f.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4MzQwMDMsIm5iZiI6MTczODgzMzcwMywicGF0aCI6Ii8xMDAyMzg1NDcvMjkyMTI5NzM1LThhN2VjYjhlLTdkOWMtNGY5MC1hOTFjLTgyZDFkY2Q3OTYxZi5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQwOTIxNDNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yZWZlZTAxODMxZWEzZmRkYTUwYzRlMmNhODlhNDA4MzIwYmE1ZGM2NmVmY2RkM2U0MGJjN2NlYWJlMjk5OTQ1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.8iTfjp1KTovQN517SZMygBOT2R4IsGrS3V8Oa4izBdE)
Wii Back Chain
![NICEcrash04](https://private-user-images.githubusercontent.com/100238547/292129855-c3abe2f5-8c28-4dd3-99b7-0c201bc6a3d9.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4MzQwMDMsIm5iZiI6MTczODgzMzcwMywicGF0aCI6Ii8xMDAyMzg1NDcvMjkyMTI5ODU1LWMzYWJlMmY1LThjMjgtNGRkMy05OWI3LTBjMjAxYmM2YTNkOS5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQwOTIxNDNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yNThkZDYzNGEzYjUyZGViZGM5ODcxNTM4NzA1ZTgyMzYwZDU1MGQ1ZmIzZDhhMDhmNDkwMjhiZGYwNTdjOGU0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.ioIezP4X7IpgZjXY7SMMtqm4HWVzT3iIFrLhoepbC1Q)
Some recomp code heap stuff
![NICEcrash05](https://private-user-images.githubusercontent.com/100238547/292129947-99cb0954-77d5-4952-a9b8-bdcbc5f63280.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4MzQwMDMsIm5iZiI6MTczODgzMzcwMywicGF0aCI6Ii8xMDAyMzg1NDcvMjkyMTI5OTQ3LTk5Y2IwOTU0LTc3ZDUtNDk1Mi1hOWI4LWJkY2JjNWY2MzI4MC5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQwOTIxNDNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xNGNhZWE3ODg4NmQyYjhkYjczMTczYWZkY2UzYWU3ODZiZGNlZDUwYzkwY2YzNGM1YmUyNWM5YzE0ZTQ4MmJkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.Y6Rp1-K7sW8qDHWKVVcPwAgikIIJMQd3So3sGbcFEQk)
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.