I haven't fixed the disc read error, but I've successfully found the reason Wario Land - Shake It! (NTSC) hangs on a black screen. I'll post a code diff here in about 15 mins or so once I verify it works with his original codebase.
Edit: Yep, that fixed it. Seems the entry point is being stored in 0x817f0000 for some unknown reason. It isn't needed, and breaks at least this one title.
Edit 2: I stupidly ran diff in reverse on the files. It's fixed in the above code listing.
Edit: Yep, that fixed it. Seems the entry point is being stored in 0x817f0000 for some unknown reason. It isn't needed, and breaks at least this one title.
Code:
--- source/apploader.c.oldÂÂÂÂ2008-11-05 05:00:22.000000000 -0500
+++ source/apploader.cÂÂÂÂ2008-11-05 04:55:35.000000000 -0500
@@ -415,7 +415,7 @@
ÂÂÂÂmemcpy((void*)0x80001800, (char*)0x80000000, 6);ÂÂÂÂ// For WiiRD
ÂÂÂÂmemcpy((void*)0x80003180, (char*)0x80000000, 4);ÂÂÂÂ// online check code, seems offline games clear it?
-ÂÂÂÂmemcpy((void*)0x817f0000, entryholder, 4);ÂÂÂÂ// entrypoint
+ÂÂÂÂ//memcpy((void*)0x817f0000, entryholder, 4);ÂÂÂÂ// entrypoint
ÂÂÂÂDCFlushRange((void*)0x80000000, 0x17ff000);ÂÂÂÂ// Just store the entry point here
ÂÂÂÂ
ÂÂÂÂ// Ocarina stuff
@@ -649,7 +649,7 @@
ÂÂÂÂmemcpy((void*)0x80001800, (char*)0x80000000, 6);ÂÂÂÂ// For WiiRD
ÂÂÂÂmemcpy((void*)0x80003180, (char*)0x80000000, 4);ÂÂÂÂ// online check code, seems offline games clear it?
-ÂÂÂÂmemcpy((void*)0x817f0000, entryholder, 4);ÂÂÂÂ// entrypoint
+ÂÂÂÂ//memcpy((void*)0x817f0000, entryholder, 4);ÂÂÂÂ// entrypoint
ÂÂÂÂDCFlushRange((void*)0x80000000, 0x17ff000);ÂÂÂÂ// Just store the entry point here
ÂÂÂÂ// Ocarina stuff
Edit 2: I stupidly ran diff in reverse on the files. It's fixed in the above code listing.