Nadav Har'El wrote: > > I think your analysis is right on the money. > There indeed seem to be two issues. The first issue, as you said, is that on > the > C64, there were a lot of things you couldn't do: you couldn't play recorded > music (just synthesised music, which was considered a marvel at the time), > you couldn't play video. I'll bring it somewhat back on topic by stating that the number of impossible things done at the time was remarkable. You stated the C64 synthesized marvel. The reason it was a marvel was that it was compared to the Apple two bit sound system. Two bit mean the voltage is either high or low, and you could only generate square waves. Compared to that, the C64's sine wave sound was a marvel.
However, despite the horrible horrible Apple sound system, some programs, even some games, had sound. In fact, they had actual speech. It was even somewhat recognizable. No D2A meant very little delay. Get the speed high enough, and you can produce imitation of sound levels by pulse width modulation. And that, I think, is the core of the issue. The hardware was crummy, it was utilized to 180% to capacity. That wasn't the only thing, though. I think anyone who used home computers at the time has a few games they really miss. Be it karateka, robot oddesey, captain goodnight, jet set willy, choplifter or a long long long list of titles that had horrible graphics and worse sound, but are still sorely missed. And the reason, I think, is that with no graphics or sound to work with, all you are left is playability. Modern games invest so much time in those other stuff, that sometimes playability suffers. While graphics, effects and sound may sell games, playability is what makes them loved. > I remember when the Amiga came > out, with its 4096 colors, everyone made a fuss about being able to show a > realistic image I'll let you in on a little secret. Those amazing pictures you saw? They weren't really 4096 colors, at least most of them. Many of them were 32 colors, and no more. Those 32 were picked from a 4096 color selection, but still, 32 simultaneous colors is what many pictures, and ALL games, used. The Amiga was an intermediate stage. It was still extremely hackable, but many of its hackability was due to hardware design. So you had the copper, which practically begged you to change resolution, screen offset, palette, sprites and background color in mid screen. On the other hand, sound was pretty much "put the buffer in memory and let DMA do the rest". It's not bad. On the contrary. Four independent 8 bit channels is very far from bad. It's just standard and uninspiring. People still hacked that, of course. All "mods" music sequences today are based on a single Amiga program. That's the reason they all still have four channels. The Amiga did mark, for me, the beginning of modern computing, where there are more important things then how much you optimized your code or use of the machine. > The second reason is, of course, bloat. On the C64 I had one diskette with > a C compiler, editor, and a simplified Unix-like shell, all in 160 KB on disk > (and only 50 KB of memory to use). Is it, really, bloat? Wouldn't you say that at least some of the modern features programs carry are actually features you are glad to spend the extra memory and disk space on? Do you really want to give up file name completion? Searchable history? Do you really want to program without function cross reference? Without GUI? As memory and cpu power becomes cheaper, there is some degree where it really DOES make sense to give up some of those two for tangible benefits. These can be friendlier work environment, less bug prone program implemented in less time, etc. At least for some things, these are trade offs that it makes no sense to make with the 1980 hardware in mind. Giving up OOP, convenient libraries and work environment just so you can save 2KB in code size (or, even, 1MB) stops making sense. In the 80's that was a "to be or not to be" dilemma. Today, it's not as crucial any more. > The funniest waste of space I > can think of is the "COPYING" file, which my computer has 374 (!) copies of > which installed, totalling 7.7 MB. That's 47 Commodore-64 diskettes... ;-) > At least on Debian, the packages do not carry a copy of the COPYING file if it's one of the standard licenses. There's just a small text saying "this package is GPL. You can find it at /usr/share/common-licenses/GPL-2". > Second, the CPU was so slow, that just painting one > frame would easily take more than a second The ROM routine for erasing the graphical screen for the Apple was so slow you could see the black taking over. It took about 0.5 second, possibly more. My very last project for the Apple was to write a ROM patch that allowed rendering text, using the standard text functions, on the graphical screen. As part of that, I had to implement the HOME command - clear screen. My eventual implementation took regard to text window (you could ask to exclude certain areas of the screen from being written into and scrolled), yet was so fast that you couldn't see it work. Tinkering with the code really changed performance in those days. And, yes, it was written in assembly. I got three points for this project in the hacker test, for continuously programming over 36 hours. > So the favorite option for animation on the C64 were "sprites". > These were small (12x21 pixel) animations drawn by the video hardware, and > used to move around game characters and the likes. So the game never contained > animations of whole frames, but rather of the tiny sprites that moved around - > and this took very little space. > I should also note that, according to wikipedia, C64's hardware could also do screen scrolls (i.e. - the video memory is wider than the display, and you tell the display which part of it to display). Must have been useful for platform games. I'll also note that the Amiga was the first computer that I know of to use sprites for displaying the mouse cursor. Today, of course, sprites have very little else they do. Having said all of that, I want to stress my point again. Those changes, as a whole, are not all bad. When memory is cheap and plentyful, it makes perfect sense not to waste programmers time and risk silly bugs just so that a list of words fit in 64KB. That is a perfectly reasonable trade off. What isn't a reasonable trade off, to me, is the fact that today's computers take longer to boot, and longer to perform some mundane functions, than older computers. The Apple II finished booting AppleDos 3.3 from the floppy, and gave you a BASIC prompt in about four seconds from the time you turn on the switch. That is much less time than it takes a modern computer to finish the BIOS power on self test. THAT, to me, is bloat. This is doubly true if you keep in mind that the BIOS code is totally discarded the second any modern OS boots. Once a 32 bit kernel is up, the BIOS never gets used again. Shachar ================================================================= To unsubscribe, send mail to [EMAIL PROTECTED] with the word "unsubscribe" in the message body, e.g., run the command echo unsubscribe | mail [EMAIL PROTECTED]
