[Beta] Super Mario World Port

GatoFiestero

Well-Known Member
Member
Joined
Jan 21, 2020
Messages
350
Trophies
0
Age
36
XP
1,629
Country
Costa Rica
I try to test this using my patched rom for Spanish Language and it actually works.

So, if you get this works in widescreen will be amazing.

Because right now I can run widescreen using this: https://github.com/VitorVilela7/wide-snes

And I got the patch for spanish language using this: https://tradusquare.es/proyectos/super-mario-world/

But I can't merge both implementations.

So, this is an excellent oportunity to get Super Mario World Widescreen in spanish.
 

The_Chaotician

Hoist the Colours!
Member
Joined
Feb 9, 2017
Messages
205
Trophies
0
XP
1,430
Country
United Kingdom
On my Windows PC, on the MSYS environment with DevKitPro installed I do use the next commands:

Bash:
pacman -Syu --needed --noconfirm git make pkg-config switch-dev switch-sdl2 switch-tools
cd ~
git clone --recursive https://github.com/snesrev/smw
cd ~/smw
cp "C:\ROMS\smw.sfc" ~/smw/
git fetch origin pull/3/head
git checkout -b pr3 FETCH_HEAD
cd ~/smw/src/platform/switch
make -j$(nproc)

I have the ROM on my PC on the folder C:\ROMS\ you need the original ROM to run the build.

and note the git fetch and git checkout commands, they commit the PR #3 which in this case is the Switch support pending to be approved on the repo.
Keep getting the error below, any ideas?

make[1]: *** [/opt/devkitpro/libnx/switch_rules:81: /home/user/smw/src/platform/switch/smw.elf] Error 1
make: *** [Makefile:179: bin] Error 2
 
Last edited by The_Chaotician,

The_Chaotician

Hoist the Colours!
Member
Joined
Feb 9, 2017
Messages
205
Trophies
0
XP
1,430
Country
United Kingdom
Can you please share all the log? Thanks
Sure, please see below:

Code:
user@DESKTOP-TME9DB7 MINGW64 ~/smw/src/platform/switch
$ make -j4
  config.o glsl_shader.o main.o opengl.o smw_00.o smw_01.o smw_02.o smw_03.o smw_04.o smw_05.o smw_07.o smw_0c.o smw_0d.o smw_cpu_infra.o smw_rtl.o spc_player.o tracing.o util.o apu.o cart.o cpu.o dma.o dsp.o input.o ppu.o ppu_old.o snes.o snes_other.o spc.o animated.o background.o stars.o types.o switch_impl.o gl_core_3_1.o
../..//config.c ../..//glsl_shader.c ../..//main.c ../..//opengl.c ../..//smw_00.c ../..//smw_01.c ../..//smw_02.c ../..//smw_03.c ../..//smw_04.c ../..//smw_05.c ../..//smw_07.c ../..//smw_0c.c ../..//smw_0d.c ../..//smw_cpu_infra.c ../..//smw_rtl.c ../..//spc_player.c ../..//tracing.c ../..//util.c ../..//snes/apu.c ../..//snes/cart.c ../..//snes/cpu.c ../..//snes/dma.c ../..//snes/dsp.c ../..//snes/input.c ../..//snes/ppu.c ../..//snes/ppu_old.c ../..//snes/snes.c ../..//snes/snes_other.c ../..//snes/spc.c ../..//enhancements/animated.c ../..//enhancements/background.c ../..//enhancements/stars.c ../..//enhancements/types.c ../..//platform/switch/src/switch_impl.c ../..//../third_party/gl_core/gl_core_3_1.c ...
linking smw.elf
C:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.1.0/../../../../aarch64-none-elf/bin/ld.exe: types.o: in function `Frame_DecodeGIF':
types.c:(.text.Frame_DecodeGIF+0x3c): undefined reference to `gd_open_gif'
C:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.1.0/../../../../aarch64-none-elf/bin/ld.exe: types.c:(.text.Frame_DecodeGIF+0xcc): undefined reference to `gd_get_frame'
C:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.1.0/../../../../aarch64-none-elf/bin/ld.exe: types.c:(.text.Frame_DecodeGIF+0x124): undefined reference to `gd_render_frame'
C:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.1.0/../../../../aarch64-none-elf/bin/ld.exe: types.c:(.text.Frame_DecodeGIF+0x188): undefined reference to `gd_is_bgcolor'
C:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.1.0/../../../../aarch64-none-elf/bin/ld.exe: types.c:(.text.Frame_DecodeGIF+0x228): undefined reference to `gd_close_gif'
C:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.1.0/../../../../aarch64-none-elf/bin/ld.exe: types.o: in function `Frame_DecodeJSON':
types.c:(.text.Frame_DecodeJSON+0x40): undefined reference to `cJSON_Parse'
C:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.1.0/../../../../aarch64-none-elf/bin/ld.exe: types.c:(.text.Frame_DecodeJSON+0x68): undefined reference to `cJSON_GetObjectItem'
C:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.1.0/../../../../aarch64-none-elf/bin/ld.exe: types.c:(.text.Frame_DecodeJSON+0xa8): undefined reference to `cJSON_GetObjectItem'
C:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.1.0/../../../../aarch64-none-elf/bin/ld.exe: types.c:(.text.Frame_DecodeJSON+0xbc): undefined reference to `cJSON_GetObjectItem'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [/opt/devkitpro/libnx/switch_rules:81: /home/rossc/smw/src/platform/switch/smw.elf] Error 1
make: *** [Makefile:179: bin] Error 2
 

Lywx

Member
OP
Newcomer
Joined
Apr 4, 2023
Messages
12
Trophies
0
Age
22
Location
Mexico
XP
257
Country
Mexico
Sure, please see below:

Code:
user@DESKTOP-TME9DB7 MINGW64 ~/smw/src/platform/switch
$ make -j4
  config.o glsl_shader.o main.o opengl.o smw_00.o smw_01.o smw_02.o smw_03.o smw_04.o smw_05.o smw_07.o smw_0c.o smw_0d.o smw_cpu_infra.o smw_rtl.o spc_player.o tracing.o util.o apu.o cart.o cpu.o dma.o dsp.o input.o ppu.o ppu_old.o snes.o snes_other.o spc.o animated.o background.o stars.o types.o switch_impl.o gl_core_3_1.o
../..//config.c ../..//glsl_shader.c ../..//main.c ../..//opengl.c ../..//smw_00.c ../..//smw_01.c ../..//smw_02.c ../..//smw_03.c ../..//smw_04.c ../..//smw_05.c ../..//smw_07.c ../..//smw_0c.c ../..//smw_0d.c ../..//smw_cpu_infra.c ../..//smw_rtl.c ../..//spc_player.c ../..//tracing.c ../..//util.c ../..//snes/apu.c ../..//snes/cart.c ../..//snes/cpu.c ../..//snes/dma.c ../..//snes/dsp.c ../..//snes/input.c ../..//snes/ppu.c ../..//snes/ppu_old.c ../..//snes/snes.c ../..//snes/snes_other.c ../..//snes/spc.c ../..//enhancements/animated.c ../..//enhancements/background.c ../..//enhancements/stars.c ../..//enhancements/types.c ../..//platform/switch/src/switch_impl.c ../..//../third_party/gl_core/gl_core_3_1.c ...
linking smw.elf
C:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.1.0/../../../../aarch64-none-elf/bin/ld.exe: types.o: in function `Frame_DecodeGIF':
types.c:(.text.Frame_DecodeGIF+0x3c): undefined reference to `gd_open_gif'
C:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.1.0/../../../../aarch64-none-elf/bin/ld.exe: types.c:(.text.Frame_DecodeGIF+0xcc): undefined reference to `gd_get_frame'
C:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.1.0/../../../../aarch64-none-elf/bin/ld.exe: types.c:(.text.Frame_DecodeGIF+0x124): undefined reference to `gd_render_frame'
C:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.1.0/../../../../aarch64-none-elf/bin/ld.exe: types.c:(.text.Frame_DecodeGIF+0x188): undefined reference to `gd_is_bgcolor'
C:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.1.0/../../../../aarch64-none-elf/bin/ld.exe: types.c:(.text.Frame_DecodeGIF+0x228): undefined reference to `gd_close_gif'
C:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.1.0/../../../../aarch64-none-elf/bin/ld.exe: types.o: in function `Frame_DecodeJSON':
types.c:(.text.Frame_DecodeJSON+0x40): undefined reference to `cJSON_Parse'
C:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.1.0/../../../../aarch64-none-elf/bin/ld.exe: types.c:(.text.Frame_DecodeJSON+0x68): undefined reference to `cJSON_GetObjectItem'
C:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.1.0/../../../../aarch64-none-elf/bin/ld.exe: types.c:(.text.Frame_DecodeJSON+0xa8): undefined reference to `cJSON_GetObjectItem'
C:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.1.0/../../../../aarch64-none-elf/bin/ld.exe: types.c:(.text.Frame_DecodeJSON+0xbc): undefined reference to `cJSON_GetObjectItem'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [/opt/devkitpro/libnx/switch_rules:81: /home/rossc/smw/src/platform/switch/smw.elf] Error 1
make: *** [Makefile:179: bin] Error 2

Sorry that was my fault, you need to pull the latest changes and rebuild, make sure to make clean first
 

Thorhax

Well-Known Member
Member
Joined
Apr 15, 2020
Messages
477
Trophies
0
Age
43
XP
2,137
Country
Canada
I try to test this using my patched rom for Spanish Language and it actually works.

So, if you get this works in widescreen will be amazing.

Because right now I can run widescreen using this: https://github.com/VitorVilela7/wide-snes

And I got the patch for spanish language using this: https://tradusquare.es/proyectos/super-mario-world/

But I can't merge both implementations.

So, this is an excellent oportunity to get Super Mario World Widescreen in spanish.
The widescreen mod is cool and all, but it doesn't run well on switch.
At least in my experience it's glitchy in RetroArch and runs at a low FPS
 

AlanLC

Well-Known Member
Member
Joined
Aug 18, 2014
Messages
413
Trophies
0
Age
45
XP
2,601
Country
Brazil
On discord they are talking and posting screenshots of SMB 1 from Super Mario Bros. All Stars ported to PC, did anyone manage to compile for Switch?
 

The_Chaotician

Hoist the Colours!
Member
Joined
Feb 9, 2017
Messages
205
Trophies
0
XP
1,430
Country
United Kingdom
I try to test this using my patched rom for Spanish Language and it actually works.

So, if you get this works in widescreen will be amazing.

Because right now I can run widescreen using this: https://github.com/VitorVilela7/wide-snes

And I got the patch for spanish language using this: https://tradusquare.es/proyectos/super-mario-world/

But I can't merge both implementations.

So, this is an excellent oportunity to get Super Mario World Widescreen in spanish.
Did you get this Widescreen mod to work on the Switch? If so, how?

I’m getting build errors for the latest commit too. The only repo that builds successfully for me is the pr request that @impeeza submitted on page 2 of this thread. I can’t get his fork to work either!
 

impeeza

¡Kabito!
Member
Joined
Apr 5, 2011
Messages
6,364
Trophies
3
Age
46
Location
At my chair.
XP
18,741
Country
Colombia
I just tested this steps and works fine:


Bash:
cd ~
rm -rf ./smw
pacman -Syuu --needed --noconfirm git make pkg-config switch-dev switch-sdl2 switch-tools switch-pkg-config mingw-w64-x86_64-python
cd ~
git clone --recursive https://github.com/snesrev/smw

YOU NEED TO COPY THE ORIGINAL Super Mario World (1991)(Nintendo)(US).sfc to ~/smw/smw.sfc

Bash:
cd ~/smw
git fetch origin pull/31/head
git checkout -b pr31 FETCH_HEAD -f
cd ~/smw/src/platform/switch
make -j$(nproc)
 
  • Like
Reactions: lordelan

The_Chaotician

Hoist the Colours!
Member
Joined
Feb 9, 2017
Messages
205
Trophies
0
XP
1,430
Country
United Kingdom
I just tested this steps and works fine:


Bash:
cd ~
rm -rf ./smw
pacman -Syuu --needed --noconfirm git make pkg-config switch-dev switch-sdl2 switch-tools switch-pkg-config mingw-w64-x86_64-python
cd ~
git clone --recursive https://github.com/snesrev/smw

YOU NEED TO COPY THE ORIGINAL Super Mario World (1991)(Nintendo)(US).sfc to ~/smw/smw.sfc

Bash:
cd ~/smw
git fetch origin pull/31/head
git checkout -b pr31 FETCH_HEAD -f
cd ~/smw/src/platform/switch
make -j$(nproc)
Thanks! I’ll check it out!

Edit: yep, works fine. Thanks again, @impeeza!
 
Last edited by The_Chaotician,
  • Love
Reactions: impeeza

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Sicklyboy @ Sicklyboy:
    @TwoSpikedHands, I'll preface this with the fact that I know nothing about the game, but, I think it depends on what your goals are. Are you trying to make a definitive version of the game? You may want to refocus your efforts on the EU version then. Or, are you trying to make a better US version? In which case, the only way to make a better US version is to keep on plugging away at that one ;)
  • Sicklyboy @ Sicklyboy:
    I'm not familiar with the technicalities of the differences between the two versions, but I'm wondering if at least some of those differences are things that you could port over to the US version in your patch without having to include copyrighted assets from the EU version
  • TwoSpikedHands @ TwoSpikedHands:
    @Sicklyboy I am wanting to fully change the game and bend it to my will lol. I would like to eventually have the ability to add more characters, enemies, even have a completely different story if i wanted. I already have the ability to change the tilemaps in the US version, so I can basically make my own map and warp to it in game - so I'm pretty far into it!
  • TwoSpikedHands @ TwoSpikedHands:
    I really would like to make a hack that I would enjoy playing, and maybe other people would too. swapping to the EU version would also mean my US friends could not legally play it
  • TwoSpikedHands @ TwoSpikedHands:
    I am definitely considering porting over some of the EU features without using the actual ROM itself, tbh that would probably be the best way to go about it... but i'm sad that the voice acting is so.... not good on the US version. May not be a way around that though
  • TwoSpikedHands @ TwoSpikedHands:
    I appreciate the insight!
  • The Real Jdbye @ The Real Jdbye:
    @TwoSpikedHands just switch, all the knowledge you learned still applies and most of the code and assets should be the same anyway
  • The Real Jdbye @ The Real Jdbye:
    and realistically they wouldn't

    be able to play it legally anyway since they need a ROM and they probably don't have the means to dump it themselves
  • The Real Jdbye @ The Real Jdbye:
    why the shit does the shitbox randomly insert newlines in my messages
  • Veho @ Veho:
    It does that when I edit a post.
  • Veho @ Veho:
    It inserts a newline in a random spot.
  • The Real Jdbye @ The Real Jdbye:
    never had that i don't think
  • Karma177 @ Karma177:
    do y'all think having an sd card that has a write speed of 700kb/s is a bad idea?
    trying to restore emunand rn but it's taking ages... (also when I finished the first time hekate decided to delete all my fucking files :wacko:)
  • The Real Jdbye @ The Real Jdbye:
    @Karma177 that sd card is 100% faulty so yes, its a bad idea
  • The Real Jdbye @ The Real Jdbye:
    even the slowest non-sdhc sd cards are a few MB/s
  • Karma177 @ Karma177:
    @The Real Jdbye it hasn't given me any error trying to write things on it so I don't really think it's faulty (pasted 40/50gb+ folders and no write errors)
  • DinohScene @ DinohScene:
    run h2testw on it
    +1
  • DinohScene @ DinohScene:
    when SD cards/microSD write speeds drop below a meg a sec, they're usually on the verge of dying
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Samsung SD format can sometimes fix them too
  • Purple_Heart @ Purple_Heart:
    yes looks like an faulty sd
  • Purple_Heart @ Purple_Heart:
    @Psionic Roshambo i may try that with my dead sd cards
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    It's always worth a shot
  • TwoSpikedHands @ TwoSpikedHands:
    @The Real Jdbye, I considered that, but i'll have to wait until i can get the eu version in the mail lol
  • I @ I-need-help-with-wup-wiiu:
    i need help with nusspli failed downloads, can someone respond to my thread? pretty please:wub:
    I @ I-need-help-with-wup-wiiu: i need help with nusspli failed downloads, can someone respond to my thread? pretty please:wub: