1980 |
As far as I can remember, it all started out sometime in 1980. I went to
highschool in Frankfurt/Germany and met Sabine Weckler, daughter of Wolfgang Weckler
who, by the time, was selling Data General computer systems and microprocessor
based systems in Germany.
I was very interested
into computer hardware back then, and asked Sabine, if it would be possible to
meet her father and have him show me a few things on a weekend. Soon after, I visited Wolfgang in his office every Saturday, fiddeling around with a computer system based on Intels 8085 with 64K of RAM and two 160K floppy drives wheighing around 100 pounds. The only programming language available on this system was BASIC. Since I did not know any programming language, I started learning BASIC and wrote some little applications we were using to organize a track & field contest in my sports club. |
||
1981 |
Around this time, Wolfgang started ONYX Computer GmbH, a company selling Z80 and Z8000
based systems manufactured by ONYX Computer, Inc. out of San Jose, CA. The Z80 machines
were delivered with the OASIS 8 operating system. OASIS is a multi-user/multi-tasking
operating system designed for the Z80 processor. The ONYX C8001 computers where equipped
with 64K RAM, a 10 MB hard disk and did support up to 3 users. Today, I still have
a Z80 system with OASIS 6.1 in my attic somewhere ....
My programming practice was basically porting the existing BASIC programs to OASIS BASIC and start writing some assembly language subroutines. |
||
1982 |
The ONYX C8002 computers where shipped for the first time to Germany. These
boxes where based on the Zilog Z8000 processor, a Z80 co-processor and had
256K RAM and an 8" hard disk with a capacity of 20 MB.
They supported up to 8 users under IS/1, the Interactive Systems UNIX derivative.
This was the time, when I got involved into the UNIX arena. Since C was the primary language available under UNIX, I started learning C and ported some applications from THEOS BASIC to C. That way, I got a fair amount of understanding of the C language and the UNIX environment itself. One of my jobs at ONYX was to test the UUCP package delivered with IS/1. I had to setup three C8002 boxes forming a little network. The communication was over asynchronous serial lines. Later on, I installed the TCP/IP stack to get FTP servers and clients up and running. In parallel to the UNIX work, I still developed applications under OASIS 8. |
||
1985 |
It was fascinating to me, how software could be used to split up a single CPU to
run different tasks at the same time.
I wanted to know more about the internal details of
a multi-user/multi-tasking operating system and decided to analyse the OASIS NUCLEUS.
Therfore, I developed a Z80 disassembler in C and started to analyse the OASIS scheduler. While doing this, I added functions to the disassembler that allowed me to add comments to each assembly instruction. Later on, I was able to disassemble the complete NUCLEUS into an ASCII source code file, modify, re-assemble and run it. After the scheduler had been analysed, I continued analysis of the filesystem, the device drivers and the bank switching. |
||
spring 1987 | During the CeBIT trade show, I personally met Tim Williams, the president of THEOS Software Corp. and author of OASIS, for the first time. I showed him the work I have done to analyse his OASIS NUCLEUS. I don't know if he was impressed or not. | ||
summer 1987 |
A couple of months later, I was invited by Susan Catalano, former CEO of
THEOS Software Corp.,
to spent three months on a project in Walnut Creek, CA
at the THEOS headquaters. My task was to port the THEOS 286V 2.2 operating system
to the IBM PS/2 platform. During this time, I ported the floppy-, harddisk-,
serial-, parallel- and VGA-driver as well as the bootstrap loader to support
the Microchannel architecture.
After I finished the port, I went back to Germany. |
||
fall 1987 |
During my work at THEOS, I always had three terminals to be able to edit, compile
and debug at the same time. At home, I only had the space for the main monitor
and decided, that I would need something I called virtual consoles.
I started to design and write a driver that supported up to 8 virtual consoles. Using <BREAK><Fx> (that's where this sequence comes from that everybody is used to these days) I was able to switch among different consoles. When I finished this work, I sent the source to Tim. He modified the code and incorporated the feature into THEOS 386 version 3.0 and called it multi-sessioning. |
||
summer 1988 |
In the following year, I got invited to Walnut Creek, CA again to port the THEOS
BASIC interpreter and compiler from 16 bit to 32 bit. This would increase the
capabilites of the BASIC language to use larger memory areas than 64K, a limitation
of the 16 bit world.
It took me three months, to port the interpreter and the compiler. I was unable though to finish all of the runtime library modules before my visa ran out and I had to return to Germany. It took years though, until the first commercial release of a 32 bit version of THEOS BASIC became available. |
||
winter 1988 | After I returned, I got a contract to write a multi-session driver for terminal attached to THEOS over asynchronous serial communication lines. I cannot remember, why I called this driver DEV90 .... | ||
1989-1990 |
During my civil service time, I was working on a few projects:
|
||
summer 1990 | After I fulfilled my duties of my civil service, I moved to California to start working for THEOS Software Corp. directly. During this time, I was working on some bug fixes in the OS, the C compiler and the BASIC language. Today, I remember one problem that occured almost every day and stopped operation of a lumber market in British Columbia. This was a nasty problem that was unreproducable and had to do with starting subtasks and file open/close operations at the same time. It took me two weeks to nail it down and to implement a fix. Implementing the fix was the easy part ;-) | ||
early 1991 | Around this time, I started working on PACK 2.0. This program became available to the THEOS community later the same year and used the THWINDOW window management system. | ||
summer 1991 | In July 1991 I returned to Germany and started working on THB_WIN a few weeks later. See "The history of the development of THB_WIN" for more details on the development of this program. | ||
since 1992 | In 1992 I started working for a German company that was not related to the THEOS operating system at all. From there on, I developed unter MS-DOS, MS-Windows, various UNIX platforms and LINUX. My work in the THEOS arena dropped down to support THB_WIN. | ||
since 1996 | Since 1995, I maintain the source of the ACCESS report generator for POS. A complete listing of the changes can be found on the ACCESS page. | ||
autumn 1999 | While working on the Y2k changes for ACCESS, I got the demand for a version control system under THEOS. This was the actual start of the GCC for THEOS project even though it took more than a year that I actually started working on it. | ||
spring 2001 | First releases of the GCC for THEOS cross-compiler. |