Slashdot Mirror


Google Brings AmigaOS to Chrome Via Native Client Emulation

First time accepted submitter LibbyMC writes "Google's approach to bringing older C software to the browser is demonstrated in bringing the '80s-era AmigaOS to 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.'" Chrome users can go straight to the demo.

29 of 157 comments (clear)

  1. 80's hardware by phrostie · · Score: 5, Funny

    So an emulator running on 2010 era hardware can almost run at speeds of the native technology on 80's era hardware.

    wow

    1. Re:80's hardware by RabidReindeer · · Score: 3, Insightful

      So an emulator running on 2010 era hardware can almost run at speeds of the native technology on 80's era hardware.

      wow

      On the other hand, you can emulate a high-end IBM mainframe circa 1980 at higher speed than the original on a cell phone.

      That's terrifying. You don't even need motor-generators or a water chiller.

    2. Re:80's hardware by michelcolman · · Score: 5, Funny

      It's emulating Windows instead of AmigaOS?

    3. Re:80's hardware by Anonymous Coward · · Score: 4, Insightful

      So while a 1980 mainframe was used for ballistic calculations, credit-card transactions, DNA structural analysis and such. Today's smartphones are essentially used for playing AngryBirds and poking on Facebook. That's what we call progress ;-)

    4. Re:80's hardware by Darinbob · · Score: 3, Insightful

      No, the point of chrome is to get people to switch over to google.

    5. Re:80's hardware by Lennie · · Score: 2

      IBM Watson that defeated the humans at playing Jeopardy is basically just a cluster of machines running Apache Hadoop. So architecturally there isn't anything really special about the hardware or software.

      If things keep progressing as they are: in 10 years, your smartphone will have the same processing power, storage and memory as IBM Watson does now at the price and size of a smartphone from now.

      Think about that.

      --
      New things are always on the horizon
    6. Re:80's hardware by daffmeister · · Score: 2

      Surely Angry Birds is just a modern version of balistic calculations.

  2. Give me a damn web browser by bobbutts · · Score: 5, Funny

    If I want an emulator, I'll get an emulator.

    1. Re:Give me a damn web browser by vastabo · · Score: 5, Interesting

      This is Google demonstrating that their platform for abstracting a client's hardware is robust and performant. I suspect that Amiga emulation is just because it's cool.

      Having this layer of abstraction protects Google from the machinations of software vendors who might want a piece of their action.

    2. Re:Give me a damn web browser by RabidReindeer · · Score: 5, Funny

      This is Google demonstrating that their platform for abstracting a client's hardware is robust and performant. I suspect that Amiga emulation is just because it's cool.

      No, It's just so you can play Lemmings the way it was meant to be played.

    3. Re:Give me a damn web browser by Master+Moose · · Score: 2

      2 player 2 mouse! Used to love having Lemmings battles

      --
      . . .gone when the morning comes
  3. Re:We must go deeper! by Anonymous Coward · · Score: 2, Funny

    Yes! Port Chromium to AmigaOS, so you can run it in the emulator in Chrome!

  4. Re:So Great OS ran on top of crappy OS? by jones_supa · · Score: 2

    should of

    In the recent couple of years a new trend seems to have emerged where people incorrectly write "should of" instead of "should have".

  5. Re:So Great OS ran on top of crappy OS? by cervesaebraciator · · Score: 5, Funny

    Irregardless of what you say, "should of" works for all intensive purposes. Pacifically when writing informally, anyways. What else is one suppose to do in this case and point?

  6. Works pretty well by PhantomHarlock · · Score: 4, Informative

    As a former long time Amiga user, this seems to work pretty well on the outset, and gives an authentic experience in regards to the clock timing and boot time. (though it thankfully may be a little faster :) ) It looks like they are using the emulation code from Cloanto (Amiga Forever) which has been around for quite a long time now.

    This OS and demos may look very simple to younger folks, but it was quite groundbreaking at the time. the H.A.M. (Hold and Modify) demo showing 4096 colors was pretty impressive at a time when most PCs were stuck with 256 colors. There are a lot of really nice demos for the Amiga from the demoscene that took all of that a step further even, hopefully someone thought to save and compile them.

    The only issue I ran into so far is on the juggler demo, the ESC key is needed to exit the demo, while on the emulator the ESC key is what switches you away from the emulator mouse to your native mouse, so it does not trigger an ESC on the Amiga. (you need to reset the emulator) Juggler doesn't let you pull down the screen to reveal the workbench. There may have been a keyboard shortcut that I have forgotten about to toggle screens. I haven't touched an Amiga in 20 years.

    Hats off to the coders, brought back a lot of memories.

    1. Re:Works pretty well by theArtificial · · Score: 2

      The scene is still alive and well, and there are still Amiga demos to be found without great searching. Pouet.net is a great place to begin. For more general eye catching demos take a look at scene.org

      --
      Man blir trött av att gå och göra ingenting.
    2. Re:Works pretty well by Dogtanian · · Score: 2

      The H.A.M. (Hold and Modify) demo showing 4096 colors was pretty impressive at a time when most PCs were stuck with 256 colors

      HAM was around almost two years before VGA debuted (with the PS/2 in April 1987)! (*)

      The downside was that it was hard to use for animated graphics, since the colour of most pixels were modified shades of the one to their left, meaning one had to take into account surrounding pixels when moving an object to avoid miscoloured streaking. Few action games used it, though I'm still convinced more games could have exploited HAM if the problem had been analysed methodically and restrictions on the use of base colours and general shading worked out to minimise artifacts and keep calculations workable.

      Possibly this wasn't really considered because in Europe (where the Amiga was popular), most 16-bit games were also written for the Atari ST (***) and this would have made them harder to adapt. Hence most used the regular 32-colours-from-4096 or occasionally, the sort-of-64-colour "halfbrite" modes.

      (*) AFAICT the best widespread PC adaptor around when the Amiga launched was EGA (i.e. 16 colours from 64). IBM *did* apparently have a graphics adaptor comparable to VGA in 1984, but the card alone was four times the price the Amiga cost when it launched the following year(!)

      (**) HAM gave 12-bit colour using only 6 bits per pixel. One could either choose from 16 "base colours" (chosen from a palette of 4096 RGB colours) or choose to modify the red, green or blue component of the pixel to its immediate left, meaning that it could take up to 3 pixel positions to get an exact value; this led to fringing, which could be minimsed by choosing the base colours wisely (and by dynamically changing the base colours on every line with software assistance).

      (***) Apparently there was a program for the Atari ST that gave it a software-assisted 512 colour display, but I don't know how restricted *that* was; apparently there were timing issues.

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    3. Re:Works pretty well by Darinbob · · Score: 2

      HAM was actually sort of a side effect. It was started as an experiment in ways to process NTSC signals in the chip, modifying hue and brightness. Later when changing to RGB there was no need for this anymore but it was impractical to remove it without doing a new layout of the chip (these were some of the last digital chips layed out by hand).

      HAM was very useful for static images, especially things like photographs where colors changed gradually. Especially with modes that could change the color palette on every scan line (Copper chip did this).

      Overall though, the 256 color VGA mode on some PCs was superior to Amiga in many ways. However the VGA graphics cards were very expensive at the time of the Amiga, whereas EGA (16 colors) was more common, or black and white even more common (PCs were still serious machins for running Lotus-123, not silly things for artists or gamers). HAM was used a lot as proof of how much better Amiga was, and for things like photos or 3D modeling it really was.

      More interesting I think was the difference in design between Amiga display and a typical PC display. Amiga used single-bit layers whereas PCs used multi-bit pixels. Most people today think in terms of pixels. Setting a pixel on a PC involved writing just one byte, but on an Amiga it meant changing one bit in several layers. So porting PC code that wrote in pixels to the Amiga often gave disappointing performance (though hardware helped). Whereas having an overlay of text on top of a dynamic picture was very simple on the Amiga but complex on the PC, or perhaps moving sprites on top of a background image.

      What really made things work was the extra hardware to support all this. Hardware bit blitter (ala Smalltalk) made a lot of graphics much simpler, coprocessor to manage layers, coprocessor synchronized to video stream for sprites or various effects, synchronizing to external video signals, etc. In the PC world much of this stuff that chips did on the Amiga were moved off to peripherals. This meant that a lot of the early demos were about trying to extract the most possible from the hardware available just to push back the envelope. There were abilities that came into common use that the designers had not planned for.

  7. Lack of vision by mcrbids · · Score: 5, Insightful

    Sometimes, Google just baffles me. The lack of direction in their product lines makes me shake my head.

    We have several distinct software platforms:

    1) Android. Development in XML with Java used as glue to hold everything together. Unless you don't. You can use standard C libraries and call the Linux kernel directly, bypassing the Dalvik Java VM.

    2) Chrome browser. Development largely in javascript, again there are some obvious exceptions. Javascript is, of course, preferred because it's safer, so ChromeOS protects you by having everything done in Javascript. Except that it isn't.

    3) ChromeOS. Kinda/Sorta like using the Chrome browser, except that it's not, because you are developing things that run as if they were actual clients. In Javascript. And of course, this too, is just as strictly enforced.

    4) But Let's not forget the 4th platform in the trio: Google's Go language is clearly a contender, and it's designed to replace C, except for a few bone-headed decisions like linking everything statically resulting in enormous binaries. Because you really, really need to have the same library installed once for every app installed, because that way you get to recompile everything installed on your system any time a security update comes out for your favorite library. Except that, of course there are exceptions here, too.

    And most importantly, you cannot target all these platforms with any single codebase written in any language. It's like they are trying to make their product suite as difficult as just using products from multiple vendors anyway.

    --
    I have no problem with your religion until you decide it's reason to deprive others of the truth.
    1. Re:Lack of vision by stenvar · · Score: 2

      And most importantly, you cannot target all these platforms with any single codebase written in any language

      Yeah, because that worked out so well for Sun and Microsoft, right?

      Different users have different needs that are met by different languages and environments. And unlike other companies, Google seems to have concluded reasonably that they don't know what people are going to be using, so they give people options.

    2. Re:Lack of vision by Anonymous Coward · · Score: 2, Insightful

      Dynamic linking is cancerous, thank the gods they chose not to use it. Of course, it's Rob Pike and Ken Thompson, so there was never any risk of it. And never will be as long as they're on it.

    3. Re:Lack of vision by CTachyon · · Score: 2

      Sometimes, Google just baffles me. The lack of direction in their product lines makes me shake my head.

      We have several distinct software platforms:

      1) Android. Development in XML with Java used as glue to hold everything together. Unless you don't. You can use standard C libraries and call the Linux kernel directly, bypassing the Dalvik Java VM.

      2) Chrome browser. Development largely in javascript, again there are some obvious exceptions. Javascript is, of course, preferred because it's safer, so ChromeOS protects you by having everything done in Javascript. Except that it isn't.

      3) ChromeOS. Kinda/Sorta like using the Chrome browser, except that it's not, because you are developing things that run as if they were actual clients. In Javascript. And of course, this too, is just as strictly enforced.

      4) But Let's not forget the 4th platform in the trio: Google's Go language is clearly a contender, and it's designed to replace C, except for a few bone-headed decisions like linking everything statically resulting in enormous binaries. Because you really, really need to have the same library installed once for every app installed, because that way you get to recompile everything installed on your system any time a security update comes out for your favorite library. Except that, of course there are exceptions here, too.

      And most importantly, you cannot target all these platforms with any single codebase written in any language. It's like they are trying to make their product suite as difficult as just using products from multiple vendors anyway.

      It's really quite simple. A lot of Google projects started from a handful of people going "you know what would be a cool idea?" and doing it with very little approval or red tape (the fabled 20% time). That's certainly the only explanation I can think of for DART, at any rate.

      Go is basically what you get when you hire a former Plan 9 developer, expose him to Google's internal hermetic build system (where a 100MiB binary is small), then let him build cool stuff to keep him from getting bored.

      Disclaimer: I work at Google but do not speak for my employer. I don't work on any of the teams mentioned in your post. The information in this post is already available to the public in various places.

      --
      Range Voting: preference intensity matters
  8. Re:Only on Windows Apparently by Balinares · · Score: 2

    Linux here, works fine for me. Chrome 31. I'd ask "can you try to upgrade to the latest version?", but I wouldn't want to contribute to, you know, Slashdot losing it. :)

    --

    -- B.
    This sig does in fact not have the property it claims not to have.
  9. Get busy GoG!!! by MetricT · · Score: 2

    Just think about all the great old Amiga/Commodore-64/etc games you could sell using something like this. I'll pay good money for Bard's Tale I/2/3 and Raid on Bungling Bay.

  10. Re:So Great OS ran on top of crappy OS? by fatphil · · Score: 2

    I detect someone whom needs to sit down and relax with a nice expresso, and watch this: http://www.youtube.com/watch?v=c3y0CD2CoCs

    --
    Also FatPhil on SoylentNews, id 863
  11. Re:So Great OS ran on top of crappy OS? by beernutz · · Score: 2

    That whooshing sound is the point of his post flying over your head at mach 3! 8)

    --
    (stolen from DaBum) I am dyslexia of borg - your ass will be laminated.
  12. Enormous binaries versus shared libraries by swb · · Score: 2

    I'm not a software developer, but as a long-time network admin it always struck me that shared libraries were a great idea except when they weren't.

    Before I switched to FreeBSD, Linux always seemed to have headaches with shared library problems, with some apps not working with some versions of shared libraries and a general nuisance being made with multiple versions of shared libraries being around.

    Windows, of course, has its reputation for DLL hell, which I think was more of an issue in really old versions than it is now.

    Given the size of storage generally available now, is it really so bad to have statically linked binaries? It greatly increases application portability and version independence and probably makes package management a lot simpler and more risk-free since you don't have to worry about shared libraries.

    I've always been tempted to do a statically linked buildworld to see just how much extra space it takes.

  13. FWIW by Dogtanian · · Score: 2
    Thought I'd point out that technically, AmigaOS is still around- in fact, last time I heard it's being "actively" developed (*) and sold, albeit as a very niche product targeted at diehard hobbyists. (**) As I commented, though even several years back:-

    Really, the Amiga OS nowadays is just a plaything for a few very hardcore hobbyists willing to pay for overpriced, underpowered custom hardware that isn't even directly compatible with the original Amiga anyway. Amiga OS (and the original hardware) was fantastic in its day, and beat the living heck out of MS-DOS and early Windows, but that was a long time ago. Anyone for whom Amiga OS/hardware compatibility was essential or even useful would have been forced to give up and migrate elsewhere by the late-90s at most. For that reason, even if one *could* upgrade it to a modern OS, it'd make more sense just to write a new OS from scratch- the "classic" core would just end up being legacy baggage that would please the Amiga obsessives because they could call it Amiga OS, but have little real world use beyond muddying the design.

    (Sorry, didn't want that to sound like a dismissal of the genuinely innovative Amiga OS, but things have moved on too far now).

    Also, the rights to the various Amiga and Commodore IPs (names, hardware and software all separate) have been split up, passed around like a bad game of pass the parcel, sublicensed and disputed; I won't go into the details because (a) I can't be bothered and (b) I'm not sure myself! :-)

    But... yeah. Technically, last time I heard you can still buy a "modern" AmigaOne and run the new versions of AmigaOS on it.

    (*) Though that may be for values of "active" comparable to the rate of flow of glass in medieval windows. And yes, I know that's possibly a myth. :-)
    (**) To be fair, this is mentioned on Slashdot at regular intervals, so it's possible that many of you are aware of this anyway. The rights to the Amiga name, to manufacture the hardware and to the OS http://news.slashdot.org/comments.pl?sid=2710941&cid=39268663

    --
    "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
  14. Re:So Great OS ran on top of crappy OS? by cervesaebraciator · · Score: 2
    Since "News for Nerds. Stuff that Matters" is out, maybe you've just hit upon the perfect new slogan.

    Slashdot: It's Deep. Then Again, Maybe Not. It's Pretty Hard to Tell Here.