Ok, so first off, I am a programmer, I can program in several languages, although libnds and palib are C. My question is how does software reset work, it seems to recieve an interrupt, and then jump to an address, which I assume is a hook designed for something different. But how does the function for software reset get put at that location, does the flashcard put it there on load, do flashcards use known loaders that patch this, why is it exactly that said loading mechanism is incapable of patching homebrew on many cards? I have an origional model NDS, and an R4, as well as an R4 SDHC v1.43. It seems to me that most cards have something named aling the lines of swreset.sys which contains the mechanism for jumping back to the menu, and it gets loaded into the address space for this IRQ. It really isn't very well doccumented though, if you have any insight on the matter please post.