- Emulation of TI calculators on the Raspberry Pi (Bullseye)
- 28 Sep 2022 10:11:05 pm
- Last edited by NoahK on 01 Oct 2022 12:28:37 am; edited 6 times in total
There have been some recent posts about emulating different TI (or other) calculators on the Raspberry Pi (raspi). I want to collect the information that we have into a single thread, including best practices for bringing some of these old projects into this decade.
Here are the emulators that are known work locally on the Raspi (at least in some capacity), and I go into the build process for these in this thread:
TilEm http://lpg.ticalc.org/prj_tilem/
CEmu https://github.com/CE-Programming/CEmu
firebird https://github.com/nspire-emus/firebird
TiEmu http://lpg.ticalc.org/prj_tiemu/
Interestingly, firebird is on openSUSE's build service, and there is a Raspberry Pi build option, worth giving a try.
https://build.opensuse.org/package/show/home:Vogtinator:firebird-emu/firebird-emu
Here are some simulators/emulators that run in a web browser, and do not require and internet connection. They run on the Raspi, but performance is not perfect.
NumWorks https://www.numworks.com/simulator/
emu68k https://tiplanet.org/pad_ti68k_emu/ https://tiplanet.org/emu68k_fork/
Over the next few posts, I will attempt to install/build these emulators on my Raspberry Pi 4B, documenting my struggles and breakthroughs.
Can jusTIfied run in an offline mode? Like, just from html/js?
If anyone knows of any other emulators that have Linux source available to build, please recommend them!
Loading the Numworks simulator in the browser is pretty straightforward, though every keypress results in a 1-2 second wait before anything happens on screen.
I have tried the NumWorks simulator in Midori, Chromium, and Luakit. Chromium performed the worst, Luakit the best.
I could not get jsTIfied to display anything after the initial flash of gray after loading a ROM, neither on Chromium nor on Midori. Perhaps I am just not waiting long enough?
Kerm, you mentioned having loaded jsTIfied on a Raspi before, what browser were you using, and what was the performance like?
Firebird Emu installed just fine from the openSUSE apt repo. I don't have a CX or CX CAS (though I do have a CX II CAS), so I *achem* acquired the needed Boot1 and Flash files (though I don't think they are complete and working properly). It begins emulation, states it's running at around 30% speed. I will need to rip my own ROM to test thoroughly, anyone have a CX or CX CAS they'd sell me?
Building the SDL version of CEmu was a sinch when following the steps that TheLastMillennial laid out in their recent forum thread: https://www.cemetech.net/forum/viewtopic.php?p=296905
Performance, again, is not too hot hovering around 8.4% emulation speed. I will try the Qt version of CEmu next.
So far, there have not been any good performers. I think this has to do with the very low CPU utilization going on with my Pi (you can see in the top-right corner of most screenshots). I may need to look into a hardware issue with my Pi setup, perhaps it is not receiving enough power...
Building Qt CEmu for the Rapsi was only marginally more involved than the SDL version.
To install the Qt5 SDK needed:
Code:
Then some needed dev libraries:
Code:
And finally, cd'ing into the cloned git repo, "CEmu/gui/qt/": (This takes a while!)
Code:
Now CEmu shows up in the Education section of the Applications menu!
And performance is looking good! The added functionality of the Qt version of CEmu is really a must-have!
Going into fullscreen mode does not work completely, it just renders the screen on top of everything else in the top-left corner. But other than that, this is full CEmu working on the Raspberry Pi!
Here are the emulators that are known work locally on the Raspi (at least in some capacity), and I go into the build process for these in this thread:
TilEm http://lpg.ticalc.org/prj_tilem/
CEmu https://github.com/CE-Programming/CEmu
firebird https://github.com/nspire-emus/firebird
TiEmu http://lpg.ticalc.org/prj_tiemu/
Interestingly, firebird is on openSUSE's build service, and there is a Raspberry Pi build option, worth giving a try.
https://build.opensuse.org/package/show/home:Vogtinator:firebird-emu/firebird-emu
Here are some simulators/emulators that run in a web browser, and do not require and internet connection. They run on the Raspi, but performance is not perfect.
NumWorks https://www.numworks.com/simulator/
emu68k https://tiplanet.org/pad_ti68k_emu/ https://tiplanet.org/emu68k_fork/
Over the next few posts, I will attempt to install/build these emulators on my Raspberry Pi 4B, documenting my struggles and breakthroughs.
Can jusTIfied run in an offline mode? Like, just from html/js?
If anyone knows of any other emulators that have Linux source available to build, please recommend them!
Loading the Numworks simulator in the browser is pretty straightforward, though every keypress results in a 1-2 second wait before anything happens on screen.
I have tried the NumWorks simulator in Midori, Chromium, and Luakit. Chromium performed the worst, Luakit the best.
I could not get jsTIfied to display anything after the initial flash of gray after loading a ROM, neither on Chromium nor on Midori. Perhaps I am just not waiting long enough?
Kerm, you mentioned having loaded jsTIfied on a Raspi before, what browser were you using, and what was the performance like?
Firebird Emu installed just fine from the openSUSE apt repo. I don't have a CX or CX CAS (though I do have a CX II CAS), so I *achem* acquired the needed Boot1 and Flash files (though I don't think they are complete and working properly). It begins emulation, states it's running at around 30% speed. I will need to rip my own ROM to test thoroughly, anyone have a CX or CX CAS they'd sell me?
Building the SDL version of CEmu was a sinch when following the steps that TheLastMillennial laid out in their recent forum thread: https://www.cemetech.net/forum/viewtopic.php?p=296905
Performance, again, is not too hot hovering around 8.4% emulation speed. I will try the Qt version of CEmu next.
So far, there have not been any good performers. I think this has to do with the very low CPU utilization going on with my Pi (you can see in the top-right corner of most screenshots). I may need to look into a hardware issue with my Pi setup, perhaps it is not receiving enough power...
Building Qt CEmu for the Rapsi was only marginally more involved than the SDL version.
To install the Qt5 SDK needed:
Code:
sudo apt-get install qtbase5-dev qtchooser
sudo apt-get install qt5-qmake qtbase5-dev-tools
Then some needed dev libraries:
Code:
sudo apt install libarchive-dev libsdl2-dev
And finally, cd'ing into the cloned git repo, "CEmu/gui/qt/": (This takes a while!)
Code:
qmake -r CEmu.pro && make
sudo make install
Now CEmu shows up in the Education section of the Applications menu!
And performance is looking good! The added functionality of the Qt version of CEmu is really a must-have!
Going into fullscreen mode does not work completely, it just renders the screen on top of everything else in the top-left corner. But other than that, this is full CEmu working on the Raspberry Pi!