This website runs an emulator of the Amiga 500 inside of Chrome by using Portable Native Client, a way to run existing C/C++ in the browser in a safe way across operating systems and across machine architectures. On the main page you can boot the Amiga, insert floppy disks, play the games, and generally pretend it’s still the late 80s.
So cool.
Looks authentic, be even better if the mouse control worked!
Mouse works for me in chrome, but it crashed when I tried to launch Boing.
Edited 2013-12-12 23:36 UTC
http://scriptedamigaemulator.net has a Javascript amiga emulator that even works in safari on the iPad…
The point is more to show of the NaCL support in Chrome, rather than be an Amiga emulator. Although SAE is cool.
Not only that but once the PNaCl support gets downloaded into the Chrome browser, it should work on most ARM processors and 64-bit Intels as well.
Chrome is the only major browser that still runs 32-bit only on OS X, why should PNaCl run 64?
Cool! Much better. IMHO It’s stupid to run native code on a web browser…it goes against the original idea of the web.
You mean Java and Flash are better ?
Kochise
No, the browser should be a plain platform for documents.
Pure HTML without JS, WebGL, and all the fancy stuffs ? Let’s come back to HTML 1.0 or BBS… A PDF server if so much easy to maintain after all.
Kochise
Indeed. Luckily it’s not needed. There are compilers, like emscripten (based on LLVM/clang) that will translate C/C++ to a subset of JavaScript that it easy for JavaScript engines to compile to quite optimized machine code (see asmjs.org). That’s how e.g. Unreal Engine 3 was ported to JavaScript, running well. So I don’t think that there is still a point in PNaCl (or NaCl).
Even with asm.js, emscripten runs like ass, performance is bad, resulting binaries are huge and decompressing them/parsing them takes a long time, a giant amount of ram, and freezes the browser.
Plus it does not support threads, streamed audio and all the other stuff PNaCL does.
PNaCL has more interesting uses right now, though, such as running on Google App Engine, Chromebooks and Providing an alternative framework for writing Android Apps.
Edited 2013-12-13 17:08 UTC
It’s hard to reply to this comment due to the high number of factually, flat-out wrong statements there.
Performance is consistently within 2x of native for real-world cases such as Unreal Engine 3; resulting “binaries” are not significantly larger than machine code; RAM usage is only marginally higher than native; streamed audio is fully supported. Regarding “freezing the browser”, feel free to file bugs if that happens for you.
Looking for a point in your comment, I found one: it is true that there is not yet a general solution to threading in the Web platform, as Web Workers are too limited. This is currently an area of active work by various browser vendors.
I’m sorry, It’s not wrong. Performance is worse, I’ve compiled GLES2 code for both and asm.js+emscripten is not only slower (less fps) but has random performance drops and freezes consistently.
That in itself is not terrible though, but even though the code is gzipped and downloading it isn’t troublesome in itself, the moment when it decompresses and runs the code freezes the browser for a while and uses a ton of ram (for a 10mb gzipped binary, it uses almost a 1gb when decompressing and compiling it), that seriously sucks.
Lack of threads is the main reason why i can’t really use it for anything useful though.
The original idea of the Web was to share documents, not apps. This is actually an evolution.
What I really hate about JS (which I believe is the ugliest language ever) is the fact that it is the only choice. If you don’t like it you have to use something that translates your code into JS, adding another layer of complexity, and to display someething you have to revert to HTML, another laguage designed for documents and not GUIs.
Solutions like NaCl brings back the freedom that should always have been there.
NaCl/Pepper locks out every other browser vendor out there, by duplicating the entire application platform — JS vs other IR languages is only one aspect, the bigger problem is regular standardized Web APIs vs whatever Google alone already decided to put in Pepper.
Not sure how that’s “freedom” — unless you think that the multiple-implementations aspect of the Web wasn’t important.
Remember that IE6 was best-in-class technology when it came out.
Edited 2013-12-13 15:38 UTC
This is the freedom for the price of being browser-specific or depending on a browser plugin. It might have been called “Google Flash” or “Google IE” 10 years ago.
Perhaps we are going to witness yet another holy war soon – emscripten/asm.js vs PNaCl or something like that.
That’s not true at all anymore. You can compile other languages into Javascript, you just have to use LLVM and Emscripten+asm.js (or similar tech) to do it. If they can get Unreal Engine working on it, then I’m sure you don’t need NaCl at all.
Yes, but against the original idea of the internet.
In any case, the original idea of something isn’t necessarily the best.
That’s the point of PNaCl (Portable Native Client). Unlike NaCl (Native Client), which runs native executable compiled from C/C++ source code, PNaCl compile C/C++ source to LLVM bytecode; then Chrome uses the LLVM VM to execute it.
LLVM’s bytecode is portable. I agree with you about NaCL: it’s not portable, it doesn’t belong to the Web. But there is no problem with PNaCl.
Too bad I don’t have Chrome @ work
Amiga was definitely a great computer, but check this one – there are more interesting pieces of hardware to be discovered on the web, even if an emulator is old-school Java applet:
http://www.liaquay.co.uk/sorcerer/index.html
Have fun!
Wawrzyn