libretro / RetroArch

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

Request to get a BBC Micro \ Core added to RetroArch #13108

Open SuperBadger77 opened 3 years ago

SuperBadger77 commented 3 years ago

Hi, is it possible to request the addition of a BBC Micro emulator \ core to RetroArch such as Beebem?

hizzlekizzle commented 3 years ago

I don't think Beebem would be a great fit due to a fairly restrictive license: https://github.com/stardot/beebem/blob/master/COPYING

Ploggy commented 3 years ago

What about this Emulator? its GPLv3 and it's still being updated, well this year at least. https://github.com/tom-seddon/b2

SuperBadger77 commented 3 years ago

What about this Emulator? its GPLv3 and it's still being updated, well this year at least. https://github.com/tom-seddon/b2

Thanks @Ploggy, @hizzlekizzle worth a look at this one?

Ploggy commented 3 years ago

I hope so. BBC Micro would be amazing to have as a Core in RA.

SuperBadger77 commented 3 years ago

@hizzlekizzle any update on this? Feels criminal we are missing the mighty BBC Micro from Retroarch.

gouchi commented 3 years ago

You might try to open an issue upstream requesting first if they will be interested in Libretro port ?

Documentation

Ploggy commented 3 years ago

Ok, I made the request.. hopefully they're open to it :P Add to it if you want :) https://github.com/tom-seddon/b2/issues/186

SuperBadger77 commented 3 years ago

Ok, I made the request.. hopefully they're open to it :P Add to it if you want :) tom-seddon/b2#186

Comment added :-)

jeremyrayner commented 3 years ago

Hiya, another wonderful emulator for the Beeb is b-em, which I believe is GPL2

I have just raised an upstream issue with b-em as well, with the same topic of porting to libretro https://github.com/stardot/b-em/issues/162

The b-em emulator has already been stripped to the essentials, and made to run on the Raspberry Pi Pico by kilog on stardot ( https://www.youtube.com/watch?v=SFlgZitnUpc )

I have no personal preference for b-em or b2, both are wonderful projects, we are so lucky to have them both. I will note that b-em has more contributors in github at the moment, but whichever project is more open to the libretro port would be a good one to go with.

If a developer from either project is willing to look into the libretro port, is there anyone on the libretro side that would be able to find the time to help answer their questions etc? I'm sure it will help them to know that they have your support.

Cheers

Jez (aka j6wbs on stardot)

hizzlekizzle commented 3 years ago

We're always happy to answer any questions. The easiest thing to do is come to our discord server and ask in the programming channel.

SuperBadger77 commented 2 years ago

Hi all, I've raised this in the libretro discord programming channel: https://discord.com/channels/184109094070779904/876520593636335646/907298657848664105 @jeremyrayner @Ploggy

SuperBadger77 commented 2 years ago

We're always happy to answer any questions. The easiest thing to do is come to our discord server and ask in the programming channel.

I raised it in the discird programming channel - sadly not much interest @hizzlekizzle

hizzlekizzle commented 2 years ago

My comment was in response to:

is there anyone on the libretro side that would be able to find the time to help answer their questions etc?

It wasn't intended to imply that anyone in #programming would volunteer to make the port themselves.

Ploggy commented 2 years ago

You can only ask, if no ones interested there's not much more that can be done. It'll happen eventually I think, just need to wait it out :P

jhob101 commented 2 years ago

I would love to see this too. Considering the BBC's popularity it's seems like a glaring omission in the current lineup of home computers.

SuperBadger77 commented 2 years ago

I've just been looking at RecallBox for the new Pi Zero 2 image for the GPi Case and realised that they now have BBC Micro support! https://wiki.recalbox.com/en/emulators/computers/bbc-micro/beebem "This core is under GPL license." so there should be no issue adding it to retro arch now @hizzlekizzle Details of the add are here: https://gitlab.com/recalbox/recalbox/-/issues/1948

hizzlekizzle commented 2 years ago

I don't think that's correct. Relicensing a codebase is a pretty significant thing, and it requires the approval of everyone who's ever contributed. OTOH, it's very easy to mislabel a license in a large project like RecallBox. This line is particularly troublesome:

3) This program must be distributed COMPLETE, with source code. Binary-only distribution is not permitted.

tom-seddon commented 2 years ago

https://github.com/stardot/beebem-windows is the current repo, and it's apparently GPL. The licence changed at some point: https://stardot.org.uk/forums/viewtopic.php?t=2445

--Tom

SuperBadger77 commented 2 years ago

@hizzlekizzle would this update change anything based on Tom's response?

Ploggy commented 2 years ago

It's good we got clarification on the GPl issue, the problem now is someone willing to add it to Retroarch :)

SuperBadger77 commented 2 years ago

Hi,

I contacted the owner of Beebem who has given permission for its usage: Mike Wyatt beebem.support@googlemail.com To: Richard Wadsworth

Sun, 1 May at 13:18

Hi Rik,

Good to hear from another retro and BBC Micro enthusiast! I'm all for widening the audience for retro projects and BeebEm in particular.

BeebEm has already been used in a number of bundled emulation systems. The issue of licensing does always raise some questions. Back in 2009 I got the agreement from all of the BeebEm authors to switch the licensing of the Windows build to GPL2.

The Linux build of BeebEm though, which a lot of these third party systems use, pre-dates this GPL change, and no-one (to my knowledge) has yet updated the sources to bring them in-line with the latest Windows version. So, licensing for the Linux sources remains as the original author (Dave Gilbert) specified in the COPYING file (attached). Having said that, I'm sure Dave would have no problem with BeebEm being included in an ArkOS build, as long as it was freely available.

More of an issue is licensing for the BBC Micro OS and BASIC ROM images. Although some effort has been made to establish who owns the copyright for these ROMs, it has never been fully resolved. There remains a risk that a commercial entity may at some point object to the use of the ROMs (although no-one has ever contacted me regarding use of them).

The Linux port of BeebEm is available here:

http://beebem-unix.bbcmicro.com/

There may well be some further updates available for the Linux port scattered across the Internet - I've never looked in any detail!

I've not seen recallbox before. It looks like they picked up the Linux port and, even though they have kept their repo private, I doubt they have made any significant modifications to it.

Hope all of this helps. If you do port BeebEm to a new system, I would be happy to add a link to it from my BeebEm site.

Kind regards, Mike

On 30/04/2022 07:56, Richard Wadsworth wrote: Hi Mike,

I hope you don't mid the approach. I'm a child of the 80s and grew up with home computing. My favourite systems of all time are the Acorn Electron and BBC Micro. I'm also heavily into emulation and retro gaming, particularly retro handhelds such as the Anbernic RG350M and the RG351M. Where possible I've been championing the use of BBC Micro emulators onto new systems to allow more people to experience the mighty BBC Micro.

I can see that Recalbox have used your emulator in their latest build: https://wiki.recalbox.com/en/emulators/computers/bbc-micro

I'd like to be able to use your code in a couple of the most popular handheld systems: ArkOS and AmberELEC. These are strictly non profit and are done by the love of the community. I've raised this ticket to see if we can get BeebEm added to ArkOS but the lead developer has come back saying it is not publicly available - see below.

Can you let me know if you have any objections and permission to use BeebEm in these retro handhelds to bring the BBC Micro experience to the a wider community?

Many thanks

Rik

Ploggy commented 2 years ago

Brilliant! but we still have the issue of who is going to add it as a Libretro Core :P

SuperBadger77 commented 2 years ago

Brilliant! but we still have the issue of who is going to add it as a Libretro Core :P

Any ideas?

Ploggy commented 2 years ago

The only people I can think of are the Retroarch devs themselves, but we've asked them iirc? Don't get me wrong I'm not trying to crap on this I VERY MUCH would like to see this as a Core on RA :) We could ask again on the RA discord, but that could have the opposite effect ;)

SuperBadger77 commented 2 years ago

Would you raise it on the RA Discord and I'll support it? See how far we can get. We are close: we have a decent emulator and permission to use it, just needs adding in :-)

SuperBadger77 commented 2 years ago

Raised on Discord now we have the update from the source owner: https://discord.com/channels/184109094070779904/876520593636335646/986577559997255700

SuperBadger77 commented 2 years ago

Links to various versions of BeeBem: http://beebem-unix.bbcmicro.com/download.html Unix http://beebem-unix.bbcmicro.com/links.html links to Windows \ Apple \ Amiga \ PocketPC \ PSP \ GP2x https://github.com/jeremyrayner/beebem-rg350 RG350 https://github.com/stardot/beebem-windows Windows https://www.g7jjf.com/beebem.htm Pocket PC https://github.com/thefossilrecord/beebem-rs97 RS97

SuperBadger77 commented 2 years ago

@Ploggy had a more positive response but still some issues remain: https://discord.com/channels/184109094070779904/876520593636335646/987020474322145340

Ploggy commented 2 years ago

@Ploggy had a more positive response but still some issues remain: https://discord.com/channels/184109094070779904/876520593636335646/987020474322145340

I saw :) still though, need some kind soul to port it.

Ploggy commented 2 years ago

I've read its possible to run BBC Micro from within Retroarch's MAME Core? MAME (current) has all the MESS Cores merged into it, one of which is BBC MIcro, so possibly it wouldn't need to be ported into Retroarch since technically its already in there? If that's true could the BBC Micro Core be made into its own Core similar to what SameCDI does with the Philips CDI Core from MAME?

Its along way around I admit but it's possible?

SuperBadger77 commented 2 years ago

Yes it's possible and already working in a couple of distros. I'm pretty sure the Batocera core is running off MESS: https://wiki.batocera.org/systems:bbc which runs on many platforms. Also Retro Arena uses similar, it's available on various platforms again: https://techtoytinker.com/theretroarena and https://techtoytinker.com/ares and Steve has just added it to the RG503: https://www.facebook.com/groups/anbernic/permalink/745189136512606 This version is quite old and needs a keyboard. @jeremyrayner has also ported Beebem to the RG350 https://github.com/jeremyrayner/beebem-rg350 - this is the best version on handhelds I've used - it allows per game config of controls to keyboard mapping. Rick Dangerous also has included it in his Ultimate Pi build: https://www.youtube.com/channel/UC-DyMEeix9cKCilqOkT69ng https://www.arcadepunks.com/1tb-ultimate-edition-final-rpi4-from-rick-dangerous/ which I think uses MESS and each game has been added by @jeremyrayner with the correct control configs per each game added (24 in total) Only the Recalbox version uses Beebem in SDL2. Using MESS works but the core is quite old.

Ploggy commented 2 years ago

Thanks for the confirmation, I figured it would be a long way around and still probably worth waiting for a true Core port :)

SuperBadger77 commented 2 years ago

Thanks for the confirmation, I figured it would be a long way around and still probably worth waiting for a true Core port :)

Hang in there brother! We are close! This time next year, we will play Chuckie Egg on the BBC Micro core on RetroArch!

Ploggy commented 2 years ago

heh, we'll see. Funny thing though even if that mess/mame method was good, it still wouldn't work for my platform :p WiiU can't compile SameCDI lol

blumarten commented 1 year ago

was there ever any progress on this?

Ploggy commented 1 year ago

No doesn't look like it, still holding out hope for it tho :)

SuperBadger77 commented 1 year ago

I thought about putting a bounty on it to help entice someone, but I don't have much money ;-)

blumarten commented 1 year ago

No doesn't look like it, still holding out hope for it tho :)

ah what a shame. just ordered a steam deck so what i want to do is play 40 year old games on it, of course

SuperBadger77 commented 1 year ago

No doesn't look like it, still holding out hope for it tho :)

ah what a shame. just ordered a steam deck so what i want to do is play 40 year old games on it, of course

:-) As I said I've seen distro's running it as MESS MAME: Batocera, Recalbox, Rick Dangerous 1TB Pi Image, so it's possible to run it that way. There is a dedicated channel on EmuDeck on discord: https://discord.com/channels/934078500552462346/1029103518818250912 comment: after several hours of fighting to compile BeebEm and b2, I threw in the towel and got the windows version of BeebEm working under Proton. runs great Just re-reading the steps I might try and get it working on my deck as described here.

Ploggy commented 1 year ago

Those are all great options sadly not one of them would run on my WiiU (my target system for beebem) a Retroarch Core is my only choice.. or a native Beebem port to WiiU, which is even more unlikely :D

SuperBadger77 commented 1 year ago

Those are all great options sadly not one of them would run on my WiiU (my target system for beebem) a Retroarch Core is my only choice.. or a native Beebem port to WiiU, which is even more unlikely :D

It's a long shot \ not a great route but if you have a PSP core or emulator, there is a Beebem port to PSP. I have it set up on my RG552 - it works, but I had some control issues and not fully tested it out yet. Might only run at 80-90% in some cases but maybe worth a look? https://www.gamebrew.org/wiki/PSPBEEB_PSP https://github.com/PSP-Archive/PSPBEEB

Also does the WiiU have access to MESS in MAME?

Ploggy commented 1 year ago

We have a PPSSPP Standalone Emulator but its far from finished and doesn't run Beebem, I've tried lol Current MAME doesn't compile for WiiU, if it did that would be a route to a BBC Emulator. but I cant get it to compile it always throws errors. We have MAME 2003/Plus but that version doesn't have the MESS component.

blumarten commented 1 year ago

Those are all great options sadly not one of them would run on my WiiU (my target system for beebem) a Retroarch Core is my only choice.. or a native Beebem port to WiiU, which is even more unlikely :D

It's a long shot \ not a great route but if you have a PSP core or emulator, there is a Beebem port to PSP. I have it set up on my RG552 - it works, but I had some control issues and not fully tested it out yet. Might only run at 80-90% in some cases but maybe worth a look? https://www.gamebrew.org/wiki/PSPBEEB_PSP https://github.com/PSP-Archive/PSPBEEB

did you have any success with this? i recently picked up an RG353VS and i'd love to get it working on there somehow

SuperBadger77 commented 1 year ago

Those are all great options sadly not one of them would run on my WiiU (my target system for beebem) a Retroarch Core is my only choice.. or a native Beebem port to WiiU, which is even more unlikely :D

It's a long shot \ not a great route but if you have a PSP core or emulator, there is a Beebem port to PSP. I have it set up on my RG552 - it works, but I had some control issues and not fully tested it out yet. Might only run at 80-90% in some cases but maybe worth a look? https://www.gamebrew.org/wiki/PSPBEEB_PSP https://github.com/PSP-Archive/PSPBEEB

did you have any success with this? i recently picked up an RG353VS and i'd love to get it working on there somehow

Sorry not looked at the PSP Beebem. I have Batocera running on my RG552 now, and worked out how to override the default key to pad mappings and then got pad2key working per game. I've added approx 200 (releases + homebrew) games to my Batocera image all with key2pad mappings working. Finally have a device running perfectly with all my games playable. And as the core is lr-mame you get the standard auto save, rewind features as well. Once I've polished it up I might put an image up on arcadepunks, or just share the mapping files if anyone is interested.

kevinlingley commented 1 year ago

I’d definitely be interested in mappings, an image or instructions. Thanks!

SuperBadger77 commented 12 months ago

I’d definitely be interested in mappings, an image or instructions. Thanks!

Drop me an email to rikwadsworth@yahoo.co.uk and I'll share all the pad2key files I have done so far. Got almost 300 including hacks and homebrew :-)

SuperBadger77 commented 12 months ago

Don't suppose there has been any movement on getting a BBC Micro core added to RetroArch then?

Ploggy commented 12 months ago

None as of yet :/

crispybegs commented 12 months ago

man, it's like this one final unconquerable outpost of technology

SuperBadger77 commented 12 months ago

None as of yet :/

I just reraised it in the Discord to see if I could drum up any interest :-) https://discord.com/channels/184109094070779904/876520593636335646/1171553316346548354