Friday, 13 December 2013

Google emulates 1980s-era Amiga computer in Chrome

Google's Portable Native Client technology gives a new Web-based lease on life for an old operating system and the games it could run.

An emulated version of Amiga's operating system now will run on Chrome using the Portable Native Client software foundation.
An emulated version of Amiga's operating system now will run on Chrome using the Portable Native Client software foundation.
(Credit: screenshot by Stephen Shankland/CNET)
The Amiga 500 lives again -- in Google's browser.
Google developer Christian Stefansen on Thursday resurrected a version of the venerable computer system from the 1980s in the form of a Web app that runs in Chrome. Forty-year-olds who want to relive their childhoods or younger people who want to see just how hard their elders had it can visit the Amiga 500 emulator for Chrome online, boot the machine, and play some games.

Chrome emulates the old operating system by a Chrome-specific version of the Open Source Universal Amiga Emulator. Stefansen brought its 400,000 lines of code, written in the C programming language originally, to the Portable Native Client (PNaCl) foundation built into Chrome.

The Native Client technology runs software written to run on a particular processor at close to the speeds that native software runs. The approach gives software more direct access to a computer's hardware , but it also adds security restrictions to prevent people from downloading malware from the Web that would take advantage of that power.

This ray-traced juggler movie loop is one of the Amiga-on-Chrome demos.
This ray-traced juggler movie loop is one of the Amiga-on-Chrome demos.
(Credit: Stephen Shankland/CNET)

Native Client started with x86 chips, but Google has been expanding it with the PNaCl version. PNaCl is processor-independent, letting programmers run native code for the ARM chips in mobile devices -- and the old Motorola 68000 family that was at the heart of the Amiga 500.

The big questions for Native Client is whether programmers will adopt it and whether other browser developers will reverse their opposition. With NaCl today, there's a Google-specific part of the Web available through the Chrome Web Store, but those apps won't necessarily work on other browsers. Mozilla prefers a different approach for bringing older C software to the browser, a technology called asm.js that uses JavaScript technology that's universally supported in browsers.

Running C code on Native Client requires some modifications and therefore developer time.
"The original port to Native Client was done in four days," Stefansen said. "However, there was a lot of polishing afterwards, taking at least four times as long as the original port."

No comments:

Post a Comment