An emulator - n64 - doesn't seem to need much

GitHub - n64dev/cen64: Cycle-Accurate Nintendo 64 Emulator Do you thing is posible to get a port easily for this emulator?

1 Like

It uses X11 for input and for openGl.
So: not trivial, try to port X11 first.

There’s a recipe for Mupen64 in Haiku Ports - probably a better option:
https://github.com/haikuports/haikuports/tree/master/games-emulation/mupen64

Chris

This ishappening to me.

haikuporter mupen64_x86

Checking if any package-infos need to be updated …
Looking for stale dependency-infos …
Checking if package dependencies need to be updated …
updating dependency infos of mupen64_x86-0.5

games-emulation::mupen64_x86-0.5
/boot/home/haikuports/games-emulation/mupen64/mupen64-0.5.recipe

Skipping download of source for mupen64_src-0.5.tar.bz2
Skipping checksum validation of mupen64_src-0.5.tar.bz2
Skipping unpack of mupen64_src-0.5.tar.bz2
Skipping patchset for mupen64_src-0.5.tar.bz2
Cleaning up temporary directories …
chroot has these packages active:
/boot/system/packages/bash-4.3.42-4-x86_gcc2.hpkg
/boot/system/packages/binutils-2.17_2016_07_24-2-x86_gcc2.hpkg
/boot/system/packages/binutils_x86-2.26.1_2016_07_22-2-x86_gcc2.hpkg
/boot/system/packages/bzip2-1.0.6-5-x86_gcc2.hpkg
/boot/system/packages/bzip2_x86-1.0.6-5-x86_gcc2.hpkg
/boot/system/packages/ca_root_certificates-2017_01_18-1-any.hpkg
/boot/system/packages/coreutils-8.24-1-x86_gcc2.hpkg
/boot/system/packages/curl-7.45.0-2-x86_gcc2.hpkg
/boot/system/packages/expat-2.2.0-1-x86_gcc2.hpkg
/boot/system/packages/expat_x86-2.2.0-1-x86_gcc2.hpkg
/boot/system/packages/fontconfig-2.12.1-2-x86_gcc2.hpkg
/boot/system/packages/freetype-2.7-1-x86_gcc2.hpkg
/boot/system/packages/freetype_x86-2.7-1-x86_gcc2.hpkg
/boot/system/packages/gcc_x86-5.4.0_2016_06_04-1-x86_gcc2.hpkg
/boot/system/packages/gcc_x86_syslibs-5.4.0_2016_06_04-1-x86_gcc2.hpkg
/boot/system/packages/gettext_libintl-0.19.8.1-4-x86_gcc2.hpkg
/boot/system/packages/giflib6-5.0.5-2-x86_gcc2.hpkg
/boot/system/packages/giflib_x86-5.1.2-1-x86_gcc2.hpkg
/boot/system/packages/glu_x86-9.0.0-4-x86_gcc2.hpkg
/boot/system/packages/gmp_x86-6.1.0-1-x86_gcc2.hpkg
/boot/system/packages/grep-2.24-1-x86_gcc2.hpkg
/boot/system/packages/gutenprint-5.2.12-2-x86_gcc2.hpkg
/boot/system/packages/gzip-1.6-2-x86_gcc2.hpkg
/boot/system/packages/haiku-r1~alpha4_pm_hrev51346-1-x86_gcc2.hpkg
/boot/system/packages/haiku_devel-r1~alpha4_pm_hrev51346-1-x86_gcc2.hpkg
/boot/system/packages/haiku_x86-r1~alpha4_pm_hrev51346-1-x86_gcc2.hpkg
/boot/system/packages/haiku_x86_devel-r1~alpha4_pm_hrev51346-1-x86_gcc2.hpkg
/boot/system/packages/icu-57.1-1-x86_gcc2.hpkg
/boot/system/packages/icu_x86-57.1-1-x86_gcc2.hpkg
/boot/system/packages/jasper-1.900.1-4-x86_gcc2.hpkg
/boot/system/packages/jasper_x86-1.900.1-4-x86_gcc2.hpkg
/boot/system/packages/jpeg-9b-2-x86_gcc2.hpkg
/boot/system/packages/jpeg_x86-9b-2-x86_gcc2.hpkg
/boot/system/packages/libicns-0.8.1-3-x86_gcc2.hpkg
/boot/system/packages/libicns_x86-0.8.1-3-x86_gcc2.hpkg
/boot/system/packages/libiconv-1.13.1-9-x86_gcc2.hpkg
/boot/system/packages/libiconv_x86-1.13.1-9-x86_gcc2.hpkg
/boot/system/packages/libpng16-1.6.20-2-x86_gcc2.hpkg
/boot/system/packages/libpng16_x86-1.6.20-2-x86_gcc2.hpkg
/boot/system/packages/libsdl_x86-1.2.15-9-x86_gcc2.hpkg
/boot/system/packages/libsdl_x86_devel-1.2.15-9-x86_gcc2.hpkg
/boot/system/packages/libsolv-0.3.0_haiku_2014_12_22-1-x86_gcc2.hpkg
/boot/system/packages/libsolv_x86-0.3.0_haiku_2014_12_22-1-x86_gcc2.hpkg
/boot/system/packages/libwebp-0.6.0-1-x86_gcc2.hpkg
/boot/system/packages/libwebp_x86-0.6.0-1-x86_gcc2.hpkg
/boot/system/packages/libxml2-2.9.3-2-x86_gcc2.hpkg
/boot/system/packages/llvm_x86_libs-4.0.1-1-x86_gcc2.hpkg
/boot/system/packages/make-4.1-1-x86_gcc2.hpkg
/boot/system/packages/mesa-7.9.2-10-x86_gcc2.hpkg
/boot/system/packages/mesa_x86-17.1.4-1-x86_gcc2.hpkg
/boot/system/packages/mesa_x86_devel-17.1.4-1-x86_gcc2.hpkg
/boot/system/packages/mpc_x86-1.0.3-1-x86_gcc2.hpkg
/boot/system/packages/mpfr_x86-3.1.4-1-x86_gcc2.hpkg
/boot/system/packages/ncurses6-6.0-2-x86_gcc2.hpkg
/boot/system/packages/noto-20170202-6-any.hpkg
/boot/system/packages/noto_sans_cjk_jp-1.004-2-any.hpkg
/boot/system/packages/openssl-1.0.2g-1-x86_gcc2.hpkg
/boot/system/packages/pkgconfig_x86-0.29-2-x86_gcc2.hpkg
/boot/system/packages/qrencode-3.4.4-1-x86_gcc2.hpkg
/boot/system/packages/readline-6.3.8-3-x86_gcc2.hpkg
/boot/system/packages/sed-4.2.1-6-x86_gcc2.hpkg
/boot/system/packages/tar-1.28-1-x86_gcc2.hpkg
/boot/system/packages/tiff4-4.0.6-3-x86_gcc2.hpkg
/boot/system/packages/tiff4_x86-4.0.6-1-x86_gcc2.hpkg
/boot/system/packages/unzip-6.0-3-x86_gcc2.hpkg
/boot/system/packages/zlib-1.2.11-2-x86_gcc2.hpkg
/boot/system/packages/zlib_x86-1.2.11-2-x86_gcc2.hpkg
/boot/system/packages/zlib_x86_devel-1.2.11-2-x86_gcc2.hpkg

----- Package Info ----------------
header size: 80
heap size: 705
TOC size: 41
package attributes size: 755
total size: 785

waiting for build package mupen64_x86-0.5-2 to be activated
Building …
gcc main/rom.o r4300/r4300.o r4300/cop0.o r4300/special.o r4300/regimm.o r4300/exception.o memory/tlb.o memory/memory.o memory/dma.o r4300/interupt.o r4300/cop1.o r4300/tlb.o r4300/cop1_w.o r4300/cop1_s.o r4300/cop1_d.o r4300/recomp.o memory/pif.o r4300/bc.o r4300/cop1_l.o r4300/pure_interp.o r4300/compare_core.o main/plugin.o main/unzip.o main/ioapi.o memory/flashram.o main/md5.o main/mupenIniApi.o main/savestates.o r4300/profile.o main/adler32.o r4300/x86/gr4300.o r4300/x86/gcop0.o r4300/x86/assemble.o r4300/x86/gcop1.o r4300/x86/gcop1_s.o r4300/x86/gcop1_d.o r4300/x86/gtlb.o r4300/x86/gregimm.o r4300/x86/gspecial.o r4300/x86/gcop1_w.o r4300/x86/debug.o r4300/x86/rjump.o r4300/x86/gbc.o r4300/x86/gcop1_l.o r4300/x86/regcache.o main/main.o main/gui_gtk/config.o -lz -Wl,-export-dynamic -L/usr/X11R6/lib sdl-config --libs -lGL -o mupen64_nogui
r4300/special.o: In function JR': special.c:(.text+0x229): undefined reference to jump_to_func’
r4300/special.o: In function JALR': special.c:(.text+0x30e): undefined reference to jump_to_func’
r4300/regimm.o: In function BLTZ_OUT': regimm.c:(.text+0x17e): undefined reference to jump_to_func’
r4300/regimm.o: In function BGEZ_OUT': regimm.c:(.text+0x340): undefined reference to jump_to_func’
r4300/regimm.o: In function BLTZL_OUT': regimm.c:(.text+0x535): undefined reference to jump_to_func’
r4300/regimm.o:regimm.c:(.text+0x705): more undefined references to jump_to_func' follow r4300/x86/gr4300.o: In function gentest’:
gr4300.c:(.text+0xdaf): undefined reference to put32' r4300/x86/gr4300.o: In function gentest_out’:
gr4300.c:(.text+0xf2a): undefined reference to jump_to_func' gr4300.c:(.text+0xf56): undefined reference to put32’
r4300/x86/gr4300.o: In function gentest_idle': gr4300.c:(.text+0x10c7): undefined reference to put32’
r4300/x86/gr4300.o: In function gentestl': gr4300.c:(.text+0x1f74): undefined reference to put32’
r4300/x86/gr4300.o: In function gentestl_out': gr4300.c:(.text+0x20ff): undefined reference to jump_to_func’
gr4300.c:(.text+0x212b): undefined reference to put32' r4300/x86/gr4300.o: In function gencheck_cop1_unusable’:
gr4300.c:(.text+0x3a2d): undefined reference to put8' r4300/x86/gspecial.o: In function genjr’:
gspecial.c:(.text+0x447): undefined reference to jump_to_func' gspecial.c:(.text+0x474): undefined reference to put32’
r4300/x86/gspecial.o: In function genjalr': gspecial.c:(.text+0x69f): undefined reference to jump_to_func’
gspecial.c:(.text+0x6cc): undefined reference to put32' r4300/x86/rjump.o: In function dyna_start’:
rjump.c:(.text+0x65): undefined reference to save_ebp' rjump.c:(.text+0x6f): undefined reference to save_ebp’
collect2: error: ld returned 1 exit status
Makefile:345: recipe for target ‘mupen64_nogui’ failed
make: *** [mupen64_nogui] Error 1
[Errno -2147459069] No such file or directory: ‘/boot/home/haikuports/games-emulation/mupen64/work-x86-0.5’
Error: Build has failed - stopping.

cosmogatokat, please, try to understand, that this is a forum for general discussions about Haiku, not a best place for bugreporting.
Here will it be forgotten, never noticed, so why don’t you just creates an issue at haikuports? https://github.com/haikuports/haikuports/issues
Nah, that would be great.

ok sorry, i did not think.

Hi,

Sorry, I didn’t mean to mislead you that it was working, just that there’s a recipe there and so it’s a better starting point than the other N64 emulator. Probably just needs a bit of work.

(I’m busy trying to get fs-uae ported at the moment, but there is lots of hacking about with trying to remove X11 calls…)

Chris

@moochris: it is actually not a big deal, as far as i remember, but it is possible that you are trying to create a native Haiku gui for it, i just used sdl.

@extrowerk oh, you already got that far? Do you have a patch set and recipe? I am building with SDL also, but libfsemu calls some X11 functions still.

Chris

Here is my dirty patchset, maybe you could clean it up and create a proper recipe…
https://gist.github.com/miqlas/0f544a9e470605130be1e3a67ecdbbe7

Afaik qt is not really required.

Great, thanks for that - I’ll give it a go.

Chris