gilbdeth
Posts: 37
Joined: Fri May 17, 2013 9:49 am

Re: WIP: Playable Nintendo 64 Emulator Available

Wed Nov 20, 2013 6:33 pm

welshy wrote:gilbdeth
That's odd, you may have changed the permissions when using 'Sudo'

Try - sudo chmod +x m64p_build.sh
Then - ./m64p_build.sh
that seems to have done the trick cheers

gilbdeth
Posts: 37
Joined: Fri May 17, 2013 9:49 am

Re: WIP: Playable Nintendo 64 Emulator Available

Thu Nov 21, 2013 7:55 pm

Hi
i compiled the program and i think i did everything
but when i try to load it i get a screen of code and then it freezes
ive tried it on the test rom and a few commercial ones too
but the same... anyone know what i'm doing wrong?

here's a screen cap of what happens
http://s15.postimg.org/ki7vx6ovf/photo_2.jpg

welshy
Posts: 1667
Joined: Mon Oct 29, 2012 2:07 pm

Re: WIP: Playable Nintendo 64 Emulator Available

Thu Nov 21, 2013 9:07 pm

gilbdeth
It isnt 'freezing' the Video Plugin hasn't compiled its running the 'Dummy' (read the text) so it doesn't display any graphics! I do know ric is trying other video plugins so you may need to compile the rice one separately for now.

Go into the Folder
home/pi/RetroPie/mupen64plus-rpi/source/mupen64plus-video-gles2rice/projects/unix

run the makefile (just type make) then put the resulting mupenplus-video-rice.so file with the others in the home/pi/RetroPie/mupen64plus-rpi/test folder with the others.

Then run again, it should now work correctly!
"The list of things I have heard now contains everything!"

ric_rpi
Posts: 206
Joined: Thu Jul 11, 2013 2:33 pm
Location: Bedford, UK

Re: WIP: Playable Nintendo 64 Emulator Available

Fri Nov 22, 2013 9:41 am

By default the video-gles2rice plugin is compiled with ./m64p_build.sh for both branches.

The video-gles2glide plugin source can be compiled using

Code: Select all

$> M64P_COMPONENTS="video-gles2glide" ./m64p_build.sh
but it is a lot slower and has other graphical issues so I haven't included it in the default build list.

The video-gles2n64 plugin in ric_dev now runs but there is no screen output and I get errors thrown on creation of some of the GLES shaders/programs.

gilbdeth

You will either need to delete the cfg file (so its regenerated with correct values), modify it to set the video plugin to mupen64plus-video-rice.so, or run mupen64plus with --gfx mupen64plus-video-rice.so option

ric_rpi
Posts: 206
Joined: Thu Jul 11, 2013 2:33 pm
Location: Bedford, UK

Re: WIP: Playable Nintendo 64 Emulator Available

Sun Nov 24, 2013 4:21 pm

The gles2n64 plugin is now working although it is not scaled to the screen correctly yet and I still get shader errors. Mario appears to have one pink eye on the start screen but graphics in Super Mario look good.

I am seeing audio buffer under-runs indicating that it is only 10% slower than than gles2rice, even though its compiled for debug. I have not compiled gles2n64 with full optimization yet so there is the possibility of compiling errors.

The 'A 'and 'B' buttons (Lctrl and Lshift) now work but I am still trying to find the issue with the arrow keys

ric_rpi
Posts: 206
Joined: Thu Jul 11, 2013 2:33 pm
Location: Bedford, UK

Re: WIP: Playable Nintendo 64 Emulator Available

Mon Nov 25, 2013 2:35 pm

Using video-gles2n64 compiled with -O3 gives 20% less buffer under-runs than with gles2rice but I don't know what the new (typical) fps count is. The shader errors have also gone away now :-)

welshy
Posts: 1667
Joined: Mon Oct 29, 2012 2:07 pm

Re: WIP: Playable Nintendo 64 Emulator Available

Tue Nov 26, 2013 10:58 am

ric_rpi

Testing - gles2n64 Plugin
Results
1. The modelling is now much improved over the standard build (which I have previously tested) which displayed very bad texture and model anomalies.
2. The plugin doesn’t seem to take configurations from the config file whether forcing or changing settings. This causes issues with rendering e.g. Star Fox on previous rice setting 6, the game runs then ‘freezes’ after a few seconds renders then freezes again. This happens on all settings and all titles as it seems the config only read rice settings which may not be read correctly. This also includes general graphics settings, for instance when run in XWindows it outputs at 400x240 resolution.
3. Render speed is hard to judge as obviously when not rendering any graphics the sound is perfect, however, the attract screen in Mario 64 seems to be faster than the rice plugin (although slightly ‘choppy’).

Conclusions
Shows definite promise!
"The list of things I have heard now contains everything!"

ric_rpi
Posts: 206
Joined: Thu Jul 11, 2013 2:33 pm
Location: Bedford, UK

Re: WIP: Playable Nintendo 64 Emulator Available

Tue Nov 26, 2013 12:27 pm

I haven't seen any code that reads the mupen64plus.cfg file yet but there is some sort of configuration system in place.

I had to add code to open a GLES2 context (using rpiGLES.c) and manually insert the resolution used with glViewPort().

I modified some code for frame skipping as it relied on android JNI. Given frame skipping in rice breaks Star Fox I'm not surprised its the same in gles2n64.

From a quick inspection of the gles2n64 code, it looks very well written and there are no obvious optimizations that can be done.
Just a few more things to finish / try / tidy-up then I think move to beta...

ric_rpi
Posts: 206
Joined: Thu Jul 11, 2013 2:33 pm
Location: Bedford, UK

Re: WIP: Playable Nintendo 64 Emulator Available

Tue Nov 26, 2013 12:33 pm

welshy

There is a gles2n64.conf file in the test directory.

welshy
Posts: 1667
Joined: Mon Oct 29, 2012 2:07 pm

Re: WIP: Playable Nintendo 64 Emulator Available

Tue Nov 26, 2013 12:39 pm

ric_rpi
It would definitely be a nice option to have gles2n64 available as checking the Mupen64 Code site its listed as the preferred Video Plugin on many titles.

'There is a gles2n64.conf file in the test directory.'
I did see that but it had 'Video-Rice' settings? I tired all sorts of things to force a config save when using gles2n64, altering 'default' generated config, forcing gles2n64 in the command line but nothing worked (still stated 'Video-Rice')!?
"The list of things I have heard now contains everything!"

ric_rpi
Posts: 206
Joined: Thu Jul 11, 2013 2:33 pm
Location: Bedford, UK

Re: WIP: Playable Nintendo 64 Emulator Available

Tue Nov 26, 2013 12:50 pm

Is there a problem with the cfg functionality for mupen64plus.cfg or gles2n64.conf?

I am just adding in FPS output into the plugin...

welshy
Posts: 1667
Joined: Mon Oct 29, 2012 2:07 pm

Re: WIP: Playable Nintendo 64 Emulator Available

Tue Nov 26, 2013 1:50 pm

ric_rpi
Apologies! Didn't read it correctly, I will probably wait until you update the dev and then do some further testing.
"The list of things I have heard now contains everything!"

ric_rpi
Posts: 206
Joined: Thu Jul 11, 2013 2:33 pm
Location: Bedford, UK

Re: WIP: Playable Nintendo 64 Emulator Available

Tue Nov 26, 2013 1:58 pm

I've added a printf with FPS but the numbers reported are really low (as in ~10). All checked in now.

#Edit: remember to re-generate the gles2n64.conf file and set the print FPS to 1.

welshy
Posts: 1667
Joined: Mon Oct 29, 2012 2:07 pm

Re: WIP: Playable Nintendo 64 Emulator Available

Tue Nov 26, 2013 2:41 pm

ric_rpi
Ok I have done some testing altering the gles2n64.conf and initial results are very promising. Setting Update mode = 4 sorts the issues of intermittent rendering and have set the frameskip to auto and 30FPS render speed. If ignore offscreen rendering is forced (=1) it is awesome, the best results I have seen, totally fullspeed (with an occasional slow down), YES REALLY! with minimal sound/music issues! However, I wouldn't advise if you suffer from epilepsy as it constantly flashes. I will try some more setting alterations to see if it can be eliminated.
"The list of things I have heard now contains everything!"

ric_rpi
Posts: 206
Joined: Thu Jul 11, 2013 2:33 pm
Location: Bedford, UK

Re: WIP: Playable Nintendo 64 Emulator Available

Wed Nov 27, 2013 8:44 pm

The save and load state (F5 & F7) functionality is now working again in ric_dev branch.

Also, fog graphics with the gles2n64 plugin works!

I would like to get a list together for moving mupen64plus-rpi to a beta release.

I have added a number of issues on the git repository. If people could add anything they find/comment, it would be very much appreciated. I am trying one last thing in the core to try and up performance and may look at part of the audio plugin again, then I will pursue a beta release.

baeckerman83
Posts: 6
Joined: Fri Nov 29, 2013 7:42 am

Re: WIP: Playable Nintendo 64 Emulator Available

Fri Nov 29, 2013 7:48 am

welshy wrote:gilbdeth
It isnt 'freezing' the Video Plugin hasn't compiled its running the 'Dummy' (read the text) so it doesn't display any graphics! I do know ric is trying other video plugins so you may need to compile the rice one separately for now.

Go into the Folder
home/pi/RetroPie/mupen64plus-rpi/source/mupen64plus-video-gles2rice/projects/unix

run the makefile (just type make) then put the resulting mupenplus-video-rice.so file with the others in the home/pi/RetroPie/mupen64plus-rpi/test folder with the others.

Then run again, it should now work correctly!
Hiho!
My mupen64plus also has no video output (Core Warning: No video plugin attached. There will be no video output)

I tried the information above, but the make doesn't work. What can I do?

Code: Select all

[email protected] ~/RetroPie/emulators/mupen64plus-rpi/source/mupen64plus-video-gles2rice/projects/unix $ sudo make
Makefile:114: Architecture "armv6l" not officially supported.'
Mupen64plus-video-rice N64 Graphics plugin makefile.
  Targets:
    all           == Build Mupen64plus-video-rice plugin
    clean         == remove object files
    rebuild       == clean and re-build all
    install       == Install Mupen64Plus-video-rice plugin
    uninstall     == Uninstall Mupen64Plus-video-rice plugin
  Options:
    BITS=32       == build 32-bit binaries on 64-bit machine
    NO_ASM=1      == build without inline assembly code (x86 MMX/SSE)
    APIDIR=path   == path to find Mupen64Plus Core headers
    OPTFLAGS=flag == compiler optimization (default: -O3 -flto)
    WARNFLAGS=flag == compiler warning levels (default: -Wall)
    PIC=(1|0)     == Force enable/disable of position independent code
    POSTFIX=name  == String added to the name of the the build (default: '')
  Install Options:
    PREFIX=path   == install/uninstall prefix (default: /usr/local)
    SHAREDIR=path == path to install shared data files (default: PREFIX/share/mupen64plus)
    LIBDIR=path   == library prefix (default: PREFIX/lib)
    PLUGINDIR=path == path to install plugin libraries (default: LIBDIR/mupen64plus)
    DESTDIR=path  == path to prepend to all installation paths (only for packagers)
  Debugging Options:
    DEBUG=1       == add debugging symbols
    V=1           == show verbose compiler output
[email protected] ~/RetroPie/emulators/mupen64plus-rpi/source/mupen64plus-video-gles2rice/projects/unix $ sudo make all
Makefile:114: Architecture "armv6l" not officially supported.'
    CXX _obj/Video.o
../../src/Video.cpp: In function ‘void UpdateScreen()’:
../../src/Video.cpp:791:15: error: ‘struct GlobalOptions’ has no member named ‘bSkipUpdate’
make: *** [_obj/Video.o] Fehler 1
[email protected] ~/RetroPie/emulators/mupen64plus-rpi/source/mupen64plus-video-gles2rice/projects/unix $ sudo make install
Makefile:114: Architecture "armv6l" not officially supported.'
    CXX _obj/Video.o
../../src/Video.cpp: In function ‘void UpdateScreen()’:
../../src/Video.cpp:791:15: error: ‘struct GlobalOptions’ has no member named ‘bSkipUpdate’
make: *** [_obj/Video.o] Fehler 1
[email protected] ~/RetroPie/emulators/mupen64plus-rpi/source/mupen64plus-video-gles2rice/projects/unix $

ric_rpi
Posts: 206
Joined: Thu Jul 11, 2013 2:33 pm
Location: Bedford, UK

Re: WIP: Playable Nintendo 64 Emulator Available

Fri Nov 29, 2013 9:47 am

I am surprised you're getting that error although it is related to the last optimization in the master branch. It would suggest that the config.cpp and confg.h files in gles2rice are not up-to-date.

I am currently doing a complete rebuild and if that is fine and no-one has reported any issues with the current ric_dev branch then I will push it into the master tonight.

welshy
Posts: 1667
Joined: Mon Oct 29, 2012 2:07 pm

Re: WIP: Playable Nintendo 64 Emulator Available

Fri Nov 29, 2013 9:51 am

baeckerman83
Using the latest dev branch source BOTH video plugins should build. Check the 'test' folder, there should be two files mupen64plus-video-rice.so and mupen64plus-video-n64.so. These are the Video Plugins 'rice' and 'gles2n64' running a game titles should 'default' to rice, to change plugin open the config (.config/mupen64plus/mupen64plus.cfg and change the [UI-Console] settings from 'mupen64plus-video-rice.so' to 'mupen64plus-video-n64.so'.

If you would like to assist in testing the gles2n64 video plugin the config is located in the 'test' folder (gles2n64 .conf).
"The list of things I have heard now contains everything!"

Shredhed
Posts: 9
Joined: Fri Nov 29, 2013 12:41 pm

Re: WIP: Playable Nintendo 64 Emulator Available

Fri Nov 29, 2013 12:46 pm

Hi, I'm using the latest ric_dev build and now the screen has been reduced to a very small "window" and renders in the lower-left corner. Is there a new switch to set it to fullscreen ? On the previous ric_dev builds it always rendered fullscrceen.

Thanks and keep up the brilliant work..

Shredhed
Posts: 9
Joined: Fri Nov 29, 2013 12:41 pm

Re: WIP: Playable Nintendo 64 Emulator Available

Fri Nov 29, 2013 12:52 pm

Hi i'm using the latest ric_dev build and now the screen is a small "window" which renders in the lower left corner of the screen. Is there a new fullscreen switch? The previous build rendered full screen.

Thanks and keep up the brilliant work.

welshy
Posts: 1667
Joined: Mon Oct 29, 2012 2:07 pm

Re: WIP: Playable Nintendo 64 Emulator Available

Fri Nov 29, 2013 1:06 pm

Shredhed
Output resolution is dependant on your video plugin settings when running in XWindows (defaults are 640x480 for rice and 400x240 for gles2). Running with either from Console (not XWindows) results in BOTH running fullscreen (as the image fills the framebuffer).
"The list of things I have heard now contains everything!"

Shredhed
Posts: 9
Joined: Fri Nov 29, 2013 12:41 pm

Re: WIP: Playable Nintendo 64 Emulator Available

Fri Nov 29, 2013 1:19 pm

Thanks Welshy, I'm running mupen from retropie ES using gles2n64. Is that considered xWin or console ? I'm confused as to where to set winsize params. In previous versions i didn't have to change anything, it just came up fullscreen.

Thanks Again

welshy
Posts: 1667
Joined: Mon Oct 29, 2012 2:07 pm

Re: WIP: Playable Nintendo 64 Emulator Available

Fri Nov 29, 2013 1:42 pm

Shredhed
RetroArch runs in Console (as do RetroPie and UltraSlim which are built on it). I don't use Emulation Station but nothing has changed in the Mupen64plus-rpi build (also the gles2 config is more complicated requiring output resolution and framebuffer resolution settings which could be conflicting with the Emulation Station settings/config), try changing back to the video-rice plugin to see if that eliminates the issue.
"The list of things I have heard now contains everything!"

Shredhed
Posts: 9
Joined: Fri Nov 29, 2013 12:41 pm

Re: WIP: Playable Nintendo 64 Emulator Available

Fri Nov 29, 2013 2:10 pm

Welshy, I switched back to Rice plugin and the fullscreen is back. But performance sucks compared to gles2n64 plugin. I get alot of sound pops and cutouts etc. This is the reason i tried the gles2 plugin, performance is much better. I also noticed that on both Rice and n64 I can't get past the intro screen in Starfox64 anymore. This also worked in previous builds. Something happened in this new build, because i wasn't having any of these problems until i updated to this latest. The build i dl'ed 2 days ago worked much better.

Thanks Again...

welshy
Posts: 1667
Joined: Mon Oct 29, 2012 2:07 pm

Re: WIP: Playable Nintendo 64 Emulator Available

Fri Nov 29, 2013 2:24 pm

Shredhed
Its not the build its the configuration settings on 'Default' (the new build probably overwrote the old versions). The screen update settings need to be changed to -

Rice
In .confg/mupen64plu/mupen64plus.cfg
ScreenUpdateSetting = 4 (Default: 6)
(The resolution setting can also be altered here)

Gles2
In mupen64plus-rpi/test/gles2n64.conf
Setting Update mode = 4 (Default: 1)
(The resolution setting can also be altered here)
"The list of things I have heard now contains everything!"

Return to “Gaming”