[Beta] Super Mario World Port

  • Thread starter Thread starter Lywx
  • Start date Start date
  • Views Views 34,291
  • Replies Replies 112
  • Likes Likes 35
C:/smw/src/types.h:4: warning: ignoring '#pragma warning ' [-Wunknown-pragmas]
4 | #pragma warning(disable: 4244)
linking smw.elf
C:/devkitPro/devkitA64/bin/../lib/gcc/aarch64-none-elf/14.2.0/../../../../aarch64-none-elf/bin/ld.exe: main.o: in function `main':
main.c:(.text.startup.main+0xe68): undefined reference to `SmasSpcPlayer_Create'
C:/devkitPro/devkitA64/bin/../lib/gcc/aarch64-none-elf/14.2.0/../../../../aarch64-none-elf/bin/ld.exe: common_cpu_infra.o: in function `SnesInit':
common_cpu_infra.c:(.text.SnesInit+0x25c): undefined reference to `kSmbllGameInfo'
C:/devkitPro/devkitA64/bin/../lib/gcc/aarch64-none-elf/14.2.0/../../../../aarch64-none-elf/bin/ld.exe: common_cpu_infra.c:(.text.SnesInit+0x260): undefined reference to `kSmbllGameInfo'
C:/devkitPro/devkitA64/bin/../lib/gcc/aarch64-none-elf/14.2.0/../../../../aarch64-none-elf/bin/ld.exe: common_cpu_infra.c:(.text.SnesInit+0x288): undefined reference to `kSmb1GameInfo'
C:/devkitPro/devkitA64/bin/../lib/gcc/aarch64-none-elf/14.2.0/../../../../aarch64-none-elf/bin/ld.exe: common_cpu_infra.c:(.text.SnesInit+0x28c): undefined reference to `kSmb1GameInfo'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [/opt/devkitpro/libnx/switch_rules:81: /c/smw/src/platform/switch/smw.elf] Error 1
make: *** [Makefile:167: bin] Error 2



can someone help ?
 
C:/smw/src/types.h:4: warning: ignoring '#pragma warning ' [-Wunknown-pragmas]
4 | #pragma warning(disable: 4244)
linking smw.elf
C:/devkitPro/devkitA64/bin/../lib/gcc/aarch64-none-elf/14.2.0/../../../../aarch64-none-elf/bin/ld.exe: main.o: in function `main':
main.c:(.text.startup.main+0xe68): undefined reference to `SmasSpcPlayer_Create'
C:/devkitPro/devkitA64/bin/../lib/gcc/aarch64-none-elf/14.2.0/../../../../aarch64-none-elf/bin/ld.exe: common_cpu_infra.o: in function `SnesInit':
common_cpu_infra.c:(.text.SnesInit+0x25c): undefined reference to `kSmbllGameInfo'
C:/devkitPro/devkitA64/bin/../lib/gcc/aarch64-none-elf/14.2.0/../../../../aarch64-none-elf/bin/ld.exe: common_cpu_infra.c:(.text.SnesInit+0x260): undefined reference to `kSmbllGameInfo'
C:/devkitPro/devkitA64/bin/../lib/gcc/aarch64-none-elf/14.2.0/../../../../aarch64-none-elf/bin/ld.exe: common_cpu_infra.c:(.text.SnesInit+0x288): undefined reference to `kSmb1GameInfo'
C:/devkitPro/devkitA64/bin/../lib/gcc/aarch64-none-elf/14.2.0/../../../../aarch64-none-elf/bin/ld.exe: common_cpu_infra.c:(.text.SnesInit+0x28c): undefined reference to `kSmb1GameInfo'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [/opt/devkitpro/libnx/switch_rules:81: /c/smw/src/platform/switch/smw.elf] Error 1
make: *** [Makefile:167: bin] Error 2



can someone help ?
I just ran the process to build the Switch version using MSYS2's MinGW and ran fine, use the next set of commands:

Bash:
pacman -Syuu --needed --noconfirm git make devkit-env 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 a legal aquiered Super Mario World rom with CRCs:

SHA = cdd3c8c37322978ca8669b34bc89c804 *Super Mario World (1991)(Nintendo)(US).sfc
MD5 = 6b47bb75d16514b6a476aa0c73a683a2a4c18765 *Super Mario World (1991)(Nintendo)(US).sfc

that need to be on the path and name ~/smw/smw.sfc

Bash:
cd ~/smw
#On PR 31 there are some changes needed to the Switch build work
git fetch origin pull/31/head
git checkout -b pr31 FETCH_HEAD
#Before build you need to create assets
python assets/restool.py

#Build Process
cd ~/smw/src/platform/switch
make -j$(nproc)
Post automatically merged:

The key point is you need the PR32, maybe @Lywx could merge it on the repository
 
Last edited by impeeza,
I just ran the process to build the Switch version using MSYS2's MinGW and ran fine, use the next set of commands:

Bash:
pacman -Syuu --needed --noconfirm git make devkit-env 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 a legal aquiered Super Mario World rom with CRCs:

SHA = cdd3c8c37322978ca8669b34bc89c804 *Super Mario World (1991)(Nintendo)(US).sfc
MD5 = 6b47bb75d16514b6a476aa0c73a683a2a4c18765 *Super Mario World (1991)(Nintendo)(US).sfc

that need to be on the path and name ~/smw/smw.sfc

Bash:
cd ~/smw
#On PR 31 there are some changes needed to the Switch build work
git fetch origin pull/31/head
git checkout -b pr31 FETCH_HEAD
#Before build you need to create assets
python assets/restool.py

#Build Process
cd ~/smw/src/platform/switch
make -j$(nproc)
Post automatically merged:

The key point is you need the PR32, maybe @Lywx could merge it on the repository
THANK YOU
Post automatically merged:

Compile now working but game not open and is the exactly rom you post

Name: smw.sfc
CRC-32: b19ed489
MD5: cdd3c8c37322978ca8669b34bc89c804
SHA-1: 6b47bb75d16514b6a476aa0c73a683a2a4c18765
SHA-256: 0838e531fe22c077528febe14cb3ff7c492f1f5fa8de354192bdff7137c27f5b
SHA-512: c9207d07474c3ee3ef6b0882fd1200f670642cc2bc4c3563a74c714c4d124412eda86155f6a87c973304f87580d66ed8b666826be5d6349177efd1cbee790db4
 
Last edited by rodrigues14,
THANK YOU
Post automatically merged:

Compile now working but game not open and is the exactly rom you post

Name: smw.sfc
CRC-32: b19ed489
MD5: cdd3c8c37322978ca8669b34bc89c804
SHA-1: 6b47bb75d16514b6a476aa0c73a683a2a4c18765
SHA-256: 0838e531fe22c077528febe14cb3ff7c492f1f5fa8de354192bdff7137c27f5b
SHA-512: c9207d07474c3ee3ef6b0882fd1200f670642cc2bc4c3563a74c714c4d124412eda86155f6a87c973304f87580d66ed8b666826be5d6349177efd1cbee790db4
Remember to copy the files
  • smw_assets.dat
  • smw.ini
  • smw.nro
to SDMC:/switch/smw folder
 
  • Love
Reactions: rodrigues14
I suceed to built and run it but I see on changelog "bps patching support" how to make it work ?
 
I suceed to built and run it but I see on changelog "bps patching support" how to make it work ?
You put the file called smw_assets.bps on the same folder than ROM and run the program
Post automatically merged:

for sure, i will upload right now

Edit
I don't know how I missed this post for almost 6 months
 
  • Like
Reactions: Girtana1
You put the file called smw_assets.bps on the same folder than ROM and run the program
Post automatically merged:


I don't know how I missed this post for almost 6 months
maybe dumb question : I just have to take a patch.bps and rename it to smw_assets.bps or there is an extra action to do ?

glad to help to dig out this topic 😅
 
  • Like
Reactions: impeeza
yes it is:

View attachment 373713

this is a capture on my Switch.
Good lord that is ugly... That's not real widescreen, that's "stretched to fit". And with this port, people should kill that stray pixel on the W. Or use the patched ROM that has the fix applied to it.
 
  • Love
Reactions: impeeza
maybe dumb question : I just have to take a patch.bps and rename it to smw_assets.bps or there is an extra action to do ?

glad to help to dig out this topic 😅
nose-tap-taps-nose-nose-tap.gif
 
Is smw_assets.dat !
Hum ok but if you patch the rom with a bps before, you will not able to extract asset because the MD5 change.

What a try to do it’s find a way to use the bps of widescreen patch on switch port
 

Site & Scene News

Popular threads in this forum