December 2008 - 25 Years of Home Computing! Or: My Road to Computers
I got my first home computer Christmas 1983 from my
parents - it was a wonderful surprise, since it wasn't on my list of
wishes. It was the time when "Star Wars III - The Return of the
Jedi" and "War Games" hit the cinemas. Hard to believe, but 25
years have passed since then! Time for a little bit of nostalgic "in
between the years" memories. On this page, you'll find my personal
home computer memorabilia. Read further if you wanna know how this
little machine shown on the right influenced my life. Disclaimer: The
following text was written just for fun, so don't take it too
seriously ;-)
1981 - 1984: Pre-Microtronic Period
I think my fascination for computers somehow
started in 1981, and of course, video games and movies contributed an
important part to this fascination. Also, I was a science fiction fan
and I liked the stories best in which some evil computer ruled or
freaked out. It must have been 1982 when I first watched HAL 9000
killing the crew of the Discovery in Stanley Kubrick's "2001" with
some friends in the cinema. Also, I remember almost in detail the
1970's movie "Colossus - The Forbin Project" which I must have
watched somewhen on television in the early 1980is or late 1970ies. In
winter 1982, the amazing computer graphics and the evil "Master
Control Program" (MCP) in "TRON" blew me away. Also, there was a
science documentation on television about the state of the art in
computer graphics (the documentary was called "Malen nach Zahlen",
NDR3), featuring also the pioneering 1979ies
"Sunstone" computer animation by Ed Emshwiller, Alvy Ray Smith,
Lance Williams, and Garland Stern (YouTube).
I was so impressed that I decided that I
wanted to do something with computers, preferably computer graphics,
when I was older.
Some class mates had an Atari 2600 VCS, and
a friend (AH) owned a Philips Videopac G7000 video computer.
Sometimes after school I went to electronic shops in order to play
with the exhibited games and computers. Since my parents didn't like
the idea that the only color TV in the house would constantly be
occupied by a video console we never bought a video game. Instead, I
got this more TV-friendly "Hungry Pac III" game as a substitute
which I loved and played for hours. These battery-powered machines
were very popular then, and still have many collectors today. I also
had some other electronic games before, e.g. the Texas Instruments
"DataMan" which my parents bought for Christmas 1980 or 1981, hoping
it would help me achieve better results in math. This, however,
didn't happen until I started programming. From then on my math grades
got better and better.
I liked video games, but was never good at it, and
even in those days was much more fascinated by the idea of programming
computers myself. I first encountered the "spirit in the machine" at
a friend (FR) of mine who had programmed his
TI99/4a
with a simple Question-And-Answer game -
the program asked ten or twelve questions, and I was very impressed
how the computer integrated my answer to its previous question into
the next question it formulated, producing the impression it had
actually understood what I had just answered! Another friend (NE)
had the
Atari 400.
We entered BASIC programs from computer
magazines which often did not or only partially worked due to some
typing errors. Later on, when my friend got a floppy disc drive, we
played
"M.U.L.E." (YouTube)
on the Atari 400 for hours. Another friend
(JB) lend a
VC20
from a neighbor who was on vacation for a
week or two. We wasted some hours when we tried to hopelessly convert
and enter a BASIC listing for the C64 into the VC20. I also remember
that the
Atari 800
made a big impression on me, since, in its
bulkiness, it appeared to be the most professional system and it also
made strange "Star Trek"-like sounds whilst loading a program from
floppy disc.
1984 - 1985: Microtronic Period
For me, home computing started Christmas 1983 with
the Busch Microtronic 2090, which was closer in spirit to a
programmable calculator than to a real home computer - equipped with a
4 Bit 0.5 Mhz (!) clocked TMS 1600 CPU by Texas Instruments, and 256
12bit words of RAM memory (and 128 bytes of register memory) only, it
could be programmed in machine language only. Of course, it neither
had a video output nor a real alphanumeric keyboard; instead, it had a
seven segment calculator display and a hexadecimal calculator keypad.
However, being an educational system, the documentation of the machine
was really excellent, so it wasn't hard to learn the machine language.
In fact, it wasn't the native machine language of the TMS 1600 CPU,
but a higher-level interpreted custom-designed machine language,
tailored for educational purposes. For example, the system offered
high-level OP codes for multiplication and division. Nevertheless,
everything was on a very low level of abstraction so one could get a
real good impression how a simple CPU worked these days. Due to the
interpreted higher-level custom machine language, the machine was very
slow - I remember that the division 999999 / 1 required 40 seconds (!)
using the division OP code (this required 999999 subtraction
operations - that was a dumb implementation, obviously). But that was
not the point.
The point was that I was fascinated by its
capabilities and the idea that it would do "everything" I instructed
it to do. Moreover, in combination with the other electronic
construction kits the company Busch was selling (some of which I owned
since 1981), the computer could orchestrate some self-assembled
hardware, e.g., a simple sound generator which soon played Jingle
Bells. Although 512 bytes of RAM can't be called a big memory, the
fact that the memory wasn't battery-backuped was dreadful since one
had to start from scratch every time the power plug was pulled.
The pain was alleviated after 2 months when
I bought the
2095 Cassette Interface
(which is a very rare collectors item these
days!) so I could use my tape recorder as a "mass data storage device"
;-) At the end of 1984, I had a dozen self-written Microtronic
programs on tape of which I was very proud.
Lurking at the real home computers my friends had, I certainly realized how delimited my beloved Microtronic was in comparison. But I could always play a game or two with the Atari 400 or C64 by visiting my friend (AH). My favorite games on the C64 were "Encounter" (YouTube) and "Impossible Mission" (YouTube), and on the Atari 400 / 800 "Ballblazer" (YouTube) and "Rescue on Fractalus" (YouTube). And of course I was a regular visitor of the big shopping malls where I could check out the different systems available at that time. I remember that I was fascinated by the HX-20 which was the first "notebook" I saw. I tried to learn as much as I could about the different systems in order to select "my" system which I should get the next year for my confirmation. Until then, I continued working with the Microtronic to made the most out of it, until I would have a real home computer. For example, I wrote letters to the company Busch, asking for additional information regarding the hardware (and got a schematic diagram from them, etc.). I also tried to acquire some money by sending in two self-written programs for a programming contest the company Busch was organizing. One program was a computer realization of an old legerdemain. The user has to imagine a number between 1 and 64. Then, a set of 6 cards with numbers is shown to the user, where each card contains 20 numbers or so (I forgot the exact number). After each card, the user is asked whether his imagined number is on the card. From this, the imagined number can be determined uniquely. Instead of presenting the cards, my program presented the numbers on the cards in a sequence, of course. Although I used my dad's type writer in order to produce perfect listings of the two programs I submitted, both were rejected. However, the review I got from Busch was quite helpful since I learned that "Goto was (already!) considered harmful", and so I refactored my programs substantially and resubmitted them. Unfortunately, they got rejected again, but not before May 1984 - but when the message arrived I no longer cared about the Microtronic since I had a "real" home computer then (read further ;-)).
Lurking at the real home computers my friends had, I certainly realized how delimited my beloved Microtronic was in comparison. But I could always play a game or two with the Atari 400 or C64 by visiting my friend (AH). My favorite games on the C64 were "Encounter" (YouTube) and "Impossible Mission" (YouTube), and on the Atari 400 / 800 "Ballblazer" (YouTube) and "Rescue on Fractalus" (YouTube). And of course I was a regular visitor of the big shopping malls where I could check out the different systems available at that time. I remember that I was fascinated by the HX-20 which was the first "notebook" I saw. I tried to learn as much as I could about the different systems in order to select "my" system which I should get the next year for my confirmation. Until then, I continued working with the Microtronic to made the most out of it, until I would have a real home computer. For example, I wrote letters to the company Busch, asking for additional information regarding the hardware (and got a schematic diagram from them, etc.). I also tried to acquire some money by sending in two self-written programs for a programming contest the company Busch was organizing. One program was a computer realization of an old legerdemain. The user has to imagine a number between 1 and 64. Then, a set of 6 cards with numbers is shown to the user, where each card contains 20 numbers or so (I forgot the exact number). After each card, the user is asked whether his imagined number is on the card. From this, the imagined number can be determined uniquely. Instead of presenting the cards, my program presented the numbers on the cards in a sequence, of course. Although I used my dad's type writer in order to produce perfect listings of the two programs I submitted, both were rejected. However, the review I got from Busch was quite helpful since I learned that "Goto was (already!) considered harmful", and so I refactored my programs substantially and resubmitted them. Unfortunately, they got rejected again, but not before May 1984 - but when the message arrived I no longer cared about the Microtronic since I had a "real" home computer then (read further ;-)).
1985 - 1987: CPC Period
Simple computer were becoming cheaper and
cheaper. I almost acquired a
Sinclair ZX81
in January 1985, whose price had dropped to
160,- DM. Since I had saved 130,- DM only, I had to wait three
more months to get a real computer. At last, in April 1985
I got the
Schneider CPC 464
(the German version of the Amstrad CPC 464)
with color monitor for my confirmation, together with the game
"Oh Mummy!" (YouTube)
on tape. CPC programming started
immediately during my confirmation party - a friend of mine
(SG) who was already familiar with the Locomotive BASIC hacked
in a nice little graphics demo ("Confirmation Demo") for which I
designed the UFOs on square paper; so this was actually the first
BASIC program that ran on my CPC.
For me, the CPC was the best home computer available at that time. The BASIC was very powerful and fast, and the system had a much better color graphics than the competing home computers (160x200x16, 320x200x4, and even 640x200x2 colors!). The keyboard was very good, and real word processing with 80 characters per line was possible (whereas the other systems could only display 40 characters per line). Moreover, it was a complete system with built-in datacorder, the power supply was in the monitor so one didn't have to mess with external power supply and power cords, etc. Later I learned that the machine also had some drawbacks, especially w.r.t. games, i.e., unlike the C64, it had no sprites and thus games were not so dynamic. In fact, the 16 KBs of graphics RAM were a little bit too much for the small Z80 CPU to allow for fast graphics and smooth scrolling - the CPU simply couldn't shift the bytes fast enough. Also, the sound chip couldn't compete with the analog synthesizer that was inside the C64 (the "SID" - but no other system could compete with the C64 in that respect). I remember how very disappointed I was when I got "Ghostbusters" (YouTube) for my birthday in 1985, and realized that the digitized "Ghostbusters!" speech in the intro of the game was much much worse than on the C64 (YouTube). One of my my friends who had a C64 even laughed and made fun of my CPC when I showed him Ghostbusters! Fortunately, there were also some great games on the CPC, e.g., I loved playing "Fruity Frank" (YouTube), "Manic Miner" (YouTube), and "Sorcery" (YouTube).
But most importantly, the CPC was perfect for programming and in the following months / years I wrote dozens of BASIC programs, some of which I tried to sell later. In June 1985, I bought the first hardware extension, the "DK'tronics" speech synthesizer. Since the 2001 movie I was fascinated by speech synthesis. From a book containing BASIC listings I typed in a version of Weizenbaum's "Eliza" program and added speech synthesis to it, so "Eliza" could actually talk to me, just like HAL 9000 or the MCP would ;-) Unfortunately, the speech quality was again disappointing, incomparable to the famous hardware speech synthesizer for the TI 99/4a (YouTube) (picture).
When I was completely familiar with the CPC Locomotive BASIC, I started some bigger projects. One of the first was a Microtronic emulator. I realized that one computer could actually emulate another one; later, in university, I learned that this was the idea of a universal Turing machine. And the Microtronic emulation, although written in a very naive way in BASIC, was almost as fast as the real Microtronic, and sometimes much faster (e.g., the division 999999 / 1 no longer required 40 seconds, but only a fraction of a second). Although I never programmed the Microtronic again, I was now able to run my old programs on the CPC (which had some value for me). The company Busch had once announced the release of a speech synthesizer for the Microtronic; needless to say, this product never existed. However, in combination with my DK'tronics speech synthesizer, I was the only person in the world who had a talking Microtronic system :-) Another early project was the implementation of the game "Galaxis" - "Galaxis" was a Battleships-like board game with a small computer by "Ravensburger" which I owned and played a lot. It took me weeks to finish the CPC version of it.
The only problem with the CPC was the software supply - whereas friends with the Atari or C64 could trade programs on floppy disc on the school yard, this kind of gray market didn't exist for the CPC. I thus had to use the CPC primarily for programming, or type in programs from computer magazines, which I did a lot. Sometimes, I also bought a game on tape, but they were quite expensive, so I could only afford one game or two each year. I also remember how I "digitized" the image of a vector graphics computer head (printed in a computer magazine) by hand by overlaying it with squared glassine paper, in order to read of the vector coordinates. In the end I had a BASIC program which duplicated the computer head on my CPC screen.
Still, I had no floppy disc drive. The Schneider DD1 was very expensive (898,- DM) and featured the uncommon and expensive (but very robust, fast and reliable) 3 inch floppy discs. I quickly realized that the new hobby was expensive and that I needed some more money in order to go on. One of my income sources was the workshop / garage of a friend of my parents who had his own little (garage) engineering company. So I would work every week for three or four hours there, getting 10,- DM each hour which was a very good salary for a school kid. I saved the money, and with the help of my parents, I could finally afford a second hand refurbished DD1 floppy for my birthday in 1986.
Also, computer fan magazines published listings of programs and I realized that this could also be a potential income source, since the authors of these program got some money on a per page basis. The first CPC program I tried to sell, in October 1986, was a graphical editor for sound waveforms, controlling the volume envelopes of the CPC sound chip, the "Envelope Composer". However, it got rejected by the major CPC magazine, the "CPC International". I think this was partly also due to the fact that I wrote the documentation (as well as the cover letter) by hand, and I had a very bad hand writing these days. Therefore, I was very happy when I could acquire a brand new, very inexpensive 9-pin dot matrix printer for only 200,- DM. The Brother M1009 was a discontinued model. The only difference to the official "CPC printer" which was sold by Schneider, the NLQ401, was a different case color, different label, and a software Eprom which enabled the NLQ 401 to print in Near Letter Quality which was something the M1009 couldn't do. I didn't care about near letter quality; obviously, every computer printout was much much more readable than my handwriting :-) I made some more attempts to sell the "Envelope Composer" to different magazines and finally succeeded in February 1987. From the biggest (but not CPC-specific) computer magazine, "Happy Computer" I got 330,- DM in June 1987, and it was published in a special CPC issue. I was very proud of this success. The magazine editor even gave me a phone call and suggested improvements and mentioned to me that my program almost got nominated for the "program of the month"! I would have gotten 2000,- DM then! This was quite a motivation for me to try to sell some more programs...
I was always fascinated by fractals, and computer graphics in general. Another program I was able to sell in 1987 was a simple function plotter for functions with two variables (x and y), which would plot f(x,y) modulo 16 as the pixel color at position x,y. In combination with a color cycling effect and some creativity for choosing functions containing sin, cos, etc., it produced awesome spacey graphics and I was thus able to sell it to the "CPC International". Since they paid 100,- DM per printed page, I got 200,- DM out of this.
In autumn / winter 1987 I participated in the computer science contest of the German government, the "Bundeswettbewerb Informatik (BWInf)". The contest was organized in 2 rounds. In the first round, one had to solve at least 3 out of 5 given tasks and send in solutions (program listings and documentation) within 4 weeks. For someone who had never heard of recursion before these tasks were rather demanding. IMHO, I solved the three problems I had selected, but due to a minor glitch, one of my solutions was rejected, since the turtle in my turtle graphics program rotated clockwise, not anti-clockwise (!) as specified, and I wasn't promoted to the second round of the contest.
For me, the CPC was the best home computer available at that time. The BASIC was very powerful and fast, and the system had a much better color graphics than the competing home computers (160x200x16, 320x200x4, and even 640x200x2 colors!). The keyboard was very good, and real word processing with 80 characters per line was possible (whereas the other systems could only display 40 characters per line). Moreover, it was a complete system with built-in datacorder, the power supply was in the monitor so one didn't have to mess with external power supply and power cords, etc. Later I learned that the machine also had some drawbacks, especially w.r.t. games, i.e., unlike the C64, it had no sprites and thus games were not so dynamic. In fact, the 16 KBs of graphics RAM were a little bit too much for the small Z80 CPU to allow for fast graphics and smooth scrolling - the CPU simply couldn't shift the bytes fast enough. Also, the sound chip couldn't compete with the analog synthesizer that was inside the C64 (the "SID" - but no other system could compete with the C64 in that respect). I remember how very disappointed I was when I got "Ghostbusters" (YouTube) for my birthday in 1985, and realized that the digitized "Ghostbusters!" speech in the intro of the game was much much worse than on the C64 (YouTube). One of my my friends who had a C64 even laughed and made fun of my CPC when I showed him Ghostbusters! Fortunately, there were also some great games on the CPC, e.g., I loved playing "Fruity Frank" (YouTube), "Manic Miner" (YouTube), and "Sorcery" (YouTube).
But most importantly, the CPC was perfect for programming and in the following months / years I wrote dozens of BASIC programs, some of which I tried to sell later. In June 1985, I bought the first hardware extension, the "DK'tronics" speech synthesizer. Since the 2001 movie I was fascinated by speech synthesis. From a book containing BASIC listings I typed in a version of Weizenbaum's "Eliza" program and added speech synthesis to it, so "Eliza" could actually talk to me, just like HAL 9000 or the MCP would ;-) Unfortunately, the speech quality was again disappointing, incomparable to the famous hardware speech synthesizer for the TI 99/4a (YouTube) (picture).
When I was completely familiar with the CPC Locomotive BASIC, I started some bigger projects. One of the first was a Microtronic emulator. I realized that one computer could actually emulate another one; later, in university, I learned that this was the idea of a universal Turing machine. And the Microtronic emulation, although written in a very naive way in BASIC, was almost as fast as the real Microtronic, and sometimes much faster (e.g., the division 999999 / 1 no longer required 40 seconds, but only a fraction of a second). Although I never programmed the Microtronic again, I was now able to run my old programs on the CPC (which had some value for me). The company Busch had once announced the release of a speech synthesizer for the Microtronic; needless to say, this product never existed. However, in combination with my DK'tronics speech synthesizer, I was the only person in the world who had a talking Microtronic system :-) Another early project was the implementation of the game "Galaxis" - "Galaxis" was a Battleships-like board game with a small computer by "Ravensburger" which I owned and played a lot. It took me weeks to finish the CPC version of it.
The only problem with the CPC was the software supply - whereas friends with the Atari or C64 could trade programs on floppy disc on the school yard, this kind of gray market didn't exist for the CPC. I thus had to use the CPC primarily for programming, or type in programs from computer magazines, which I did a lot. Sometimes, I also bought a game on tape, but they were quite expensive, so I could only afford one game or two each year. I also remember how I "digitized" the image of a vector graphics computer head (printed in a computer magazine) by hand by overlaying it with squared glassine paper, in order to read of the vector coordinates. In the end I had a BASIC program which duplicated the computer head on my CPC screen.
Still, I had no floppy disc drive. The Schneider DD1 was very expensive (898,- DM) and featured the uncommon and expensive (but very robust, fast and reliable) 3 inch floppy discs. I quickly realized that the new hobby was expensive and that I needed some more money in order to go on. One of my income sources was the workshop / garage of a friend of my parents who had his own little (garage) engineering company. So I would work every week for three or four hours there, getting 10,- DM each hour which was a very good salary for a school kid. I saved the money, and with the help of my parents, I could finally afford a second hand refurbished DD1 floppy for my birthday in 1986.
Also, computer fan magazines published listings of programs and I realized that this could also be a potential income source, since the authors of these program got some money on a per page basis. The first CPC program I tried to sell, in October 1986, was a graphical editor for sound waveforms, controlling the volume envelopes of the CPC sound chip, the "Envelope Composer". However, it got rejected by the major CPC magazine, the "CPC International". I think this was partly also due to the fact that I wrote the documentation (as well as the cover letter) by hand, and I had a very bad hand writing these days. Therefore, I was very happy when I could acquire a brand new, very inexpensive 9-pin dot matrix printer for only 200,- DM. The Brother M1009 was a discontinued model. The only difference to the official "CPC printer" which was sold by Schneider, the NLQ401, was a different case color, different label, and a software Eprom which enabled the NLQ 401 to print in Near Letter Quality which was something the M1009 couldn't do. I didn't care about near letter quality; obviously, every computer printout was much much more readable than my handwriting :-) I made some more attempts to sell the "Envelope Composer" to different magazines and finally succeeded in February 1987. From the biggest (but not CPC-specific) computer magazine, "Happy Computer" I got 330,- DM in June 1987, and it was published in a special CPC issue. I was very proud of this success. The magazine editor even gave me a phone call and suggested improvements and mentioned to me that my program almost got nominated for the "program of the month"! I would have gotten 2000,- DM then! This was quite a motivation for me to try to sell some more programs...
I was always fascinated by fractals, and computer graphics in general. Another program I was able to sell in 1987 was a simple function plotter for functions with two variables (x and y), which would plot f(x,y) modulo 16 as the pixel color at position x,y. In combination with a color cycling effect and some creativity for choosing functions containing sin, cos, etc., it produced awesome spacey graphics and I was thus able to sell it to the "CPC International". Since they paid 100,- DM per printed page, I got 200,- DM out of this.
In autumn / winter 1987 I participated in the computer science contest of the German government, the "Bundeswettbewerb Informatik (BWInf)". The contest was organized in 2 rounds. In the first round, one had to solve at least 3 out of 5 given tasks and send in solutions (program listings and documentation) within 4 weeks. For someone who had never heard of recursion before these tasks were rather demanding. IMHO, I solved the three problems I had selected, but due to a minor glitch, one of my solutions was rejected, since the turtle in my turtle graphics program rotated clockwise, not anti-clockwise (!) as specified, and I wasn't promoted to the second round of the contest.
Here is a little gallery showing my old CPC
programs (only the bigger projects) - running these old programs
during Christmas holidays 2008 on the "CPCEmu" (great program!) for
Windows was so much fun that I couldn't resist making some screenshots
(ah, those memories!). From a retrospective, it seems I must have
spend my whole teenage days in front of the CPC. If you like, you
can
download my programs from the CPC period as a set of DSK images
for the very good "CPCEmu" by Marco Vieth and Rainer Loritz ;-)
1986 - 1987: Saving Money for the Amiga
The 16bit period had already started in 1984 when
the Apple Macintosh was released, and the
Amiga 1000
in 1985. This was a dream machine, but of
course, not affordable. A friend of mine (SG) had already acquired the
Atari 1040 ST
in summer 1987. I was amazed by the
graphical desktop environment ("GEM"). Although similar desktop systems
started to appear for the CPC, they were all primitive compared to GEM
and the Amiga "Workbench" (and of course, the joystick was a rather bad
substitute for a mouse).
The Amiga 500
was released in 1986 and I decided that
this should be my next computer. But I knew I would need a lot of
money (1400,- DM for Amiga 500 + Monitor). I began saving the money
for the new dream machine. I started to work more hours in the
engineering garage. In these days, I also learned Pascal and Logo -
due to the DD1 floppy, my CPC had turned into a CP/M system, running
CP/M standard software such as WordStar (the Word of the 1980ies), as
well as Turbo Pascal and DR Logo. Thus, I could benefit from a much
more professional working environment now, which increased my
productivity ;-)
I also no longer wrote BASIC programs; my
last CPC program was a digital alarm clock with big 7-segment numbers
covering the whole screen. It was running as a background task of the
operating system. The CPC even offered a cooperative multitasking OS
(!), and the BASIC was extensible by user-definable commands. For the
alarm clock I added commands such as "|clock", "|setclock",
"|setalarm" to the BASIC (so-called RSX commands). I was shocked
when I realized a severe bug in the clock - the clock made the
transition from 23:59:59 to 23:00:00! Just in time I could send in a
bug-fixed version of the program to the editor of the magazine before
the printing started.
1987 - 1993: Amiga Period
In December 1987, I had saved enough money
to buy the Amiga 500 and the 1084 color monitor. I spend some hours playing
"Defender of the Crown" (YouTube),
and
"Marble Madness" (YouTube),
and was amazed by
the multimedia capabilities of the machine. Also, the vector graphics in
"StarWars" (YouTube)
was awesome. The first program I wrote
was a little graphics demo in Amiga BASIC. Hey, 32 colors with 320x200
pixels screen resolution!
Already two years ago, my friend with the Atari ST (SG) had taught me the central projection and showed me how to rotate a four-dimensional hypercube on the display. Since the CPC line drawing routines were too slow, I could never get a smooth animation on the CPC (not even with machine code). Now, on the Amiga, a smooth animation of the rotating hypercube became feasible, and even in Amiga BASIC (!), since bit blitting operations were available (this was the job of the so-called "Blitter" custom chip). But the bit planes consumed a lot of memory, so soon I bought the 512KB memory extension, doubling the memory of the Amiga 500 to 1 MB. Later came a second floppy disc which I needed for disc copying now. The "software supply problem" which I had with the CPC no longer existed with the Amiga. I also got my first computer virus over Christmas 1988 - the famous "SCA Virus" (Wikipedia) announced that something wonderful had happened on my machine, since it became alive. Strangely enough, I wasn't infected by swapping games on the school yard, but rather found the virus on some demo discs which a Commodore sales promoter gave to me, at the mall where I bought the machine.
I participated once more in the "Bundeswettbewerb Informatik" (BWInf). Due to the much better programming environment that Amiga Basic was offering, this time I was now able to solve all three selected tasks and was promoted to the second round. However, I didn't continue then since this appeared to be too much work to succeed and also school required some more attention (the Abitur was near, and I already played too much "Marble Madness" ;-) ).
In 1989, I could also sell an Amiga program, a three-dimensional function plotter called "4D-Funktion". The program was a successor of "Colfunkt". One function f1(x,y) was used to determine the z coordinate, and another function f2(x,y,f1(x,y)) was used to determine the color at position x,y,z. I had written a CPC version of this program before, but due to the much better graphics of the Amiga I decided to reimplement it. Finally, I got 600,- DM for it. It was published in the Amiga Magazin, 12/'89. I also made a series of 4D-Funktion screen photographs which you can see below; nicely framed the got reused as gifts / presents for friends and family members on several occasions :-)
The "Fractal Master" was another graphics program I wrote. The idea was based on one of the tasks specified in the "Bundeswettbewerb Informatik" 1986: "write a (Logo-like) turtle program that generates a fractal by applying a user-definable basic pattern of turtle movement instructions recursively on itself". For example, the basic turtle pattern for the famous "Koch Snow Flake Fractal" can be specified by instructing the turtle to move one step forward, turn counterclockwise by 45 degrees, move another step forward, turn by 270 degrees, turn forward, turn again by 45 degrees, and move forward. If this pattern is applied recursively, then the snow flake fractal curve is constructed. My Fractal Master program allowed the interactive graphical definition of the basic Turtle pattern by drawing it with the mouse. Then, it would ask for the number of sides, and compute the fractal.
Already two years ago, my friend with the Atari ST (SG) had taught me the central projection and showed me how to rotate a four-dimensional hypercube on the display. Since the CPC line drawing routines were too slow, I could never get a smooth animation on the CPC (not even with machine code). Now, on the Amiga, a smooth animation of the rotating hypercube became feasible, and even in Amiga BASIC (!), since bit blitting operations were available (this was the job of the so-called "Blitter" custom chip). But the bit planes consumed a lot of memory, so soon I bought the 512KB memory extension, doubling the memory of the Amiga 500 to 1 MB. Later came a second floppy disc which I needed for disc copying now. The "software supply problem" which I had with the CPC no longer existed with the Amiga. I also got my first computer virus over Christmas 1988 - the famous "SCA Virus" (Wikipedia) announced that something wonderful had happened on my machine, since it became alive. Strangely enough, I wasn't infected by swapping games on the school yard, but rather found the virus on some demo discs which a Commodore sales promoter gave to me, at the mall where I bought the machine.
I participated once more in the "Bundeswettbewerb Informatik" (BWInf). Due to the much better programming environment that Amiga Basic was offering, this time I was now able to solve all three selected tasks and was promoted to the second round. However, I didn't continue then since this appeared to be too much work to succeed and also school required some more attention (the Abitur was near, and I already played too much "Marble Madness" ;-) ).
In 1989, I could also sell an Amiga program, a three-dimensional function plotter called "4D-Funktion". The program was a successor of "Colfunkt". One function f1(x,y) was used to determine the z coordinate, and another function f2(x,y,f1(x,y)) was used to determine the color at position x,y,z. I had written a CPC version of this program before, but due to the much better graphics of the Amiga I decided to reimplement it. Finally, I got 600,- DM for it. It was published in the Amiga Magazin, 12/'89. I also made a series of 4D-Funktion screen photographs which you can see below; nicely framed the got reused as gifts / presents for friends and family members on several occasions :-)
The "Fractal Master" was another graphics program I wrote. The idea was based on one of the tasks specified in the "Bundeswettbewerb Informatik" 1986: "write a (Logo-like) turtle program that generates a fractal by applying a user-definable basic pattern of turtle movement instructions recursively on itself". For example, the basic turtle pattern for the famous "Koch Snow Flake Fractal" can be specified by instructing the turtle to move one step forward, turn counterclockwise by 45 degrees, move another step forward, turn by 270 degrees, turn forward, turn again by 45 degrees, and move forward. If this pattern is applied recursively, then the snow flake fractal curve is constructed. My Fractal Master program allowed the interactive graphical definition of the basic Turtle pattern by drawing it with the mouse. Then, it would ask for the number of sides, and compute the fractal.
1990 - 1992: School is out
After the Abitur in 1990, during civil
service at the hospital, I had the chance to write an accounting
program called "CoUnStuNa" for the ward manager who happened to have
an Amiga 500 as well. I could thus luckily trade-in 4 weeks of nursing
service with 4 weeks of full-time Amiga programming. I also saved all
my holidays so that I could finish civil service soon enough so that
the winter term 1991 of the university wouldn't start without me. I
was very happy when I got accepted for Computer Science (Informatics)
at the University of Hamburg. I still kept the Amiga for a couple of
years. I got interested in MIDI and used it as the heart of a little
home recording studio.
I invested my severance pay to buy the
required equipment - a "Tascam" 4track recorder, the "Trax"
software MIDI sequencer for the Amiga, and some second-hand
synthesizers (a "Casio CT670" keyboard, and two "Roland" MIDI
modules - a "D-110", and a "U-110"). The drum tracks were produced
by the Amiga with the famous "Soundtracker" pattern sequencer. I
also had an "Alesis Quadraverb" and my guitars. I thus used the
Amiga extensively for 2 more years of home recording, and the Amiga
was also still sufficient for solving the university lab class
exercises (also I still had no hard disc). I bought the very good
"KickPascal" IDE, and also managed to get the required Modula-II
compiler and Scheme interpreter running. With "KickPascal", I wrote
a version of "Connect Four". I understood recursion pretty well by
now, but wasn't familiar with the Minmax algorithm yet. Thus, my
program used its own recursive scoring function which wasn't very
good. Still, it made a reasonable good opponent for an average
"Connect Four" player (read further if you wanna check out yourself
;-))
Also, I rescued some of the old Amiga programs - they still run on a good Amiga emulator such as "WinUAE". This is how I produced the following screen shots:
Also, I rescued some of the old Amiga programs - they still run on a good Amiga emulator such as "WinUAE". This is how I produced the following screen shots:
1993 - today: Rise of the PC
It was not before 1993 that I acquired a PC
- if I remember correctly, a 486 DX50 with 4 MB RAM, 260 MB hard disc,
a 14 inch and very bad color SVGA monitor, and Windows 3.1. I remember
I had to wait for 3 months (!) until the company "Comtech" had
finally assembled the PC. Needless to say, this company no longer
exists. Being used to the multitasking and multimedia OS the Amiga 500
had offered me during the past 6 years, having to to use Windows 3.1
and DOS 6.0 was in fact a step backwards. However, the higher
graphics resolution and eye-friendly screen refresh rate, the larger
memory, and the much more advanced PC software for word processing (I
used "AmiPro" these days), the availability of a hard disc, and so on,
didn't make me miss the Amiga very much (until I realized that I had
also lost something). Thus, the Amiga was stored in the cellar,
joining the CPC.
I was disappointed since I no longer had good sound (only the PC beeper); I thus acquired a "SoundBlaster 16" sound card to get back the multimedia sound capabilities I was used to from the Amiga, at least partially. On the PC, I used "TopSpeed Modula-II" (for DOS) extensively. In 1994, I invested months to write a stereo 3D wire frame CAD program called "PoorWorld", aka "WessCAD" in Modula-II (to be used with red/green 3D glasses); I even had to write my own windowing system / GUI toolkit for this (this was a DOS program!). A friend of mine (TS) contributed some very fast line drawing routines which were used as the basis for the windowing library; Thomas' line drawing algorithm was approx. 2000 times faster than the implementation that shipped with the compiler! "PoorWorld" was a really ambitious project. In the end, I had written approx. 500 KB of Modula-II source code. Later I started Windows 3.1 programming with Borland Pascal 7.0; this was even better than "KickPascal". I reimplemented the "Fractal Master" and "Connect Four". With "Borland C 3.1", I implemented a rotating torus with simple shading - this was now much better than the rotating hypercube on the Amiga 8 years ago ;-)
If you like, download my PC programs here. "PoorWorld" and "Torus" run in "DOSBox", and even "Connect Four" still runs on Windows XP, although it was developed for Windows 3.1.
I was disappointed since I no longer had good sound (only the PC beeper); I thus acquired a "SoundBlaster 16" sound card to get back the multimedia sound capabilities I was used to from the Amiga, at least partially. On the PC, I used "TopSpeed Modula-II" (for DOS) extensively. In 1994, I invested months to write a stereo 3D wire frame CAD program called "PoorWorld", aka "WessCAD" in Modula-II (to be used with red/green 3D glasses); I even had to write my own windowing system / GUI toolkit for this (this was a DOS program!). A friend of mine (TS) contributed some very fast line drawing routines which were used as the basis for the windowing library; Thomas' line drawing algorithm was approx. 2000 times faster than the implementation that shipped with the compiler! "PoorWorld" was a really ambitious project. In the end, I had written approx. 500 KB of Modula-II source code. Later I started Windows 3.1 programming with Borland Pascal 7.0; this was even better than "KickPascal". I reimplemented the "Fractal Master" and "Connect Four". With "Borland C 3.1", I implemented a rotating torus with simple shading - this was now much better than the rotating hypercube on the Amiga 8 years ago ;-)
If you like, download my PC programs here. "PoorWorld" and "Torus" run in "DOSBox", and even "Connect Four" still runs on Windows XP, although it was developed for Windows 3.1.
Computers - From Hobby to Profession
University now required more and more time.
I also had to work much more in order to be able to afford the
required technical books, and thus could no longer invest that much
time in my personal projects. I got introduced to Common Lisp in 1994
which quickly became my favorite programming language. In 1996 I wrote
my
project work (GenEd) in Common Lisp,
and later in 1997 / 1998 also
the program for my diploma thesis.
I started to work at the university in October 1998, after my diploma thesis, and started working on a PhD, which would leave no time and energy for bigger personal projects the next ten years.
I started to work at the university in October 1998, after my diploma thesis, and started working on a PhD, which would leave no time and energy for bigger personal projects the next ten years.
Retro-Computing: Return of the Old Friends
It must have been 2001 when I discovered
that lots of old 8Bit and 16Bit home computer were sold on a nearby
flea market, and on eBay, for very small money. And no, we still had
no HAL 9000 computer. Instead, I started to collect some of those old
machines, and also acquired some Amiga hardware which I couldn't
afford 10 years ago, e.g. an Amiga hard disc. Also, the WWW had been
invented recently, and some good repositories with software for old
retro machine were available now. I spend some hours with the
soldering iron to make cables for the transfer of software from and to
the Amiga, from and to the CPC, etc. I could thus backup my old
software to the PC. Today, I have a nice little collection of retro
machines. Collecting and playing with these old machine is fun, and
a fine collection of old machines doesn't
take much more space than a cupboard in your bed room ;-)
Another remarkable event occurred in 2002. Starting in 1987, the "CPC International" had published a series of articles called "The Software Experiment" by the author Matthias Uphoff, featuring very interesting topics such as Mandelbrot (Appleman) fractals, Artificial Intelligence, game playing with the Minmax algorithm, etc. Not only the principles were explained, but also working CPC programs (with lots of high performance machine code) were presented. After the first two issues, Matthias Uphoff had already acquired a kind of "CPC super hero" status in the CPC community (also for his very good text processing program, "ConText CPC"). The "CPC International" had even published an interview with him in which he explained his road to computer programming and to the CPC. I was a fan of him. Starting my personal retro computer trip in 2000/2001, I thus posted and contributed to discussions on CPC mailing lists and WebBoards. How surprised I was when I found an email from my personal CPC hero of the past, Matthias Uphoff, in my Inbox one day! Sometimes, the world is really small... He asked me for assistance regarding the conversion and the transfer of old 3 inch CPC floppy discs to the PC. He had realized from a discussion thread on some CPC WebBoard to which I had contributed that I still had the required CPC hardware and knew how to do it. He wanted to run his old programs again (on a CPC emulator). He did send me his discs by snail mail, and indeed I was able to bring them to the PC. During the CPC nostalgia email exchange we had, we discussed how nice it would be if his "Software Experiment" articles were available online, together with the old programs. The results of Matthias' efforts can be found here. There is also a DSK file containing the programs. Thanks for mentioning me in the "Nachwort (2002)", Matthias :-)
Another remarkable event occurred in 2002. Starting in 1987, the "CPC International" had published a series of articles called "The Software Experiment" by the author Matthias Uphoff, featuring very interesting topics such as Mandelbrot (Appleman) fractals, Artificial Intelligence, game playing with the Minmax algorithm, etc. Not only the principles were explained, but also working CPC programs (with lots of high performance machine code) were presented. After the first two issues, Matthias Uphoff had already acquired a kind of "CPC super hero" status in the CPC community (also for his very good text processing program, "ConText CPC"). The "CPC International" had even published an interview with him in which he explained his road to computer programming and to the CPC. I was a fan of him. Starting my personal retro computer trip in 2000/2001, I thus posted and contributed to discussions on CPC mailing lists and WebBoards. How surprised I was when I found an email from my personal CPC hero of the past, Matthias Uphoff, in my Inbox one day! Sometimes, the world is really small... He asked me for assistance regarding the conversion and the transfer of old 3 inch CPC floppy discs to the PC. He had realized from a discussion thread on some CPC WebBoard to which I had contributed that I still had the required CPC hardware and knew how to do it. He wanted to run his old programs again (on a CPC emulator). He did send me his discs by snail mail, and indeed I was able to bring them to the PC. During the CPC nostalgia email exchange we had, we discussed how nice it would be if his "Software Experiment" articles were available online, together with the old programs. The results of Matthias' efforts can be found here. There is also a DSK file containing the programs. Thanks for mentioning me in the "Nachwort (2002)", Matthias :-)
The end
I hope you enjoyed reading my little home computer
memorabilia. It was fun writing these pages. I'm sure you have similar
memories. IMHO, the 1980ies and 1990ies were the most exciting
computer time period. In these days, "home computing" was still
considered to be some kind of a black (or white?) magic, which only a
few insiders could perform. Nowadays, everyone has a at least one PC
at home, and the world is full of computerized things. Since then, the
improvements in hardware and software technology, and the social
impact of computer science was tremendous. Still, I am more
fascinated by the computer graphics in "TRON" than by the computer
graphics in recent movies such as "Wall-E"... somehow, there was
more magic 25 years ago. Perhaps one reason is that I know much more
about computers by now - or I am just getting old ;-)