What’s the best way to kick off 2013? By emulating a 28 year old computer in your browser of course! SAE is the Scripted Amiga Emulator, an open source project created by Rupert Hausberger. His aim is ‘simply’ to make classic Amiga emulation possible in modern web browsers. And to that end he’s written an Amiga emulator in native JavaScript. Not a pre-compiled Java/C to JS hybrid, but basic JavaScript that anyone with the know-how can play with.
You do need a beast of a PC to run SAE at a decent frame rate right now. Naturally Chrome provides the best current experience with Firefox a close second. Don’t even think about trying it in a browser that doesn’t support WebGL, WebAudio, Typed Arrays and the FileReader API. So sorry IE and mobile browsers, hopefully your time will come.
But if your rig is capable then even this 0.7 release is quite something to behold. On its site you can pick and play from a range of games including classics such as Alien Breed, Another World, Blood Money, Pinball Dreams, Shadow of the Beast and Turrican 2. There are also demos to view and I personally enjoyed watching through a near faultless full-screen playback of Mental Hangover by Scoopex.
The biggest issues seem to be around audio right now, especially in the demos. The audio often distorts as the emulator struggles to maintain performance running at 100%. As a result some of the games appeared to work a lot better with audio disabled. Graphics use WebGL so thankfully the display size didn’t make a difference to performance at all, meaning I was able to run all the games in full-screen with no perceived loss of speed.
Quite frankly just getting any of this working at all is a magnificent achievement, even if it is confined to bleeding edge browsers for now. The source code is fascinating reading too. Cleanly broken down JS files open up to reveal a cornucopia of Commodore chip and instruction set design. The blitter js file alone is some 3000 lines of painstaking op code emulation. Hopefully more developers can get on board to help improve performance and compatibility.
Whatever comes of it SAE is testament to two things: First is that Rupert was capable of making JavaScript do this in the first place, and second is to the enduring and undying popularity of Commodores classic machine. If it’s possible to preserve it on the web directly in your browser for future generations to experience, then that’s something worth celebrating the start of a New Year to.
Play with the Scripted Amiga Emulator or visit its github page.
If this article has perked your interest in the Commodore scene, both old and new, then you should check out Commodore Is Awesome for an endless supply of great news.