Homebrew [HELP] Looking for a basic tutorial for recompiling CIA

naisatoh

Member
OP
Newcomer
Joined
Jan 26, 2017
Messages
10
Trophies
0
Age
40
XP
80
Country
United States
Hello! Long time member, first time posting in this subforum. I am pretty new to 3DS Homebrew and have been able to figure out most of my issues reading old threads and comments. I reached a point where I'd like to dabble in customization and personalizing my home screen.

Here is what I'm trying to do:

I would like to recompile bubble2k16's 3DS emulator ports (VirtuaNES, TemperPCE, PicoDrive, and SNES9x) to have different icons and banners. Specifically, I would like the icons to be pixel-art and the banners to be the same 3D banners used for Virtual Console games.

I have tried searching various threads to figure out how to do this, but I've run into a few bumps along the way. Here's what I've done so far. Please keep in mind I am VERY new to this process and I am sure I have missed several steps along the way or am performing certain steps incorrectly.

- Download source code for the emulators from GitHub (specifically source codes from https://github.com/bubble2k16/emus3ds and https://github.com/bubble2k16/snes9x_3ds)
- Download devkitPro from GitHub for Windows (https://github.com/devkitPro/installer/releases)
- Install devkitPro and open CMD
- Navigate to emulator Makefile director
- make

I am getting a number of errors specific to certain files in the source folder. SNES9x gives me the following:

[ -d build/blargsnes_spc700 ] || mkdir -p build/blargsnes_spc700
shaderfast.v.pica shaderfast.g.pica
shaderfast2.v.pica shaderfast2.g.pica
shaderfastm7.v.pica shaderfastm7.g.pica
shaderslow.v.pica
shaderslow2.v.pica
shaderslow3.v.pica
shaderslowm7.v.pica
3dsmain.cpp
In file included from C:/snes9x/source/ppu.h:94,
from C:/snes9x/source/getset.h:93,
from C:/snes9x/source/memmap.h:305,
from C:/snes9x/source/3dsmain.cpp:19:
C:/snes9x/source/3dsgpu.h:65:5: error: 'GSPGPU_FramebufferFormats' does not name a type; did you mean 'GSPGPU_FramebufferFormat'?
65 | GSPGPU_FramebufferFormats screenFormat;
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| GSPGPU_FramebufferFormat
make[1]: *** [/opt/devkitpro/devkitARM/base_rules:80: 3dsmain.o] Error 1
make: *** [Makefile:197: build] Error 2

I am positive I'm doing several things wrong, but given my beginner level am not sure where to start. Any basic guidance would be much appreciated. If I'm in way over my head, please also let me know.
 
  • Like
Reactions: PandaPandel

PandaPandel

Active Member
Newcomer
Joined
Mar 17, 2024
Messages
41
Trophies
0
Age
30
XP
86
Country
United States
Hello! Long time member, first time posting in this subforum. I am pretty new to 3DS Homebrew and have been able to figure out most of my issues reading old threads and comments. I reached a point where I'd like to dabble in customization and personalizing my home screen.

Here is what I'm trying to do:

I would like to recompile bubble2k16's 3DS emulator ports (VirtuaNES, TemperPCE, PicoDrive, and SNES9x) to have different icons and banners. Specifically, I would like the icons to be pixel-art and the banners to be the same 3D banners used for Virtual Console games.

I have tried searching various threads to figure out how to do this, but I've run into a few bumps along the way. Here's what I've done so far. Please keep in mind I am VERY new to this process and I am sure I have missed several steps along the way or am performing certain steps incorrectly.

- Download source code for the emulators from GitHub (specifically source codes from https://github.com/bubble2k16/emus3ds and https://github.com/bubble2k16/snes9x_3ds)
- Download devkitPro from GitHub for Windows (https://github.com/devkitPro/installer/releases)
- Install devkitPro and open CMD
- Navigate to emulator Makefile director
- make

I am getting a number of errors specific to certain files in the source folder. SNES9x gives me the following:

[ -d build/blargsnes_spc700 ] || mkdir -p build/blargsnes_spc700
shaderfast.v.pica shaderfast.g.pica
shaderfast2.v.pica shaderfast2.g.pica
shaderfastm7.v.pica shaderfastm7.g.pica
shaderslow.v.pica
shaderslow2.v.pica
shaderslow3.v.pica
shaderslowm7.v.pica
3dsmain.cpp
In file included from C:/snes9x/source/ppu.h:94,
from C:/snes9x/source/getset.h:93,
from C:/snes9x/source/memmap.h:305,
from C:/snes9x/source/3dsmain.cpp:19:
C:/snes9x/source/3dsgpu.h:65:5: error: 'GSPGPU_FramebufferFormats' does not name a type; did you mean 'GSPGPU_FramebufferFormat'?
65 | GSPGPU_FramebufferFormats screenFormat;
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| GSPGPU_FramebufferFormat
make[1]: *** [/opt/devkitpro/devkitARM/base_rules:80: 3dsmain.o] Error 1
make: *** [Makefile:197: build] Error 2

I am positive I'm doing several things wrong, but given my beginner level am not sure where to start. Any basic guidance would be much appreciated. If I'm in way over my head, please also let me know.
Did you ever find a solution?
 

Maeson

Well-Known Member
Member
Joined
Apr 3, 2013
Messages
1,188
Trophies
2
XP
3,440
Country
Spain
If the only thing you wanted is to change the icon, you could simply use New Super Ultimate injector to unpack the CIA, and with the tool itself change the banner, icon and such just to rebuild it after.

Pretty simple, pretty painless, if you have a 64 bit computer at least.
 
  • Like
Reactions: PandaPandel

PandaPandel

Active Member
Newcomer
Joined
Mar 17, 2024
Messages
41
Trophies
0
Age
30
XP
86
Country
United States
If the only thing you wanted is to change the icon, you could simply use New Super Ultimate injector to unpack the CIA, and with the tool itself change the banner, icon and such just to rebuild it after.

Pretty simple, pretty painless, if you have a 64 bit computer at least.
I also figured this out!

New Super Injector is great for extracting CIA, but the issue is that you have to generate a banner.bin file from another software (IE, Bannertool, Ba-gui-nnertool)
Like you mentioned Super Injector only works with the Icon.icn file.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • AncientBoi
  • BakerMan
    I rather enjoy a life of taking it easy. I haven't reached that life yet though.
  • Psionic Roshambo @ Psionic Roshambo:
    Pokemon Black I played that one a lot
  • K3Nv2 @ K3Nv2:
    Honestly never messed with Pokémon on ds much
  • mthrnite @ mthrnite:
    I played pokemon once, was bored, never tried again
  • Psionic Roshambo @ Psionic Roshambo:
    Oh Dragon Quest IX
  • K3Nv2 @ K3Nv2:
    Spent like 5 hours on switch one never touched it again
  • Psionic Roshambo @ Psionic Roshambo:
    Sentinel of the stary skies
  • K3Nv2 @ K3Nv2:
    Ds is 20 years old this year
  • Psionic Roshambo @ Psionic Roshambo:
    So MJ no longer wants to play with it?
  • K3Nv2 @ K3Nv2:
    He put it down when the 3ds came out
  • SylverReZ @ SylverReZ:
    @K3Nv2, RIP Felix does great videos on the PS3 yellow-light-of-death.
  • Jayro @ Jayro:
    Eventhough the New 3DS XL is more powerful, I still feel like the DS Lite was a more polished system. It's a real shame that it never got an XL variant keeping the GBA slot. You'd have to go on AliExpress and buy an ML shell to give a DS phat the unofficial "DS Lite" treatment, and that's the best we'll ever get I'm afraid.
    +1
  • Jayro @ Jayro:
    The phat model had amazingly loud speakers tho.
    +1
  • SylverReZ @ SylverReZ:
    @Jayro, I don't see whats so special about the DS ML, its just a DS lite in a phat shell. At least the phat model had louder speakers, whereas the lite has a much better screen.
    +1
  • SylverReZ @ SylverReZ:
    They probably said "Hey, why not we combine the two together and make a 'new' DS to sell".
  • Veho @ Veho:
    It's a DS Lite in a slightly bigger DS Lite shell.
    +1
  • Veho @ Veho:
    It's not a Nintendo / iQue official product, it's a 3rd party custom.
    +1
  • Veho @ Veho:
    Nothing special about it other than it's more comfortable than the Lite
    for people with beefy hands.
    +1
  • Jayro @ Jayro:
    I have yaoi anime hands, very lorge but slender.
  • Jayro @ Jayro:
    I'm Slenderman.
  • Veho @ Veho:
    I have hands.
  • BakerMan @ BakerMan:
    imagine not having hands, cringe
    +1
  • AncientBoi @ AncientBoi:
    ESPECIALLY for things I do to myself :shy::blush::evil:.... :tpi::rofl2:
    AncientBoi @ AncientBoi: ESPECIALLY for things I do to myself :shy::blush::evil:.... :tpi::rofl2: