Local Links

External Links


Search this site

Who Is Thomas Tempelmann?

"He's the best type of user, the one that debugs a problem so far so that he tells you exactly what you're doing wrong, and how to fix it." (Brian Bechtel)

In short, Thomas is a guy in his mid-50s, with the tendency to be obsessed with details, being of short temper and generally annoying his peers quickly with his attention to detail and want to get everything right.

But that's probably not what you wanted to know if you came to this site. Let's start again.

Thomas has been exploring all kinds of depths in the programming world in the past 40 years, and this page shall give the interested reader a little insight in the achievements a single programmer can obtain.

On this page... (hide)

  1.   1.  Highlights
    1.   1.1  F-Copy
    2.   1.2  Modula-2
    3.   1.3  MagiCMac
  2.   2.  Further achievements
    1.   2.1  Gepard Computer
    2.   2.2  Templemon
    3.   2.3  Joliet, DirectCD, Toast
    4.   2.4  EyeTV
    5.   2.5  REALbasic, Real Studio, Xojo
    6.   2.6  Slot Machine Cracking

1.  Highlights

1.1  F-Copy

Thomas created F-Copy for the C-64 in the early 1980s.

F-Copy was reducing the time to duplicate floppy disks dramatically from roughly 25 minutes to less than 5 minutes. Other even smarter programmers reduced these times to 2 minutes, all based on his original research. In the same way, his Fast Load program (and various clones) enabled programs to be loaded from floppies much faster into the computer as well.

Without Thomas' work, disassembling and understanding the intelligent floppy drive's OS all by himself, this wouldn't have happened, or at least not for another few years. F-Copy (and its successors) was the program that practically every C-64 user had in his repertoire back then. It opened a whole new level of "exchanging" software between C-64 fans, and thereby also helped making the C-64 more accessible and popular.

Here you can read more details on the reverse engineering process.

1.2  Modula-2

The Atari ST was the poor man's Macintosh in Germany. Contrary to Northern America, where the ST was considered a gaming computer due to its heritage (Atari was a big game manufacturer back then), it was primarily used with the monochrome monitor (640x400 pixels), therefore looking like a slightly bigger and faster Mac Classic.

Soon, Germany produced a lot of great titles for this computer, some of which were able to make PC or Mac users quite jealous (Signum, Calamus).

At the time, Modula-2, as a potential successor of Pascal, became very popular on the ST. Thomas ported an independently developed compiler from the Gepard computer (whose entire OS was written in M-2) to the Atari ST as Megamax Modula-2. Soon a few other Modula-2 systems followed (Ports of the ETH system, Hänisch), with the effect that Modula-2 became at times more popular than C as a programming language for the ST, because they generated better code and offered more comfort than the available C development systems. Only when Pure Pascal and Pure C appeared, the popularity shifted back to C. Yet, there was a time when everyone in Germany talked about Modula-2. Thomas is sure that this was partly due to having many competitors fight for attention. (Thomas later learned that Apple was internally even considering switching from Pascal to Modula-2. Apple was apparently waiting for the ISO standardization committee to come to a resolution. Sadly, the committee never reached one, and Apple decided to switch to C, eventually. Thomas was also actively involved in that ISO committee, and his stubborness might have been part of its failure, but that's another story, one he's not so proud of in reprospect.)

The main source code and docs of the MM2 system can be downloaded here: http://www.tempel.org/files-e.html#MM2

1.3  MagiCMac

With Atari's eventual demise, Atari ST users in Germany were left to wonder which system they should switch to. The major player was Microsoft with DOS and Windows. Macs where never considered an alternative in Germany because Apple marketed them mainly as a system for DTP and press (contrary to the U.S., where they were given to students with a discount, making them fairly popular over there to the general public).

The dilemma for the ST users was, though, that its User Interface resembled much more that of a Mac's than that of Windows. Windows was frowned upon by many ST users. But what should they do?

One of the biggest ST software publishers had the same problem: With the ST market dying, where should they go? So they asked Thomas if he couldn't figure something out to make Atari ST software run on Macs. After all, there were emulators such as Magic Sack and Aladin, which allowed to run Mac OS on an Atari, so why shouldn't it work the other way, too?

Thomas was given a contact from Apple who supplied him with a Quadra 950. Having had quite some experience writing machine level debuggers for 6502 and 68k CPUs (e.g. Templemon), he soon figured out how to coerce the Mac's OS to run a modified Atari OS on the Mac concurrently. The first VM for the Mac was born (though the term VM wasn't popular yet, so we long struggled with the incorrect term "emulator").

Thus MagiC!Mac was born, a VM that allowed "cleanly" written Atari ST software to run on Macs alongside. Cleanly written because the VM was not able to emulate the ST's hardware: Software that accessed i/o registers directly would not run. This affected mainly games. But since the ST wasn't really the gaming machine in Germany anyway (the Amiga took that role), and since the German speaking development community was well connected, most programmers were quickly educated how to write clean and therefore portable code.

Thus, MagiC!Mac did not only provide a bridge for many ST users to move to the bright Mac side, he also indirectly helped Apple to sell more Macs in Germany, simply because many users would have otherwise rather switched to the expensive Windows systems. With MagiCMac, these users could save a lot of their software investments and data when switching to the Mac platform, instead of having to start over mostly from scratch when entering the Windows world instead.

2.  Further achievements

2.1  Gepard Computer

Around the time Apple had just presented the Lisa and was developing the Macintosh, said group of Apple ][ users thought they could build a computer that was as modular and open as the Apple ][ (which Lisa and Mac weren't) but with the power of the Motorola 68000 CPU. They created an entire computer system from scratch, hardware and software, and called it Gepard. Initially, it was just the CPU with RAM, EPROM and I/O, using an Apple ][ as their terminal and disk station. Later, cards for graphics, keyboard and disks were added, making the Gepard a self-sufficient system. A few hundred systems were sold, mainly in the German speaking areas, before the company went bankrupt.

The Gepard was getting attention for having a few unique and outstanding features:

  • The OS and the applications were programmed entirely on Modula-2, with the help of an inline-assembler.
  • The Modula-2 compiler, which eventually became part of Megamax Modula-2 on the ST, was self-written, originally in pure assembler, and therefore very fast (high-level optimizing compilers that would avoid optimizations in assembler were not around back then yet).
  • Modula-2 with its well-defined linking model, allowed the programs to re-use resident modules (i.e. libraries), even replace single modules at runtime, without having to rebuild the entire running application. This, along with the fast compiler, provided for an exceptionally high turn-around speed in the edit-run cycle.
  • Used the fastest floppy drives available (Sony 3.5" double speed, which hardly any other computer back then used).

Thomas was originally involved in this project by writing a machine level debugger for it, which was a rewrite of a machine monitor/debugger he cloned from a VIC-20 plug-in module and improved thereafter. Later, he wrote software to use the C-64 instead of the Apple ][ as the terminal for the Gepard. When Gepard computer closed, he took over further development of the Gepard OS for another 2 years.

2.2  Templemon

Templemon was a resident 680x0 machine level debugger for the Atari ST. It helped with debugging and analysing many Atari programs. It was a port of the monitor he had written for the Gepard.

Templemon was sold as shareware. If the customer paid for it, he was mailed a printed manual for the program. Various scans of the manual, executables and sources can be downloaded here – this includes the improved versions 2.x by Johannes Hill.

2.3  Joliet, DirectCD, Toast

In 1996, Thomas was hired as a contractor by Markus Fest, author of Toast, the Mac's most successful CD recording software, to write a file system driver that supports the Joliet extension for CD-ROMs. At the time, Windows computers used the Joliet extension to record long file names on Data-CDs, whereas Apple's Mac OS did not support this extension, so that a Mac would show only cripped "8.3" file names on Windows-created CDs. In 1997, Adaptec bought Toast and invited all developers to work for them in Milpitas, USA. Thomas was invited, too, so he took the opportunity and moved to the San Francisco Bay Area in April 1997, working for Adaptec, later Roxio, for the next 4.5 years.

During that time, Thomas wrote the file system driver for the Mac version of Direct CD, a quite successful CD-recording product for Windows at that time. The Mac version lacked the features of the Windows version, though, and it never received much attention in the Mac world.

In 2002, Thomas moved back to Germany. By then, he finished the Joliet driver which had been put on hold during the time in the USA. He finished it and released it as Joliet Volume Access. While it was originally free, Thomas eventually offered an improved version giving more control over its features, for $15. Despite the free version, surprisingly many people chose to pay for the improved version.

During the time at Adaptec/Roxio, and thereafter, Thomas also made improvements on Toast:

  • Joliet support for ISO 9660 creation
  • HFS+ support
  • UDF support

2.4  EyeTV

Markus Fest had by then founded his new company, Elgato. Their main product was EyeTV. Mainly a hardware product, Elgato not only wrote the Mac application to view TV on the Mac, but also the firmware of the earlier devices. Thomas made a few improvements to the firmware of the EyeTV 200 device and also wrote a Flash-ROM updater that would ensure that even if the device lost power or failed in other ways during the firmware update, it would not be rendered "dead". This is of interest because you might notice that many modern devices (phones, digital cameras, even Macs) still urge you, when you perform a firmware update, not to turn off the computer, as it might render it useless - and it often would do. Well, it doesn't have to be that way, provided the design allowed for enough Flash-memory on the device. To make a long story short - the update of 1000s of devices went without a hitch.

2.5  REALbasic, Real Studio, Xojo

Having programmed many CPU types in machine language (6502, 6809, 8080, Z80, 8086, 68k, PowerPC, Altivec, i386, SSE), and several high-level languages (BASIC, Pascal, Modula-2, C, C++, Java, Objective-C), Thomas was never at home with designing user interfaces. He rather stayed at the "low level" and avoided projects that would involve creating an app with a graphical UI. He stayed away from High-level frameworks like Metrowerks CodeWarrior's PowerPlant, as they appeared too abstract for him. Then, by the end of the 1990s, Thomas discovered REALbasic. It was not the language that fascinated him, but its easy-to-use interactive interface designer - He could visually design his interface and then fill in the necessary even handling code right there as well, without having to deal with all the overhead that PowerPlant and other frameworks required (even today, Cocoa and iOS still make this more difficult than Real Studio).

So Thomas got hooked on REALbasic (now Real Studio). Even better, it soon became a cross-platform system, allowing him to design my apps on a Mac, and make them run on Windows without much hassle as well.

Some things REALbasic lacked, though. Its framework had a lot to desire in features. Fortunately, it provided a plug-in system. And so Thomas started writing plugins, making them available for free, thereby empowering REALbasic even more. A few years later Thomas handed these plugins over to Christian Schmitz, who just started writing and selling a few plugins of his own. Soon he became the primary provider of feature extensions for many REALbasic users, and he is now running a quite successful business from it.

Recently, Thomas has written a few products for Real Studio that he sells as well:

  • TT's Zip Package is a set of classes to read and write Zip files, which works on all platforms.
  • Arbed is a editor for RB projects, assisting in some otherwise tedious tasks, such as localization, project comparison and searching multiple projects.

2.6  Slot Machine Cracking

Thomas once reverse-engineered a German "slot machine", making it possible to "predict" the next numbers and bet on them. You can read the story at Stackoverflow or read it here.

Page last modified on 2023-10-24, 20:21 UTC (do)
Powered by PmWiki