Romhacking.net

Romhacking => ROM Hacking Discussion => Topic started by: acediez on April 30, 2018, 12:00:22 am

Title: PS1 hack works perfectly on emulators but won't boot on consoles? (Solved)
Post by: acediez on April 30, 2018, 12:00:22 am
A follow up to my last thread (https://www.romhacking.net/forum/index.php?topic=26202.0).

As I detailed there, I ended up building my modified disc images with mkpsxiso. The hack I was working on is done, and I've had no problem when testing it in emulators (both standalone Mednafen PSX and RetroArch Beetle PSX).

I was fairly confident it would work on console since those are supposed to be very accurate and picky emulatores. However, I can't get it to load on real hardware. At best, it hangs on the PS1 boot screen (black background, red P logo).

What are some common mistakes that could've lead to this?
Any ideas of things I should check or try?

Edit: It was the ECC/ECD. Turns out images made with mkpsxiso don't guarantee a correct ECC/ECD data. I used this to fix it (http://www.romhacking.net/utilities/1264/)
Title: Re: PS1 modified game works perfectly on emulators but won't boot on consoles?
Post by: Gemini on April 30, 2018, 08:59:45 am
Missing license sectors?
Title: Re: PS1 modified game works perfectly on emulators but won't boot on consoles?
Post by: acediez on April 30, 2018, 09:29:17 am
I did add the "licensea.dat" license file when building on mkpsxiso... Is there a way that could've gone wrong?

This is my mkpsxiso xml file by the way. See something wrong?

The file order is the same as the one I read on the original game disc using IsoBuster (also, the same order on the game's own internal TOC, inside the "SLUS_005.6" file)


Edit: Thanks you. I extracted a the license header myself from the original file and replaced the one I was using. Now the game boots sometimes. It takes a longer than it should and takes a few tries (while my other games boot immediately). I also tried other methods for injecting licenses (using PSXLICENSE, manually replacing the first 16 sectors, etc) and the result is the same.

Once it gets in-game it works perfectly, just like it does in emulators. It just has trouble getting past the "Licensed by..." screen.

Is there something else that could be affecting it? Maybe something about the overall disc file size? Should I do something about the null fill?
Title: Re: PS1 modified game works perfectly on emulators but won't boot on consoles?
Post by: tvtoon on April 30, 2018, 05:11:50 pm
Watch out for files taking more sectors than file size, not only for the NULL fill.
Title: Re: PS1 modified game works perfectly on emulators but won\'t boot on consoles?
Post by: acediez on April 30, 2018, 06:21:37 pm
Watch out for files taking more sectors than file size, not only for the NULL fill.

I corrected the LBAs on the table of the game (inside the "SLUS_005.61" file)... other than that, I assume mkpsxiso puts the files on the right sectors when building the disc image.
How would I go about verifying this?

Also, should I do something about the null file? I'm not even sure why it's even there. If I changed the overall size of the disc image, should I extend or trim it to match a specific size? Or should I just leave it alone as long as the pointers point to the right addresses?

May 03, 2018, 12:08:08 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Ok, nevermind, it wasn't even the license file in the first place, it was the ECC/ECD data. Turns out images made with mkpsxiso don't guarantee a correct ECC/ECD data. I used this to fix it (http://www.romhacking.net/utilities/1264/)

I'm still curious about what to do with the null file in cases where the rebuilt disc is very different to the original disc image size. If anyone can answer the question on my last reply, I'd be very grateful!