Homebrew SNES9x for Old 3DS

Taffy

jdfiehgvrhfvhfjkvgrjhfejvgrjkbjvr
Member
Joined
Mar 3, 2017
Messages
621
Trophies
0
Age
21
Location
Student
XP
1,130
Country
United States
Could implementing slow motion be a possibility? For us new3DS users, it would be nice to have the ability to do that with the ZR and/or ZL buttons.
 

chaoticdaos

Member
Newcomer
Joined
May 17, 2014
Messages
24
Trophies
0
Age
36
XP
578
Country
United States
How does one place multi-part cheats? I can see the CHT list but I clearly have not closed each individual cheat properly.
Why do CHX's freeze up the system even the Gradius one you provide.
I use Luma3ds 6.6 snes9x 1.10
 
Last edited by chaoticdaos,

DonJav

Active Member
Newcomer
Joined
Sep 23, 2016
Messages
40
Trophies
0
Age
45
XP
584
Country
Has anybody managed to get super Mario kart working properly with this? I have the issues where it doesn't collecte any items.
 

Taffy

jdfiehgvrhfvhfjkvgrjhfejvgrjkbjvr
Member
Joined
Mar 3, 2017
Messages
621
Trophies
0
Age
21
Location
Student
XP
1,130
Country
United States
Mario Kart should work fine. Are you sure you have a good dump?

DSP-1 is properly emulated as far as I know so there shouldn't be any problems with it.
 
Last edited by Taffy,
  • Like
Reactions: DonJav

DonJav

Active Member
Newcomer
Joined
Sep 23, 2016
Messages
40
Trophies
0
Age
45
XP
584
Country
Mario Kart should work fine. Are you sure you have a good dump?

DSP-1 is properly emulated as far as I know so there shouldn't be any problems with it.

You were right, I changed the rom and it's working as it should. Thanks mate.
 

NuikopeaDemon

Hello Darkness
Member
Joined
Sep 3, 2015
Messages
683
Trophies
0
Age
31
Location
Hastings
Website
www.facebook.com
XP
485
Country
New Zealand
Idk why but for some reason the icon file doesn't load on my 3ds

LIKE it will have this

14913000948421045638155.jpg
 

FateForWindows

Well-Known Member
Member
Joined
Feb 8, 2017
Messages
1,125
Trophies
0
Age
26
XP
1,766
Country
United States
Couldn't compile, here's the log:
Code:
$ make
3dsmain.cpp
arm-none-eabi-g++ -MMD -MP -MF /c/3dsstuff/snes9x_3ds/build/3dsmain.d -g -w -O3 -mword-relocations -finline-limit=20000 -fomit-frame-pointer -ffunction-sections -march=armv6k -mtune=mpcore -mfloat-abi=hard -mtp=soft -I/c/3dsstuff/snes9x_3ds/include -I/C/devkitPro/libctru/include -I/c/3dsstuff/snes9x_3ds/build -I/c/3dsstuff/snes9x_3ds/source -I/c/3dsstuff/snes9x_3ds/source/unzip  -DARM11 -D_3DS -DLIBCTRU_1_0_0 -fno-rtti -fno-exceptions -std=gnu++11 -c /c/3dsstuff/snes9x_3ds/source/3dsmain.cpp -o 3dsmain.o
In file included from c:/devkitPro/libctru/include/sys/select.h:3:0,
                 from c:\devkitpro\devkitarm\arm-none-eabi\include\sys\types.h:68,
                 from c:\devkitpro\devkitarm\arm-none-eabi\include\stdio.h:61,
                 from c:\devkitpro\devkitarm\arm-none-eabi\include\c++\6.3.0\cstdio:42,
                 from c:/3dsstuff/snes9x_3ds/source/3dsmain.cpp:2:
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:104:34: error: 'u_int' has not been declared
 bintime_mul(struct bintime *_bt, u_int _x)
                                  ^~~~~
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:145:17: error: 'sbintime_getsec' declared as an 'inline' variable
 sbintime_getsec(sbintime_t _sbt)
                 ^~~~~~~~~~
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:145:17: error: 'sbintime_t' was not declared in this scope
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:151:17: error: 'sbintime_t' does not name a type
 static __inline sbintime_t
                 ^~~~~~~~~~
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:159:9: error: 'sbttobt' declared as an 'inline' variable
 sbttobt(sbintime_t _sbt)
         ^~~~~~~~~~
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:159:9: error: 'sbintime_t' was not declared in this scope
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:160:1: error: expected ',' or ';' before '{' token
 {
 ^
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:218:9: error: 'sbttots' declared as an 'inline' variable
 sbttots(sbintime_t _sbt)
         ^~~~~~~~~~
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:218:9: error: 'sbintime_t' was not declared in this scope
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:219:1: error: expected ',' or ';' before '{' token
 {
 ^
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:227:17: error: 'sbintime_t' does not name a type
 static __inline sbintime_t
                 ^~~~~~~~~~
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:236:9: error: 'sbttotv' declared as an 'inline' variable
 sbttotv(sbintime_t _sbt)
         ^~~~~~~~~~
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:236:9: error: 'sbintime_t' was not declared in this scope
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:237:1: error: expected ',' or ';' before '{' token
 {
 ^
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:245:17: error: 'sbintime_t' does not name a type
 static __inline sbintime_t
                 ^~~~~~~~~~
In file included from c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:268:0,
                 from c:/devkitPro/libctru/include/sys/select.h:3,
                 from c:\devkitpro\devkitarm\arm-none-eabi\include\sys\types.h:68,
                 from c:\devkitpro\devkitarm\arm-none-eabi\include\stdio.h:61,
                 from c:\devkitpro\devkitarm\arm-none-eabi\include\c++\6.3.0\cstdio:42,
                 from c:/3dsstuff/snes9x_3ds/source/3dsmain.cpp:2:
c:\devkitpro\devkitarm\arm-none-eabi\include\time.h:56:1: error: 'clock_t' does not name a type
 clock_t    _EXFUN(clock,    (void));
 ^~~~~~~
In file included from c:\devkitpro\devkitarm\arm-none-eabi\include\sys\types.h:68:0,
                 from c:\devkitpro\devkitarm\arm-none-eabi\include\stdio.h:61,
                 from c:\devkitpro\devkitarm\arm-none-eabi\include\c++\6.3.0\cstdio:42,
                 from c:/3dsstuff/snes9x_3ds/source/3dsmain.cpp:2:
c:/devkitPro/libctru/include/sys/select.h:9:23: error: 'fd_set' has not been declared
  int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
                       ^~~~~~
c:/devkitPro/libctru/include/sys/select.h:9:40: error: 'fd_set' has not been declared
  int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
                                        ^~~~~~
c:/devkitPro/libctru/include/sys/select.h:9:58: error: 'fd_set' has not been declared
  int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
                                                          ^~~~~~
In file included from c:/3dsstuff/snes9x_3ds/source/3dsmain.cpp:5:0:
c:\devkitpro\devkitarm\arm-none-eabi\include\c++\6.3.0\ctime:64:11: error: '::clock' has not been declared
   using ::clock;
           ^~~~~
In file included from c:/3dsstuff/snes9x_3ds/source/3dsmain.cpp:32:0:
c:/3dsstuff/snes9x_3ds/source/3dsfiles.h:36:13: error: 'string' is not a member of 'std'
 std::vector<std::string> file3dsGetFiles(char *extensions, int maxFiles);
             ^~~
c:/3dsstuff/snes9x_3ds/source/3dsfiles.h:36:13: error: 'string' is not a member of 'std'
c:/3dsstuff/snes9x_3ds/source/3dsfiles.h:36:24: error: template argument 1 is invalid
 std::vector<std::string> file3dsGetFiles(char *extensions, int maxFiles);
                        ^
c:/3dsstuff/snes9x_3ds/source/3dsfiles.h:36:24: error: template argument 2 is invalid
c:/3dsstuff/snes9x_3ds/source/3dsmain.cpp: In function 'void fileGetAllFiles()':
c:/3dsstuff/snes9x_3ds/source/3dsmain.cpp:595:53: error: conversion from 'int' to non-scalar type 'std::vector<std::__cxx11::basic_string<char> >' requested
     std::vector<std::string> files = file3dsGetFiles("smc,sfc,fig", 1000);
                                      ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
make[1]: *** [3dsmain.o] Error 1
make: *** [build] Error 2
 

RocketRobz

Stylish TWiLight Hero
Developer
Joined
Oct 1, 2010
Messages
16,623
Trophies
3
Age
24
XP
21,040
Country
United States
Couldn't compile, here's the log:
Code:
$ make
3dsmain.cpp
arm-none-eabi-g++ -MMD -MP -MF /c/3dsstuff/snes9x_3ds/build/3dsmain.d -g -w -O3 -mword-relocations -finline-limit=20000 -fomit-frame-pointer -ffunction-sections -march=armv6k -mtune=mpcore -mfloat-abi=hard -mtp=soft -I/c/3dsstuff/snes9x_3ds/include -I/C/devkitPro/libctru/include -I/c/3dsstuff/snes9x_3ds/build -I/c/3dsstuff/snes9x_3ds/source -I/c/3dsstuff/snes9x_3ds/source/unzip  -DARM11 -D_3DS -DLIBCTRU_1_0_0 -fno-rtti -fno-exceptions -std=gnu++11 -c /c/3dsstuff/snes9x_3ds/source/3dsmain.cpp -o 3dsmain.o
In file included from c:/devkitPro/libctru/include/sys/select.h:3:0,
                 from c:\devkitpro\devkitarm\arm-none-eabi\include\sys\types.h:68,
                 from c:\devkitpro\devkitarm\arm-none-eabi\include\stdio.h:61,
                 from c:\devkitpro\devkitarm\arm-none-eabi\include\c++\6.3.0\cstdio:42,
                 from c:/3dsstuff/snes9x_3ds/source/3dsmain.cpp:2:
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:104:34: error: 'u_int' has not been declared
 bintime_mul(struct bintime *_bt, u_int _x)
                                  ^~~~~
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:145:17: error: 'sbintime_getsec' declared as an 'inline' variable
 sbintime_getsec(sbintime_t _sbt)
                 ^~~~~~~~~~
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:145:17: error: 'sbintime_t' was not declared in this scope
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:151:17: error: 'sbintime_t' does not name a type
 static __inline sbintime_t
                 ^~~~~~~~~~
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:159:9: error: 'sbttobt' declared as an 'inline' variable
 sbttobt(sbintime_t _sbt)
         ^~~~~~~~~~
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:159:9: error: 'sbintime_t' was not declared in this scope
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:160:1: error: expected ',' or ';' before '{' token
 {
 ^
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:218:9: error: 'sbttots' declared as an 'inline' variable
 sbttots(sbintime_t _sbt)
         ^~~~~~~~~~
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:218:9: error: 'sbintime_t' was not declared in this scope
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:219:1: error: expected ',' or ';' before '{' token
 {
 ^
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:227:17: error: 'sbintime_t' does not name a type
 static __inline sbintime_t
                 ^~~~~~~~~~
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:236:9: error: 'sbttotv' declared as an 'inline' variable
 sbttotv(sbintime_t _sbt)
         ^~~~~~~~~~
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:236:9: error: 'sbintime_t' was not declared in this scope
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:237:1: error: expected ',' or ';' before '{' token
 {
 ^
c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:245:17: error: 'sbintime_t' does not name a type
 static __inline sbintime_t
                 ^~~~~~~~~~
In file included from c:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:268:0,
                 from c:/devkitPro/libctru/include/sys/select.h:3,
                 from c:\devkitpro\devkitarm\arm-none-eabi\include\sys\types.h:68,
                 from c:\devkitpro\devkitarm\arm-none-eabi\include\stdio.h:61,
                 from c:\devkitpro\devkitarm\arm-none-eabi\include\c++\6.3.0\cstdio:42,
                 from c:/3dsstuff/snes9x_3ds/source/3dsmain.cpp:2:
c:\devkitpro\devkitarm\arm-none-eabi\include\time.h:56:1: error: 'clock_t' does not name a type
 clock_t    _EXFUN(clock,    (void));
 ^~~~~~~
In file included from c:\devkitpro\devkitarm\arm-none-eabi\include\sys\types.h:68:0,
                 from c:\devkitpro\devkitarm\arm-none-eabi\include\stdio.h:61,
                 from c:\devkitpro\devkitarm\arm-none-eabi\include\c++\6.3.0\cstdio:42,
                 from c:/3dsstuff/snes9x_3ds/source/3dsmain.cpp:2:
c:/devkitPro/libctru/include/sys/select.h:9:23: error: 'fd_set' has not been declared
  int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
                       ^~~~~~
c:/devkitPro/libctru/include/sys/select.h:9:40: error: 'fd_set' has not been declared
  int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
                                        ^~~~~~
c:/devkitPro/libctru/include/sys/select.h:9:58: error: 'fd_set' has not been declared
  int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
                                                          ^~~~~~
In file included from c:/3dsstuff/snes9x_3ds/source/3dsmain.cpp:5:0:
c:\devkitpro\devkitarm\arm-none-eabi\include\c++\6.3.0\ctime:64:11: error: '::clock' has not been declared
   using ::clock;
           ^~~~~
In file included from c:/3dsstuff/snes9x_3ds/source/3dsmain.cpp:32:0:
c:/3dsstuff/snes9x_3ds/source/3dsfiles.h:36:13: error: 'string' is not a member of 'std'
 std::vector<std::string> file3dsGetFiles(char *extensions, int maxFiles);
             ^~~
c:/3dsstuff/snes9x_3ds/source/3dsfiles.h:36:13: error: 'string' is not a member of 'std'
c:/3dsstuff/snes9x_3ds/source/3dsfiles.h:36:24: error: template argument 1 is invalid
 std::vector<std::string> file3dsGetFiles(char *extensions, int maxFiles);
                        ^
c:/3dsstuff/snes9x_3ds/source/3dsfiles.h:36:24: error: template argument 2 is invalid
c:/3dsstuff/snes9x_3ds/source/3dsmain.cpp: In function 'void fileGetAllFiles()':
c:/3dsstuff/snes9x_3ds/source/3dsmain.cpp:595:53: error: conversion from 'int' to non-scalar type 'std::vector<std::__cxx11::basic_string<char> >' requested
     std::vector<std::string> files = file3dsGetFiles("smc,sfc,fig", 1000);
                                      ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
make[1]: *** [3dsmain.o] Error 1
make: *** [build] Error 2
Try using devkitPro r45 with libnds 1.0.0.
 

naaiil

Active Member
Newcomer
Joined
Mar 21, 2016
Messages
40
Trophies
0
Age
31
XP
1,374
Country
Indonesia
how to create chx file with two lines code? in readme file, the example only for one lines code.

Sent from my Mi-4c using Tapatalk
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
how to create chx file with two lines code? in readme file, the example only for one lines code.

Sent from my Mi-4c using Tapatalk

You should write 2 lines with a slightly different description.

For example:

Y,ABCD-EF01,Infinite Lives A
Y,ABCD-EF02,Infinite Lives B

When in-game, you will have to manually enable or disable both together.

--------------------- MERGED ---------------------------

Idk why but for some reason the icon file doesn't load on my 3ds

LIKE it will have this

You can try to see if this works:
 

Attachments

  • snes9x_3ds.smdh.zip
    2.4 KB · Views: 113
  • Like
Reactions: NuikopeaDemon

naaiil

Active Member
Newcomer
Joined
Mar 21, 2016
Messages
40
Trophies
0
Age
31
XP
1,374
Country
Indonesia
You should write 2 lines with a slightly different description.

For example:

Y,ABCD-EF01,Infinite Lives A
Y,ABCD-EF02,Infinite Lives B

When in-game, you will have to manually enable or disable both together.

--------------------- MERGED ---------------------------



You can try to see if this works:
thanks, i will try it [emoji1]
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
Hmm, couldn't compile on the latest installation through devkitPro without changing a few things. @bubble2k16 , have you thought about updating to the latest stuff, and possibly using something like citro3D instead of the deprecated GPU functions?

Not really :) I tried moving over to libctru 1.2.0 earlier with another fellow contributor's help, but somehow there was a bug in libctru 1.2.0 that caused the New 3DS to run the emulator at Old 3DS's speeds. Not sure if this was fixed in libctru 1.2.1, but I haven't got too much time to test that.
 

DiscostewSM

Well-Known Member
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,496
Country
United States
Not really :) I tried moving over to libctru 1.2.0 earlier with another fellow contributor's help, but somehow there was a bug in libctru 1.2.0 that caused the New 3DS to run the emulator at Old 3DS's speeds. Not sure if this was fixed in libctru 1.2.1, but I haven't got too much time to test that.
Well, I can say that after compiling with 1.2.1 (with a few changes to fix errors), it seems to run at new3DS speeds on my new3DS. Nothing too extravagant. Just adding a line for including <string> in one section, then commenting out sections related to the LIBCTRU_1_0_0 define. I didn't need to dive into ctrulib to fix the speeds.

Edit:

I was trying the 3dsx version through HBL, and it turned out to be running at o3DS speeds. The cia version, however, ran at n3DS speeds. There is an issue though. When pushing the power button after the emulator is loaded, it attempts to show the "Software closed" screen, but it crashes with an error, and restarts the system.
 
Last edited by DiscostewSM,

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
Well, I can say that after compiling with 1.2.1 (with a few changes to fix errors), it seems to run at new3DS speeds on my new3DS. Nothing too extravagant. Just adding a line for including <string> in one section, then commenting out sections related to the LIBCTRU_1_0_0 define. I didn't need to dive into ctrulib to fix the speeds.

Edit:

I was trying the 3dsx version through HBL, and it turned out to be running at o3DS speeds. The cia version, however, ran at n3DS speeds. There is an issue though. When pushing the power button after the emulator is loaded, it attempts to show the "Software closed" screen, but it crashes with an error, and restarts the system.

Yup I had that problem. So until that's fixed, I'll stick to libctru v1.0.0. :) I wonder if the Retroarch team figured out a solution.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BigOnYa @ BigOnYa:
    I'm doing fine, and you?
    +1
  • S @ salazarcosplay:
    Im gonna see if I can find a ps4 to buy
  • S @ salazarcosplay:
    now that firm ware 11 supposedly is exploitable
  • S @ salazarcosplay:
    did you see the fallout series
  • BigOnYa @ BigOnYa:
    Yea is pretty good
  • BakerMan @ BakerMan:
    an elder scrolls movie or show would be cool, but which elder scrolls game would it be based on?
  • BakerMan @ BakerMan:
    oh who am i kidding it'd be skyrim
    +1
  • BakerMan @ BakerMan:
    but,since they're only a few years apart, a morrowind + oblivion series would also be cool
  • K3Nv2 @ K3Nv2:
    Taco Saturday
  • AncientBoi @ AncientBoi:
    Uhh, It's 🌯 Saturday dude. :) js
  • BigOnYa @ BigOnYa:
    Nope that for tomorrow, cinco de mayo, today is bbq chicken on the grill.
  • K3Nv2 @ K3Nv2:
    Juan's new years I forgot
    +2
  • AncientBoi @ AncientBoi:
    :hrth::toot::grog::grog::grog::bow: HAPPY BIRTHDAY to me :bow::grog::grog::toot::hrth:
  • K3Nv2 @ K3Nv2:
    One day away from Juan's birthday
  • K3Nv2 @ K3Nv2:
    Only if you send him feet
    +1
  • BigOnYa @ BigOnYa:
    Happy birthday!
    +1
  • AncientBoi @ AncientBoi:
    Thank You :D
  • realtimesave @ realtimesave:
    heh I got a guy who created an account just yesterday asking me where to find mig switch roms
  • realtimesave @ realtimesave:
    too much FBI watching this website to answer that kind of question lol
  • K3Nv2 @ K3Nv2:
    Has the mig switch found loopholes without requiring game keys?
  • Xdqwerty @ Xdqwerty:
    @AncientBoi, happy birthday
    Xdqwerty @ Xdqwerty: @AncientBoi, happy birthday