MiNT is Now
TOS
an interview with Mr Eric
R. Smith, the
creator of MiNT
Conducted by Konrad M.Kokoszkiewicz(1998-1999)
Konrad M.Kokoszkiewicz: You worked
for Atari as a programmer, so you probably had a chance to take a closer
look at this company. The Atari is considered a company, that had great
hardware and software laboratories, where people liked their job (and
some of them are still addicted to it). And it, people say, can be known
from Atari products, all well planned, having more useful features than
funny gadgets. But, people say, bad marketing and management put the
company down. Were labs as good and the marketing as bad? In other words,
is it true or it is just another legend?
Eric
R. Smith: Well,
there's certainly a lot of truth to it. I think Atari's engineering
department was very good, as was some of Atari's management. But
certainly there were some problems with marketing, and there were some
managers who didn't understand the problems (probably every reasonably
large company has such managers!) Also, the market changed very rapidly
in the early 1990's, and I think Atari had trouble keeping up with the
changes.
KMK: The story behind the TT030 is
rather well known (i.e. this started in 1986 as a 68020/16 MHz Unix
workstation, then ended up as a 32 MHz 68030 TOS box after Atari
finished the hardware and dropped the System V). What about the
Falcon030? Can you say something about it? I.e. when they started
working on it, is this true that the computer was originally 68000 based,
then they changed to 68030... and so on :)
ERS: I arrived after the Falcon030
was finished, so I don't know much of the history. It's possible that it
was originally 68000 based, but I couldn't say for sure. The successor
to the Falcon030, which was called the "Microbox", would have
been a nice machine -- a Falcon in a small box, with a detached keyboard
like on the Mega ST and TT. But it was decided that we needed to
concentrate all of our resources on the Jaguar, so it was never finished.
KMK: Since you're known to be "the
father of MiNT",
I'd like to ask you about details of the MiNT
history. How did it begin, what was the original concept, how it was
developed, how it became MultiTOS etc. Could you describe it?
ERS: My first multitasking system
for the Atari was written in 1987. It was rather hacked together, and
not very Unix like at all, and so I soon got frustrated and re-wrote it.
The re-written version was technically better, but never really got
finished; other projects got in the way.
KMK: By the way, browsing the MiNT
sources I found a magic number saying: 0x19870425, which litterally
looks like 25. April 1987. Can you remember what is the date and is it
related to MiNT
history in any way? Or it is just an arbitrary magic number?
ERS: I think that's the date of
some TOS release. The magic number was supplied to me along with some
memory allocation routines by a programmer at Atari; probably Allan
Pratt or Ken B. The multitasker I wrote in 1987 was never released, and
none of its code was re-used for MiNT.
It never really got very far anyway. I only mentioned it because some of
the ideas I learned from it did influence MiNT.
Two years later, I was working on the GNU C library for the ST, and
porting GNU software. It was originally written for Unix systems, and
porting to TOS was made harder because TOS lacked many Unix features. It
seemed to me that it might be easier to add those features to TOS than
to change every Unix program I wanted to port. And so MiNT
was born...
KMK: When did it exactly happen?
ERS: MiNT
0.1 was dated May 18, 1990. It ran a few command line utilities, and
could do limited multitasking. Once the kernel was up and running, it
evolved very rapidly. By version 0.5 it was stable enough that I felt I
could share it with a few other users. Version 0.6 was more widely
distributed on the Internet, and soon programmers from all over the
world were helping me with it. With version 0.7 came the Minix file
system by Stephen Henson and TT support by Allan Pratt of Atari. Other
early contributors to MiNT
were Jwahar Bammi, Howard Chu, Alex Kiernan, and Julian Reschke.
KMK: When and how MiNT
has become MultiTOS?
ERS: At around that time Atari was
investigating doing a multitasking version of TOS. Allan Pratt was
familiar with MiNT,
and suggested that it be used as the kernel for MultiTOS. The suggestion
was accepted, and Allan contacted me about it. I decided that if MiNT
was to become a standard, it needed to be more flexible in the way it
handled file systems. Version 0.9 featured a major re-write of the file
system code to make loadable file systems possible, and to reduce the
number of drive letters necessary. This was when drive U: was introduced,
with subdirectories for some of the things, like devices and pipes, that
used to be on separate drives. Allan also began work on adding memory
protection to Atari's version of MiNT,
which was developed in parallel. In 1992 Allan left Atari to pursue
other projects. They needed someone to finish the kernel part of
MultiTOS, and hired me. I started work at Atari in November of 1992.
MultiTOS 1.0 was released soon after that, with MiNT
version 1.0 as the kernel. Public development of MiNT
continued still. In fact, a MiNT
mailing list was set up, and a large number of skilled developers made
additions to MiNT
and fixed bugs in it. Atari eventually dropped its computer line. My
superiors there did agree to the release of Atari's version of MiNT
under a less restrictive license. My other commitments made me slow down
MiNT development
work. The developers on the MiNT
mailing list continued to develop their version of MiNT,
called "FreeMiNT", with Michael Hohmuth coordinating releases.
Kay Roemer's release of MiNT-Net,
Stephen Henson's continued support of the Minix file system, and various
other projects such as an X Window port have kept MiNT
a very interesting and active system.
KMK: So, the MiNT
was initially just a TOS extension made in order to run GNU software on
ST, then it got considered an independent OS, do I get it correctly?
ERS: That's basically right,
although I realized quite early on that I would have to replace all of
GEMDOS in order to provide the functionality that some GNU software
would want.
KMK: Why the name "MiNT"?
I know it was explained as "MiNT
is not TOS", then "MiNT
is now TOS", but where the concept of that "recursive
abbreviation" came from?
ERS: It's by analogy to "GNU",
which stands for "GNU's Not Unix".
KMK: Has the MultiTOS got all its
Unix-like features from the MiNT?
Was it planned for the MultiTOS to support some Unix features from the
beginning or it was MiNT
what introduced that?
ERS: I think the main goal of
MultiTOS was pre-emptive multitasking. If Atari hadn't used MiNT,
MultiTOS may not have been very Unix like at all -- but since they did
use MiNT, all
that is pure speculation :-).
KMK: Why Atari didn't make a
complete multitasking OS instead of a soft loaded extension?
ERS: MiNT
already existed, it was reasonably functional, and it was cheap. I'm
sure that if Atari had continued in the computer business for longer, MiNT
would have become more closely integrated into the OS.
KMK: In many places across the
source code you can see quite a lot of lines those refer to the 68040
processor. Was it planned for a TT040, Falcon040 or perhaps it was added
later, by other developers?
ERS: It was added by developers to
support some of the third party 68040 boards.
KMK: How did you manage to explore
TOS deep enough to write MiNT?
Was the Atari documentation sufficient, or had you to discover some
things yourself, disassembling the TOS code etc? I am asking, because
the MiNT source
is actually a thesaurus of information about TOS internals, bugs etc,
which are hardly documented anywhere else.
ERS: I used the Abacus ST Internals
book; that was very helpful. I learned a few things by disassembling
TOS, or by asking Atari employees directly. But most I learned by trial
and error -- I would try applications under MiNT,
and if they didn't work I would trace through and figure out what went
wrong.
KMK: What do you think about MiNT
pretending to be a fully featured Unix?
ERS: I think that's overly
ambitious. MiNT
is not really intended to be Unix, and I think it's better to go with
Linux for that. Mostly I intended MiNT
to be a "better TOS", with enough Unix like features that
porting software from Unix would be easy. I think MiNT
has largely succeeded at this.
KMK: Linux can't run GEM programs.
As I understood, people are using MiNT
because it is *both* Unix-like and GEM compatible. So maybe it would
make sense to keep the tendention to make MiNT
a full Unix keeping TOS compatibility (instead of a TOS featuring some
Unix functions)?
ERS: MiNT's
primary purpose is to run TOS programs; that's what it can do better
than Linux (whereas Linux can run Unix programs better than MiNT).
I think it's good for MiNT
to become more Posix/Unix compliant wherever that won't hurt the primary
goal of running TOS applications; but I think that where TOS and Unix
conflict, MiNT
should choose TOS compatibility.
KMK: What do you think about the
future of MiNT,
if any?
ERS: I don't really have any
thoughts on this. I don't use my Atari much anymore (except as a print
server for an SLM printer). In the long run I guess that Atari hardware
will be interesting only to collectors, unfortunately. But in the short
term perhaps MiNT
can make that obsolete hardware do useful things for some people.
KMK: I realize that Atari hardware
may be considered obsolete (because it really is, of course, especially
ST series), but MiNT
is also getting the main OS for Atari clones like Hades and Milan. What
do you think, will they (and MiNT
with them) survive any longer, or should they be just dropped because
the m68k technology they use is obsolete as well?
ERS: If people are using their m68k
computers and having fun with them, then that's great -- and if MiNT
can keep those machines useful for longer, then I think that's one of
the best things MiNT
can do.
KMK: And what do you think, why
MacMiNT didn't survive in the Mac world?
ERS: I'm not sure. I guess most Mac
users preferred "native" Mac programs; probably as more and
better ports of Unix programs to the Mac became available the need for
MacMiNT declined.
KMK: What do you think about the
relative popularity the MiNT
got now among Atari users?
ERS: I'm very pleased that people
find MiNT useful!
:-) It seems that the MiNT
community is still very active, and I think that's a good thing. While I
don't use my TT much any more, that's not because it's not still a
viable platform -- it just isn't suitable for the tasks I'm doing right
now. I know a lot of people do useful work on ST's and TT's, and I hope MiNT's
continuing development helps them to do this. Moreover, it looks like
lots of people have fun hacking MiNT,
and that's really the most important thing -- that's why I wrote it!
|