MEMU (not only) on Pico

Everything about Andy Key's great Emulator MEMU
User avatar
TheCorfiot
Posts: 15
Joined: 25 Mar 2013 01:56
Location: Wales, UK

Re: MEMU (not only) on Pico

Post by TheCorfiot »

Loads files perfectly.

Unbelievable that it runs on such a small device.

Thanks for all your help
sundbyk
Posts: 1
Joined: 03 Oct 2018 11:05

Re: MEMU (not only) on Pico

Post by sundbyk »

Hi,

Anyone got pascal roms to work?
If so please share.

Kjell S.
Bill B
Posts: 596
Joined: 26 Jan 2014 16:31

Re: MEMU (not only) on Pico

Post by Bill B »

I have just pushed a new version of MEMU to my GitHub repository.

The main feature of this release is that the configuration dialog offers the option of MFX emulation instead of CFX-II emulation. Given that MFX is the latest & greatest expansion, I thought that was appropriate. CFX-II emulation can still be obtained by use of command line switches.

There is also a release providing pre-built x86_64 versions for Windows and Linux.

While producing this, I reviewed all the build options, and identified a number of issues:
  • The Linux version uses X-Window GUI. However, modern Linux distributions are moving away from X-Window towards Wayland. So perhaps this needs revising to use Wayland or perhaps a GUI toolkit that supports both.
  • The Raspberry Pi version has two special features: it uses the VideoCore GPU to accelerate the display, and it can use GPIO pins to interface with attached hardware. However neither the VideoCore access or the method of accessing the GPIO pins are supported with the latest version of the Raspberry Pi OS. Perhaps the best approach to this is to use the Linux version for display and a modern GPIO library to provide the interfacing options.
  • The Bare Metal Raspberry Pi version is similar to the above, except that it boots directly on the hardware without Linux. This provides a quick start-up and means that it can be powered off without needing to do a shutdown. The version of the library I am using to provide bare metal support is out of date and does not support the Pi 5. It would be a major effort to update.
So that raises a few questions:
  • Does anyone other than me run MEMU on Linux?
  • Does anyone want Wayland support?
  • Has anyone other than Dave used either of the Raspberry Pi versions to interface with real hardware? If not using the GPIO pins, then the standard Linux version (compiled for ARM) can be used on a Raspberry Pi.
  • Does anyone want continued GPIO interfacing support? It occurs to me that perhaps more interesting would be to turn the problem around and write a Linux driver that could scan the MTX keyboard matrix and generate Linux keystrokes. Then you could have a Raspberry Pi inside an MTX case running full Linux (at least command line). This would of course include the ability to run MEMU. Mind you, keeping the driver up to date with new kernel releases would be a pain.
stephen_usher
Posts: 326
Joined: 27 Nov 2016 19:58

Re: MEMU (not only) on Pico

Post by stephen_usher »

  • Wayland supports X11, so no need to change.
  • If the emulator interfaces with the standard UNIX/Linux serial ports then I guess you don't need GPIO, unless people want to use the emulator as a systems development platform for external device control instead of using Python. :-) (Or with Atari Joystick connectivity, but this could be handled by a separate process sending joystick changes over a serial pipe connection. The lag shouldn't be that large.)
  • Bare metal would need GPIO support to interface real keyboard/joysticks etc.
Bill B
Posts: 596
Joined: 26 Jan 2014 16:31

Re: MEMU (not only) on Pico

Post by Bill B »

stephen_usher wrote: 12 Apr 2024 13:19
  • Wayland supports X11, so no need to change.
If you run XWayland, which I gather is becoming optional / not default on some distributions.
stephen_usher wrote: 12 Apr 2024 13:19
  • If the emulator interfaces with the standard UNIX/Linux serial ports then I guess you don't need GPIO, unless people want to use the emulator as a systems development platform for external device control instead of using Python. :-) (Or with Atari Joystick connectivity, but this could be handled by a separate process sending joystick changes over a serial pipe connection. The lag shouldn't be that large.)
Dave has certainly had a Linux / Raspberry Pi version of MEMU attached to a real MTX keyboard in the past. I don't know whether that system still exists. And I have used it to interface an Atari Joystick, although Andy subsequently added Linux Joystick support, which I have also included.
stephen_usher wrote: 12 Apr 2024 13:19
  • Bare metal would need GPIO support to interface real keyboard/joysticks etc.
Given the version running on a Pico, I wonder whether there is any need for / interest in a bare metal version for the Linux Raspberry Pis.

In the mean time I have started slowly working on a version running on top of SDL2:
  • SDL2 has (experimental) support for Wayland
  • It means that the GUI code becomes common between Linux and Windows.
  • Joysticks can be supported on Windows as well as Linux, using code common to both.
  • Network code (for MFX / NFX emulation) can be common on Linux and Windows.
User avatar
Dave
Posts: 1284
Joined: 11 Aug 2012 18:16
Contact:

Re: MEMU (not only) on Pico

Post by Dave »

Bill B wrote: 12 Apr 2024 17:01
Dave has certainly had a Linux / Raspberry Pi version of MEMU attached to a real MTX keyboard in the past. I don't know whether that system still exists.
It does :D
Post Reply