Happy Birthday, Amiga
Sebby writes "Today is the Amiga's 20th anniversary. Commodore officially introduced the Amiga 1000 with much fanfare at the Lincoln Center in New York on July 23, 1985. It was the most advanced computer of its day. The Amiga 1000 was originally conceived a few years earlier by a small California company called Amiga, Inc. and was financed by a group of Florida doctors looking to invest in a killer game machine."
I would expect many here to know, but people still do run Amiga hardware. In fact, when the company that made Fusion, a Macintosh 680x0 emulator, first started making a PPC emulator, they wrote it first to run with Amigas that were upgraded with PPC chips.
I don't get it.
Hardly seems like it. The original Amiga had a 4096 color palette, this has 512. Amigas also had 32 colors in 320x200 mode, and this one has 16. The max interlaced screen resolution was also 640x400.
Both had 4 channel sound. But the Amiga had *stereo* sound by default.
So no, it was most definitively not superior.
It is interesting to note that parts of AmigaOS were written in BCPL, due to its derivation from TRIPOS. BCPL was the predecessor for C, for those who weren't aware.
AmigaDOS was later rewritten in C for Kickstart/Workbench 2.0. Indeed, it is quite interesting to see that they could create such a fantastic workstation OS (often unmatched feature-wise until the late 1990s by Windows and Mac OS) in a high level language, and running on lower-end hardware.
Cyric Zndovzny at your service.
Your information is inaccurate. I sold both the Amiga and Mindset computers and the specs on the Mindset were way higher than the Amiga. Mindset computers usually shipped with extra video ram, I recall running programs like Lumena that drew graphics with 16 bit color. Nothing came close to it, we sold quite a few of them into pro video markets, not just home users.
Just face it, the Amiga wasn't the be-all and end-all of computing that their fanatics wish it to be. It wasn't particularly innovative, it was just another damn computer. There are many other computers shipping in 1985 that were more innovative, and more worthy of memorializing. Some of them even continue to be sold today. If you want to pick the most innovative computer shipping in 1985 that had the biggest impact on the market, there is only one obvious choice: the Macintosh.
The other company fighting for Amiga was Atari, who made Commodore executives look lika a bunch of business geniuses.
The biggest problem with the Amiga, business-wise, was that the profit margins for home computes were terrible. Apple survived by going into DTP and graphics, and Commodore tried video editing -- but for the most part Commodore was stuck trying to keep an entirely custom software/hardware platform alive by selling incredibly cheap machines to the video game crowd.
Business. Numbers. Money. People. Computer World.
They ran AmigaDOS... it was a fully pre-emptive multitasking OS, complete with color GUI windowing system and a nice command line shell. Its feel was a lot like BeOS, except without any memory protection (so Amiga programmers had to be very careful not to corrupt memory, or they'd take out the entire OS, not just their own process).
I don't care if it's 90,000 hectares. That lake was not my doing.
> Talking of which: is there a PC->Amiga 500 cross compiler?
You can find a nice step-by-step tutorial here.
www.6502asm.com - Code 6502 assembly or.. DIE!!
It was called AmigaDOS and supported things like pre-emptive multitasking ten years before Windows did. By configuring a RAM disk, one could perform a complete reboot in only a few seconds. Plus there were lots of little things. The way icons worked, the availability of the mouse pointer before the GUI loaded (akin to using the mouse in MSDOS before Windows loads), and other nice touches that made using the Amiga a very pleasant experience.
I'm sorry, but you're the one with inaccurate info. As I've said, I sold the Mindset computer a year before the Amiga came out, and I chose the Amiga over the Mindset because it had better graphics, better animation, better sound, ran faster, stored more info on a floppy, and all at a MUCH lower price than the Mindset. When it came out, the Mindset looked pretty good, but that was in 1984. 1985 changed all that.
Here's another site that confirms the Mindset specs.
What planet were you living on? If people wanted to run 8086 software it was much cheaper to just buy an 8086 machine. Amiga had lots of selling points, and the sidecar was way down the list.
Oh, wait
I don't care if it's 90,000 hectares. That lake was not my doing.
The whole collection of components was called Kickstart (because it was the low level OS) and the GUI interface component was called the Workbench.
the Amiga OS was largely written from scratch with the exception of the AmigaDOS component (Filesystem/Disk manager) which was written in BCPL based on a legacy DOS that was available. AmigaDOS was a last minute addition which is why it wasn't written from scratch.
The OS was the first desktop computer to use a microkernel approach where all the components of the OS were independent objects which communicated via message passing. It also was the first desktop OS to provide pre-emptive multi-tasking but because it didn't have a "smart" scheduler, the system could still be brought to its knees with busy-loops.
There were many features that made the Amiga's OS a joy. The filesystem layout of a separate library (equiv of DLLs) and font directories made keeping your installation clean a breeze. In fact, in Kickstart/Workbench 2.0 and up, you could do the UNIX trick of specifying an environment variable for your library and font paths so you could have MULTIPLE library and font directories. In fact, the Amiga environment variable system was implemented as a RAM drive so it could have directory structures. Fond memories of setenv "SASC/scoptions" -g.
Device I/O was asynchronous. You passed and received messages to the hardware while your code could go off and do other things. Where this really made a difference was in the Sound device which allowed some fairly inventive sound mixing to go on because while the sound device went off to play your sample, you could mix up the next sample for it to play. In the mid-80s, no one was doing that on a desktop/home PC.
The GUI library, called Intuition, had a nice clean design. Things were properly partitioned into their own libraries/modules and the API was clean and easy to learn. The designer of Intuition said his only regret was he couldn't make it into a pure device for completely asynchronous operation.
The message scheme of the Amiga is still, IMHO, the best there ever was. Based on what amounted to a primitive C-based version of classes, you allocated a structure for your message, filled out the required fields and sent it to a Message Port. You could wait around for a response, or do other things while periodically checking on the message port. This made creating event driven code a dream. With one function call, I could watch a dozen MessagePorts (or just one, actually -- a MessagePort could receive any message). With that one call, I can listen for:
Trying to do the same thing in Windows was a severe pain until very recently, and even now, it's still a pain.
The Amiga had its flaws. For example, by chosing the cheaper 680x0 processors, the Amiga never had memory protection or virtual memory which made for some fun crashes. The memory allocation code was such a piece of crap that if you weren't careful, you could fragment all of the system memory and even other applications would be affected (see the no memory protection or virtual memory flaw). Also as mentioned, the pre-emptive schedule did not adapt to "bad" programs such as programs doing busy loops.
All in all, it was still a dream. I still miss programming it. The NeXTStep OS is the closest I've ever seen any other OS get to it.
The bitter lessons of a veteran coder: http://bitterprogrammer.blogspot.com
your own link shows that amigas were higher spec, they could show many more than 2 colours at interlaced res for example.
Bush and Blair ate my sig!
Apparently you weren't alone, the story goes along the lines that C= lost the source code for it. Damn shame too as it was considered one of the best Unix around at the time. This was at a time when 030's were pretty decent CPUs for professional workstations. With the 3000 it was really a decent machine, slick package with relatively fast bus and a fast SCSI HD.
I still wonder why PC sound cards didn't emulate the amiga sound chip.
There wouldn't have been much point. The Amiga sound hardware was basically a set of 4 8-bit DSPs with about a 28Khz maximum sample rate. There were two DSPs per audio channel. With some trickery you could use both DSPs on one channel to simulate 14 bit audio. There were also some filters and a means to let one channel modulate the other. An SB16 could do most of the things this hardware could do. Most of the vaunted "Amiga sound" was due to good programming and the fact that competing machines of the era had either beeper sound or cut down synthesizer chips for audio.
There were (are?) tracker players that emulate the Amiga CPU+sound chip for playing the Amiga's audio library.
I always thought of the MSX as Microsofts fledgling attempts to control home computer industry standards.
I have to say as a strategy it has been brilliantly realised after they learnt from their mistakes and decided to go the software route rather than trying to control the hardware.
You mean Japanese. The Chinese have both l and r and have no trouble pronouncing them.
I have often said that had Apple been selling the Amiga, we'd all be running offshoots of that platform, rather than the PC. It was ten years ahead of its time, and I mean that almost literally; it wasn't until 1994, running Linux, that I could get even CLOSE to what I could do on my Amiga in 1985.
In looking back, it is amazing the number of things they absolutely nailed wih the Amiga. It was the first machine to use fully-programmable custom chips for sound and graphics support. That hardware was immensely powerful; it could do memory copies (the blitter), palette shifts (the "copper", and I don't remember why it was called that anymore), sprites, collision detection, four-channel stereo sound, and probably many other things I'm forgetting, without even using the main CPU at all. (well, except to set things up, at any rate.)
The system could display separate programs with separate resolutions and color palettes on the same screen at the same time. You could literally grab the Workbench screen and drag it down, revealing some cool demo running behind it..."Boing!" in the top half, Workbench in the bottom. This was done by some clever copper tricks... on the fly, over the space of about two scanlines, the copper would shift the entire display mode and palette, and start displaying screen data from a different arbitrary program.
Later, a variant on this technique was used to create the best graphics the Amiga could manage...Sliced HAM, or S-HAM. The default 'high color' graphics mode, HAM, could have any 32 base colors out of the palette of 4,096. Any pixel could either have one of the base colors, or it could H)old the color of the previous pixel A)nd M)odify either the red, green, or blue component. S-HAM took this a step further, and swapped the base 32 colors on *every scan line*, so that you could have many more colors available. Some of the S-HAM pictures were absolutely stunning. It did, however, put a huge load on the graphics hardware... the machine really crawled when running that mode. So it was really only useful for slideshows... you couldn't animate that mode, to my knowledge.
Then, on top of that, they mostly nailed the OS. There were three major components to the AmigaOS; Exec, Intuition, and AmigaDOS.
Exec was the multitasking core, what we'd probably think of as the kernel in Linux land. It was immensely efficient. The task switching method that RJ Mical came up with was so fast that it ended up going into the Motorola programming manuals. I can't find the numbers offhand, but I believe the Amiga could task switch in less than twenty clock cycles. Whatever the actual number was, it was FAST.
Intuition provided the windowing libraries; it was what kept windows properly layered and coordinated, and routed user input. That would be roughly the equivalent of X, though much simpler. Workbench, the built-in graphic UI, was an optional load; you could stay in 'console mode' if you wished. The Amiga had no true text-only mode, however. Even if you had just a single CLI window open with nothing else, it was still drawn in graphics mode. (scrolling on the Amiga was never very fast because of this).
AmigaDOS, I believe, did all the disk and file I/O. It was rather Unixish, but it was very slow and had an absolutely horrible user interface. (Fortunately, it was easy to replace the DOS programs with better ones, and most people who really used their machines did so.) Filesystems were abstracted too, which was a good thing.... the early filesystem on the Amiga was very fragile and very slow. Later on, the Fast File System was introduced, which sped things up a heck of a lot. With FFS, hard drives were quite comfortable, but floppies were never very good. There were many special custom loaders that sped things up (much like on the C64), but the floppies were always slow, no matter what.
Of the three major components of the OS, AmigaDOS was the weakest, and was responsible for a lot of the early (justified) griping about the pl
While it is true that TOS was much simpler than AMigaDOS, I have to point several inacuracies/ommisions:
- Atari's RF shield was NOT soldered on. At least not in typical case. I must have serviced/expanded at least 500+ various Atari ST's (ST,STM, STFM, Mega ST etc) and I have NEVER seen soldered-on RF shield on Atari.
They had hinges in some 10 places ( which needed to be straightened up before separating halves of the shield) ant they were screwed-on to the bottom plastic part of the computer.
I used to be able to take Atari apart in less than five minutes without special effort.
-Although with theoretically weaker graphics, Atari ST was much more suitable for serious CAD or DTP work, since it had really nice monochrome monitor- SM-124. With it relatively long persistance phosphor and solid 72 Hz refresh rate, it was quite suitable for long work hours.
All that Amiga was capable of (at least with off-the shelf-equipment) was 50 Hz on low-persistence colour monitor (or 60 Hz in the US, with lower resolution) and if one wanted to use hers much praised high resolution modes, he had to risk epileptic attack with 25/30 Hz refresh rate ( two interlaced halves at 50/60 Hz), when picture was blinking like hell.
Besides, all that multitasking and nice graphics didn't come without the price. Atari's 68000 ran on full 8 MHz and in practice it was measurably faster than Amiga.
Also TOS was not a problem for ST, since on could burn alternative TOS in eproms and stick them in the machine and thet was before TOS-2.0.7, which came in with IDE disk support...
I liked Atari much better than Amiga for its simplicity and focus on the goal- to have as fast machine as possible per given budget and graphics useable for office work.
To expand a bit on an excellent post:
..but a single program busy-looping at a priority higher than normal user programs, and it was three finger salute time.
The whole collection of components was called Kickstart (because it was the low level OS) and the GUI interface component was called the Workbench.
Kickstart was (usually) in ROM and contained the low-level stuff. Workbench was loaded from floppy or HD and contained the GUI, extra libraries and other stuff.
Actually, I'm not sure whether 'Workbench' was the GUI only or not - the 'Workbench' floppies did contain more than the GUI but when one said 'Workbench' one usually meant the GUI.
the Amiga OS was largely written from scratch with the exception of the AmigaDOS component (Filesystem/Disk manager) which was written in BCPL based on a legacy DOS that was available. AmigaDOS was a last minute addition which is why it wasn't written from scratch.
The DOS component of AmigaOS (CAOS) was lagging behind the rest of the system, so instead of delaying the introduction of Amiga 1000 to get it finished an outside contractor was signed on to port an existing DOS to AmigaOS. Which is why AmigaDOS has some oddities, like BCPL.
About CAOS
but because it didn't have a "smart" scheduler, the system could still be brought to its knees with busy-loops.
The scheduler was a simple priority round-robin algorithm, meaning that the highest priority runnable task would get the CPU. If there were several runnable tasks at that priority level, the scheduler would round robin between them.
The OS kernel ran at the highest priority, GUI and device drivers a bit lower, user programs at 0 and background tasks below that.
As you mention, the obvious problem was that a busy-looping task at a priority higher than user programs would completely starve them for CPU, effectively locking up the system from the user's point of view.
It did have its perks, tho. Since the GUI was running at high priority it instantly got CPU so the system felt very responsive even when heavily loaded. It was also simple to start a long running task at a lower priority than normal user programs and have it churn on something in the background with close to no impact on system and user program responsiveness - back in those days the ability to have a big compile or render running in the background and hardly noticing it while typing in your editor was mindblowing.
In fact, in Kickstart/Workbench 2.0 and up, you could do the UNIX trick of specifying an environment variable for your library and font paths so you could have MULTIPLE library and font directories. In fact, the Amiga environment variable system was implemented as a RAM drive so it could have directory structures. Fond memories of setenv "SASC/scoptions" -g.
Paths, Labels and env are separate.
The path is where the shell would look for executables. Works just like in Win or *nix.
Environment variables also work like in Win or *nix, except that they were stored and could be accessed as a RAM file system.
Labels, though, is very nifty and very Amiga. Those familiar with MS-DOS can think of them as drive letters on steroids.
Labels could point to a device (DF0:), volume label (WORKBENCH:, GAMEFLOPPY:), pseudo device (SPEECH:), or they could be assigned to a directory.
AmigaOS came with a set of default device labels. DF0: for first floppy, DH0: for first harddrive. The system would look for libraries in LIBS:, fonts in FONTS:, etc. Every floppy and HD had a volume label, so if you had a floppy named games you could access it with GAMES:. If GAMES: could not be found, AmigaOS would prompt you to insert the floppy. In addition you had special labels like SPEECH: which sent any files copied to it through a speech synthesizer.
If you copied the workbench floppy to the HD, you could 'assign WORKBENCH: DH0:st
If J.K.R wrote Windows: Puteulanus fenestra mortalis!