libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
9.79k stars 1.78k forks source link

Bounty to add dynarec core for Wii U port of either Beetle PSX or PCSX-R emulator [$470] #4852

Open roflcopter777 opened 7 years ago

roflcopter777 commented 7 years ago

Just to reemphasize the bounty goal for this project:

Update 4-25-18: Title of thread bounty has been changed to reflect that it should be PCSX-R or any PSX core that has a dynarec core.

The ultimate goal, is once more, full speed dynarec on the Wii U of any PSX core that RetroArch currently uses, this can eventually lead the way to future cores in being ported, That's all this is aiming for.


Update: Spoke with developer of WiiSX-R, a PCSX port on the Wii, Mystro256 who stated the Dynarec is publicly available on GitHub, and since Wii and Wii U both use PPC, I figure I'd link both on here:

PPC source https://github.com/Mystro256/wiisxr/tree/master/ppc Main WiiSX-R GitHub https://github.com/Mystro256/wiisxr

Disclaimer: The end goal is getting as much support as possible, the higher the donations the better, to support those who write the PPC dynarec. Thank you for your understanding.

It's well-established that the Wii U is more powerful than what the Virtual Console has shown, notably with NERD (Nintendo European Research and Development)'s efforts in their Nintendo DS emulation. There is untapped potential in the Wii U hardware and showing it is more than capable in running respective emulators for Nintendo 64 and Playstation (Mupen64 and PCSX-R). With that said, I wish to open this as a bounty to rally the support of those interested and wanted to throw my own hat into the ring, and I know of some other people who would be interested in contributing to see the Wii U to its full emulation potential.

The end goal is to unlock the power of the Wii U, but also adding support for a plethora of cores that have not been possible.

The end goal to any developer who is assigned to this task:

--- There is a **[$120 open bounty](https://www.bountysource.com/issues/44566014-bounty-to-add-dynarec-core-for-wii-u-port-of-beetle-mednafen-psx?utm_campaign=plugin&utm_content=tracker%2F296058&utm_medium=issues&utm_source=github)** on this issue. Add to the bounty at [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F296058&utm_medium=issues&utm_source=github).
roflcopter777 commented 7 years ago

@twinaphex Request to add to bounty list for easier access :) https://www.bountysource.com/teams/libretro/bounties

paulo-lima-dev commented 7 years ago

Is so weird that this is still not in the list: https://www.bountysource.com/teams/libretro/bounties

dankcushions commented 7 years ago

i think only bounties that libretro add appear on that list, rather than any user bounties added to issues on libretro repos. i emailed bountysource support to ask why & see if they could extend the list to cover both, as it would make sense, but no reply as yet.

ghost commented 7 years ago

@dankcushions @pralima87 I mentioned it to rappo before and he acknowledged they could add a button at some point to make it show all bounties.

For now, click "issues" on that page, then switch to the grid layout, and sort by money. That will show all of the current bounties. You could also filter by the "bounty" tag on github's issue search.

roflcopter777 commented 7 years ago

Huh. I wonder how else are people going to find this?

dankcushions commented 7 years ago

@bparker06

I mentioned it to rappo before and he acknowledged they could add a button at some point to make it show all bounties.

that would definitely be an improvement but for me any sort of separation between the two is bad news for both the project and the users who post these bounties. there's no URL we can share that shows all the bounties associated with libretro repos. they're effectively 'hidden' at this point. i will try and chase via email.

aliaspider commented 7 years ago

there is this url : https://github.com/libretro/RetroArch/issues?q=is%3Aissue+is%3Aopen+label%3Abounty

ghost commented 7 years ago

Yes but that is limited to the RetroArch repo unfortunately... we do have bounties in other repos. The issues list on bountysource, while not having a direct link, does show bounties across the entire organization.

roflcopter777 commented 7 years ago

Is there a way to correct that by chance?

Ploggy commented 7 years ago

Title needs updating again :) @twinaphex $185 now.

inactive123 commented 7 years ago

The title gets auto-updated.

Ploggy commented 7 years ago

ahh, ok.. but it still says $120, has done for the past 2 days.. :p

roflcopter777 commented 7 years ago

@twinaphex Title is stuck at 120, is there a way to change that or add this to the list of bounties? https://github.com/libretro/RetroArch/issues?q=is%3Aissue+is%3Aopen+label%3Abounty Thanks :D The amount of 120 has been that way for 23 days :P

Ploggy commented 7 years ago

@twinaphex not trying to be a pest but the amount's $200 now :)

roflcopter777 commented 7 years ago

Thank you :)

Dramoor commented 7 years ago

@twinaphex just reminder. Bounty is up to 250.

Ploggy commented 7 years ago

yes, @twinaphex.. If you would be so kind :)

roflcopter777 commented 6 years ago

How do I refund these to those who donated? I'm considering it because, even if the goal reached $500 or even a substantial $1000, it wouldn't change the minds of any potential candidates. I'm about to throw in the towel on this.

inactive123 commented 6 years ago

@roflcopter777 Feel free to throw the towel in yourself, but you will only be able to take out your own money (or well, you'd have to ask rappo, the Bountysource guy). This is not your bounty and there are multiple stakeholders involved, you don't get to decide to close this for everyone just because you got cold feet.

The bounty will stay running with or without you.

inactive123 commented 6 years ago

Also, I will be putting in $100 towards the purpose of a dynarec for Mednafen/Beetle PSX in general.

We are putting the cart before the horse here - before there can be any talk of a Wii U dynarec, there needs to be a framework in place to allow for dynarecs in the first place. And typically, people start out with a x64/x86 dynarec, then they port back to something like Wii U, going the other way about it and trying to start with an esoteric architecture like PowerPC is much more of an uphill mountain to climb.

So I'm putting $100 towards getting a general dynarec system first, once that is done, the likelihood of somebody picking up this Wii U dynarec bounty will become much higher. Keep the faith, Im putting in my own money now to try to get this ball rolling.

roflcopter777 commented 6 years ago

I apologize, and wasn't aware of what had to be done, I guess there has to be a framework first, thank you. I can't give up, not now.

inactive123 commented 6 years ago

Guys, going to be helping out here to pave the road towards getting this bounty completed -

https://github.com/libretro/beetle-psx-libretro/issues/214

I am also linking directly back to this bounty so that any prospective bounty hunter knows that once the framework is in place, they can also fetch themselves another nice $250 as part of this separate bounty!

roflcopter777 commented 6 years ago

Thank you :)

ashquarky commented 6 years ago

I started to think about the technical side of how this may work on the Wii U; what with it being a possibility in the near future thanks to the x86 efforts. One problem I can see (assuming we use Cafe OS' codegen capabilities) is that while the API is similar to mprotect() and could be implemented in the frontend, it only works for a certain memory area. Thus, the allocator used for JIT would have to be different to the allocator used for everything else, if we use one at all. I can't see a way around this without including Wii U-specific code in the core or adding dynarec code to the API. @twinaphex - any ideas?

MarceloMachadoxD commented 6 years ago

Hi guys where we are with that bounty? work in progress or we still searching someone?

hizzlekizzle commented 6 years ago

Still waiting/looking for someone to take it on.

andres-asm commented 6 years ago

You would need for everyone too agree to kill the bounty I guess

On Sat, Mar 17, 2018 at 1:50 PM, roflcopter777 notifications@github.com wrote:

What the hell was I thinking when I started this? I may just request that everyone gets refunded so we can all forget about this and move on.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/libretro/RetroArch/issues/4852#issuecomment-373943755, or mute the thread https://github.com/notifications/unsubscribe-auth/ABpC0GC0Fawd8crXzI-HCuassgpw8JeQks5tfVsMgaJpZM4NJQuh .

Ploggy commented 6 years ago

https://github.com/libretro/beetle-psx-libretro/issues/214 = Beetle Dynarec Bounty..

My suggestion is to rename it so the Bounty is for a PCSXr port rather than PSX Beetle.. That way PC and ARM could be PSX Beetle and WiiU could be PCSX?

inactive123 commented 6 years ago

You would have to deal with Bountysource in order to get your money back.

And lets just say I highly doubt they will refund you based on prior history with them.

ashquarky commented 6 years ago

-1 for PCSXr. I put money towards having top-notch emulation through Beetle, you can't just change the goal under my feet! ~1 for merging... It would achieve basically the same goal it is now, though I think adding more required platforms to that bounty makes it even less appealing to a dev than it is now. I don't think we can realistically expect a dev knowing four Assembly languages (optionally five) to show up out of the woodwork.

@rolfcopter777, you have to remember that no matter how you feel, there are other people involved who collectively put a lot of cash into this. You can't just cancel it, and you can't just refund everyone because you feel bad.

ashquarky commented 6 years ago

We already established that the other bounty is a prerequisite for this one, it lays the groundwork in code for a PowerPC dyna to be slid right in. So, we should focus there first, no?

Let's think about how we can get that other bounty rolling.

There may not be interest in the PowerPC specifically, but the other bounty covers widely used platforms with plenty of devs. If we can get that done, this bounty becomes far more appealing. Heck, if the pessimism let up, I'd even give this one a go.

On Sun, 18 Mar 2018 09:21 roflcopter777 notifications@github.com wrote:

@QuarkTheAwesome https://github.com/quarktheawesome Fine, then what do you suggest? I sure as hell don't see anyone else invested in this, dynarec is dead, and the person who was supposed to be working on dynarec for Beetle PSX has seemingly gone silent. Am I wrong? I was trying to offer a suggestion, what good does a bounty do if nothing comes to fruition?

WiiSX is all well and good, but the audio and graphics plugins are completely borked and outdated, I was wrong for ever having started this damn bounty. The whole idea of this was to garner interest, to give an incentive, and even that was a crock of crap.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/libretro/RetroArch/issues/4852#issuecomment-373957133, or mute the thread https://github.com/notifications/unsubscribe-auth/AII1QVkzPpcBqk7TrxpLyd8dA7iPGbPXks5tfYxWgaJpZM4NJQuh .

inactive123 commented 6 years ago

@simias is working on the other main dynarec bounty, however, I don't think he has any interest in doing the PowerPC/WiiU dynarec.

HOWEVER, if the main bounty were to be completed, that could be an opportunity for say QuarkTheAwesome or anybody else who would like to take it on.

Ploggy commented 6 years ago

@quarktheawesome I had asked Ced2911 (PCSX360 dev) and the PCSXrearmed dev (notaz) and both weren't interested. @Denu8thell what are your plans?

BinaryFissionGames commented 6 years ago

Yeah, I apologize profusely. I didn't communicate well with you guys at all. The dynarec was just incredibly frustrating, and the code base was a complete mess.

I would like to help you all with this dynarec. But porting ppssxx dynarec is VERY difficult, or at least extremely time consuming. Honestly, it might be easier just to build the dynarec from the ground-up. Or possibly explore porting other dynarecs.

But I don't think I'm the person to do that. I just don't have those sorts of hours to build this whole system by myself. If other people wanted to work on it as a group, I would be happy to help them however much I can. But I just can't promise that I'll have enough time to write a whole dynarec, and I don't think a lot of people can. This seems like an issue that needs a whole group to me.

And, again, I want to apologize for simply stopping and not communicating with all of you. That was a huge error of judgment on my part, and I don't intend to repeat that error again.

inactive123 commented 6 years ago

@roflcopter777 simias never promised to do WiiU dynarec bounty though. I really think it's not fair to lump him in or whatever. I am glad that he is in fact looking at a dynarec system to begin with, and I want to give him all the room and patience for that.

Honestly dude, you need to really stop dialling this anger down a notch. All this does is drive would-be contributors away instead of making it more likely for them to work on this. If this stuff is to continue like this, then I will start putting in some restrictions here as to who can post in this issue and who can't, because if this conversation goes any more downhill, it has the potential to ruin the dynarec plans by people who are actively working on it right now. The last thing they want is for this to seem like some kind of job with some CEO dude castigating them for why it's not done fast enough for them yet.

I know it takes a long time but honestly, this is volunteer-based coding you are seeing in action here.

aliaspider commented 6 years ago

why was beetle specified as a requirement for this anyway, when the goal was just to have a working fullspeed psx emu on wiiu. this would have been finished long ago if the description reflected the actual goal.

aliaspider commented 6 years ago

"this is the goal that is to be achieved before this other goal can occur" what ? you're not making any sense sorry, you wanted a psx emu yet you put a restriction on it being beetle for no reason.

Ploggy commented 6 years ago

@aliaspider when you say "this would have been finished long ago if the description reflected the actual goal" Does that mean you would have had a go if the the description was more general and simply specified Fullspeed Psx on WiiU?

andres-asm commented 6 years ago

it means someone could have ported something else

aliaspider commented 6 years ago

@Ploggy sure I would have tried pscx-r or pcsx-rearmed since they have a working ppc dynarec already. not just me, pretty sure others would have tried that as well. @roflcopter777 well then stop complaining since the only reason this failed was a mistake you made.

roflcopter777 commented 6 years ago

@aliaspider I can go back and change the goal.

inactive123 commented 6 years ago

How much did you put into this bounty @roflcopter777 ?

roflcopter777 commented 6 years ago

@twinaphex I don't know. I don't even remember how much I added in the fund, it's been a year that's passed and nothing has changed. I've changed the title to be more universal; if anyone can port over PCSX-R or another compatible emulator, they can.

@fr500 What do you suggest we do at this point?

inactive123 commented 6 years ago

@roflcopter777 what was the name you used as a backer?

https://www.bountysource.com/issues/44566014-bounty-to-add-dynarec-core-for-wii-u-port-of-beetle-mednafen-psx/backers

are you floofmasterx here in this list?

ShadowOne333 commented 6 years ago

Does it even matter if the bounty went core-specific? I mean, the whole purpose of this bounty in particular is getting a PSX emulator working on full speed with a dynamic recompiler on the Wii U, regardless of which emulator it is. I am sure most, if not all, the people that donated only want the sole goal of having just that.

Perhaps roflcopter777 made the mistake of specifying a core, sure, but the suggestion for another core was made by Ploggy here: https://github.com/libretro/RetroArch/issues/4852#issuecomment-373946717

But was refused by Quark here (perhaps jokingly, I'm not sure :P): https://github.com/libretro/RetroArch/issues/4852#issuecomment-373956912

And even aliaspider posted way at the beginning of the bounty without any mention nor suggestion about PCSX-R instead of Beetle: https://github.com/libretro/RetroArch/issues/4852#issuecomment-301344579

Still, though, I'd like it if we can please stop pointing fingers here and stop blaming others. Having the bounty be core-specific was a mistake, perhaps, but that doesn't mean it can be repurposed to still make the goal of having a Wii U PSX emulator with dynarec, regardless of which core it is.

If at all, I'd like to ask people here that have donated if they are okay with making the change so that the bounty can be changed to whatever core it is, as long as we get a dynarec for it on Wii U.

roflcopter777 commented 6 years ago

@twinaphex Maybe, again, it's been a year, and I've been trying to forget my mistakes and move on, but has been brought up today and I would like to move on as well. I didn't have a lot of money then, and I don't have a lot of money now, hence why my contribution wasn't up to snuff. I don't think contributing now will be of any benefit, no? Like what @ShadowOne333 has stated I'm not here to point fingers, I just want to start over from scratch and have since renamed the title and description accordingly.

As I recall, Shadow has pointed to many instances of comments showing where others have been declining certain emulators cores for changing Beetle PSX to PCSX-R, etc, but I digress. I want all this mess to be cleared out of and starting from scratch.

I want people interested or at least show a minutia of interest in some shape or form.

inactive123 commented 6 years ago

If at all, I'd like to ask people here that have donated if they are okay with making the change so that the bounty can be changed to whatever core it is, as long as we get a dynarec for it on Wii U.

I am fine/OK with this, for what it's worth.

ShadowOne333 commented 6 years ago

@twinaphex yes the user called "floofmasterx" is @roflcopter777 if I recall correctly.

Ploggy commented 6 years ago

I'm more than happy with the change of title.. As long as it's a PS1 core, it runs fullspeed and plays PS1 games correctly (Correct Audio/Graphics) :)

roflcopter777 commented 6 years ago

@twinaphex @ShadowOne333 Yeah, I'm the one that made that paltry contribution. What's it gonna take to get the ball rolling again? I've since updated the title to something better, I hope. Now that the Switch is the bigger focus, will anyone show interest?

@Ploggy But what though? No one can seem to agree on what to name the title.