QuotetueidjQuoteMega_MarioI considered it. Only issue is that it'd take about 614K of RAM, and I want my debug screen code to be the smallest possible, to not steal too much RAM to the game itself. One possibility, however, would be to take from the game's heap...But if it's for a crash dump the memory doesn't need to be held in reserve, it can be taken from plenty of placeby Mega_Mario - Coding
QuotetueidjIf it's for a crash log only, why not use a different area of memory to create your blue screen of death and then put the address in the XFB register when it's ready for display? I considered it. Only issue is that it'd take about 614K of RAM, and I want my debug screen code to be the smallest possible, to not steal too much RAM to the game itself. One possibility, hoby Mega_Mario - Coding
This is about our SMG2.5 project again. We want to attach a debug screen to the game so we can diagnose crashes we encounter while designing levels. The crash handler is hooked to the game's internal panic function (a function that enters an endless loop) and a few useful PPC exception vectors (ISI, DSI and two others). When entered, the crash handler turns audio off (because in most cby Mega_Mario - Coding
Okay, thanks. I'll look into that. Thank you everyone for your help! :)by Mega_Mario - Coding
Well then guess I'll just snatch libdi's code and modify it to match my needs :P I was also thinking about ways to potentially make the copying process faster. But I think I'm already reaching the maximum possible speed. SD and USB are yielding the same speed, which indicates that the drive is limiting the speed. But since I can't see any commands to set its speed, I assumeby Mega_Mario - Coding
I don't know about IOS and all, but I read that DVD access requires AHB access. I also experimented that DI_*** functions don't work at all if I don't have AHB access (DVD drive never spins and DI_GetError() always returns -6). Anyway I changed the tag to ahb_access. This way people with older HBC installs aren't going to get the random crash and be confused. Instead theyby Mega_Mario - Coding
As for DVD access, from what I read I'd need to update HBC and use <ahb_access /> instead of <no_ios_reload/>. My program is often crashing after running for a while, and the crash happens in the IRQ handler. I read that this happens when using <no_ios_reload/> and loading the app before HBC has finished initializing its network stuff. But if I don't have full AHB aby Mega_Mario - Coding
Okay, then it's all good. Oh and actually I found out that those keys aren't even needed. If I use DI_OpenPartition() and DI_Read(), IOS will handle cluster decryption transparently for me. That takes a lot of complication out!by Mega_Mario - Coding
Yep. I found out why the FST lib was freezing anyway, I overlooked some steps in the disc reading process after having modified how _read() reads data. I'll try out with my fix tomorrow. Something that also bugs me is that the FST library embeds the Wii common keys inside its code. Isn't that illegal? Wouldn't I instead be supposed to read the keys from the Wii, or have the uby Mega_Mario - Coding
Well I don't know what requires IOS patches and what doesn't, so a bit of info would be welcome. I noticed that while it reads all the file info fine, it fails at reading the files themselves, and just returns the same 16-byte pattern over and over again (which appears to be decrypted zeros). Filesystem structures are read using DI_OpenPartition() and DI_Read(), which uses DVD_LOWby Mega_Mario - Coding
The FST library seems able to decrypt stuff on its own, seeing as it contains the common keys. Haven't dug deeper into the code though.by Mega_Mario - Coding
That is all fixed, all thanks to <no_ios_reload />. I can now read files from the disc fine. I'm just concerned about homebrew loaders that aren't HBC. If they're that important, how would I handle that in the code?by Mega_Mario - Coding
Oh. By 'IOS reloading' I meant how the <no_ios_reload /> tag was missing from my meta.xml file. Sorry for the confusion.by Mega_Mario - Coding
Possible, however my code would hang in the DI_GetStatus() loop, which means that fatMountSimple() passed... but perhaps that was because of the IOS reloading stuff. I'm gonna try without that call and see. Edit- removing the libfat function calls for now, gets rid of the blackscreens. However it seems to be freezing somewhere else. Will investigate tomorrow.by Mega_Mario - Coding
I'm loading it from a SD card. I haven't made a meta.xml file or anything past the .dol because I'm lazy, but I'll try it out. Also, if HAVE_AHBPROT is already 1 when starting the app, does that mean DI stuff will work? Because I remember that at some point in my code I had forgotten to call DI_Init() and it wouldn't work either. Thanks for the info anyway :) Ediby Mega_Mario - Coding
So, first, a bit of background. I'm into SMG hacking (I have my own board about it but that's not my point here), and getting into a project called SMG2.5. We're aiming at removing the requirement of obtaining an ISO to get into SMG hacking, for obvious legality reasons. For that, I'm trying to code a little Wii program that will dump all the needed files from a SMG1 or SMG2 dby Mega_Mario - Coding