Homebrew 3DNES - NES Emulator

  • Thread starter Thread starter st4rk
  • Start date Start date
  • Views Views 308,249
  • Replies Replies 538
  • Likes Likes 47
wow thanks for info. Looking forward to it.

BTW I am getting errors trying to compile your latest 2.0 source via ctrulib. My environment has been set up according to this. http://3dbrew.org/wiki/Setting_up_Development_Environment


C:\devkitPro\ctrulib\libctru\3DNES-master>make
main.c
arm-none-eabi-gcc -MMD -MP -MF /c/devkitPro/ctrulib/libctru/3DNES-master/build/m
ain.d -g -Wall -O2 -mword-relocations -save-temps -fomit-frame-pointer -ffast-ma
th -mfloat-abi=softfp -march=armv6k -mtune=mpcore -I/c/devkitPro/ctrulib/libctru
/3DNES-master/include -IC:\devkitPro\libctru/include -I/c/devkitPro/ctrulib/libc
tru/3DNES-master/build -DARM11 -D_3DS -c /c/devkitPro/ctrulib/libctru/3DNES-mast
er/source/main.c -o main.o
c:/devkitPro/ctrulib/libctru/3DNES-master/source/main.c: In function 'INIT_3DS':

c:/devkitPro/ctrulib/libctru/3DNES-master/source/main.c:49:2: warning: implicit
declaration of function 'aptSetupEventHandler' [-Wimplicit-function-declaration]

aptSetupEventHandler();
^
c:/devkitPro/ctrulib/libctru/3DNES-master/source/main.c:52:12: error: assignment
to expression with array type
ROM_Cache = NULL;
^
c:/devkitPro/ctrulib/libctru/3DNES-master/source/main.c: In function 'NES_MAINLO
OP':
c:/devkitPro/ctrulib/libctru/3DNES-master/source/main.c:191:6: warning: implicit
declaration of function 'drawMenu' [-Wimplicit-function-declaration]
drawMenu();
^
c:/devkitPro/ctrulib/libctru/3DNES-master/source/main.c:227:5: warning: implicit
declaration of function 'drawBuffers' [-Wimplicit-function-declaration]
drawBuffers();
^
make[1]: *** [main.o] Error 1
make: *** [build] Error 2
 
Cool, this may go down as my favorite day in gaming ever, Smash on the Wii U and exploiting my 3DS to run emulators! I love it!
 
So today i did a good progress, my friend tested the .3dsx and work perfect, i am working on a new GUI. Other important thing is because now i am using 16bpp instead of 24bpp(it give a improves on speed), the emulator will start with frameskip 2 and you can change it easy on configuration menu, VSYNC issue the speed too, you can disable it on configuration menu but there is some issues with it disabled.
 
I see that the compatibility list is empty (which is fine cause I'm just curious anyway) but what game on the NES was hardest to emulate? like is there a "if this game works any other game ever made for the NES will work"? I know it's probably a stupid question cause people will argue sound and pixels and framerates and the like, but really I'm just curious if anyone ever looks to find the most difficult game to emulate and then tweak things till that game works and finds that most work "now" too.
 
I see that the compatibility list is empty (which is fine cause I'm just curious anyway) but what game on the NES was hardest to emulate? like is there a "if this game works any other game ever made for the NES will work"? I know it's probably a stupid question cause people will argue sound and pixels and framerates and the like, but really I'm just curious if anyone ever looks to find the most difficult game to emulate and then tweak things till that game works and finds that most work "now" too.
well the nes uses different mappers and such....so i assume it will all depend on which mappers are emulated correctly and im sure some games will use fairly exotic mappers....currently a large majority of games work fine...but without sound, st4rk is working on sound and improving compatibility so its fairly pointless making a compatibility list on a current wip :)
 
  • Like
Reactions: Margen67 and st4rk
wow thanks for info. Looking forward to it.

BTW I am getting errors trying to compile your latest 2.0 source via ctrulib. My environment has been set up according to this. http://3dbrew.org/wiki/Setting_up_Development_Environment


C:\devkitPro\ctrulib\libctru\3DNES-master>make
main.c
arm-none-eabi-gcc -MMD -MP -MF /c/devkitPro/ctrulib/libctru/3DNES-master/build/m
ain.d -g -Wall -O2 -mword-relocations -save-temps -fomit-frame-pointer -ffast-ma
th -mfloat-abi=softfp -march=armv6k -mtune=mpcore -I/c/devkitPro/ctrulib/libctru
/3DNES-master/include -IC:\devkitPro\libctru/include -I/c/devkitPro/ctrulib/libc
tru/3DNES-master/build -DARM11 -D_3DS -c /c/devkitPro/ctrulib/libctru/3DNES-mast
er/source/main.c -o main.o
c:/devkitPro/ctrulib/libctru/3DNES-master/source/main.c: In function 'INIT_3DS':

c:/devkitPro/ctrulib/libctru/3DNES-master/source/main.c:49:2: warning: implicit
declaration of function 'aptSetupEventHandler' [-Wimplicit-function-declaration]

aptSetupEventHandler();
^
c:/devkitPro/ctrulib/libctru/3DNES-master/source/main.c:52:12: error: assignment
to expression with array type
ROM_Cache = NULL;
^
c:/devkitPro/ctrulib/libctru/3DNES-master/source/main.c: In function 'NES_MAINLO
OP':
c:/devkitPro/ctrulib/libctru/3DNES-master/source/main.c:191:6: warning: implicit
declaration of function 'drawMenu' [-Wimplicit-function-declaration]
drawMenu();
^
c:/devkitPro/ctrulib/libctru/3DNES-master/source/main.c:227:5: warning: implicit
declaration of function 'drawBuffers' [-Wimplicit-function-declaration]
drawBuffers();
^
make[1]: *** [main.o] Error 1
make: *** [build] Error 2
Use the refactor branch of ctrulib.
 
  • Like
Reactions: Margen67 and st4rk
I see that the compatibility list is empty (which is fine cause I'm just curious anyway) but what game on the NES was hardest to emulate? like is there a "if this game works any other game ever made for the NES will work"? I know it's probably a stupid question cause people will argue sound and pixels and framerates and the like, but really I'm just curious if anyone ever looks to find the most difficult game to emulate and then tweak things till that game works and finds that most work "now" too.


There is special chips used on game cards called Mappers, each game use a different mapper and there are many mappers and there is some bugs on 6502 yet.

Sorry guys, i didn't have time today to work on 3DNES, very sorry, studying to exams.
 
I'm probably fan-boying a little bit, but it's pretty stinking cool to have the OP/Emulator builder respond to my stupid question lol



also I really hope you do well on your exams!

~~~~edited to wish good luck~~~~
 
I'm probably fan-boying a little bit, but it's pretty stinking cool to have the OP/Emulator builder respond to my stupid question lol



also I really hope you do well on your exams!

~~~~edited to wish good luck~~~~


It was not a stupid question, anyone know everything =P
 
so now that it is in .3dsx can it use the same trick/calls that the unofficial builds of blargsnes in the .3dsx formatt use to get sound?
is anyone working on unofficial builds trying that or is there one already?
 
so now that it is in .3dsx can it use the same trick/calls that the unofficial builds of blargsnes in the .3dsx formatt use to get sound?
is anyone working on unofficial builds trying that or is there one already?
Where did you get 3dnes in .3dsx format? I checked the 1st page but it is only in .3ds format.
 
so now that it is in .3dsx can it use the same trick/calls that the builds of blarg in the .3dsx formatt use to get sound?

anyone working on unofficial builds like that or is there one already?
Where did you get 3dnes in .3dsx format? I checked the 1st page but it is only in .3ds format.

oh i dont have it in in .3dsx format i am just saying it now exists, not sure if it was released or in a git
i am just going by this post above

"So today i did a good progress, my friend tested the .3dsx and work perfect, i am working on a new GUI. Other important thing is because now i am using 16bpp instead of 24bpp(it give a improves on speed), the emulator will start with frameskip 2 and you can change it easy on configuration menu, VSYNC issue the speed too, you can disable it on configuration menu but there is some issues with it disabled."

just saying that smea said sound calls are available or more easily available in this launcher and the blargsnes woks with sound in .3dsx so i was wondering if it is easier to add sound now with this new format
 
  • Like
Reactions: cvskid
When compiling (with CTRULIB) i get this error evrytiem:
Code:
6502core.c
arm-none-eabi-gcc -MMD -MP -MF /c/Users/Jasper/Documents/3DNES-master2/3DNES-master/build/6502core.d -g -Wall -O3 -mword-relocations -save-temps -fomit-frame-pointer -ffast-math -mfloat-abi=softfp -march=armv6k -mtune=mpcore -I/c/Users/Jasper/Documents/3DNES-master2/3DNES-master/include -IC:\devkitPro\ctrulib\libctru/include -I/c/Users/Jasper/Documents/3DNES-master2/3DNES-master/build -DARM11 -D_3DS -c /c/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/6502core.c -o 6502core.o
c:/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/6502core.c: In function 'adc_imm':
c:/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/6502core.c:26:2: warning: implicit declaration of function 'memoryRead' [-Wimplicit-function-declaration]
  unsigned char data = memoryRead(EA);
  ^
c:/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/6502core.c: In function 'asl_zp':
c:/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/6502core.c:246:2: warning: implicit declaration of function 'writeMemory' [-Wimplicit-function-declaration]
  writeMemory(EA, data);
  ^
FileSystem.c
arm-none-eabi-gcc -MMD -MP -MF /c/Users/Jasper/Documents/3DNES-master2/3DNES-master/build/FileSystem.d -g -Wall -O3 -mword-relocations -save-temps -fomit-frame-pointer -ffast-math -mfloat-abi=softfp -march=armv6k -mtune=mpcore -I/c/Users/Jasper/Documents/3DNES-master2/3DNES-master/include -IC:\devkitPro\ctrulib\libctru/include -I/c/Users/Jasper/Documents/3DNES-master2/3DNES-master/build -DARM11 -D_3DS -c /c/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/FileSystem.c -o FileSystem.o
c:/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/FileSystem.c:148:2: warning: "/*" within comment [-Wcomment]
  /*if (SRAM_Name != NULL) {
^
c:/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/FileSystem.c: In function 'NES_drawROMLIST':
c:/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/FileSystem.c:84:3: warning: implicit declaration of function 'draw_string_c' [-Wimplicit-function-declaration]
  draw_string_c(55 + (i * 15), fileSystem.fileList[i]);
  ^
c:/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/FileSystem.c:87:2: warning: implicit declaration of function 'draw_string' [-Wimplicit-function-declaration]
  draw_string(10, (fileSystem.cFile * 15) + 53, "->");
  ^
c:/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/FileSystem.c: In function 'NES_drawConfigurationMenu':
c:/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/FileSystem.c:98:2: warning: implicit declaration of function 'sprintf' [-Wimplicit-function-declaration]
  sprintf(gameFPS, "FrameSkip: %d", frameSkip);
  ^
c:/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/FileSystem.c:98:2: warning: incompatible implicit declaration of built-in function 'sprintf'
c:/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/FileSystem.c: In function 'NES_LoadSelectedGame':
c:/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/FileSystem.c:130:6: warning: unused variable 'SRAM_Size' [-Wunused-variable]
  u32    SRAM_Size = 0;
      ^
main.c
arm-none-eabi-gcc -MMD -MP -MF /c/Users/Jasper/Documents/3DNES-master2/3DNES-master/build/main.d -g -Wall -O3 -mword-relocations -save-temps -fomit-frame-pointer -ffast-math -mfloat-abi=softfp -march=armv6k -mtune=mpcore -I/c/Users/Jasper/Documents/3DNES-master2/3DNES-master/include -IC:\devkitPro\ctrulib\libctru/include -I/c/Users/Jasper/Documents/3DNES-master2/3DNES-master/build -DARM11 -D_3DS -c /c/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/main.c -o main.o
c:/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/main.c: In function 'INIT_3DS':
c:/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/main.c:49:2: warning: implicit declaration of function 'aptSetupEventHandler' [-Wimplicit-function-declaration]
  aptSetupEventHandler();
  ^
c:/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/main.c:52:12: error: assignment to expression with array type
  ROM_Cache    = NULL;
            ^
c:/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/main.c: In function 'NES_MAINLOOP':
c:/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/main.c:191:6: warning: implicit declaration of function 'drawMenu' [-Wimplicit-function-declaration]
      drawMenu();
      ^
c:/Users/Jasper/Documents/3DNES-master2/3DNES-master/source/main.c:227:5: warning: implicit declaration of function 'drawBuffers' [-Wimplicit-function-declaration]
    drawBuffers();
    ^
make[1]: *** [main.o] Error 1
make: *** [build] Error 2
 

Site & Scene News

Popular threads in this forum