Co sprawiało, że Amiga była tak udanym i popularnym komputerem? (film, 27 minut)
W ostatnim filmie na kanale Dave Poo 2, autor rozważa komputer Amiga jako rodzinę urządzeń, a nie tylko pojedynczy model. Przeanalizowano, jak Amiga wyróżniała się w 1985 roku, porównując ją z ówczesnymi komputerami i analizując jej potencjał z perspektywy sprzętowej. Omówiono również, dlaczego Amiga, która beatyfikowała lata 80., w końcu wylądowała w cieniu w późniejszych latach. Podczas gdy projektanci Amigi pierwotnie planowali budżetowómaszynę do gier, Jay Miner, jej projektant, widział, że można stworzyć komputer, który będzie także dobrym środkiem do gier. Amiga miała lepszą jakość obrazu dzięki analogowemu wyjściu RGB i nowoczesnej grafice bitowej, co umożliwiało wyświetlanie wspaniałych kolorów, co odróżniało ją od C64.
Toggle timeline summary
-
Wprowadzenie do komputerów Amiga jako rodziny i ich porównanie z modelami współczesnymi.
-
Badanie postępów technologicznych Amigi z perspektywy 1985 roku.
-
Omówienie początkowej wizji dla Amigi i zmiany z maszyny do gier w uniwersalny komputer.
-
Porównanie jakości wyjścia wideo pomiędzy Amigą a jej poprzednikami, takimi jak C64.
-
Wyjaśnienie grafiki bitowej i jej implikacji dla reprezentacji kolorów.
-
Kontrastowanie lepszej palety kolorów Amigi w porównaniu do C64.
-
Trwałość Amigi w zakresie grafiki bitowej w latach 90-tych i refleksje na temat potencjalnych zmian w projektach.
-
Wprowadzenie do trybu grafiki Holder Modify (HAM) i jego innowacyjnej zdolności do wyświetlania pełnej palety kolorów.
-
Przegląd sprzętu Blitter i jego znaczenie w szybkich transferach pamięci.
-
Omówienie architektury RAM Amigi i udoskonaleń w porównaniu do wcześniejszych modeli.
-
Szczegóły dotyczące CPU Amigi, Motorola 68000, oraz jego zalety w porównaniu do wcześniejszych procesorów.
-
Opis współprocesora Copper i jego programowalnych możliwości.
-
Podkreślenie preemtywnego systemu operacyjnego Amigi, wskazując na jego przewagi nad konkurencją.
-
Omówienie zaawansowanych możliwości dźwiękowych Amigi w porównaniu do systemów 8-bitowych.
-
Porównanie sprite'ów sprzętowych Amigi z jej poprzednikami.
-
Wprowadzenie do wbudowanej stacji dysków floppy Amigi i jej możliwości rozszerzenia.
-
Pytania dotyczące upadku Amigi i jej technologicznej stagnacji.
-
Końcowe refleksje na temat zmarnowanych szans Commodore związanych z Amigą.
Transcription
So when I talk about the Amiga in this video I'm talking about all the Amiga computers as a family not just a particular model. So we're going to look at it with 1985 eyes and we're going to compare it to what was there at the time and we're going to see why it excelled above all the rest. We're going to look at the computer's potential from a hardware perspective so there might be a lot of techno babble and we're not going to consider how the Amiga actually performed at the time it was released which was affected by things like price and marketing. So from this we'll be able to see why the Amiga was so far ahead of its time and as the years went by we'll be able to probably see why it slowly fell behind and ultimately was left in the 90s. The initial investors in the Amiga wanted to cash in on the early 80s video game boom. They wanted a low-cost games machine but Jay Miner who was the designer of the Amiga saw no reason why a low-cost gaming machine couldn't also be a great computer. So it's fair to say that the video output from the C64 and the C128 wasn't really that good. The picture was a bit fuzzy. The Amiga had proper analog RGB video out and if you combine that with the correct monitor and cable that could look really good. A much cleaner output than the C64 or the C128. Analog RGB was going to be here for quite a while to come as digital outputs from computers just wasn't here yet. So things like DVI and HDMI weren't here yet but they were going to appear after the RGB output era. So the Amiga uses bit plane graphics. What this means is that the display memory is divided up into bit planes where each bit plane would define a single bit for each location on the screen. So with only one bit plane you could only represent two colors using a zero or a one. The more bit planes you add then the more color values you can have. So for five bit planes you could represent 32 different colors. The number stored in the bit plane is not the color itself but it's the index of the color in the lookup table that's somewhere else in memory. So in the Amiga these colors are stored using 12 bits. So in this five bit plane example the screen could show 32 colors from a possible palette of 4096. The advantages of bit planes is that there is less memory involved in the graphics display which meant it's faster. But the disadvantage is that you have to pick a palette that you choose and then you kind of stick to it throughout the display of those graphics until you change the palette. This selection of colors however was still way more advanced than what the C64 could do. Well that only had a possible palette of 16 colors which most of which you could display on screen at once but there was lots of limitations on where you could put them. So the Amiga by comparison was a very colorful computer and that combined with all the tricks that the copper could do means that you could actually display usually more than 32 on the screen at once anyway. So that limitation could be exceeded. It gave it the impression of being a much more powerful computer than it actually was. That said however bit plane graphics is the one place I would say the Amiga wasn't really ahead of its time because most graphics now are just RGB pixel graphics and that's a very common approach. Into the 90s the Amiga was still using bit plane graphics even Jay Minor himself said that it might have been better to go with full pixel graphics at that time. Whether that would have really worked I'm not sure because maybe the Amiga would have been too slow to do that but it was something he said in hindsight he maybe wished he would have done. Also I probably in hindsight I would have designed it with pixel graphics instead of bit plane graphics. They're a little more standard and versatile now it turns out. The bit plane graphics allow you to move data around much faster because you have less data to move if you have very few bits per pixel which was the case in the 64 and the early Amiga. We worked mostly with four bit planes, five bit planes, three bit planes which means four or five bits of information defining each pixel but they were arranged in a bit plane fashion so we could move 16 of those bits at a time with the computer rather than moving three or four bits at a time if they were pixel oriented. Well now with memory the way it is and computer designs the way they are moving 16 bits of a single pixel to define a single pixel is more efficient in terms of high color quality and lots of color definitions. So in hindsight I would have done that differently. So Holder Modify or HAM was a special graphics mode for Amiga that allowed the entire color palette to be displayed on the screen at the same time potentially. Now there's quite a lot of limitations to it though. Jay Miner the designer actually got this idea from flight simulators where they would have a graphics mode that could change the hue saturation and intensity of an NTSC color value and he designed the Amiga to be able to do this but later on a design change meant that the NTSC circuitry wasn't inside the chip anymore so he couldn't do that. The circuitry was modified so that it could do it with RGB values so basically it could pick a value from the color palette and it could hold two of the values like the red and the green and and modify the blue. And this site happened from left to right over the screen and that's why you can see like color fringing going from left to right on ham pictures. Now he actually thought this would be a really bad idea because why would you want to hold the red and the green and modify the blue it wouldn't be a very good idea. But when we took the NTSC generating circuits off the chip in order to make room for more RGB circuits I wanted to take the Holder Modify out of there because it was in my opinion at that time it was really only usable for hue saturation intensity. RGB you know who wants to hold the red while you change the blue and the green right or who wants to hold the green while you change the red and the blue. So but the guy that was doing the actual drawing of the chip layout itself said if we take that off it's going to leave a hole in the middle of the chip. We don't have time to re-layout the whole chip to take advantage of that hole so let's just leave it in and if nobody uses it that's fine. In hindsight that's another thing in hindsight I would have made Holder Modify a little bit better put in more bit planes for it and so forth we're looking forward to the future but I didn't think it was going to be used at all. Was I ever amazed when the first users made a Holder Modify in terms of just showing pictures they've been pre-digitized I said oh my god you know well that's great you know but they'll never make a drawing program out of it. I spoke like a true hardware person the software programs now like DigiPaint 3 that do actual drawing with Holder Modify just knock my socks off I can't imagine how they can do things like that with this machine. It wasn't really that much use for video games and fast moving applications because it was too complex to use but it did get a lot of use over the years in the Amiga and it was it was a big wow factor and it probably helped drive the sales of the computer at the very least. So all that said about hand mode though it was pretty amazing for its time and other computers just couldn't produce pictures at least still pictures with that level of image definition. So we can't talk about the Amiga without talking about the Blitter which stands for block image transfer. The Blitter is basically just hardware that can move blocks of memory around really fast and without using the CPU. It's most famously used for drawing to the display because when you draw to display that is just taking a chunk of memory and just moving it into the memory that is the display. And in addition to that the Blitter could also do simple math operations on the memory that's being moved around and that's quite important for drawing because that means you can take say a sprite image and you can blit it onto the screen but you can mask out the background and you can do other stuff as well. There's quite a lot of math operations that could be done on that. So Computerphile did a whole video on the Blitter and that's really worth watching if you want to fully understand how it works. I'm not going to go into all the details here because they've already covered it all. But what I am going to say is that in the Amiga the Blitter could also do area filling and line drawing so that's additional features that it could also do. And the important thing to realize about the Blitter in the Amiga is that it was a separate chip to the CPU so you could be blitting to the screen and while that blit was happening that the processor can still do some work. So it could still be doing other operations in the background. So you could run the CPU concurrently with the Blitter. So for RAM put simply there was just more of it than the predecessor the C128 or the C64. The original Amiga 1000 had 256 kilobytes which was pretty low and I think Jay Miner definitely wanted more for it. But that was still twice as much as the C128 and more importantly it wasn't banked like on the C128 so the whole memory space was available to the processor without doing any weird tricks. In the original Amiga the 256k was expandable to 512 and the 512 became standard on the later Amiga 500 anyway. And the original design for the first Amiga did have 512 kilobytes but it was cut for cost reasons. I had to compromise on the memory requirements. I would have put more memory into it in the beginning. 512k as a bare minimum with empty slots up to about 2k, 2 megabytes I mean. 512k would have made a lot of sense in that first Amiga 1000. So the Amiga had two memory buses. One which is only addressable by the CPU and the other one which is addressable by the CPU and the custom hardware chips. The advantage of this was that the CPU could freely work away in this fast RAM it was called without disturbing the custom chips. But for the other RAM, the chip RAM, well they had to share it and I think they shared it on odd and even cycles. So it was called chip RAM and fast RAM. I think when you're in Amiga OS it's referred to as graphics memory and other memory. It's worth noting that on the Amiga 500 there's an expansion slot on the bottom, the trap door, where you can insert another half a megabyte of memory. Now when you do that that comes up as other memory so you think great I've plugged in some fast RAM into my computer. But the truth is it wasn't. It was actually connected to the chip RAM bus but the chips in the Amiga 500 couldn't actually address that memory that was in that space. So it's the worst of both worlds. It was actually memory that was on the slow chip RAM bus but the chips couldn't actually access it and I believe the reason they did that was just for cost. I think having it electrically connected to the chip RAM bus was just cheaper. If you wanted fast RAM on the Amiga 500 I think you have to use the sidecar connection. So the Amiga used the Motorola 68000 CPU and it wasn't the first home computer to use it. The Atari ST had already been released prior to the Amiga and that had already used it. The processor itself came out in 1979. So it wasn't a new processor but it was a good one. It was better than the 6502 predecessor which had been used in the C64 mainly because it was easier to program because it actually had like a multiply and divide instruction which was absent from the 6502. It had more registers and it had a large address space so you didn't have to do any stupid banking or anything like that. You could just address some memory and it was there. The clock speed was much higher than the 6502 so it was clocked at 7 megahertz whereas the 6502 in the Commodore 64 was only clocked at 1 megahertz. And you might think that means it's 7 times faster but actually in a lot of cases it probably wasn't because the 68000 just took more cycles to do some of the instructions than the 6502 did. So it wasn't really 7 times faster and in certain situations the 6502 might have actually been faster. So it's still a win because there was less for the programmer to do but there's a quote here from Ed Logg the designer of the Gauntlet arcade machine and he talks about this exact thing where the 68000 isn't really faster in a lot of situations but that said he still used it in the Gauntlet arcade machine so it shows you that it was a good choice of processor at the time. The strange thing was you know people say oh I got this 8 megahertz processor and that's so much better than my 1 megahertz 6502. No it's not. It's 8 cycles per instruction buddy and a 68010 so it's basically the same speed as a 6502. So all you've got's bigger registers you don't really have anything much better. So this is where I get hit with the old megahertz syndrome. Oh I got more megahertz. Nope. And there's also a quote here from Jay Miner who talks about the fact that the Amiga had considered the 6808 processor. There was a lot of pressure at first to use the 8-bit version of the 68000 microprocessor that was called the 68008 because it was a little cheaper at that time and because it had less pins and a smaller package it was only 8 bits out instead of 16. We won that battle I'm happy to say because later the price of the 68000 came down to be equal to the 68008. Almost nobody uses that first one anymore. So the copper which was short for coprocessor it was basically a very simple but quite powerful programmable coprocessor. So basically it could change values in the hardware registers but it could do it synchronized with the video display. So it could say wait for scanline 50 and then change the background color to red. It could also wait for locations in the middle of the scanlines as well. It didn't have to just wait for a whole scanline and it could basically do other things like it could move sprites, update audio channels and it could control the blitter. So basically what it did is it waited for a position on the video display and then it could do something. The term copper bars was coined for the color bars that you could create by programming the copper just to change the background color at different positions in the display and that was really easy to do and it didn't suck up loads of CPU power. So in a game the copper could be used to just change the color palette at a given scanline and then below that scanline you could display the scoreboard in a game and that could use a different palette from the main game allowing you to get like more colors on the screen. The copper instructions were user programmable so that the program itself defined what would what the copper would do and that program was called the copper list basically. And it's important to realize that the copper didn't take up any CPU time while it was waiting for a scanline. So if you said wait for scanline 50 then that was it. The CPU just carried on like normal and the copper can just wake up at scanline 50 and then start running the instructions. So one of the great things about the Amiga was it was a platform that anyone could program for and they could release games and applications on. There wasn't any weird licensing agreements, you didn't have to pay Commodore any money, you didn't have to release your code on a crazy app store or anything like that you have to do today. So in addition to this the hardware and how to like take over and program it was intricately described by the Amiga hardware manual. It covered all the things the Amiga could do with the hardware and and how you could make it do those things with your program. And much like today's PCs the Amiga was capable of being the machine you developed your application on and also being the target platform for your application. So that's a lot like a PC today where you can program a Windows game on Windows. I'm pretty sure that that excellent description of the hardware and how to program it and coupled with like this freely open platform that allowed you to program stuff for it contributed to the success of the platform eventually. So it's worth noting that whenever a new Amiga model came out that it was able to run the software from the previous generations. Now that was actually quite a big deal. This is something we see again in today's computing where you get a new version of Windows then it can run software from the previous versions of Windows and older computers. This this software on modern PCs now that that's decades old but still runs and that was happening on the Amiga as well and it was quite an important thing that whenever a new Amiga came out you didn't have to throw away all your software and your games or whatever they could still work on the new one. All present Amiga software is compatible with all Amigas big and small old and new. I want to repeat that because I think that's one of the most important features of the Amiga. All present Amiga software is compatible with all Amigas big and small old and new. So I think that one of the major and very overlooked things about the Amiga OS was that it was a preemptive multitasking operating system. To realize how ahead of its time it was it's important to understand that none of the other OS's at the time were doing this. A preemptive multitasking OS is basically how all modern OS's like Windows and Mac OS and everything work now. Preemptive multitasking is basically where the OS itself is deciding how much time to give to each of the running programs. This is opposed to cooperative multitasking which is what the Apple computers did where each program running was responsible for giving up control to the OS to allow other applications to run. This has the disadvantage that a single program can just hog the whole system and if it crashes or hangs it can take the whole system down with it. The Amiga OS had all this preemptive multitasking OS in a really low memory footprint as well. So you can boot up Workbench 1.3 and just see how little memory is actually using to get running. It's an amazing achievement when you compare it to the requirements of the modern OS's that we have today. Another good point is that the OS had all the abilities of the Macintosh with its Windows and icons interface but it also had a command line interface which is what IBM PCs had with like DOS. So it was actually the best of both worlds. It didn't limit you to doing one thing or another you could do both quite happily. I believe however that the best Amiga feature of all is its multitasking operating system. This feature was designed into the very first Amiga and it is sometimes called true multitasking. This name is used because most multitasking systems do not have the Amiga feature of allowing programs to be running truly simultaneously sharing the microprocessor on a flexible as needed prioritized basis. Amiga programs do not need to know about each other although they can if they want to pass messages and share data. Most so-called multitasking systems run each program for a fixed amount of time whether or not it needs it. Some programs on these systems even require specially programmed versions that are designed to run together. There are other true multitasking systems out there but from what I hear they are very buggy and require about four megabytes of RAM memory and the latest model computer to work on. Amiga multitasking however is built into the operating system runs on all Amigas and requires only 512 kbytes of memory. This is certainly something that people should know about. So the sound capabilities of the Amiga were basically just way ahead of their time. We've just come from the 8-bit world where the C64 was probably the best and most capable of the 8-bits and its sound was based on synthesis so it had a three channel synthesizer that was used to create some of the awesome C64 sounds without taxing the CPU at all and it's one of the reasons why the C64 was so awesome. The problem with synthesis alone though is it can't really faithfully reproduce any sound just the ones that the synthesizer itself is able to do and you can program it to do. So for instance if you wanted to create some speech or a barking dog or anything like that that you heard in real life the synthesis wasn't really the best approach. Now the Amiga have four digital waveform player channels. These channels have the capability to produce any sound that can be heard recorded and digitized. So this gave the Amiga the ability to reproduce the sound of literally anything and the playback was all handled by direct memory access inside the custom chip. So again like the C64 the CPU was not being taxed by the playback of the sound it was all happening independently of the CPU while that ticked on and did its own thing. The synthesis capabilities of the C64 had however not been fully lost as it's still possible to use the CPU to do synthesis and then you could feed that synthesized waveform into the sound chip and then it could play it. So you could still do the synthesis but you had to use the CPU to do it. So by today's standards waveform playback is pretty much how all sound is done in computers now. Modern computers can just do more, more than four channels and better sample rates and stuff like that. But it really shows how far ahead the Amiga was like to be able to do this in 1985 was actually quite a big deal. We've got four channels of stereo sound. Other machines talk about eight voices or 16 voices. Do you know what that means a voice? It means a single sine wave. It doesn't mean a complex waveform. It means a single sine wave. They call that a voice. We can have a flute on one channel, a harpsichord on another channel, and the drums or cymbals on another channel and each one of those would occupy about 16 voices at least all by itself on another computer. Amiga audio is very special and very different. These audio channels are not synthesizers. Instead they are digital waveform players. These digital waveforms can of course represent any instrument or sound and they can be created by the microprocessor or they can be digitized off of real life sound. Each of these four audio channels has an independent controller which reads this digitized audio waveform data directly out of memory and sends it to the output on the back of the Amiga computer. Each controller has its own dedicated independent high priority DMA time slot so that it cannot be glitched by other memory accesses such as the display, the microprocessor, or even other audio channels. This channel controller can read these waveforms as long as 68,000 bytes in memory automatically and with a little help from the microprocessor it can read waveforms of any length in memory and it can repeat these waveforms automatically over and over again to turn note definition into continuous sound. The processor changes these channel memory pointers to point to the desired notes in memory so the processor doesn't even have to output this data. All it does is tell the audio channels where the data is located in memory and the audio channel itself, as kind of a co-processor if you will, reads this data out of memory and sends it out to the to the speakers. One of the important things is that the audio DMA can't be glitched by other things in the system. So when doing audio it's important to note that the audio can never wait for anything as the human ear and the human brain is very intolerant to like dropouts in audio whereas in video if you skip to a frame of video you might not notice but if you skip a frame of audio or it loops or something like that it's very jarring. So although the Amiga did have programmable graphics via the Blitter it did also have eight hardware sprites as well with capabilities similar to the C64 and the C128. I'm not going to say much about those here but I believe one of the reasons for adding those was that they basically allowed you to really easily create the mouse pointer that you could use in the operating system or if you were making an operating system because it's a bit of a chore to draw a mouse pointer because you've got to kind of like copy the background draw the mouse pointer and then when you move it you've got to redraw the background and then copy the mouse pointer to the new place. So having a built-in hardware sprite just allowed you to really easily do a mouse pointer. So if that was its only use that was great but they were actually used in video games as well but you were limited to eight sprites and if you wanted more colors you would have to combine two sprites together so you'd go down to four. But again they used DMA to do the sprites and everything so they were useful. This may be something that's a little weird to mention about the Amiga as being awesome but if you take a look at the Amiga keyboard it's pretty much a modern keyboard. Maybe the Amiga 1000 one was a little bit weirder but it's very close to the kind of keyboard that you expect to see on a modern computer and remember this was in 1985 so they were like looking at it and going yeah this is how a keyboard should kind of be. It should have four cursor keys not two like on the Commodore 64 and it has enough keys to warrant it being a useful computer. If you go from the Amiga keyboard to a PC keyboard they don't feel totally alien from each other it feels very modern still and to be fair the C128 had a pretty good keyboard too. Also the Amiga came with a two-button mouse. Yes Apple that's a two-button mouse. Again not too similar from today's mice that we use on a modern PC. It didn't have the scroll wheel that wasn't a thing back then but weirdly now the Amiga OS does actually support a scroll wheel as well. Also it had quite a lot of input output ports on the back very much like modern computer you've got serial port and a parallel port you've got your video output port you've got sound outputs so it's very it's very modern from a computing standard I would say. So the age of cassette was finally over and the Amiga had a floppy drive built in and it was expandable to having a hard drive. Apparently the floppy drive and the internal space for expansion actually came about because the video game market crashed in the 80s during the development of the Amiga and the investors were now willing to make more compromises on the machine to make it more into a computer instead of being 100% dedicated machine for gaming. So the internal floppy drive was added and that wasn't something you'd normally see on a dedicated games machine it was something you'd see on a computer. So these are all my reasons why from a hardware perspective that the Amiga was just so awesome. For a computer in 1985 to do all these things I think was actually pretty amazing. So one question you might ask is well if it's so amazing or it was so amazing where did it all go wrong? Why are we not using them now? Well I think one thing is is that the hardware didn't really progress. They did newer iterations of the Amiga but they were just essentially pre-upgraded versions of the same computer. The sound capabilities for instance just never changed in the entire life of the Amiga. So what was way ahead of the curve in 1985 when it came out by 1990 just wasn't looking that impressive anymore. Things like the Creative Sound Blaster had come out and the PC was moving on from bleeps and bloops to actually being able to do things better than the Amiga could do. Jay Miner in 1990 who had left Commodore at that point was actually predicting that the Commodore would be adding more audio channels but sadly that never came true. I think the Amiga audio will have twice as many channels and twice the frequency range. He also said that Commodore in 1987 were already in financial trouble and had cut back on staff. That had really left the Amiga R&D team with virtually nobody. So essentially it gone wrong because I don't think Commodore really knew what they had on their hands. They had an amazing computer that could do amazing things but they didn't market it that way. They didn't get involved with other software companies like Microsoft and getting them to put their products on the platform. They cut the R&D staff but if things had been a different story maybe this video right now I would have been making it on a Commodore Amiga. But as it stands I'm doing it on Windows 11. Sorry. The appropriate drivers. You'll notice that this scanner build... Whoa. Moving right along. That must be why we're not shipping Windows 98. Absolutely. Absolutely.