Here's how it basically works and why you need Youtube, MH4U or Smash Bros: basically, there's an XML file included with certain cores that need extra memory. That XML file tells the core to "piggyback" off of another system app to get access to that memory. If I remember correctly, YouTube, Smash Bros, and MH4U were chosen due to the fact that they each use up a significant amount of system memory; the XML file has the title IDs of each app/game listed and tells the core to piggyback off of the first available one.
That's my basic understanding of it, but hopefully someone with a bit more technical knowledge can chime in.
ALSO: it doesn't matter what *hax you use, as those *hax are just entrypoints into the Homebrew Loader itself.
For 3dsx homebrew, I think it's more because of the way way the hax payload(s) actually work (as far as I understand): before it runs any homebrew, it uses gspwn (a way of injecting code or data into places you usually can't) to effectively hijack the application it runs under. So instead of running MH4U for example, you end up running a homebrew application. The downside to this, is if you only have small applications available, the max homebrew size can only be that size, or smaller. MAME and FBA full require around 10MB of code space to run, but a lot of 3DS games and apps are well below this, limiting known options to MH4U, Smash, their demos (I think only the MH4U demo has been tested though?), and Youtube.
With CIAs, that's all entirely unnecessary, you can have pretty much as much code as you want.
Last edited by daxtsu,