Amiga Update: When Will The Creature Awaken?
morton2002 writes: "I read an awesome interview of Amiga head honchos by IBM's developerWorks folks. (Linked to from a cool microprocessor news site, www.jc-news.com/pc.) They discuss Amiga's new technology and marketing tactics, suitably referred to as the 'new Amiga.' Instead of developing new Amiga hardware, they're using a code-morphing virtual-machine to run on existing platforms ... but most notably it will translate their 'VP' code into native instead of interpreting it, running blindingly fast! Not only that, they'll be bringing awesome hardware acceleration to OSes like Linux when they port their VP translators to various videocard processors, allowing the 'new Amiga' to run directly on graphics-intensive hardware ... just like it used to!"
Reader Upsilon points to the same interview, saying "I have to admit, some of the stuff sounds very interesting, but it is hard not to be skeptical." (Anyone holding your breath, please raise your right hand so you can be counted before you keel over.)
and he was using an amiga!
This all sounds cool, but I really wonder what in the world it has to do with the Amiga besides the name?
It reminds me of a young child that learns a 'cool' word. What's that Johnny? Amiga and that? Amiga No, that's an elephant. Amiga! No, that's a giraffe. AMIGA!!! No, Johnny, that's a hippo. AMIGA!!!!! No, Johnny, that's .......
Also, unlike the Amiga, OS/2 has been mentioned once on Slashdot this year. The Amiga has been a headline seven times and it has it's own fucking category.
Good products fail and fade away. It sucks, but it's true. For every one, there are the core faithful who still use it. Good for them. Slashdot's techno-necrophilia regarding the Amiga is just silly.
Geez.. I am not sure to be impressed with the Amiga comunity or
I must admit, I would love to see the Amiga live up to all it's prommises and would probably buy one just because.
--------------------
I have messed with the Amiga2k SDK and also have been talking to the guys at the Tao Group (the real authors of Amiga2k). Here is an article I wrote comparing it with MS's .net platform. This article assumes you have some knowedge of both system so read the /. article first.
http://jonathanclark.com/diary/amiga/
--
-- Virtual Windows Project
I find it interesting that so many supporters of the classic Amiga cannot imagine that another group of engineers (under the same name) could innovate again. There is really nothing to hold innovation back in any group...but yet we don't believe?
I am skeptical as well. I've heard too many "We're back" claims from companies who have purchases Amiga...and seen too many revolutionary development systems, OSs, libraries, etc., that ended up as crap. There are good systems, don't get me wrong, but just too many that made great claims that were not fulfilled.
It could be the fact that most Amiga (Atari, AppleII) lovers have grown older and jaded against the claims of innovation from many $oftware and hardware companie$. We found something amazing in our first systems (Atari800 for me), and have never really been able to find that same passion since. I, for one, am still looking for a language as cool as STOS (an ST compiled Basic language with bitchin' libraries) or as easy as Turbo Pascal (x86), and games like those European ST games (weird & wonderful stuff).
Could this latest Amiga claim be true? I dunno. It sounds too-good-to-be-true, but so was the orriginal Amiga platform...and it was one of the most amazing consumer platforms in history (IMO).
mx
More nonsense:
dW: In one sense, the Amiga community missed the open source revolution, and in another sense, they were pioneers of open source before it was known as such.
There was no open source pioneering on the Amiga. It was a closed system. The OS was a closed system. All notable Amiga applications were closed systems. The above statement is without basis. No one has ever considered the Amiga to be a stepping stone to what's now called Open Source.
Amiga was revolutionary and truly changed computing. You remember what it was like back then: we had green screens, blips, and bleeps. Then suddenly, we had full-color animation and graphics. The Amiga created what we know today as the video-gaming market.
Of course, the Amiga wasn't released until 1985, after other home computers with full color graphics, sprites, and multi-voice sound had been available for years (6 years for the Atari 800, 3 for the Commodore 64, to mention a few systems). Yes, the Amiga was better, but lets not rewrite history, okay? There was even PC semi-compatible with hardware accelerated graphics released earlier which was very Amiga-like in many ways, but it never found a market.
transforms PA-8000 binary code into PA-8000 binary code
Hey, I've got a program right here that translates x86 binary code into x86 binary code at BLISTERING speeds!
It's called "copy".
- Isaac =)
5 years ago sure. But that's becoming less and less true. Hp has a research system called Dynamo that does this. Code run through dynamo runs faster than code natively optimized. Granted dynamo is a research system, and transforms PA-8000 binary code into PA-8000 binary code, but the techniques they used in principle could transform an arbitrary instruction set into another one. Ars Technica has a good article with some performance numbers here.
The whole point of the concept, correct me if I'm wrong, is that we get a fast multiplatform OE, something like what JAVA once was supposed to be.
:)
My objection then is, that every layer that you apply (OS/OE) is going to slow down the running task (program). That was probably Javas biggest flaw, the lack of speed.
Amiga says their VP-translator is much faster, and will be able to run almost as fast as a native OS app.
I for one find that pretty hard to believe, but if they succed, boy do we have a winner here...
Some more info on the SDK is here.
--
"I'm surfin the dead zone
--
"I'm surfin the dead zone
In the twilight, unknown"
A lot of people are ripping on this without having any experience with it, automatically associatng it with everything crappy about Java. Although I'm not an Amiga enthusiast, I think this thing has a lot of potential, and I'm eager to try it. Of course well done hand-coded native assembler is and will always be faster- but with the speed of computers today the flexibility a system like this promises makes up for time.
A while back I saw some benchmarks of Java on TAO Elate (year+ ago? Before all this Amiga stuff) and it looked quite fast- a lot faster than the then-current Java VMs.
Every programming language or framework that makes life a thousand times easier for programmers (both during design and coding) always gets a load of crap from people cranky about it being slow. After all these years, it has become evident to me that the time of assembly programmers and spartan C coders is worth almost nothing. Either that, or they have a K&R book shoved too far up their bums.
In closing... well, I'd like to say that before you get the twitch to start freaking out about the speed of asm or C compared to something which alleviates a programmer from mundane and obnoxious porting or running after memory leaks, give this, and languages and frameworks which provide similar benefits, as much of an unbiased try as you can.
Aaron >> "Steve Jobs said two years ago that X is brain-damaged and it will be gone in two years. He was half right." -- Dennis Ritchie
Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
The Amiga was an awesome machine *for its time in the 80s blah blah blah.
That's all we here from these morons. It's simply not true. Even today, there are areas where the Amiga outperforms any other platform (hardware and software platform), not because it's got better hardware, but because of the cleverness of the hardware and software combination - the particular combination that Amiga uses.Up until 1999, even AGP-equipped PC's could not compete with original Amigas when it came to certain graphics/syncing tasks, and even now that high-end PC's have surpassed it, there are STILL areas where the Amiga is superior. The Amiga is not dead, even in it's old form. It won't be "dead" until someone creates something that can do what it does better than it does it - and at the moment, such a beast is too expensive for most people to afford.
Although the old Amiga will be left behind eventually, it's still a machine that really cooks, esp with the latest PPC technology. In fact, Amigas can run Mac apps faster than the Mac itself! Bullshit? No - fact.
Amiga is not dead and it's still a testament to what human engineering is capable of."A few atoms won't even light a match" - Dr Jones, 1933
dW: OK, now let's talk about Linux. How do the new Amiga and Linux work together?
:)
McEwen: For the development systems that are out, Linux is required. As we move forward, we can run the new Amiga OS on custom hardware, embedded Linux, or a Linux desktop environment -- a lot of it has to do with the partner we're working with. That's when you can view the flexibility; we can go native [on custom hardware], or we can utilize Linux.
Well, all I have to say is... WERD.
Help me through college please!
Emulation isn't so difficult for running older stuff -- for example, there's an Atari ST emulator out there (PaCifiST), and that's a similar platform to the original Amiga.
--
They have a portable binary like Java, and dynamic compilation like Java (actually it sounds a bit like ust a simple JIT, and not a HotSpot like compilation). However, they get a lot of speed improvments out of only compiling and loading methods or functions (that they call tools) instead of whole classes at a time.
Tools however, can also be replaced with purely native versions. That means for instance that some feature of your hardware could be taken advantage of easily just by replacing a few "tools" (methods or classes) here and there with native versions. It's seems like a nice setup becuase in theory no Amiga code has to be written to indicate it uses native code anywhere - an interesting example might be a Math class of some sort that you write Altivec native code for to provide for fast scientific calculations.
The Amiga SDK also has seperate virtualizations of the Motherboard and CPU - in theory you could provide a box with different types of CPU's, and code would run just fine!
I think the most important thing to learn here is that they have created something like a Java VM, only at the lowest (hardware) level (OK, the procesor level like Transmeta's engine is a step lower).
It also complements the Java platform. As part of the Amiga SDK, they include a Java VM that's supposedly the fastest Java VM around. It's also Sun certified.
Development for the Amiga requires a Linux box, though in the future they said that the Amiga can also run directly on hardware or on top of other OS'es (I'm not sure if that's yet possible). They sell the kits for $99. From the article, you can get it here.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
From the article:
"Nowadays, you've got nVidia, you've got Matrox, you've got 3dfx -- all these companies are spending billions of dollars just to produce graphics chipsets. I think the original gate counts in some of the chipsets that Amiga did were up in the tens of thousands, maybe a hundred thousand. You look at an nVidia GeForce, and it's over 20 million gates! And there's an entire company with a huge resource group behind it, just making graphics chipsets. The Playstation 2 chipset supposedly cost between a billion and a billion and a half dollars to develop. Even Intel makes one thing, the processor -- and maybe some chipsets -- but they jumped out of the graphics market."
Intel and AMD spend a lot of money convincing the market that it's all about .Ghz, but Fleecy Moss has seen a graphics card inclusive os work before and it will work again.
I don't buy this. The Amiga was a Motorola 68k class machine with some very special chips in it. The magic of a set of talented engineers for whom it was the next challenge after the equally amazing Atari 8 bit series. It was not some grand vision or quest, and it certainly isn't the hardly revolutionary idea of having architecture-independant binaries. Their software doesn't become any more interesting just because they happen to be sitting on the trademark. Might as well say that Amiga was always really about household appliances and start a line of that.
"This is one thing people don't understand, and they keep on saying, "The new Amiga provides portable binaries. Portable binaries are slow." Now, in the past they've been slow because portable binaries have always been interpreted. But what happens with Tao's Intent is that they are dynamically translated into actual native machine code. It only has to be translated from VP code to native code once.
Er, correct me if I'm wrong, but I believe this is popularly referred to as "Just In Time Compilation". Dude, it's been done, and yes, it's still slow. There is no such thing as a magic compiler. Hand-tuned assembly is faster than compiled source code, and compiled source code is faster than translated machine code. This shouldn't be that surprising. At each lower level, you have more context in which to make optimizations. Automatic translation of machine code has almost no high-level context.
See also the x86 emulators on the Mac. They use the same principles. They are slow.
These are the kind of things that make me think this is all smoke and mirrors.
--
Sometimes it's best to just let stupid people be stupid.
While past Amiga stories have been, um, bizarre, there's something to this one that shows at least someone is on the right track. It may have nothing to do with the original Amiga, but it is a good track nonetheless.
The Amiga and other home computers from earlier years were about predictability and overall system design. An Amiga--or an Atari 800--wasn't about being the best in terms of CPU power or OS capabilities or raw graphics performance. Those machines were designed from the start to be balanced systems. Each subsystem was clean and well-integrated into the rest of the machine, without being an obvious bottleneck or weak link. On a typical PC, you might have a blazing CPU and a blazing graphics card, but you have a horrible bus between the two. And you have mishmoshes of horrible APIs that frustrate more than they assist.
Predictability was a great feature of old machines that has been lost. When you do something as simple as read a memory location on a modern PC, you aren't sure what's going to happen. You might hit the on-chip cache. You might hit a slower layer of cache. You might have to wait for a cache line to be filled from RAM. You might hit untouched virtual memory and have the OS intervene. You might have to wait a really long time while the OS pages some memory out to disk to make room for the memory you need. When you make an OpenGL call to draw a triangle, you're never sure if your request is simply going to be queued, if it is going to result in 200 previously queued requests being processed because a buffer has been filled, if you're using states that will take you down an unoptimized driver path, etc. Layers of unpredictability like this have always been the difference between heavy iron and smaller machines.
What the Amiga folks seem to be doing is trying to hide all the nonsense from the developer, letting him live in a fantasy world where everything is clean and pretty. If that prettiness is at the right level--that is, in terms of very small, understandable chunks and not highly abstract and complex system calls--then there's much peace of mind to be gained by living in such a world. After all, most programmers choose to live in the world provided by C++ and Windows or Linux APIs and libraries. That's a virtual world too, but it comes with a lot more niggling details and mental baggage than what we're talking about here, and not making any significant use of the available capabilities as a result. One of the great unfortunate truths about current PC hardware, is that is it is being tremendously under utilized.
Yes, we're still looking at some form of emulation here, but that's not a bad thing. The old Apple II let the programmer feel like he was the master of the machine, something that is rarely felt nowadays. If you decided to do Apple II development in 2000, you could get an emulator running under an OS, and you'd get the same feeling. You'd be emulated, but you wouldn't care. You'd be dealing with a much smaller world, and you'd feel less technical stress. I see the Amiga plan as being similar to this, but based on more recent hardware capabilities. It might provide a much needed focus for developers, rather than wading around in ever-changing this and that. One of the great unspoken truths is that modern PC hardware is tremendously under utilized. Lack of focus is the primary reason for this.
Ars Technica posted this as well. Hannibal had an interesting comment: So they're not requiring that all AmigaOS software and tools be written to the virtual processor, which is interesting because this at first seemed to me to be a sort of fence sitting approach that would reduce the advantages of translation -- why not just go ahead and use an OS that's completely portable at the source code level, like Linux? When I thought about, though, I realized that what Amiga wants is to release an OS in binary form that runs on a variety of platforms from the start, and have people start moving pieces of the OS into native binary form for their specific platform as they see fit. This would be the opposite of a Linux-style approach, where you initially release an OS in source code form that runs on one platform, and then let people port the entire thing to their individual hardware.
"The legitimate powers of government extend only to such acts as are injurious to others." Thomas Jefferson.