You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello! I'm attempting to port Stella to the Adafruit PyGamer and PyBadge. They are based on the SAMD51 microprocessor, which is essentially a 32-bit ARM core with FPU, running at 120MHz. They are very low-cost and include a joystick, buttons, an LCD display and an optional speaker and battery. They can be programmed through the Arduino IDE.
I started by using Libretro Stella, and I've trimmed the codebase so that only the essential files are compiled (no access to the filesystem, etc). I've configure the proper compiler options, and when I have a first successful build, I can go on to implement a frontend for Libretro for the PyBadge platform.
My current issue is with the multithreading C++ libraries. The Arduino compiler for the SAMD51 was built without _GLIBCXX_HAS_GTHREADS, so there's no access to std::mutex, std::condition_variable, etc. The microcontroller is single threaded.
I think I have two options:
Modify the Stella threading code (essentially EmulationWorker.cxx - maybe have a new SingleThreadedEmulationWorker.cxx)
Build the GCC arm toolchain with _GLIBCXX_HAS_GTHREADS enabled.
What would you recommend? Any suggestions are welcome, especially if there is a way to build Stella, or a port, without the c++ threading libraries. It would be great to have Stella running on the PyGamer and other microcontroller-based architectures!
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hello! I'm attempting to port Stella to the Adafruit PyGamer and PyBadge. They are based on the SAMD51 microprocessor, which is essentially a 32-bit ARM core with FPU, running at 120MHz. They are very low-cost and include a joystick, buttons, an LCD display and an optional speaker and battery. They can be programmed through the Arduino IDE.
I started by using Libretro Stella, and I've trimmed the codebase so that only the essential files are compiled (no access to the filesystem, etc). I've configure the proper compiler options, and when I have a first successful build, I can go on to implement a frontend for Libretro for the PyBadge platform.
My current issue is with the multithreading C++ libraries. The Arduino compiler for the SAMD51 was built without _GLIBCXX_HAS_GTHREADS, so there's no access to std::mutex, std::condition_variable, etc. The microcontroller is single threaded.
I think I have two options:
What would you recommend? Any suggestions are welcome, especially if there is a way to build Stella, or a port, without the c++ threading libraries. It would be great to have Stella running on the PyGamer and other microcontroller-based architectures!
Beta Was this translation helpful? Give feedback.
All reactions