Thursday, February 5, 2009

It began in 1981...

Granted, this might not be some relevant information of TODAY, but i wanted to have at least one post at the start of the blog with a small background of myself.

As mentioned in the profile already, i had my first contact with computers when in 1980 when i was 10 years old. We had a Commodore Pet 2001 in our middle school. Hardly anyone used it though except for a few dedicated geeks, most of which were already close to high school. That piece of hardware really fascinated me, and soon some of the geeks showed me programs that they had written on it. This got me totally hooked, and after 1 year i had saved enough money to buy myself a Commodore C64. In a matter of a few months i went from not knowing anything at all over just typing in some silly sample programs and randomly changing stuff to buying some books and learning for real how this machine worked. After initially using the BASIC interpreter i quickly learned that this was a very inefficient way to program, so i started directly learning 6502 assembler instead.

After several years and at a point where i started to grow out of the capabilities of the C64 Commodore announced the Amiga 1000. Totally excited about the incredible features i immediately began saving money for it and managed to buy one when they came out in Germany in 1985. With an additional 256k extension it had a whooping 512k memory and 2 floppy drives when i got it.

It took me quite a bit longer to get into the details of the Amiga due to it's much more complex nature with all the additional co-processors and operating system capabilities. I've again started with the simple BASIC interpreter that came with it but soon switched over to learn and use C and 68k assembler.

Unfortunately most of my school friends bought the much cheaper (and simpler) Atari ST, so after 2 years i followed suit and got myself one of those as well. I found myself at home immediately, in contrast to the Amiga. In my eyes the Atari ST is still the "real" successor of the Commodore 64. It's simplicity made it so much easier to use and understand and being able to squeeze the last bit out of it.

I then did most of my programming work on the Atari from then on. What did i program? Anything that i was interested it, basically. It ranged from simple math tasks over to spreadsheet and word-processing apps up to low level hardware programming with exact cycle and time counting (which was still possible back in those days). I've had many programming "competitions" with a good friend of mine, Michel Hipp. He was as obsessed with speed as i was, and we've spent often times weeks to optimize just for a couple less cycles.

One real example here was one of those famous "Starfield" simulations where you basically travelled through space like the Enterprise and stars would rush you past. The basic rules were:

  • Max Stars per VBE was the goal
  • 3D effect (dark grey stars in the distance, white ones when close)
  • "real" 3D simulation

Unfortunately due to the vague rules in the end Michel beat me after i managed to deliver a version that did 148 stars/vbe. What he did was to pre-compute basically every screen and the "loop" through them. This way he managed 5000 stars/vbe. Up until today i still consider that cheating though. ;)

The next few years i then spent doing all my work on the Atari until in 1991 i finally got convinced to get myself a PC. Up to that date i only ever worked on them at friends places and never really seriously. The reason why i got myself a PC was very simple: The year before i started my CS studies at the University and got introduced to Unix in various flavours (AIX, SunOS, Ultrix, HPUX and many more) and in the end of 1991 i heard about a crazy student from Helsinki releasing a Unix-like operating system for i386 and i486.

Said and done, so i got myself a 386 with 16 mhz and 1mb of memory and a small 40mb harddisk. Compared to my Atari and my Amiga that machine was pretty dirt cheap, and it worked flawlessly with Linux. At that time you still had to basically copy over a disk image to an empty partition and booted it with a load from DOS. Very crude, but it worked. :)

More to come in one of my next entries...

No comments:

Post a Comment