Google engineer unveils unusual PNaCl web demo: A full Amiga 500 computer emulator in a Chrome window

Google engineer Christian Stefansen has posted a rather unusual new Google Chrome demo, which emulates an Amiga 500 computer system in a web browser window.

The Amiga 500 was a computer system first released in 1987, and was notable for being one of the first pre-emptive multitasking colour multimedia computer systems on the market.

Meanwhile, portable native client (or PNaCl) is a technology used in Google’s Chrome web browser allowing users to run apps in their browser at speeds the tech giant claims approach those of natively coded apps.

“Since its launch in 2011, Native Client (NaCl) has provided developers with the ability to build web applications that harness the computational power of client machines to a much fuller extent than traditional web technologies, by running compiled C and C++ code securely and at near-native speeds, and taking advantage of multiple cores with shared memory,” Google states.

“Portable Native Client (PNaCl, pronounced “pinnacle”) extends the capabilities of Native Client by letting developers build fully-portable executables that can be distributed on the open web.

“Users can run PNaCl applications without any installation, either of a browser plugin or of the applications themselves. In short, PNaCl combines the portability of existing web technologies with the performance and security benefits of Native Client.”

In a Google+ post, Stefansen says his demo shares most of its code with traditional Amiga emulators.

“The emulator code is based on the Open Source Universal Amiga Emulator which is about 400k lines of C code, which were ported to Native Client. All the code is available in Open Source for anyone interested in porting their own C/C++ code to the web,” he says.

“Cloanto kindly provided the ROMs and disks for this demo, and also put together a Chrome Web Store app (Amiga Forever Essentials) in record time (thanks guys!) You can run the Amiga in full-screen and even connect a USB gamepad.”

The demo can be accessed at this website.

COMMENTS