Hacker News new | past | comments | ask | show | jobs | submit login
Google employee ports Amiga emulator to Chrome (cnet.com)
113 points by bane on Dec 12, 2013 | hide | past | favorite | 53 comments

The Amiga had a recognizably modern GUI, multi-tasking, interprocess communication, a universal scripting language and a bunch of other stuff, in 256k of memory (later 512k), running on a 7.1Mhz CPU. What's amazing is not that you can emulate it in a browser now, but how little real progress has been made.

Just goes to show how modern computer resources are being wasted in this pile of VMs and bending an application for showing interactive documents into a platform.

Nicely done. I feel a bit about the Amiga like I do about the Moon landings in 1969. So much of a feeling of "wow, the future has arrived" and then it didn't.

Nothing was quite so cool as 'pulling down the screen' to reveal another screen behind it.

It took me until 2005 to have a computer I liked nearly as much as the Amiga: I bought a Mac mini running OS X to tinker with and I ended up switching to Mac OS about 9 - 10 months later. It still wasn't the same though.

I think the frustrating thing about the Amiga is how painfully long we had to wait to get all of that stuff again. When I relented and got a PC in the early 1990's, I had to screw with getting a Pro Audio16 (Soundblaster competitor) to work in DOS. You had to mess with jumpers, DMA settings, IRQ settings, conflicts, etc.... All to get stereo sound that the Amiga had in 1987. And the sound produced by the card wasn't even that good! Same with video. PC's were stuck with 256 color VGA for what seemed like an eternity.

Having an Amiga was like being teleported to the future in a time machine and then being cruelly yanked back to the present and being forced to watch people "discover" all of this stuff you had grown accustomed to.

I always described the Amiga experience as "a computer from ten years in the future... then Commodore sat on their thumbs for twenty." Or at least that's what it felt like when I got my A1000 versus abandoning my 1200.

I've been using Macs since the time I put my last Amiga away, and it's never felt as cool as the Amiga did. More useful, much more powerful, but never as flat-out cool.

God I'm getting old.

I'm still waiting for datatypes, and ubiquitous scripting ports that actually get used, and a bunch of other things. These days I tinker with AROS hoping it will eventually get to the point where I can spend part of my day using it properly...

One of the things I love is that I can "boot" the Linux hosted version of AROS straight into a text editor and on my laptop AROS will run through a full boot and start the editor faster than Emacs will start...

Nothing was quite so cool as 'pulling down the screen' to reveal another screen behind it.

even with different resolutions at that!

That! Go explain that to a EGA PC user at the time, that I could actually have 2 different resolutions on one screen at the same time.

I would try to explain it to people - and even show them in person - and would inevitably get 'why would I want to do that?'. And that sort of was a fair question, which I still don't have a good answer for. It really reinforced its position as a niche tool computer vs general purpose, rightly or wrongly.

Back then it was useful. E.g. I'd have my Workbench running at 640x256 so I could get 80 column text, and Deluxe Paint might be running in 320x256 at the same time. Often I'd pull down a screen to check on something else that was running.

Many graphics apps also used it explicitly to be able to present e.g. a palette or toolbar at one resolution regardless of the resolution/graphics mode of the image you were painting at the top of the screen.

But notice the full-screen applications are now "new" again, and the top menu bar has spread beyond the OS X holdout (e.g. Ubuntu now uses a global menu bar for the most part). And on Android there's the pull down notification screen, and lots of hacks to run two applications side by side. So much for "why would you want to do that?" - the use cases answers the question:

Because the work spaces we have are too small, and just like we sometimes will arrange papers on a desk so that some are partially obscured to optimise which part of the rest shows, so it is useful for desktops/screens.

But this is/was a problem for the Amiga in general: So much of the functionality becomes obvious but possibly hard to explain once you've used it for a while, but is not even apparent or in many cases not even well known to people who have not used it extensively.

E.g. why in the world do I still have to install different archives and libraries for compression formats with different APIs? On the Amiga pretty much every bizarre compression format under the sun is supported by an XPK library, meaning every application that supports XPK can transparently support that format. Meaning, again, that if you want to, you can pick and choose any compression format you want to compress your files on disk, as there are filesystem handlers that supports XPK.

And you can actually try it with this emulator setup. Just go to demos disk and select Fields-demo.

If you missed the Ars series on the history of the Amiga, you owe it to yourself to read the whole thing: http://arstechnica.com/series/history-of-the-amiga/

I missed it when it came out, but got sucked in while reading the history of OS/2 that was posted here a couple of weeks ago. I was too young to care about all that stuff at the time, but it was a fascinating read. Especially since I now live a stone's throw from where the Commodore headquarters once was.

Reading this at the moment, and I found this quote:

> Amiga, Inc. didn't have a lot of money left over for shipping its prototype to the show, and the engineers were understandably nervous about putting such a delicate device through the rigors of commercial package transport. Instead, RJ Mical and Dale Luck purchased an extra airline seat between the two of them and wrapped the fledgling Amiga in pillows for extra security. According to airline regulations, the extra "passenger" required a name on the ticket, so the Lorraine became "Joe Pillow," and the engineers drew a happy face on the front pillowcase and added a tie! They even tried to get an extra meal for Joe, but the flight attendants refused to feed the already-stuffed passenger.

Somehow I can't imagine that working on a modern airline...

Musicians often book an extra seat for their instrument, because fine musical instruments are often irreplaceable antiques. These days you can just book a ticket in the name EXTRA SEAT, but it used to be common to book a guitar in as Mr Gibson or a cello as Mr Stradivarius.

The title is misleading. It should read "Google employee ports Amiga emulator to Chrome"

From the FAQ:

"The code was forked from PUAE, the Portable Universal Amiga Emulator, from GnoStiC's GitHub repo [1]"

[1] https://github.com/GnoStiC/PUAE

"I work for Google. I was a member of the Chrome team, and more specifically the Native Client team, from August 2010 to June 2013."

In 1990 I worked for 5 weeks during holidays at Ikea so I could afford that box :)

Lattice C was spread across 4 disks. After 7 minutes of disk swapping, I'd get my linker errors.

Anyway, need to check it out and see if it does run Shadow of the Beast!

DICE-C FTW, no disk swapping needed :) I ordered DICE in the early 90's by sending the money in a letter to the US and got the disk and even a personal reply from Matt Dillon (of DragonFly-BSD fame) back. Great times.

I was an Aztec C user. That was the second compiler I ever purchased (after Abacus C for the C64). Damn... I'm still buying compilers today thanks to Microsoft.

Bit of topic, but out of interest, why do you buy/use/need the Microsoft toolchain?

(I work on open source stuff and I've only ever used GCC and Clang - I'm not asking this as a rhetorical way to say you're stupid, I'm genuinely ignorant of the advantages).

I can't speak for the original poster's use case, but wanted to point out that the Microsoft compilers are free (as in beer) anyway. They do charge an arm and a leg for things like Team Foundation Server or whatever but the fully functional (32 and 64 bit) compilers, linkers, nmake, etc ship with the free Windows SDK. And even most of the useful IDE stuff is available for free in the VS Express editions.

1 - Works pretty much "out of the box". And with the latest APIs Windows just added. (Something that I tried making work on MingW but I got working only with the MS toolchain: http://msdn.microsoft.com/en-us/library/bb945061.aspx)

2 - The IDEs are good. Not great, buggy sometimes, but they help you with the more hairy things in Windows.

3 - Even if it's something like C# that would be easy to do with the Free IDEs, it's helpful

So, to sum it up, developer convenience.

Its some of what raverbashing has said. We are doing some lower level Windows stuff with it and share code with other groups. We tried VC Express about 5 or more years ago but found that some stuff did not work properly and haven't revisited. Engineering time wins out over $300-$400 cost / dev every 4 or 5 years.

Lattice C which then became SAS C... the first serious software that I really bought!

Me too! I still remember the grey documentation binders with diskettes enclosed.

Devpac for me!

Damn that was a nice system. Besides cygnus ed, that was some of the best money I ever spent.

Someone should do an asm.js version to compare performance.

"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."

Basically this is emulation using PNaCl, an almost-native-code execution layer in Chrome. A little bit like ActiveX, but multi-platform.

I wonder if a complete QEMU can be shoehorned into this technology, so that you could more old OSes in a browser.

I also wonder how hard it would be to create an Amiga emulator in pure JS. Probably a lot harder than a Linux console-more emulator which already exists.

I wish people would stop mentioning ActiveX and PNaCl in the same sentence, because the two are nothing alike at all :) ActiveX (and NPAPI) plugins run completely unprotected code and are OS and CPU specific. PNaCl runs in a security sandbox, and provides a CPU and OS agnostic runtime environment.

But like ActiveX, it still needs to be supported by the underlying architecture.

No, PNaCl is CPU-agnostic. It runs on both x86 and ARM, and could be ported to others.

You may be thinking of NaCl, which is CPU-specific.

Yes, I was definitely mistaking it for NaCl, the CPU-specific approach.

PNaCl is closer to a modernized Java than it is to ActiveX. In particular, a pnacl binary is theoretically write-once-run-anywhere and doesn't depend on any aspects of the client OS other than a limited browser interaction API.

Here's an Amiga emulator in JS: http://scriptedamigaemulator.net/

With Emscripten, I'd be willing to bet it would be at most the same difficulty as this PNaCL port was.

40 year olds? My first machine was an A500, and I'm early 30s!

I'm 31 and grew up with a C64 and then an A500. My first PC was a 486-DX2 66 MHz in the middle of the nineties. In the 386 days, the PC still felt far inferior to much older Amigas.

I'm 38 and found the local Amiga club in high school, most of the members were older professionals that used Amigas for work: film scores, video editing, etc. Unfortunately, never owned one. But I was very impressed. Amiga video, audio, graphics, multimedia, multitasking was mind-boggling awesome in the early 90s.

I'm 30. An A1000 taught me how to read. (with help from a TI 99/4A)

I'm 29, and my first graphic design experience was the Talking Coloring Book on the A1000. Photoshop is better, IMO.

"On the Edge: the Spectacular Rise and Fall of Commodore" by Brian Bagnall covers quite a bit of the Amiga development.


However, the rewritten / "second edition", "Commodore: A Company on the Edge" stops with the 8-bit machines, as there were plans to have two volumes - one for the 8-bit systems, and one for the Amiga days:


The second edition, "Commodore: The Amiga Years" has been unfortunately cancelled, but is still listed on Amazon:


How does Maher's book on the Amiga compare to Bagnall's first edition?

Maher's book takes a very different approach. It focuses on presenting an outsider view on the technology and its impact on computing, rather than on the company and all the drama surrounding Commodore and its people.

There were times reading Maher's book that I was annoyed that he seemed to me to miss the point, though I'd say probably with the best of intentions (there were no issues that were so egrerious to me that I still remember the specifics), but it is relatively even-handed and worth a read, and presents a very interesting counter-point to Bagnall's book(s).

This is awesome... really takes me back. Amazing what you can deliver in a browser these days. I'd simply love to run my first product again (its been 20 years!)

PS: Anyone know the process to get AmigaDOS 2.04 running on one of these (and download a LHA file and install it?)

This is highly interesting, considering RJ Mical works at Google now.

Ported to Chrome? That editorialized headline is kinda wrong. It's pNaCl. With pNaCl, you can have an Emscripten fallback, if you want.

Not with this emulator, since it uses threads.

hey amiga fans - - - i have exactly one Amiga disk left that boots into an amazing cracktro with music that I have wanted to record.... I can't find the song on youtube anywhere...

but my A500 as a broken floppy drive. Are there any fanatics anywhere near Boston within 100 miles who would be willing to let me boot this disk on their machine and record the song?

Try posting on eab.abime.net - English Amiga Board. Despite the name, it is "crawling" with Amiga people from all over, and it has a very active subset of people that are working hard to archive everything they can.

You can also try www.amiga.org and www.amigaworld.net - there's a lot of overlap but not entirely. Though EAB seems to be the English-speaking focus of preservation for the Amiga.

They'll almost certainly be able to tell you whether or not the cracktro has already been ripped and if it has, they'll almost certainly be able to get you an ADF to load on UAE.

You might like to get in touch with Jason Scott: http://textfiles.com/jason/ He seems to "know people" when it comes to archiving computer history: http://www.wired.com/gamelife/2012/04/prince-of-persia-sourc...

Are you able to give any more information on the cracktro? Which group? What was cracked?

Bamiga Sector One was the group. The game was either Virus or Mah Jong. From about 1991. It's a beautiful, 4-voice counterpoint tune with somewhat unusual synth patches (sampled Kawaii-ish).

I would be totally fine if the tune is out there somewhere, but I scan youtube every few months/years and it hasn't tu

Worth a tweet to @textfiles (Jason Scott) about preserving the disk.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact