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
31
Trophies
0
Age
30
XP
65
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,180
Trophies
1
XP
3,396
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
31
Trophies
0
Age
30
XP
65
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
    SylverReZ @ SylverReZ: @Psionic Roshambo, Or drugs. +1