Nadav Har'El wrote:
> I see that a C64 diskette could hold 170 KB or 165 KB, depending on how you
> count. 
>   
..
> It was amazing what would fit on a diskette back than. The most fancy games
> used to fill up a whole diskette (wow!), but most games filled only a part
> of a diskette, so you could have diskettes with several games. Imagine what
> you can do with 160 KB of storage today - not much...
>
>   
I've come across this many times before. I'm still not sure what to make
of it. The Apple ][, as I said before, had even less on each disk, and
yet the number of games that required more than one disk were minimal
(and, even then, they only required two, which means you flip the disk
over).

BTW - I still have a square cutter with leader to make the cut in the
right place on the disk, if anyone is interested in buying.

Which means it all comes down to this. Why? Why do things take more space?

Part of it is understandable. The C64 had a 160x200 with 16 possible
colors screen, with not all combination of colors possible in each
pixel. I'd say this means that an uncompressed picture took (if I
understand the graphic encoding correctly) about 9.3KB in full color
mode, a little less (8.8KB) in sorta color mode (reason being that mode
had a higher resolution). For the Apple, each uncompressed screen had
7.5KB of data, but due to the fact that most files saved the memory
layout, and that had extensive amount of off-screen bytes (totally
unused), actually saving a screen shot usually took 8KB. We can plainly
see how programs needed less space if they manipulated less data. Of
course, at least for the Apple, almost nobody compressed images. For one
thing, the CPU wasn't fast enough to open a compression in a reasonable
time.

But picture sizes aren't everything. Appleworks was a two sided program
that gave you a word processor, spreadsheet and a database, including OS
(Apple ProDOS) all in less than 290KB. How? I find it extremely unlikely
that the entire program was written in Assembly. It was, probably,
written in C or Pascal, and compiled.

I think a lot of it has to do with "when need must". You only had 128KB
of RAM, you only had so many floppy sides you could use, you had no
choice but to make do. Programming was centered around making things
fit, just as it was about making things spry.

There is another point to it, though. Everything was simpler. I think it
goes without saying that Appleworks did not support fonts. The OS was
simpler too. No multi tasking and no memory protection really made
things simpler. In fact, ProDOS did not even have a shell, by default.
Mostly, you just dumped the code into memory and ran it.

Maybe I can give an answer, though. I've invested some time in pet
project (a black riddle solver, if anyone is interested). At the moment
it's 378 lines of C++, using built-in classes. They are pretty
elaborate, but mostly built in. The program does use the stream standard
library.

Compiled with -O2 and stripped, the ELF executable is 11K. It would have
been much much much less if I wrote it in assembly on a 6502 or 6510,
but I wouldn't have had automatic line state copying using a class so I
could do easy recursive decent into the options space. I wanted
convenience, and I payed for it in program size. If I took the
convenience of GUI, I would have payed in even more program size. That's
a trade off, and it's not inherently evil.

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