(N64 Emu) Mupen64plus 2.0

Discussion in 'General Discussions' started by Stradian, Mar 4, 2012.

  1. Stradian

    Stradian Member

    Joined:
    Dec 6, 2010
    Messages:
    304


    NEWS

    The current state of the emulator:

    I have ran mario 64 against my build, with the standard mupen 64 builds of the hle rsp plugin, the sdl audio and control plugins, and Kris's opengles build of Rice. It did emulate Mario 64, I heard all the opening sounds. Video on the other hand will need some work, I managed to get the plugin to call a sdl window, but it is black. On the cli, it reports that it is unable to link, and that the shaders has failed, It is really emulating at least the geometry and textures at the least, because from what I hear, as the mario head in the intro is taxing the system when the plugin is in place. (There is no tax while using dummy video.)

    I am, very soon, going to publish the sources and make files I made, and I'll try to encourage the higher and mightier devs if they can give some optimization.

    Currently, I am off to my second marathon. I am not throwing the towel on this project.

    12/04

    Two days late, I am releasing this

    pnd

    executable for a sanity check. It only contains the core and the CLI UI. I

    have scripted it to launcher similar to the cdevtools.pnd. First see if it will run (it should automatically), then try a rom with "./mupen64plus /path/to/rom/here".

    Please give me the terminal dump and the out dump. Thanks!

    Update

    :

    I screw up the pnd and I decided not to bother with it, inside is the cli ui and the mupen core, extract the folder, navigate to it in terminal and run "./mupen64plus"

    Download

    10/04

    Unfortunately, the command line Ui port did not go as planned today. It is failing at the assembler level with the compare_core feature, which has inline x86 assembly in it. I'll play surgeon for now and remove this feature temporarily.

    And lastly for tonight, I would also like to thank everyone for their willingness to give me support.

    09/04

    I am joyful to say that I passed the core completely through the compiler. The core is built with Ari64's Dynamrc, of course. Thanks Sebt for publishing your sources, they were very helpful. Tomorrow, I will build the console ui and add it and the core into a pnd to see if the core is sane.

    For anyone is concerned with the upstream, I have implemented the changes as macros to limit certain, conflicting sections and my additions (both using #if defined, etc) to make the code more modular between platforms, and the ability to build the core with ari's dynamrc, or the original on x86. Importantly changed was the exclusion of certain OSD functions (Split with the WITH_OSD macro, created because it calls Opengl proper), functions for the implementation of Ari's Dynamrc (togglable with the ARI macro), and separation of x86 only functions (With the inverse of the__arm__ marcro). Addition comments marked with //STR throughout the source. Which will be released eventually, as a compress folder and as a patch file for the upstream source.

    TL;DR : You can build my Muphen64plus 2.0 source on x86, x86_64, and ARM with Ari's Dynamrc enabled.

    My future plans for the core is to eventually write alternate, more platform-independent code alongside the opengl code to draw the elements provided by osd. (screenshots, emulator text, etc.)

    Good night.

    ---


    This started as an experimental attempt to see if I could port Rice's Video Plugin to the current, usable builds of mupen64plus without a Pandora at the moment. I began this work to adapt some progress made in the mupen64plus emulator currently on android. My objective at the moment is to get it working.

    Due to inherent incompatibilities between the current mupen released for pandora and my plugin, I am extending the scope of this project. I am planning to release a version of the whole emulator to go side by side with the one currently on the repo.

    These are my current goals.

    1. Port the newer Mupen core with Ari's dynamic re-compiler
    2. Build included plugins.
    3. Build gles2n64, gles2rice.
    4. Hopefully acquire the sources for the custom control plugin and notaz audio plugin, rewrite them for the new API.
     
    Last edited by a moderator: Mar 23, 2012
    Tags:
  2. DaMummy

    DaMummy Soldier Paste

    Joined:
    Nov 5, 2009
    Messages:
    4,417
    Location:
    Ohio
    ...hmm no rice plugin found
     
    Last edited by a moderator: Mar 4, 2012
  3. Stradian

    Stradian Member

    Joined:
    Dec 6, 2010
    Messages:
    304
    Thanks for the report DaMummy, I'll see about resizing the screen. I completely forgot.
     
  4. DaMummy

    DaMummy Soldier Paste

    Joined:
    Nov 5, 2009
    Messages:
    4,417
    Location:
    Ohio
    hmm, it seems some games are 800x480, like banjo kazooie as i see now, while mario 64 doesnt fill up screen
     
  5. DaMummy

    DaMummy Soldier Paste

    Joined:
    Nov 5, 2009
    Messages:
    4,417
    Location:
    Ohio
    wait...are you sure you included Rice's plugin?


    appdata/mupen64plus-r1/out.txt says....


    Couldn't load plugin 'videorice.so': ./plugins/videorice.so: undefined symbol: __dso_handle


    Config Dir: ./config/


    Install Dir: ./


    Plugin Dir: ./plugins/
     
    Last edited by a moderator: Mar 4, 2012
  6. scorpio16v

    scorpio16v Still Fresh

    Joined:
    Aug 6, 2011
    Messages:
    90
  7. Stradian

    Stradian Member

    Joined:
    Dec 6, 2010
    Messages:
    304
    I have included Rice's plugin. It is from the n64oid source tree. http://code.google.c...nk%2Fvideo-rice .


    I'll bake another pnd that absoultely doesn't have gles2n64, just to clear all doubt. I was honestly expecting seg faluts.


    EDIT: I'm getting exhausted. I screwed that one up. Here we go again.


    mupen.pnd


    Thanks scorpio for those sources, I'll make pnds with those too.
     

    Attached Files:

    Last edited by a moderator: Mar 4, 2012
  8. DaMummy

    DaMummy Soldier Paste

    Joined:
    Nov 5, 2009
    Messages:
    4,417
    Location:
    Ohio
    AY!


    ya, i see no video plugins in this one now...
     
    Last edited by a moderator: Mar 4, 2012
  9. Stradian

    Stradian Member

    Joined:
    Dec 6, 2010
    Messages:
    304
    ?, Odd. I mounted the pnd I submitted, its there...
     
    Last edited by a moderator: Mar 4, 2012
  10. Kris

    Kris Still Fresh

    Joined:
    Nov 23, 2003
    Messages:
    8
    I worked on the rice port to OpenGL ES 2 originally for the touchpad. I'm guessing this is Es 1? Did you finish the 2d methods that use glbegin I seem to remember those being the main areas needing work when targeting Es 1.


    This isn't from the well known n64oid by yongzh, it was supposed to be for an earlier project that was never completed by zodttd afaik. The source you linked to is just a version of rice with incompatible gl methods stubbed out if I remember correctly.


    Good to have another working on n64 emulation.
     
    Last edited by a moderator: Mar 4, 2012
  11. Stradian

    Stradian Member

    Joined:
    Dec 6, 2010
    Messages:
    304
    ^ Oh, that would explain alot...


    I'll work on porting the sources scripo listed.
     
    Last edited by a moderator: Mar 4, 2012
  12. Kris

    Kris Still Fresh

    Joined:
    Nov 23, 2003
    Messages:
    8
    There's an texture smearing issue only affecting PowerVR you may encounter and I don't have a device to test. There are some ideas in the thread on Paul's forum that might help.


    If you did want to continue work on an ES 1 version the TexRect drawing routines and the changes in calculating texture crcs are worth comparing. The main differences between the WebOS and Android versions are that the WebOS version uses SDL to init the window and eclipse project files. The android version uses egl init code from gles2n64 and makefiles instead.
     
  13. Askarus

    Askarus Hardcore Member

    Joined:
    Sep 28, 2011
    Messages:
    4,284
    Location:
    Germany
    GREAT


    I'm so happy. Finally someone does some work on N64 emulation.


    Thanks Stradian.
     
  14. Stradian

    Stradian Member

    Joined:
    Dec 6, 2010
    Messages:
    304
    This one includes the Rice video plugin fork from pauls code


    mupen.pnd


    See if it executes. Its fun making things I can't test.
     

    Attached Files:

    Last edited by a moderator: Mar 4, 2012
  15. sebt3

    sebt3 homebrew player (P. & C.)

    Joined:
    Sep 9, 2008
    Messages:
    4,746
    Location:
    France
    @Stradian : once you have something worth the repo, let me know your login there so I can grant you upload right on this app ;) (the PND you upload there need to include the other video plugins ;) )
     
  16. Askarus

    Askarus Hardcore Member

    Joined:
    Sep 28, 2011
    Messages:
    4,284
    Location:
    Germany
    "No graphic plugin selected"


    Sorry, it doesn't work for me.


    I can't change the selected graphic-plugin. The line is empty.
     
  17. #1 GameMaster

    #1 GameMaster Member

    Joined:
    Feb 10, 2008
    Messages:
    377
    Location:
    Columbus,OH
    Ok I started it up seen no plugin but went ahead and tried to start Mario 64 which didn´t run. Anyway here´s what my out file said.


    Version win-devel


    Couldn't load plugin 'libvideorice_EXPERIMENTAL.so': ./plugins/libvideorice_EXPERIMENTAL.so: undefined symbol: Android_JNI_UseRGBA8888


    Config Dir: ./config/


    Install Dir: ./


    Plugin Dir: ./plugins/


    Unable to open rom database.


    Could not open cachefile ./config/rombrowser.cache


    Rescanning rom cache.


    Rom cache up to date. 0 ROMs.


    Compression: Uncompressed


    Imagetype: .z64 (native)


    Rom size: 8388608 bytes (or 8 Mb or 64 Megabits)


    MD5: 20B854B239203BAF6C961B850A4A51A2


    80 37 12 40


    ClockRate = f


    Version: 1444


    CRC: 635a2bff 8b022326


    Name: SUPER MARIO 64


    Manufacturer: Nintendo


    Cartridge_ID: 4d53


    Country: USA


    PC = 80246000


    SUPER MARIO 64 (unknown rom)


    init timer!


    Error: No graphics plugin specified.


    Rom cache system terminated!


    Hope this helps out. :)
     
  18. Stradian

    Stradian Member

    Joined:
    Dec 6, 2010
    Messages:
    304
    ^ that helped alot. I'll post an update soon.
     
    Last edited by a moderator: Mar 4, 2012
  19. Stradian

    Stradian Member

    Joined:
    Dec 6, 2010
    Messages:
    304
    Updated.
     
  20. Garrett

    Garrett Advanced Member

    Joined:
    Aug 24, 2011
    Messages:
    1,255
    Location:
    Workington, Cumbria, UK
    Hey Stradian great to hear that someone else is working on the N64 emu, is this the same plugin used in Project64 & what would it potentially bring to Mupen.. more speed, better game compatibility, nicer visuals..?
     

Share This Page

Loading...