Homebrew SNES9x for Old 3DS

ScarletDreamz

[Debug Mode]
Member
Joined
Feb 16, 2015
Messages
3,967
Trophies
1
Location
/dev/sda1
XP
4,380
Country
United States
Support for libctru v1.2 was only added after v0.80, thanks to the help of a fellow contributor.
This confuses me a little bit.. So basically...

v0.80 and on uses 1.2, but this trigger O3DS Speeds on the N3DS.

the flag -DLIBCTRU_1_0_0 is needed in order to make the N3DS speed works? do i need to recompile libctru v1.0.0 in order to compile with the flag -DLIBCTRU_1_0_0?

However the flag -DLIBCTRU_1_0_0 doe snot appear on v80, only on the master branch as you stated, so the error continues..

I can build master branch whitout issues, but cant compile v80, do i need libctru 1.0.0 compiled? whe compiling the v80 i got the errors pasted above. o-oU

So... basically:

MasterBrach + Libctru 1.2.0 with Removed flag: Works
MasterBrach + Libctru 1.2.0 with With flag: Does Not Works
v0.80 + libctru 1.2.0 : Does Not Works
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
Thanks to @zerofalcon's feedback on Batman and Robin, and @angelhp's report on Doraemon - Nobita something .

Both were bugs resulting from the implementation of layering in Mode 7, which fixes Contra 3's stage 2, but broke the above games.

The latest nightly fixes everything about the Mode 7 layering with some really crazy math and alpha channel hacks. It also added another stretch option :yay:, but this should be the last of it for this round.

https://github.com/bubble2k16/snes9x_3ds/raw/master/snes9x_3ds.3dsx
https://github.com/bubble2k16/snes9x_3ds/raw/master/snes9x_3ds.cia


For now my focus will be on breaking changes (means: games that work in v0.80 but stopped working, or has corrupted graphics in v1.00b). Please do report them if you find them!

This confuses me a little bit.. So basically...

To keep it simple: Build all of the Snes9x for 3DS versions with devkitARM r45, libctru v1.0.0, and citro3d v1.0.0. You can get these all from source forge.
 
Last edited by bubble2k16,

kane159

Well-Known Member
Member
Joined
May 28, 2013
Messages
215
Trophies
1
Age
34
XP
1,234
Country
Taiwan
hey! good job bro! now i can play all my snes games on my really old 3ds :P
and heres some graphic glitch i report very long times ago....
about clock tower
1.disable style2 looks like this
clock-tower-japan-en-by-aeon-genesis-v1-01-b001-bmp.77670

2.disable style1 looks like this
clock-tower-japan-en-by-aeon-genesis-v1-01-b002-bmp.77671

3.and enable looks like this(the white ling flashing....)
clock-tower-japan-en-by-aeon-genesis-v1-01-b003-bmp.77672
 

Attachments

  • Clock Tower (Japan) [En by Aeon Genesis v1.01].b001.bmp
    187.6 KB · Views: 4,124
  • Clock Tower (Japan) [En by Aeon Genesis v1.01].b002.bmp
    187.6 KB · Views: 4,124
  • Clock Tower (Japan) [En by Aeon Genesis v1.01].b003.bmp
    187.6 KB · Views: 4,112

ScarletDreamz

[Debug Mode]
Member
Joined
Feb 16, 2015
Messages
3,967
Trophies
1
Location
/dev/sda1
XP
4,380
Country
United States
To keep it simple: Build all of the Snes9x for 3DS versions with devkitARM r45, libctru v1.0.0, and citro3d v1.0.0. You can get these all from source forge.

Thanks for the help, sadly it did not work, ill guess ill stick with master branch and libctru 1.2.0, compiling with 1.0.0 gives several errors on v80, and master branch :/

This is the log when compiling master branch with libctru 1.2.0 and with the flag enable:
C:\Users\Admin\Desktop\Sources\snes9x_3ds\MasterBranch>make clean
clean ...

C:\Users\Admin\Desktop\Sources\snes9x_3ds\MasterBranch>make
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
arm-none-eabi-g++ -MMD -MP -MF /c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/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/Users/Admin/Desktop/Sources/snes9x_
3ds/MasterBranch/include -I/E/devkitPro/libctru/include -I/c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/build -I/c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source -I/c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/unzip -DARM11 -D_3DS -DLIBCTRU_1_0
_0 -fno-rtti -fno-exceptions -std=gnu++11 -c /c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsmain.cpp -o 3dsmain.o
3dsmenu.cpp
arm-none-eabi-g++ -MMD -MP -MF /c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/build/3dsmenu.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/Users/Admin/Desktop/Sources/snes9x_
3ds/MasterBranch/include -I/E/devkitPro/libctru/include -I/c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/build -I/c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source -I/c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/unzip -DARM11 -D_3DS -DLIBCTRU_1_0
_0 -fno-rtti -fno-exceptions -std=gnu++11 -c /c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsmenu.cpp -o 3dsmenu.o
3dsopt.cpp
arm-none-eabi-g++ -MMD -MP -MF /c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/build/3dsopt.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/Users/Admin/Desktop/Sources/snes9x_3
ds/MasterBranch/include -I/E/devkitPro/libctru/include -I/c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/build -I/c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source -I/c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/unzip -DARM11 -D_3DS -DLIBCTRU_1_0_
0 -fno-rtti -fno-exceptions -std=gnu++11 -c /c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsopt.cpp -o 3dsopt.o
3dsgpu.cpp
arm-none-eabi-g++ -MMD -MP -MF /c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/build/3dsgpu.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/Users/Admin/Desktop/Sources/snes9x_3
ds/MasterBranch/include -I/E/devkitPro/libctru/include -I/c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/build -I/c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source -I/c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/unzip -DARM11 -D_3DS -DLIBCTRU_1_0_
0 -fno-rtti -fno-exceptions -std=gnu++11 -c /c/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp -o 3dsgpu.o
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsSetAttributeBuffers(u8, u32*, u64)':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:226:13: error: 'GPU_SetAttributeBuffers' was not declared in this scope
);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsEnableDepthTestAndWriteColorAlphaOnly()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:248:99: error: 'GPU_SetDepthTestAndWriteMask' was not declared in this scope
GPU_SetDepthTestAndWriteMask(true, GPU_GEQUAL, (GPU_WRITEMASK)(GPU_WRITE_COLOR | GPU_WRITE_ALPHA));
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsEnableDepthTestAndWriteRedOnly()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:253:79: error: 'GPU_SetDepthTestAndWriteMask' was not declared in this scope
GPU_SetDepthTestAndWriteMask(true, GPU_GEQUAL, (GPU_WRITEMASK)(GPU_WRITE_RED));
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsEnableDepthTest()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:258:62: error: 'GPU_SetDepthTestAndWriteMask' was not declared in this scope
GPU_SetDepthTestAndWriteMask(true, GPU_GEQUAL, GPU_WRITE_ALL);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsDisableDepthTestAndWriteColorAlphaOnly()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:263:99: error: 'GPU_SetDepthTestAndWriteMask' was not declared in this scope
GPU_SetDepthTestAndWriteMask(false, GPU_NEVER, (GPU_WRITEMASK)(GPU_WRITE_COLOR | GPU_WRITE_ALPHA));
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsDisableDepthTestAndWriteColorOnly()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:268:81: error: 'GPU_SetDepthTestAndWriteMask' was not declared in this scope
GPU_SetDepthTestAndWriteMask(false, GPU_NEVER, (GPU_WRITEMASK)(GPU_WRITE_COLOR));
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsDisableDepthTestAndWriteRedOnly()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:273:79: error: 'GPU_SetDepthTestAndWriteMask' was not declared in this scope
GPU_SetDepthTestAndWriteMask(false, GPU_NEVER, (GPU_WRITEMASK)(GPU_WRITE_RED));
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsDisableDepthTest()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:278:63: error: 'GPU_SetDepthTestAndWriteMask' was not declared in this scope
GPU_SetDepthTestAndWriteMask(false, GPU_ALWAYS, GPU_WRITE_ALL);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsEnableStencilTest(GPU_TESTFUNC, u8, u8)':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:284:54: error: 'GPU_SetStencilTest' was not declared in this scope
GPU_SetStencilTest(true, func, ref, input_mask, 0);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsDisableStencilTest()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:289:56: error: 'GPU_SetStencilTest' was not declared in this scope
GPU_SetStencilTest(false, GPU_ALWAYS, 0x00, 0x00, 0x00);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsClearTextureEnv(u8)':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:302:13: error: 'GPU_SetTexEnv' was not declared in this scope
0x80808080);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsSetTextureEnvironmentReplaceColor()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:315:2: error: 'GPU_SetTexEnv' was not declared in this scope
);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsSetTextureEnvironmentReplaceColorButKeepAlpha()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:332:2: error: 'GPU_SetTexEnv' was not declared in this scope
);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsSetTextureEnvironmentReplaceTexture0()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:349:2: error: 'GPU_SetTexEnv' was not declared in this scope
);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsSetTextureEnvironmentReplaceTexture0WithColorAlpha()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:366:2: error: 'GPU_SetTexEnv' was not declared in this scope
);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsSetTextureEnvironmentReplaceTexture0WithFullAlpha()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:383:2: error: 'GPU_SetTexEnv' was not declared in this scope
);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsSetTextureEnvironmentReplaceTexture0WithConstantAlpha(uint8)':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:400:2: error: 'GPU_SetTexEnv' was not declared in this scope
);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsDrawVertexList(SVertexList*, GPU_Primitive_t, bool, int, int)':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:476:47: error: 'GPU_DrawArray' was not declared in this scope
GPU_DrawArray(type, 0, list->Count);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:527:47: error: 'GPU_DrawArray' was not declared in this scope
GPU_DrawArray(type, 0, list->Count);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsDrawMode7VertexList(SVertexList*, GPU_Primitive_t, int, int)':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:547:53: error: 'GPU_DrawArray' was not declared in this scope
GPU_DrawArray(type, fromIndex, tileCount);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:549:61: error: 'GPU_DrawArray' was not declared in this scope
GPU_DrawArray(type, fromIndex * 6, tileCount * 6);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'bool gpu3dsInitialize()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:684:15: error: 'GPU_Init' was not declared in this scope
GPU_Init(NULL);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:715:57: error: 'GPU_Reset' was not declared in this scope
GPU_Reset(NULL, gpuCommandBuffer1, gpuCommandBufferSize);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:832:26: error: 'GPU_DepthMap' was not declared in this scope
GPU_DepthMap(-1.0f, 0.0f);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:833:63: error: 'GPU_SetDepthTestAndWriteMask' was not declared in this scope
GPU_SetDepthTestAndWriteMask(false, GPU_GEQUAL, GPU_WRITE_ALL);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:837:34: error: 'GPU_SetFaceCulling' was not declared in this scope
GPU_SetFaceCulling(GPU_CULL_NONE);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:838:56: error: 'GPU_SetStencilTest' was not declared in this scope
GPU_SetStencilTest(false, GPU_ALWAYS, 0x00, 0xFF, 0x00);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:839:71: error: 'GPU_SetStencilOp' was not declared in this scope
GPU_SetStencilOp(GPU_STENCIL_KEEP, GPU_STENCIL_KEEP, GPU_STENCIL_KEEP);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:841:30: error: 'GPU_SetBlendingColor' was not declared in this scope
GPU_SetBlendingColor(0,0,0,0);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:847:2: error: 'GPU_SetAlphaBlending' was not declared in this scope
);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:849:46: error: 'GPU_SetTextureBorderColor' was not declared in this scope
GPU_SetTextureBorderColor(GPU_TEXUNIT0, 0);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsEnableAlphaTestNotEqualsZero()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:910:46: error: 'GPU_SetAlphaTest' was not declared in this scope
GPU_SetAlphaTest(true, GPU_NOTEQUAL, 0x00);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsEnableAlphaTestEqualsOne()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:915:43: error: 'GPU_SetAlphaTest' was not declared in this scope
GPU_SetAlphaTest(true, GPU_EQUAL, 0x01);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsEnableAlphaTestEquals(uint8)':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:920:44: error: 'GPU_SetAlphaTest' was not declared in this scope
GPU_SetAlphaTest(true, GPU_EQUAL, alpha);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsDisableAlphaTest()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:926:47: error: 'GPU_SetAlphaTest' was not declared in this scope
GPU_SetAlphaTest(false, GPU_NOTEQUAL, 0x00);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsStartNewFrame()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1382:61: error: 'GPU_Reset' was not declared in this scope
GPU_Reset(NULL, gpuCommandBuffer1, gpuCommandBufferSize);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1386:61: error: 'GPU_Reset' was not declared in this scope
GPU_Reset(NULL, gpuCommandBuffer2, gpuCommandBufferSize);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsUseShader(int)':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1412:91: error: 'GPU_SetFloatUniform' was not declared in this scope
GPU_SetFloatUniform(GPU_VERTEX_SHADER, 0, (u32 *)GPU3DS.projectionTopScreen, 4);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1417:103: error: 'GPU_SetFloatUniform' was not declared in this scope
GPU_SetFloatUniform(GPU_VERTEX_SHADER, 0, (u32 *)GPU3DS.currentRenderTarget->Projection, 4);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1425:100: error: 'GPU_SetFloatUniform' was not declared in this scope
GPU_SetFloatUniform(GPU_VERTEX_SHADER, 4, (u32 *)GPU3DS.currentTexture->TextureScale, 1);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1428:81: error: 'GPU_SetFloatUniform' was not declared in this scope
GPU_SetFloatUniform(GPU_VERTEX_SHADER, 6, (u32 *)GPU3DS.textureOffset, 1);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsEnableAlphaBlending()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1494:2: error: 'GPU_SetAlphaBlending' was not declared in this scope
);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsDisableAlphaBlending()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1504:2: error: 'GPU_SetAlphaBlending' was not declared in this scope
);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsDisableAlphaBlendingKeepDestAlpha()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1514:5: error: 'GPU_SetAlphaBlending' was not declared in this scope
);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsEnableAdditiveBlending()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1524:2: error: 'GPU_SetAlphaBlending' was not declared in this scope
);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsEnableSubtractiveBlending()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1534:2: error: 'GPU_SetAlphaBlending' was not declared in this scope
);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsEnableAdditiveDiv2Blending()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1539:39: error: 'GPU_SetBlendingColor' was not declared in this scope
GPU_SetBlendingColor(0, 0, 0, 0xff);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1545:2: error: 'GPU_SetAlphaBlending' was not declared in this scope
);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsEnableSubtractiveDiv2Blending()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1550:39: error: 'GPU_SetBlendingColor' was not declared in this scope
GPU_SetBlendingColor(0, 0, 0, 0xff);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1556:2: error: 'GPU_SetAlphaBlending' was not declared in this scope
);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsResetState()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1565:26: error: 'GPU_DepthMap' was not declared in this scope
GPU_DepthMap(-1.0f, 0.0f);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1566:34: error: 'GPU_SetFaceCulling' was not declared in this scope
GPU_SetFaceCulling(GPU_CULL_NONE);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1567:56: error: 'GPU_SetStencilTest' was not declared in this scope
GPU_SetStencilTest(false, GPU_ALWAYS, 0x00, 0xFF, 0x00);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1568:71: error: 'GPU_SetStencilOp' was not declared in this scope
GPU_SetStencilOp(GPU_STENCIL_KEEP, GPU_STENCIL_KEEP, GPU_STENCIL_KEEP);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1569:30: error: 'GPU_SetBlendingColor' was not declared in this scope
GPU_SetBlendingColor(0,0,0,0);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1570:63: error: 'GPU_SetDepthTestAndWriteMask' was not declared in this scope
GPU_SetDepthTestAndWriteMask(false, GPU_GEQUAL, GPU_WRITE_ALL);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1579:2: error: 'GPU_SetAlphaBlending' was not declared in this scope
);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1581:43: error: 'GPU_SetAlphaTest' was not declared in this scope
GPU_SetAlphaTest(true, GPU_NOTEQUAL, 0x00);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsSetRenderTargetToTopFrameBuffer()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1612:87: error: 'GPU_SetFloatUniform' was not declared in this scope
GPU_SetFloatUniform(GPU_VERTEX_SHADER, 0, (u32 *)GPU3DS.projectionTopScreen, 4);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1621:27: error: 'GPU_SetViewport' was not declared in this scope
0, 0, 240, 400);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsSetRenderTargetToTexture(SGPUTexture*, SGPUTexture*)':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1633:80: error: 'GPU_SetFloatUniform' was not declared in this scope
GPU_SetFloatUniform(GPU_VERTEX_SHADER, 0, (u32 *)texture->Projection, 4);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1651:36: error: 'GPU_SetViewport' was not declared in this scope
0, 0, vpWidth, vpHeight);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsSetRenderTargetToTextureSpecific(SGPUTexture*, SGPUTexture*, int, int, int)':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1661:76: error: 'GPU_SetFloatUniform' was not declared in this scope
GPU_SetFloatUniform(GPU_VERTEX_SHADER, 0, (u32 *)texture->Projection, 4);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1671:28: error: 'GPU_SetViewport' was not declared in this scope
0, 0, width, height);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsBindTextureWithParams(SGPUTexture*, GPU_TEXUNIT, u32)':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1837:34: error: 'GPU_SetTextureEnable' was not declared in this scope
GPU_SetTextureEnable(unit);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1847:9: error: 'GPU_SetTexEnv' was not declared in this scope
);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1856:9: error: 'GPU_SetTexture' was not declared in this scope
);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1858:82: error: 'GPU_SetFloatUniform' was not declared in this scope
GPU_SetFloatUniform(GPU_VERTEX_SHADER, 4, (u32 *)texture->TextureScale, 1);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsSetMode7UpdateFrameCountUniform()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:1879:85: error: 'GPU_SetFloatUniform' was not declared in this scope
GPU_SetFloatUniform(GPU_VERTEX_SHADER, 5, (u32 *)GPU3DS.mode7UpdateFrameCount, 1);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsScissorTest(GPU_SCISSORMODE, uint32, uint32, uint32, uint32)':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:2008:40: error: 'GPU_SetScissorTest' was not declared in this scope
GPU_SetScissorTest(mode, x, y, w, h);
^
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp: In function 'void gpu3dsSetTextureOffset(float, float)':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/MasterBranch/source/3dsgpu.cpp:2143:77: error: 'GPU_SetFloatUniform' was not declared in this scope
GPU_SetFloatUniform(GPU_VERTEX_SHADER, 6, (u32 *)GPU3DS.textureOffset, 1);
^
make[1]: *** [3dsgpu.o] Error 1
make: *** [build] Error 2

C:\Users\Admin\Desktop\Sources\snes9x_3ds\MasterBranch>^A^A

C:\Users\Admin\Desktop\Sources\snes9x_3ds\MasterBranch>

This is the log building v0.80 with libctru 1.2.0:
C:\Users\Admin\Desktop\Sources\snes9x_3ds\v80>make
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
arm-none-eabi-g++ -MMD -MP -MF /c/Users/Admin/Desktop/Sources/snes9x_3ds/v80/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/Users/Admin/Desktop/Sources/snes9x_3ds/v80
/include -I/E/devkitPro/libctru/include -I/c/Users/Admin/Desktop/Sources/snes9x_3ds/v80/build -I/c/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source -I/c/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/unzip -DARM11 -D_3DS -fno-rtti -fno-exceptions -std=gnu++11 -c /c/Users/Si
gi.Flores/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp -o 3dsmain.o
c:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp: In function 'void menuSelectFile()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp:1326:9: error: 'APT_AppStatus' was not declared in this scope
APT_AppStatus appStatus = aptGetStatus();
^~~~~~~~~~~~~
c:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp:1327:13: error: 'appStatus' was not declared in this scope
if (appStatus == APP_EXITING)
^~~~~~~~~
c:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp:1327:26: error: 'APP_EXITING' was not declared in this scope
if (appStatus == APP_EXITING)
^~~~~~~~~~~
c:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp: In function 'void menuPause()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp:1411:9: error: 'APT_AppStatus' was not declared in this scope
APT_AppStatus appStatus = aptGetStatus();
^~~~~~~~~~~~~
c:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp:1412:13: error: 'appStatus' was not declared in this scope
if (appStatus == APP_EXITING)
^~~~~~~~~
c:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp:1412:26: error: 'APP_EXITING' was not declared in this scope
if (appStatus == APP_EXITING)
^~~~~~~~~~~
c:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp: In function 'void snesEmulatorLoop()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp:1947:9: error: 'APT_AppStatus' was not declared in this scope
APT_AppStatus appStatus = aptGetStatus();
^~~~~~~~~~~~~
c:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp:1948:13: error: 'appStatus' was not declared in this scope
if (appStatus == APP_EXITING)
^~~~~~~~~
c:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp:1948:26: error: 'APP_EXITING' was not declared in this scope
if (appStatus == APP_EXITING)
^~~~~~~~~~~
c:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp: In function 'int main()':
c:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp:2537:9: error: 'APT_AppStatus' was not declared in this scope
APT_AppStatus appStatus = aptGetStatus();
^~~~~~~~~~~~~
c:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp:2538:13: error: 'appStatus' was not declared in this scope
if (appStatus == APP_EXITING)
^~~~~~~~~
c:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp:2538:26: error: 'APP_EXITING' was not declared in this scope
if (appStatus == APP_EXITING)
^~~~~~~~~~~
make[1]: *** [3dsmain.o] Error 1
make: *** [build] Error 2

This is the log building v0.80 with libctru 1.0.0:
C:\Users\Admin\Desktop\Sources\snes9x_3ds\v80>make
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
arm-none-eabi-g++ -MMD -MP -MF /c/Users/Admin/Desktop/Sources/snes9x_3ds/v80/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/Users/Admin/Desktop/Sources/snes9x_3ds/v80
/include -I/E/devkitPro/libctru/include -I/c/Users/Admin/Desktop/Sources/snes9x_3ds/v80/build -I/c/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source -I/c/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/unzip -DARM11 -D_3DS -fno-rtti -fno-exceptions -std=gnu++11 -c /c/Users/Si
gi.Flores/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp -o 3dsmain.o
In file included from e:/devkitPro/libctru/include/sys/select.h:3:0,
from e:\devkitpro\devkitarm\arm-none-eabi\include\sys\types.h:68,
from e:\devkitpro\devkitarm\arm-none-eabi\include\stdio.h:61,
from e:\devkitpro\devkitarm\arm-none-eabi\include\c++\6.3.0\cstdio:42,
from c:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp:2:
e:\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)
^~~~~
e:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:145:17: error: 'sbintime_getsec' declared as an 'inline' variable
sbintime_getsec(sbintime_t _sbt)
^~~~~~~~~~
e:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:145:17: error: 'sbintime_t' was not declared in this scope
e:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:151:17: error: 'sbintime_t' does not name a type
static __inline sbintime_t
^~~~~~~~~~
e:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:159:9: error: 'sbttobt' declared as an 'inline' variable
sbttobt(sbintime_t _sbt)
^~~~~~~~~~
e:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:159:9: error: 'sbintime_t' was not declared in this scope
e:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:160:1: error: expected ',' or ';' before '{' token
{
^
e:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:218:9: error: 'sbttots' declared as an 'inline' variable
sbttots(sbintime_t _sbt)
^~~~~~~~~~
e:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:218:9: error: 'sbintime_t' was not declared in this scope
e:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:219:1: error: expected ',' or ';' before '{' token
{
^
e:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:227:17: error: 'sbintime_t' does not name a type
static __inline sbintime_t
^~~~~~~~~~
e:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:236:9: error: 'sbttotv' declared as an 'inline' variable
sbttotv(sbintime_t _sbt)
^~~~~~~~~~
e:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:236:9: error: 'sbintime_t' was not declared in this scope
e:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:237:1: error: expected ',' or ';' before '{' token
{
^
e:\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 e:\devkitpro\devkitarm\arm-none-eabi\include\sys\time.h:268:0,
from e:/devkitPro/libctru/include/sys/select.h:3,
from e:\devkitpro\devkitarm\arm-none-eabi\include\sys\types.h:68,
from e:\devkitpro\devkitarm\arm-none-eabi\include\stdio.h:61,
from e:\devkitpro\devkitarm\arm-none-eabi\include\c++\6.3.0\cstdio:42,
from c:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp:2:
e:\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 e:\devkitpro\devkitarm\arm-none-eabi\include\sys\types.h:68:0,
from e:\devkitpro\devkitarm\arm-none-eabi\include\stdio.h:61,
from e:\devkitpro\devkitarm\arm-none-eabi\include\c++\6.3.0\cstdio:42,
from c:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp:2:
e:/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);
^~~~~~
e:/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);
^~~~~~
e:/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:/Users/Admin/Desktop/Sources/snes9x_3ds/v80/source/3dsmain.cpp:5:0:
e:\devkitpro\devkitarm\arm-none-eabi\include\c++\6.3.0\ctime:64:11: error: '::clock' has not been declared
using ::clock;
^~~~~
make[1]: *** [3dsmain.o] Error 1
make: *** [build] Error 2

C:\Users\Admin\Desktop\Sources\snes9x_3ds\v80>

So far, for me the only thing that work its the master branch with the flag removed using libctru 1.2.0.
 

vander263

Well-Known Member
Member
Joined
Jan 21, 2017
Messages
177
Trophies
0
Age
33
XP
52
Country
Brazil
Great improvement @bubble2k16, i wish i could help you with this, but my knowledge in emulation is very limited yet, i'm trying to fix some bugs in a SuperCHIP8 emulator that i made and i'm getting angry already lol, so i kinda know how you fell when this strange things happens, and in a project so complex like this one, you are really a hero :bow:
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
and heres some graphic glitch i report very long times ago....
about clock tower

Yup this was reported, but it looks like another timing issue that I don't really know how to fix. :) I probably won't either...

So far, for me the only thing that work its the master branch with the flag removed using libctru 1.2.0.

Yup. If you compile the latest with libctru 1.2.0 successfully, you will not be able to run the emulator using the New 3DS clock speed (unless of course you set up BootNTR or setup Luma3DS to enable the full clock on your New 3DS). It is a known problem with libctru 1.2.0. It's ok if you are running and Old 3DS, and you are not going to distribute this version.

Therefore, it is better to compile with libctru v1.0.0 so that the emulator can automatically enable the full clock speed in a New 3DS. But to do that, you must remove devkitARM r46 and reinstall devkitARM r45. You probably didn't do that that's why you couldn't compile with libctru v1.0.0. :)
 

ScarletDreamz

[Debug Mode]
Member
Joined
Feb 16, 2015
Messages
3,967
Trophies
1
Location
/dev/sda1
XP
4,380
Country
United States
Yup this was reported, but it looks like another timing issue that I don't really know how to fix. :) I probably won't either...



Yup. If you compile the latest with libctru 1.2.0 successfully, you will not be able to run the emulator using the New 3DS clock speed (unless of course you set up BootNTR or setup Luma3DS to enable the full clock on your New 3DS). It is a known problem with libctru 1.2.0. It's ok if you are running and Old 3DS, and you are not going to distribute this version.

Therefore, it is better to compile with libctru v1.0.0 so that the emulator can automatically enable the full clock speed in a New 3DS. But to do that, you must remove devkitARM r46 and reinstall devkitARM r45. You probably didn't do that that's why you couldn't compile with libctru v1.0.0. :)
EOohhh.. i see....

Well, since luma have the patches for N3DS Clocks, its not a big deal O:

thanks for answering btw.
 

coinblock

Well-Known Member
Member
Joined
Sep 4, 2015
Messages
254
Trophies
0
XP
287
Country
I just updated a latest nightly with it; wasn't too difficult to implement it seems. But it doesn't look as good to me as what others suggested. (It's half as bright as without 3D, although with 3D the pixels are more clearly defined).

Thanks a lot for adding this! I think it makes a big difference when playing sprite-based games, anyway. The performance on the latest nightly is also excellent!
 

coinblock

Well-Known Member
Member
Joined
Sep 4, 2015
Messages
254
Trophies
0
XP
287
Country
@bubble2k16, another thought for you... When this project wraps up, instead of working on GBA or PSX emulation, have you considered trying to port a Virtual Boy emulator over? It would be a natural fit for the 3DS! (Although probably the N3DS would only be able to run it...)
 

angelhp

Well-Known Member
Member
Joined
Nov 30, 2014
Messages
509
Trophies
0
XP
2,334
Country
United States
@bubble2k16, another thought for you... When this project wraps up, instead of working on GBA or PSX emulation, have you considered trying to port a Virtual Boy emulator over? It would be a natural fit for the 3DS! (Although probably the N3DS would only be able to run it...)
Yes , virtual boy emu will be genial.....
 

BL4Z3D247

GBAtemp Stoner
Member
Joined
Oct 22, 2008
Messages
1,942
Trophies
0
Age
39
Location
I'm so high, I don't even know!
XP
1,228
Country
United States
Isn't there a Virtual Boy emulator already being worked on for the N3DS? I think it's called r3Dragon but it only runs on firmware 9.3 or below. I don't know how well it runs as I've never tried it(I have a 2DS and my N3DS isn't here yet). Looks like it's still being work on as the last commit on github was 8 days ago. Just mentioning it in case someone hadn't known about it.

Personally I'd like to see a GBA emulator so I(we) can get rid of the clutter that is VC injects, not to mention some much needed features that VC injects don't provide. I can also go for a PSX emulator, I'd love to play some FFVII and Xenogears on the go(I know I could just use my PSP Phat but it's not as comfortable to play on).

Anyways, whatever the next project you venture off to is, I'll be following. :)
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
All that work and research for Mario Clash and Wario <.< Honestly I'd rather have a functional NES or Genesis/MD emulator that doesn't use RetroArch

Hmm... I haven't really decided what to do. I'll see. :)

another thought for you... When this project wraps up, instead of working on GBA or PSX emulation, have you considered trying to port a Virtual Boy emulator over? It would be a natural fit for the 3DS! (Although probably the N3DS would only be able to run it...)

Virtualboy has too little games. And besides, as @ScarletDreamz and @BL4Z3D247 mentioned, there's already one.

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

Finally, think it's time.

v1.00 Released

- Transplanted the full SPC700 + DSP source codes from Snes9x v1.51 into this emulator. As a result, the sound emulation now supports Gaussian Interpolation, and has better accuracy. This fixes some sound problems in Clay Fighter and Mortal Kombat I and II.
- Fixed Mode 7 priorities in games that use this: Contra III's stage 1 (at the loss of some color fidelity). Implementing this required the use of some crazy math hacks and hardware tricks to pull this off.
- Implemented some experimental speed hacks for Super Mario RPG and Kirby's Dreamland. Runs slightly faster (still not full speed) on Old 3DS.
- Implemented hi-res translucency. We get non-flickering emulation of hi-res screens (Secret of Mana, Seiken Densetsu 3, A.S.P. Air Strike Patrol) now as a bonus. As a result, Kirby's Dreamland is now playable.
- Invented a new cheat file format .CHX (text file) so that players can add cheats by using any text editor.
- Centralized the SNES output screen vertically on the top screen.
- Overhauled the user interface to give a more modern look as well as provide additional fonts.
- Added more screen stretch options as requested by many users.
- Added 3D slider support. Pushing up the 3D slider doesn't create any 3D effect, but may create a better viewing experience.
- Removed unnecessary debug messages during start up / shut down of the emulator.
- Fixed a bug when the SRAM still saves randomly when it is set to Disabled.
- Reduced memory footprint for storing texture position caches.
- Made this version buildable with libctru v1.2.0 (thanks to Maki-chan)
[Note: Building with devkitARM r46 and libctru v1.2.0 will cause a bug where the emulator cannot utilize the full clock speed of the New 3DS.]


Thanks to everyone for the suggestions and bug reports! :grog:
 

Attachments

  • snes9x_3ds_v1.00.zip
    1.3 MB · Views: 887
Last edited by bubble2k16,

ScarletDreamz

[Debug Mode]
Member
Joined
Feb 16, 2015
Messages
3,967
Trophies
1
Location
/dev/sda1
XP
4,380
Country
United States
Hmm... I haven't really decided what to do. I'll see. :)



Virtualboy has too little games. And besides, as @ScarletDreamz and @BL4Z3D247 mentioned, there's already one.

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

Finally, think it's time.

v1.00 Released

- Transplanted the full SPC700 + DSP source codes from Snes9x v1.51 into this emulator. As a result, the sound emulation now supports Gaussian Interpolation, and has better accuracy. This fixes some sound problems in Clay Fighter and Mortal Kombat I and II.
- Fixed Mode 7 priorities in games that use this: Contra III's stage 1 (at the loss of some color fidelity). Implementing this required the use of some crazy math hacks and hardware tricks to pull this off.
- Implemented some experimental speed hacks for Super Mario RPG and Kirby's Dreamland. Runs slightly faster (still not full speed) on Old 3DS.
- Implemented hi-res translucency. We get non-flickering emulation of hi-res screens (Secret of Mana, Seiken Densetsu 3, A.S.P. Air Strike Patrol) now as a bonus. As a result, Kirby's Dreamland is now playable.
- Invented a new cheat file format .CHX (text file) so that players can add cheats by using any text editor.
- Centralized the SNES output screen vertically on the top screen.
- Overhauled the user interface to give a more modern look as well as provide additional fonts.
- Added more screen stretch options as requested by many users.
- Added 3D slider support. Pushing up the 3D slider doesn't create any 3D effect, but may create a better viewing experience.
- Removed unnecessary debug messages during start up / shut down of the emulator.
- Fixed a bug when the SRAM still saves randomly when it is set to Disabled.
- Reduced memory footprint for storing texture position caches.
- Made this version buildable with libctru v1.2.0 (thanks to Maki-chan)
[Note: Building with devkitARM r46 and libctru v1.2.0 will cause a bug where the emulator cannot utilize the full clock speed of the New 3DS.]


Thanks to everyone for the suggestions and bug reports! :grog:
Why not embed the top banner on the cia file and the 3ds, why read it externally? O:
 

angelhp

Well-Known Member
Member
Joined
Nov 30, 2014
Messages
509
Trophies
0
XP
2,334
Country
United States
Hmm... I haven't really decided what to do. I'll see. :)



Virtualboy has too little games. And besides, as @ScarletDreamz and @BL4Z3D247 mentioned, there's already one.

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

Finally, think it's time.

v1.00 Released

- Transplanted the full SPC700 + DSP source codes from Snes9x v1.51 into this emulator. As a result, the sound emulation now supports Gaussian Interpolation, and has better accuracy. This fixes some sound problems in Clay Fighter and Mortal Kombat I and II.
- Fixed Mode 7 priorities in games that use this: Contra III's stage 1 (at the loss of some color fidelity). Implementing this required the use of some crazy math hacks and hardware tricks to pull this off.
- Implemented some experimental speed hacks for Super Mario RPG and Kirby's Dreamland. Runs slightly faster (still not full speed) on Old 3DS.
- Implemented hi-res translucency. We get non-flickering emulation of hi-res screens (Secret of Mana, Seiken Densetsu 3, A.S.P. Air Strike Patrol) now as a bonus. As a result, Kirby's Dreamland is now playable.
- Invented a new cheat file format .CHX (text file) so that players can add cheats by using any text editor.
- Centralized the SNES output screen vertically on the top screen.
- Overhauled the user interface to give a more modern look as well as provide additional fonts.
- Added more screen stretch options as requested by many users.
- Added 3D slider support. Pushing up the 3D slider doesn't create any 3D effect, but may create a better viewing experience.
- Removed unnecessary debug messages during start up / shut down of the emulator.
- Fixed a bug when the SRAM still saves randomly when it is set to Disabled.
- Reduced memory footprint for storing texture position caches.
- Made this version buildable with libctru v1.2.0 (thanks to Maki-chan)
[Note: Building with devkitARM r46 and libctru v1.2.0 will cause a bug where the emulator cannot utilize the full clock speed of the New 3DS.]


Thanks to everyone for the suggestions and bug reports! :grog:
Thanks for this update!!!!
=) =)
Are menu (reset , exit and load slot ) pink or this is incomplete??
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • LeoTCK @ LeoTCK:
    telling him that my partner is luke...does he look like someone with such big ne
    eds?
  • LeoTCK @ LeoTCK:
    do you really think I could stand living with someone like luke?
  • LeoTCK @ LeoTCK:
    I suppose luke has "special needs" but he's not my partner, did you just say that to piss me off again?
  • LeoTCK @ LeoTCK:
    besides I had bigger worries today
  • LeoTCK @ LeoTCK:
    but what do you know about that, you won't believe me anyways
  • K3Nv2 @ K3Nv2:
    @BigOnYa can answer that
  • BigOnYa @ BigOnYa:
    BigOnYa already left the chat
  • K3Nv2 @ K3Nv2:
    Biginya
  • BigOnYa @ BigOnYa:
    Auto correct got me, I'm on my tablet, i need to turn that shit off
  • K3Nv2 @ K3Nv2:
    With other tabs open you perv
  • BigOnYa @ BigOnYa:
    I'm actually in my shed, bout to cut 2-3 acres of grass, my back yard.
  • K3Nv2 @ K3Nv2:
    I use to have a guy for that thanks richard
  • BigOnYa @ BigOnYa:
    I use my tablet to stream to a bluetooth speaker when in shed. iHeartRadio, FlyNation
  • K3Nv2 @ K3Nv2:
    While the victims are being buried
  • K3Nv2 @ K3Nv2:
    Grave shovel
  • BigOnYa @ BigOnYa:
    Nuh those goto the edge of the property (maybe just on the other side of)
  • K3Nv2 @ K3Nv2:
    On the neighbors side
    +1
  • BigOnYa @ BigOnYa:
    Yup, by the weird smelly green bushy looking plants.
  • Xdqwerty @ Xdqwerty:
    Water park was quite fun
  • NinStar @ NinStar:
    die?
  • LeoTCK @ LeoTCK:
    yes I'm in mortal danger
    LeoTCK @ LeoTCK: yes I'm in mortal danger