Jump to content
IGNORED

Any interests for a "bare-metal" 2600 emulator for Raspberry Pi?


r_chase

Recommended Posts

Since there is a firmware upgrade available for RetroN 77, I'm also wondering if there'll be any "baremetal" emulators for any Raspberry Pi model? Like, for instance, I have a Raspberry Pi 3B+ that could probably replace my RetroN 77 if there is something like what I already mentioned.

I don't think it'll matter if it'll use Stella or even Gopher2600, but it would be nice to have and stuff.

NOTE: By bare-metal, I mean an emulator that is literally the operating system on a Raspberry Pi.

Edited by r_chase
Clarification.
Link to comment
Share on other sites

1 minute ago, x=usr(1536) said:

I may be misunderstanding what you're getting at, but how would this be different from any other Linux-compatible emulator capable of running on ARM?

Imagine an OS where Stella or any Atari 2600 emulator is literally the operating system. It's an idea I've had since discovering that there is a "bare-metal" ZX Spectrum emulator.

Link to comment
Share on other sites

Oh, you're basically talking about virtualisation.  Got it.  Scratch that; on a re-read it's very close to virtualisation, but not an exact implementation of it.  There would still have to be an emulation layer handling the 2600 hardware, and a scheduler could probably handle the sorts of things that a hypervisor usually would.

 

Nope, nothing that I'm aware of fits that bill for the 2600.  Using that 3B+ in the way that you're proposing, though, would waste a decent amount of useful computing power vs. just emulating the system.  Not opposed to the idea by any means and it is interesting, but the advantage of doing things in this way is escaping me.

Link to comment
Share on other sites

Just now, x=usr(1536) said:

Oh, you're basically talking about virtualisation.  Got it.

 

Nope, nothing that I'm aware of fits that bill for the 2600.  Using that 3B+ in the way that you're proposing, though, would waste a decent amount of useful computing power vs. just emulating the system.  Not opposed to the idea by any means and it is interesting, but the advantage of doing things in this way is escaping me.

Not exactly virtualization, but I suppose I could just get RaspPiOS Lite, install the Stella ARM deb (one of them at least), and modify the .rclocal or whatever could run Stella at boot. But that's also kinda bad, hence why a Stella OS would be nice to use. I'm not sure if I'm wording it badly, but I'm sure there is any way to word my proposal better. Like, for instance, LibreELEC is an OS that uses Kodi. idk about you, but a LibreELEC for Stella would be perfect tbh.

Link to comment
Share on other sites

10 minutes ago, r_chase said:

Not exactly virtualization, but I suppose I could just get RaspPiOS Lite, install the Stella ARM deb (one of them at least), and modify the .rclocal or whatever could run Stella at boot. But that's also kinda bad, hence why a Stella OS would be nice to use.

Right, and I understand now what you're getting at.  Years ago, my MAME cabinet more or less ran in the exact way you're describing; it worked, but wasn't necessarily ideal.

 

I'm afraid that I just don't have a good suggestion for you beyond the bare-minimum distro idea.  Without native ARM binaries available for the emulators themselves, pretty much every reasonable approach boils down to stripping the OS.

Link to comment
Share on other sites

I think it's a good idea if it is possible to do a RTOS and match the actual timing of hardware. That way it is no longer really a software emulator, but a hardware emulator like FPGAs. I don't know if a Raspberry Pi is fast enough for that, but maybe one of the higher-end ones are, especially if there are multiple cores.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

20 minutes ago, x=usr(1536) said:

Right, and I understand now what you're getting at.  Years ago, my MAME cabinet more or less ran in the exact way you're describing; it worked, but wasn't necessarily ideal.

 

I'm afraid that I just don't have a good suggestion for you beyond the bare-minimum distro idea.  Without native ARM binaries available for the emulators themselves, pretty much every reasonable approach boils down to stripping the OS.

Yeah. I guess I'm just tired of using multi-system emulation OS (like Lakka) just for one or two systems and stuff.

 

 

18 minutes ago, batari said:

I think it's a good idea if it is possible to do a RTOS and match the actual timing of hardware. That way it is no longer really a software emulator, but a hardware emulator like FPGAs. I don't know if a Raspberry Pi is fast enough for that, but maybe one of the higher-end ones are, especially if there are multiple cores.

I do have a Raspberry Pi 400. It has a quad-core ARM64 processor and whatnot. It's been falling into disuse after its retirement from being my main go-to desktop.

EDIT: I just found my old Raspberry Pi 4B+. I think it might be just as quad-core as my RPi 400.

Edited by r_chase
Quick update.
  • Like 1
Link to comment
Share on other sites

I would _love_ this.  BIG fan of BMC64...but fair warning, there's a LOT of work to make a even remotely functional UI atop a framework like Circle.  You literally have nothing whatsoever to depend on (like GTK) and have to construct even the basic elements from scratch.

 

That being said, a 4-second boot, guaranteed glass-smooth scrolling and metal-level input latency would _not_ suck.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

I did something that went into the direction of the Retron 77 a couple of years ago:
https://github.com/SvOlli/buildroot-stellabox . This also boots up quite fast (not 4 seconds, though) and brings you directly to the Stella UI. The advantage of this is that you can also include some kind of upload ROMs mechanism, like an embedded ftp server.


If you want to go for bare metal, you should see if anyone before you has managed to get SDL2 running on Circle (or any other bare metal framework) and use that.

  • Thanks 1
Link to comment
Share on other sites

23 minutes ago, SvOlli said:

I did something that went into the direction of the Retron 77 a couple of years ago:
https://github.com/SvOlli/buildroot-stellabox . This also boots up quite fast (not 4 seconds, though) and brings you directly to the Stella UI. The advantage of this is that you can also include some kind of upload ROMs mechanism, like an embedded ftp server.


If you want to go for bare metal, you should see if anyone before you has managed to get SDL2 running on Circle (or any other bare metal framework) and use that.

If you port the buildroot-stellabox to Raspberry Pi and add a feature where you can load ROMs from a USB, I will love you because you reminded me that buildroot is already a thing. Way better idea than actual bare-metal imho.

EDIT: by porting it, I mean make a prebuild...I guess. I don't know

Edited by r_chase
Correcting myself
Link to comment
Share on other sites

1 hour ago, r_chase said:

If you port the buildroot-stellabox to Raspberry Pi

Als you already stated with your edit, the main target platform is already Raspberry Pi as can be seen by the configs.

 

1 hour ago, r_chase said:

add a feature where you can load ROMs from a USB

This we can implement together using something like udev.

 

But to be honest, I prefer a lan/wifi solution over a USB stick any day. I don't know, what your daily driver OS is, but you can go for a remote filesystem access solution on Linux, Windows and MAC. (Haven't tested MAC myself, but I'm sure there'll be something like an sftp-client. For Linux I prefer command-line tools like "rsync", on Windows I'm using "Total Commander" which works great for this purpose.) Then you can upload stuff to the "StellaPi" just using the file manager on your host machine. Also you don't have to figure out what to do to delete or move ROMs.

 

It's also the way I did it on my favourite handheld Stella system: the Steamdeck. ;-)

 

My suggestion is that you try it. If you get stuck somewhere, we'll figure out how to fix / expand stuff together. Step by step.

 

I've updated to the current LTS version of buildroot and just pushed the update. I also copied Stella to the external layer since it's easier to update this way, and we can also extract stella.pro instead of supplying it from the repo.

 

1 hour ago, r_chase said:

Way better idea than actual bare-metal imho.

I wouldn't go that far, but using buildroot should be less effort now, and make maintenance in the future easier.

Link to comment
Share on other sites

16 minutes ago, SvOlli said:

Als you already stated with your edit, the main target platform is already Raspberry Pi as can be seen by the configs.

 

This we can implement together using something like udev.

 

But to be honest, I prefer a lan/wifi solution over a USB stick any day. I don't know, what your daily driver OS is, but you can go for a remote filesystem access solution on Linux, Windows and MAC. (Haven't tested MAC myself, but I'm sure there'll be something like an sftp-client. For Linux I prefer command-line tools like "rsync", on Windows I'm using "Total Commander" which works great for this purpose.) Then you can upload stuff to the "StellaPi" just using the file manager on your host machine. Also you don't have to figure out what to do to delete or move ROMs.

 

It's also the way I did it on my favourite handheld Stella system: the Steamdeck. ;-)

 

My suggestion is that you try it. If you get stuck somewhere, we'll figure out how to fix / expand stuff together. Step by step.

 

I've updated to the current LTS version of buildroot and just pushed the update. I also copied Stella to the external layer since it's easier to update this way, and we can also extract stella.pro instead of supplying it from the repo.

 

I wouldn't go that far, but using buildroot should be less effort now, and make maintenance in the future easier.

Ehh...I don't like anything to do with WiFi to be honest. It feels weird to me. Plus...I'm not sure if using the SSH method or even the rsync command on my daily driver requires "sudo" or admin access...even if I wanted to use the SSH method. On the topic of Stella itself, I do hope for Joy2B+ support in the near future. We'll wait and see at least for that front.

Back on topic though, I just want a better Atari alternative that is up-to-date compared to anything with RetroArch and isn't like the RetroN 77. I've recently heard horror stories about the RetroN crashing from one of you developers.

Edited by r_chase
Small correction.
Link to comment
Share on other sites

seems like a lot of work - just install RetroPie and install their standalone Stella package. 

 

The RetroPie's default is lr_stella (retroarch) and it is quite old and only supports joystick, but their standalone Stella installer is just a couple revs lower than the current Stella and supports all controller types (paddles, driving controller, keyboard/keypad, trakball). 

 

I think it is something like v6.2 versus the current v6.7, so pretty good for all games except for the very newest high-end homebrew that need the newer version.

 

it is possible to install the current version of Stella in RetroPie.  You just need to modify the install script, but it would be easier if they simply up their package accordingly.

 

 

Link to comment
Share on other sites

2 hours ago, fdr4prez said:

seems like a lot of work - just install RetroPie and install their standalone Stella package. 

 

The RetroPie's default is lr_stella (retroarch) and it is quite old and only supports joystick, but their standalone Stella installer is just a couple revs lower than the current Stella and supports all controller types (paddles, driving controller, keyboard/keypad, trakball). 

 

I think it is something like v6.2 versus the current v6.7, so pretty good for all games except for the very newest high-end homebrew that need the newer version.

 

it is possible to install the current version of Stella in RetroPie.  You just need to modify the install script, but it would be easier if they simply up their package accordingly.

 

 

idk anymore. I find RetroPie slightly more irritating to set up than Lakka or even Recalbox and its fork Batocera. Plus, I think a standalone OS with an up-to-date Stella would be nicer than either of them. Sorry.

Link to comment
Share on other sites

3 hours ago, Gemintronic said:

It sounds like you want Raspberry Pi OS Lite

https://www.raspberrypi.com/software/operating-systems/

Ehhh...  Raspbian Lite is still pretty hefty.  buildroot is probably the best bet.

3 hours ago, Gemintronic said:

It's in packages for Raspberry Pi OS so can be installed pretty easily, but it does have dependencies on SDL and X11.  Still, on a minimal installation, that shouldn't matter too terribly much.  It's just the cost of doing business, so to speak.

  • Like 3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...