I created a cia with the ultimate maker using another game (I used Ristar in this case but any other do) but put the name and banner of the sega cd game I wanted to inject (Sonic CD in this case).
View attachment 87477
Then used
this to extract the resulting cia.
Once I had it extracted, took a look at code.bin inside the exefs and found this
View attachment 87471
so I changed it to load rom.cue instead of rom.bin
Then added the cue and bin of the sega cd game to the romfs (japanese sega cd bios and Sonic CD in this case)
View attachment 87474
renamed the cue file from whatever the name it was to rom.cue (the same as the edited code.bin)
And last but not less changed the retroarch system directory to romfs: in the config file (so retroarch search for the sega cd bios there)
View attachment 87475
Everything done I repacked the cia, installed and in a couple minutes was playing some japanese Sonic CD
View attachment 87476
The ultimate forwarder maker hasn't been updated, I just used it to create a "false cia" with another game and then inject the sega cd bios, cue and bin files.
I have installed the sega cd cias in both, an old and new 3ds and the old 3ds is too weak to run sega cd games at full speed, only the new 3ds is capable of running them at a playable speed.
So far I have tested:
Keio Flying Squadron
Sonic the Hedgehog CD
Popful Mail
Earthworm Jim Special Edition
Batman Returns
Megarace
All of them run perfectly. I haven't tested any sega cd 32x game.