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]

Reply via email to