Closed Mikau28 closed 5 years ago
This would/should be the reference: https://github.com/m64p/mupen64plus-GLideN64
...just some notes you have to undo the GAWK dependancy you have to wrap around the OpenGL instance factories that are in gliden64 also you also have to wrap around the abstract interfaces in mupen64plus you also have to redo parts of the asm code to fit that part is easy but for gliden64 its a bit tricky because of said C++ instance factories
some current code in this port of mupen is still relevant but there is a vast majority that isn't thanks to said code format changes.
Let's link to the bounty here -
https://www.bountysource.com/issues/60020750-update-mupen64-gliden64-bounty
Alright 130!
Are there any devs contemplating the project yet?
If the parallel core would be easier to port GlideN64 to, we would be happy to apply the bounty towards that as well.
Agreed, if any of the backers so far have objections please state your case. Otherwise, any update to n64 would be welcome.
165!! Looking good!
Someone in Reddit suggested that instead of an update, porting the latest build from scratch may be a better (or easier) solution. Could this be a better idea then?
It is a better idea. Just use m64p as reference, because maintaining the project would be then easier.
m64p is just a buildbot that pulls the lastest upstream code and puts it all in a zip file, this project was already based purely on the upstream code when I abandoned it, keeping it up to date with upstream is more difficult than it might seem
Well, but you added rumble support, transfer pak and a new audio async feature. So it seems it makes more sense to use this as reference.
405 as bounty =)
I saw someone has set a goal at 700$
I saw someone has set a goal at 700$
That person needs to come forward and let us know if they can do this. Otherwise, we shouldnt set a target to get people's hopes up.
https://github.com/libretro/mupen64plus-libretro-nx WIP Repository.
Short breakdown: -HLE RSP: Done -GlideN64: TODO -Mupen64Core: Partially done (runs) --Fix savestates --Fix cheats --Fix configs --Fix dynarecs
It already runs, but currently only with interpreter. For future progress please check the Issue tracker
Thanks for the report. Finally, some progress!
Small update:
Currently runs on Android (aarch64), Switch, Windows x64, PS Classic GlideN64 update is on the way, it compiles already, now just need to integrate mupen64plus_DisplayWindow for libretro and change some plugin api stuff
I also plan to port threaded AL (given the new x64 dynarec performs 25-50% better than before)
https://github.com/libretro/mupen64plus-libretro-nx/issues/11
Can i ask, will the libretro GlideN64 be on sync with the normal one, as it gets updates pretty regularly?
Yes.
The parallel-n64 part is done.
https://github.com/mudlord/paraLLeXT
Feel free to claim the bounty for that portion. I want zero part of any money that comes from it.
@m4xw can we award the bounty to you?
@Mikau28 GlideN update isn't finished so I dont think it counts
Yeah, the graphics plugin is important and needs to be implemented IMO.
How is the progress going on this so far?
Well it partially works on some games (and crashes eventually). I didn't continue that as I take a short break from mupen currently.
How does retroarch do versioning of cores? It seems like mupen64plus had a new version 18 days ago (2.5.9), but the previous version was released in 2015.
https://github.com/mupen64plus/mupen64plus-core/releases
Does retroarch make a "retroarch" version of mupen64plus once per release; or does it make it's own build whenever it wants. (I'm interested in if this is pulling in ~4 years or changes or not...)
@jpsondag We just rebase our changes whenever we see the need, but the old mupen core was abandoned, so yea we are currently pulling in years of code changes.
The gliden branch is now functional, heres a preview (win64) with gliden 3.0 https://m4xw.net/nextcloud/index.php/s/2stZjmH5mZo9jZp
Beware of bugs :P
rebased gliden, fixed more gl stuff, should now run somewhat stable ;) Will need more platform fixes tho before it goes live. I updated the build (same link as above)
Thanks. I tested F-Zero X and BlastCorps. Both seem to have the later fixes, which is awesome to see in RetroArch.
The only issue is that the core takes a lot of time to load. Like 20 seconds or more. RetroArch looks like is not responding for that time frame but the games load eventually.
@Tasosgemah yea I assume thats because of shader compiling. Didn't look at that yet.
Just a heads-up, fixed Android.
So I need to ask every contributor to the bounty, what are expected working platforms? Currently mupen64plus-next supports:
New GLideN64 (with -next) supports
I didn't try the 32bit variants but they should most likely just work. So my plan is to fix all currently supported platforms for -next, before submitting the bounty. So that would mean:
Is that sufficient for all of you? It would be expanded later on either way.
Fine by me.
Updated bundle with Win64, Switch and Android aarch64. RE2, RS and others are now fixed, also lots of rendering fixes Got confirmation that Linux x64 works too.
Thanks for the update. The fog in Beetle Adventure Racing's snow level is fixed as well.
@Tasosgemah I have a mitigation for dynarec issues with Indiana jones too (only applied that to the aarch64 build for now tho). So you can ignore that issue (same with KI). Other than that, I need a good pair of 2nd eyes. Feel free to report anything you find here (including feedback in general) https://github.com/libretro/mupen64plus-libretro-nx/issues/4
Thanks again. I haven't tested many games yet since i know it's still WIP but the few ones i tried (with recent GlideN64 fixes) work nicely. My only complaint so far is the same i reported last time, regarding the loading ROM times, which is not a huge issue i guess, it just doesn't feel as "graceful" as all other cores :p
It's close to be on par with standalone, so testing is now needed. I know a few things that work in standalone but not here yet, but the list is small.
Is there any chance you know what the issue is with dr. mario 64, either the pills are invisible or the graphics are totally scrambled depending on FBEmu options.
The issue is supposedly fixed in understood in Glide:
http://gliden64.blogspot.com/2014/01/frame-buffer-emulation-part-ii.html
There was a fix in 2017 in mupen64plus -core:
https://github.com/mupen64plus/mupen64plus-core/pull/477
but the github issue says it doesn't fix it for dynarec; I'm not sure how your new dynarec interacts (or if it interacts) with the dynarec mentioned in the github issue though.
Dr Mario requires this option:
https://github.com/gonetz/GLideN64/blob/master/ini/GLideN64.custom.ini#L40-L42
If the pills aren't working, either that feature isn't implemented properly, or it doesn't pull in these kind of custom game settings that are needed
If Indiana Jones doesn't work in Windows i assume the same applies for Battle for Naboo for the same reason? It doesn't work on my end.
@Tasosgemah Could be, will need to make a test build with stop after jal 1 to test it. Also let's discuss it in the Update GLideN64 Issue, so we don't spam the ppl subscribed here
@loganmc10 I think it's likely a issue with glsm or I borked the parser. Btw do you think exposing copyAuxToRDRAM is worth it? Are there actually a lot of games that use it or are most covered in the ini? Also while you are here, do you know if there will be a alternative for N64DepthCompare without the extension requirements?
I'm not sure what you mean by "exposing", there isn't much use in giving users the option to turn it on or off, but I believe it is needed for Pokemon Snap to work:
https://github.com/gonetz/GLideN64/blob/master/ini/GLideN64.custom.ini#L133
The rest that use it are 64DD games.
GLideN64.custom.ini is an important component of GLideN64, there are a good number of games that need certain options enabled to work properly, I'm not sure if it's incorporated somehow into your port.
Also while you are here, do you know if there will be a alternative for N64DepthCompare without the extension requirements?
I'm not aware of any plans to replace/enhance N64 Depth Compare compared to how it works now (relying on a few OpenGL extensions).
Hi, I'm sure that the devolopers are aware of this https://gliden64.blogspot.com/2019/04/public-release-40.html, so my question is: Is the Public Release 4.0 code be included in the the final build of this work?
Its only a bunch of commits away, we use it technically already.
bob posted a $15 bounty
Guys no need to donate further to the bounty, I am close to done and don't need more.
Hi @m4xw , any further progress on this?
@cubatilles everything is said and done. Only 2 things stopping me from merging rn: Not breaking raspberry (I don't own one, so cumbersome fix) and a regression for Android AArch64 with GLN64 4.0
Problem is also I am on vacation and other projects take far higher prio right now.
So these issues don't affect windows? If not, could there be a WIP version maybe to test on Windows?
When you are back from vacation ofc.
@Tasosgemah Correct. https://m4xw.net/nextcloud/index.php/s/gTE8CtqeFKeDKHQ ^Thats GLideN64 4.0 (rebased thrGLN64 branch)
Like the Title and referencing here: https://github.com/m64p/mupen64plus-GLideN64
Also referencing here as well: https://github.com/libretro/parallel-n64 https://github.com/libretro/parallel-n64/issues/528
I would personally add 100 dollars to this bounty to update the cores.