Well, technically it IS possible to install a DS application as a cia, and it will run, but let me explain...
(based on my researches) here's how the original DS boots a game (ignoring validity checks):
How did I research this? I was testing games on my flashcart to see if a game does something noticable before loading any assets, and when I was trying "Osu! Tatakae! Ouendan!", I noticed that the screen turns black on booting the game ASAP, so I thought that "I should test my theory, if TWL_FIRM jumps to garbage, or just the game crashes", so I converted the game to cia, installed it, ran, then the white screen turned to black, as it did on my flashcart, then it froze. This explains why the games crash: they try to read their assets from the (non-existing/non-matching) cartridge (remember? bare metal!), failing, thus resulting in a crash. This also explains why you're able to boot a flashcart by installing its firmware on the 3DS (I'm not taking credits, Apache Thunder discovered it WAY before I did ).
But in theory it would be "easy" as writing a DSi homebrew application to begin the load sequence of game booting, PATCH the game code to ask the loader homebrew to load the assets from *insert storage device name here* instead of the game cart, then continue game booting normally, but it's not that easy. Not easy at all. Very hard,almost impossible.
Q'n'A
TL;DR: you can't play DS ROMs as a cia unless you have the original cartridge inserted
TL;DR: shorter explaination here: https://gbatemp.net/threads/389106/page-6#post-6533728
(based on my researches) here's how the original DS boots a game (ignoring validity checks):
- reads the header of the ROM to see where are the ARM9 and ARM7 binaries stored in the ROM
- loads the binaries into the RAM to the addresses specified in the ROM header
- jumps to specific offsets in RAM, also specified in the header
- from there on the game takes over the system (DS games run on bare metal)
- the game loads stuff from the cartridge, then you can play the game
How did I research this? I was testing games on my flashcart to see if a game does something noticable before loading any assets, and when I was trying "Osu! Tatakae! Ouendan!", I noticed that the screen turns black on booting the game ASAP, so I thought that "I should test my theory, if TWL_FIRM jumps to garbage, or just the game crashes", so I converted the game to cia, installed it, ran, then the white screen turned to black, as it did on my flashcart, then it froze. This explains why the games crash: they try to read their assets from the (non-existing/non-matching) cartridge (remember? bare metal!), failing, thus resulting in a crash. This also explains why you're able to boot a flashcart by installing its firmware on the 3DS (I'm not taking credits, Apache Thunder discovered it WAY before I did ).
But in theory it would be "easy" as writing a DSi homebrew application to begin the load sequence of game booting, PATCH the game code to ask the loader homebrew to load the assets from *insert storage device name here* instead of the game cart, then continue game booting normally, but it's not that easy. Not easy at all. Very hard,
Q'n'A
- CAN I HAZ DS GAEMZ AS CIA???!!1
- No (not yet) - Can I play ROMhacks installed as cia?
- If the ROMhack patches a file in the filesystem (levels, textures, music, this kind of stuff), then no, since the files are loaded from the cartridge, but if it only patches the code (trainers, cheats, Wiimmfi), then yes
- Can I cheat?
- If you have the original game cart, technically yes, since the CODE is loaded from the cia (read above for explaination), so if you use a code patcher on the ROM, then convert it to a cia, install it, insert your gamecard, then run the cia, then BOOM, you're cheating without a flashcart/cheat device
- This means I can play online games with Wiimmfi?
- In theory, yes. If you patch the ROM with the Wiimmfi patcher, then install it as a cia, insert your cartridge, then run the cia, then you should be able to play Wiimmfi
TL;DR: you can't play DS ROMs as a cia unless you have the original cartridge inserted
TL;DR: shorter explaination here: https://gbatemp.net/threads/389106/page-6#post-6533728