Just for fun, I tried to compile Mupen64Plus, [yes, I know it won't work so please don't go "TOLD YOU" on me], and here is the result:
The core isn't designed for video game consoles with homebrew installed (I've found only Windows, Linux, Mac OS X, iOS and Android in its Makefile), so it constantly keeps throwing me up an error culminating in "make: *** [Makefile:333: GLideN64/src/Combiner.o] Error 1", no matter what changes I try to make to the Makefile.
I think Parallel-N64 was designed for video game consoles though, since I found a compilation process code for PS Vita in its Makefile. GLupeN64 was ported to the (S)NES Classic although I haven't found the source code for the port though, neither in the Makefile nor on GitHub.
I decided to try and compile Parallel-N64, and I did some changes to the LibNX code upon porting it there:
In file included from mupen64plus-core/src/r4300/recomp.h:49,
from mupen64plus-core/src/r4300/cached_interp.h:30,
from mupen64plus-core/src/r4300/cached_interp.c:37:
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'fldcw_m16'
:
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:406:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m16));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mov_reg8_m
8':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:413:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m8));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mov_reg32_
m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:420:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'add_reg32_
m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:427:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'movsx_reg3
2_m16':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:435:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m16));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'movsx_reg3
2_m8':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:443:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m8));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mul_m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:450:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mov_m32_im
m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:457:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'cmp_m32_im
m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:465:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'inc_m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:473:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'and_m32_im
m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:480:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'sub_m32_im
m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:488:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'or_m32_imm
32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:496:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mov_m8_reg
8':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:504:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m8));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mov_reg16_
m16':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:512:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m16));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mov_m16_re
g16':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:520:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m16));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'cmp_reg32_
m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:527:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'add_m32_re
g32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:534:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'sub_reg32_
m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:541:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mov_eax_me
moffs32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:547:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(memoffs32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'test_m32_i
mm32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:569:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)m32);
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mov_m32_re
g32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:590:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mov_memoff
s32_eax':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:691:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(memoffs32));
^
In file included from mupen64plus-core/src/r4300/mips_instructions.def:50,
from mupen64plus-core/src/r4300/cached_interp.c:165:
mupen64plus-core/src/r4300/fpu.h: At top level:
mupen64plus-core/src/r4300/fpu.h:56:12: fatal error: fenv.h: No such file or dir
ectory
#include <fenv.h>
^~~~~~~~
compilation terminated.
make: *** [Makefile:892: mupen64plus-core/src/r4300/cached_interp.o] Error 1
Just for fun, I tried to compile Mupen64Plus, [yes, I know it won't work so please don't go "TOLD YOU" on me], and here is the result:
The core isn't designed for video game consoles with homebrew installed (I've found only Windows, Linux, Mac OS X, iOS and Android in its Makefile), so it constantly keeps throwing me up an error culminating in "make: *** [Makefile:333: GLideN64/src/Combiner.o] Error 1", no matter what changes I try to make to the Makefile.
I think Parallel-N64 was designed for video game consoles though, since I found a compilation process code for PS Vita in its Makefile. GLupeN64 was ported to the (S)NES Classic although I haven't found the source code for the port though, neither in the Makefile nor on GitHub.
I decided to try and compile Parallel-N64, and I did some changes to the LibNX code upon porting it there:
In file included from mupen64plus-core/src/r4300/recomp.h:49,
from mupen64plus-core/src/r4300/cached_interp.h:30,
from mupen64plus-core/src/r4300/cached_interp.c:37:
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'fldcw_m16'
:
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:406:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m16));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mov_reg8_m
8':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:413:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m8));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mov_reg32_
m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:420:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'add_reg32_
m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:427:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'movsx_reg3
2_m16':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:435:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m16));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'movsx_reg3
2_m8':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:443:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m8));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mul_m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:450:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mov_m32_im
m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:457:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'cmp_m32_im
m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:465:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'inc_m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:473:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'and_m32_im
m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:480:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'sub_m32_im
m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:488:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'or_m32_imm
32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:496:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mov_m8_reg
8':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:504:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m8));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mov_reg16_
m16':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:512:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m16));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mov_m16_re
g16':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:520:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m16));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'cmp_reg32_
m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:527:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'add_m32_re
g32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:534:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'sub_reg32_
m32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:541:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mov_eax_me
moffs32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:547:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(memoffs32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'test_m32_i
mm32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:569:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)m32);
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mov_m32_re
g32':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:590:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(m32));
^
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h: In function 'mov_memoff
s32_eax':
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h:691:10: warning: cast fr
om pointer to integer of different size [-Wpointer-to-int-cast]
put32((unsigned int)(memoffs32));
^
In file included from mupen64plus-core/src/r4300/mips_instructions.def:50,
from mupen64plus-core/src/r4300/cached_interp.c:165:
mupen64plus-core/src/r4300/fpu.h: At top level:
mupen64plus-core/src/r4300/fpu.h:56:12: fatal error: fenv.h: No such file or dir
ectory
#include <fenv.h>
^~~~~~~~
compilation terminated.
make: *** [Makefile:892: mupen64plus-core/src/r4300/cached_interp.o] Error 1
Found only Mupen64Plus.
And I also found this within its document:
CPU Core (dynamic_recompiler/cached_interpreter/pure_interpreter)
Choose which kind of CPU emulation is going to be used. Dynamic recompiler is the fastest mode. Dynamic recompilier is not available on all platforms.
Dynamic no doubt.
Switch should have one available since Mupen64 is available for Android devices with similar architecture to the Switch (ARM64/AArch64/ARMv8)
Still, no matter what modifications I try to do, I get the exact same Combiner.o error.
In file included from GLideN64/src/OpenGL.h:13,
from GLideN64/src/Combiner.cpp:6:
GLideN64/src/winlnxdefs.h:33:10: fatal error: dlfcn.h: No such file or directory
So I had the time to read from page 18 and up, saw tons of cores being ported, but they're lost in the waves. Would it be a problem for me to sort them so they could be placed on the front page for those like me?
So I had the time to read from page 18 and up, saw tons of cores being ported, but they're lost in the waves. Would it be a problem for me to sort them so they could be placed on the front page for those like me?
So I had the time to read from page 18 and up, saw tons of cores being ported, but they're lost in the waves. Would it be a problem for me to sort them so they could be placed on the front page for those like me?
It wasn't too long ago we saw our first glimpse of Courage Reborn, another Twilight Princess PC port in the works based on last year's decompilation efforts. With...
Seemingly out of nowhere a PC port for Pokemon Platinum has surfaced online, bundled alongside the source code for those interested in building and developing it for...
After much speculation, Nintendo has finally followed their competitors in announcing price increases for their hardware.
You can find a breakdown of what's changing...
Airing last night with very little in the way of warning, a brand new Nintendo Direct was aired. Running for 15 minutes in total, it took a moment to celebrate the...
With very little in the way of announcement, Valve has today increased the price of the Steam Deck but some fairly considerable margins. Both of the available models...
As a part of their Financial Results Briefing for the previous year, Nintendo president Shuntaro Furukawa took to the floor to answer key questions around the Switch...
Earlier this year, Sony announced major price increases for the PS5, PS5 Pro, and PlayStation Portal. Now the company is raising prices again, this time for...
We are once again here to tell you about a game leaking before its release, but for once, it's not one published by Nintendo. The game files for Microsoft's upcoming...
Continuing with the great news of Pokémon Platinum getting a native unofficial PC port just a few days ago, today, yet another classic title from the franchise has...
The latest in a growing number of native PC ports, Paper Mario ReCut got its first pre-release build earlier this week. Based on the N64 recompilation toolchain, the...
With very little in the way of announcement, Valve has today increased the price of the Steam Deck but some fairly considerable margins. Both of the available models...
It wasn't too long ago we saw our first glimpse of Courage Reborn, another Twilight Princess PC port in the works based on last year's decompilation efforts. With...
After much speculation, Nintendo has finally followed their competitors in announcing price increases for their hardware.
You can find a breakdown of what's changing...
Airing last night with very little in the way of warning, a brand new Nintendo Direct was aired. Running for 15 minutes in total, it took a moment to celebrate the...
Seemingly out of nowhere a PC port for Pokemon Platinum has surfaced online, bundled alongside the source code for those interested in building and developing it for...
Earlier this year, Sony announced major price increases for the PS5, PS5 Pro, and PlayStation Portal. Now the company is raising prices again, this time for...
As a part of their Financial Results Briefing for the previous year, Nintendo president Shuntaro Furukawa took to the floor to answer key questions around the Switch...
The latest in a growing number of native PC ports, Paper Mario ReCut got its first pre-release build earlier this week. Based on the N64 recompilation toolchain, the...
A whole hour of PlayStation content is on the way, thanks to the latest State of Play showcase. Headlining the stream will be Marvel's Wolverine, alongside a...
For the first time in 13 years, the Call of Duty series will again return to Nintendo's consoles. Set to launch on the 23rd of October, the latest release, Modern...