JSMESS Achieves a Hero’s Death —
With the release of MAME/MESS 0.168 today, JSMESS achieved something special and something final: Irrelevancy.
Through the work of JSMESS team member DopefishJustin and MAME/MESS developer Micko, assisted by a number of other contributed factors by both teams, per-driver compilation of MAME/MESS into Emscripten-converted Javascript just “happens” now. It’s one of the features built into MAME/MESS, and further work can be refined there as needed.
Volunteer teamwork for this project therefore shifts over to The Emularity, which is the loading structure for Javascript-based emulators, including MAME/MESS, EM-DOSBOX and others that will be added. The Emularity allows and will continue to allow ease of loading for this breed of emulator in a variety of ways, making the embedding of software history available everywhere, ubiquitously, for a very, very long time.
Pushing it through Emscripten also makes way for a future in which a replacement candidate like WebAssembly will be the eventual final target. Emscripten’s continued dedication to cross-platform compatibility and refinement of the compilation process means that now there’s a dedicated team for compiling (Emscripten), and a dedicated team for emulation (MAME). It’s as sweet as it gets.
This has been a very long road for me. I announced this project idea in this very weblog a mere four years ago. 4 years! (And note that DopefishJ is the first to jump in with assistance. Four years ago! And he’s never wavered.)
4 years is a very long time to bring something like this together. Granted, we had something sort of working within the first year, but to continually refine, improve, find the bugs, re-engineer the whole thing and attempt to make it functionally easier to keep on top of… that took a core set of people a lot of time.
They’re owed a lot of gratitude and thanks, and I need to assemble the canonical list of everyone who helped, but the efforts of DFJustin, Vito, bai, devesine, dreamlayers, clb, jvilk, yipdw, antumbral, balrog, MooglyGuy, haze lord_nightmare, and many others are what brought us to this point.
So, what’s next?
Well, the emscripten support in MAME/MESS is not perfect – it definitely needs eyes looking at it to improve the accuracy and the implementation. But it just got added this month, and I’m quite patient about these sorts of improvements.
The Emularity will need more refinement in terms of making it easier for “just folks” to start embedding software wherever they want it. The code works nicely, it’s just a matter of sitting down and going over how a person who had not had to program javascript would make something run.
And of course MAME/MESS can always use the addition of more people helping it with support, refinement and improvements. The Emscripten/website use case is a strong one – it’s going to be very easy for museums, university teachers, and everyone else to be interacting with this emulator going forward, and so the more focus on getting it comprehensive and quick as well as accurate, the better. It’s instant reward.
As I’ve indicated earlier this month, my focus is not on making sure emulation in the browser is a fact – that’s been established. My focus is entirely on transferring as much lost or in-danger digital information into modern-computer-readable-form as absolutely fast as possible. The emulators are here, and they’re waiting. Now we have to focus on these poor, solid magnetic souls keeping their precious contents, day by day, until they’re rescued.
I am not sad in the least. It was so fun to work with this team to get things where there are, and it’ll be so great to refocus them on parts that need more attention and love (like automatic new-driver building when new versions of MESS/MAME come out).
It is, all told, a great day.
Thanks to everyone.
Categorised as: computer history
Comments are disabled on this post
This is great, and appears to be the natural evolution of the Mame project. It likely never would’ve happened (or at least this soon) without JSMESS’s existence. Does the IA plan on using this new version of MAME/MESS instead of JSMESS in the near future? Perhaps more systems (C64, Amiga, Etc…) will be useable sooner because of this.
Big thanks for this team invention!