Skip to main content
? Antoine

 "Fidelity:  A  virtue  peculiar  to those who are  about  to  be
betrayed."


              MULTITOS - HOW TO GET MORE OUT OF IT
                      by Wilfred Kilwinger

 Some  time ago,  the Dutch computer magazine "Atari  ST  Nieuws"
(the  magazine  that is for some reason often  confused  with  
ST
NEWS)  released an article on MultiTOS written by  main  software
support honcho at Atari Benelux,  Wilfred Kilwinger. Both Wilfred
and  "Atari  ST Nieuws" considered it fine if I  translated  this
article for use in 
ST NEWS.

 For a while now,  Atari has been marketing the "MultiTOS" multi-
tasking operating system.  Thanks to "MultiTOS" your computer can
execute several tasks (i.e. programs) simultaneously. But there's
quite a lot to being able to execute several programs at the same
time.  Atari did their best to make "MultiTOS" to make sure  that
you   barely   notice  you're  working   with   a   multi-tasking
environment,   and   without  all  the   intricate   installation
procedures normally required.  Still,  it would be handy to  give
you some extra tips on how to get more from "MultiTOS" and use it
more easily.  I'll try to use as little deep theory as  possible,
but  at  times it will be impossible evade.  First I'll  get  you
acquainted with the important segments of "MultiTOS", i.e. "MiNT"
(the  multi-tasking  layer on top of the BIOS) and  GEM.SYS  (the
multi-tasking  AES  and desktop).  Both have their  own  specific
configuration  files and their own specific tricks.  Once  you've
read this article you will understand more of "MultiTOS".

 MiNT  was made by the Canadian Eric Smith in  close  cooperation
with  Atari programmer Alan Pratt.  Eric wanted to make a  GEMDOS
capable  of  multi-tasking  and that would  give  access  to  the
Atari's I/O system. Originally, MiNT means "MiNT is Not TOS", but
after Atari licenced it it became "MiNT is Now  TOS".  Originally
it  was available through the Public Domain and even  the  source
code could be obtained.
 Eric Smith still spreads the PD version of MiNT, but the version
of  "MultiTOS"  marketed by Atari has some  Atari-specific  parts
that are not Public Domain and of which the source code cannot be
obtained.
 MiNT  is a very important part of "MultiTOS";  it  contains  the
scheduler  for multi-tasking,  the part that controls all  multi-
tasking  and that is necessary to have several tasks make use  of
memory, system I/O and the file system.

                              UNIX

 The UNIX Operating System was the rolemodel for MiNT.  This  can
be  noticed  by the Operating System calls and  by  inter-process
calls such as messages, pipes and device drivers.
 MiNT  had one disadvantage,  however - it only allowed  one  GEM
program to run or several TOS (i.e.  non-mouse text applications)
programs.  This  was caused by the fact that Eric didn't  have  a
multi-tasking AES.
 AES  is  the  part  of GEM that  is  responsible  for  programs,
accessories,  menus,  dialog boxes,  etc.  The other part of GEM,
VDI, is responsible for the graphic parts of GEM.
 To  create "MultiTOS" Atari had to make a multi-tasking AES  and
corresponding desktop.  And that's exactly what  happened.  Atari
also  continued the road it has embarked upon with TOS  2.06/3.06
and  increasing the optics of the desktop by adding  3D  buttons,
movable  alert boxes and a lot more.  This 3D look,  by the  way,
only works when you work with at least 16 colours.

                            UTILITIES

 So  the  actual  parts of "MultiTOS" are  MiNT  and  the  multi-
tasking  AES.  "MultiTOS" is supplied with some  extra  utilities
that  may  appear actually to be part of  "MultiTOS"  but  really
aren't.
 One of these utilities is "VIEW.APP",  a program which makes  it
possible  to view text files in a window instead of viewing  them
directly on the desktop which would cause them to appear all over
whatever tasks you're executing there.
 By  means of the "GEM.CNF" configuration file it is possible  to
integrate such a viewing utility with "MultiTOS".  Similarly, the
desktop  copy-and  format-routines  can  be  replaced  by   other
programs.
 "MultiTOS" is supplied with an easy-to-use installation  program
with  which  you  and your sister can install it  on  hard  disk.
Further  usage  information can be obtained from the  short  user
manual.
 "MultiTOS" can be configured extensively, but Atari has not made
the   appropriate   information   available   to   prevent    the
inexperienced  user from using "MultiTOS" wrongly and  decreasing
the  trustability of the  system.  This  article,  however,  will
feature most of this information.

                          WHICH ATARI?

 Many  ST users think that "MultiTOS" will work only on a  Falcon
030 or TT. However, it will work on any ST with TOS versions 1.04
or up, at least 2 Mb of memory and a hard disk. "MultiTOS" itself
does not actually take up 2 Mb of memory,  but to have  something
left  of  your memory to use two or more  programs  sensible  you
would need such an amount of memory anyway.  "MultiTOS" will also
work on a 1040 ST with memory expansion,  of course. It has to be
noted that "MultiTOS" will not be particularly fast when  running
at 8 Mhz (i.e.  with a standard ST or MEGA ST),  but it's  always
nice  to have several applications in memory at the same time  if
you have enough memory for it.
 On an Atari MEGA STE,  "MultiTOS" results are quite OK.  But  to
work with it at its best you would need a TT or Falcon  030.  The
whole thing will also be more crash-resistent due to the  68030's
built-in MMU.
 In  practise most programs will also work correctly on a  normal
ST, but there is a bigger chance that certain programs will crash
the whole thing.

                             DESKTOP

 When  you  start  up "MultiTOS" you will get to  see  a  desktop
similar to that of TOS 2.06/3.06,  but with some small changes in
the menus.  In case you were used to TOS 1.04 it will be a bit of
a surprise because, for example, all menu entries can be selected
by user-definable keyboard shortcuts.  There are also more icons,
and  each program or other file can have its own  icon.  You  can
drag  programs  onto the desktop to launch them from there  at  a
later time, or you can define a function key to launch a specific
program.  You  can  press the [HELP] key if you  want  assistance
about the built-in functions.

                            DRIVE U:

 It  might not have struck you yet,  but there's a special  drive
icon on the desktop.  It has the "U:" identifier ("U" stands  for
"Unified Drive").  With "Install devices" you can create an  icon
for this drive. You can open it using the [ALT] and "U" keys.
 After  having  opened drive U:  you will get the  names  of  all
present drives/partitions (for example A-F) and four folders with
the names DEV,  PIPE,  PROC and SHM.  The DEV folder contains all
device  drivers,  the PIPE directory contains the  active  pipes,
PROC  all the processes and SHM contains the shared  memory  that
one  or  several programs can have.  UNIX was the  rolemodel  for
MiNT,  so  as with UNIX,  a lot of things happen through  special
files  in  the file system.  Drive U:  contains the  entire  file
system.

                             U:\DEV

 DEV  is  the folder containing all  device  drivers.  These  are
special  files that give access to I/O ports such  as  AUX,  PRN,
KBD,  MOUSE  and  MIDI,  but also UNIX thingies  such  as  STDIN,
STDOUT, STDERR and TTY.
 It  would  for  example be possible to drag  a  text  file  onto
U:\DEV\PRN  to have it printed out or to use a shell  command  to
redirect output through data >u:\dev\prn.

                             U:\PIPE

 With any possible pipes present you can't really do a lot.  They
are used to interchange messages between two programs.  When  you
look at it you might find a file called ALERT.  This is the  name
of a pipe that MiNT uses to forward error messages to  ALERT.ACC,
that  can  then  put the error message in an  alert  box  on  the
screen.

                             U:\PROC

 This  directory contains all running  tasks/processes.  In  text
mode  or when using "Show Info" you can see the date on which  it
started  (file date and time),  the amount of memory it  consumes
(file size) and whether it's active at the moment or not (a small
triangle that normally indicates whether a file is "read-only").
 Because all tasks are now represented in the file system you can
perform  such functions as you can normally do with  files,  e.g.
delete them to quit a process.
 There  is a faster way to quit (i.e.  kill) a process  -  simply
klick  on  the  application name in  the  desk  application  menu
(leftmost pull-down menu) and keep the [CONTROL] key pressed.

                             U:\SHM

 This  folder  contains  files  that point  to  a  part  of  your
computer's memory that is used by several programs.  It's usualyl
empty,  or  otherwise  indicates two programs that use  the  same
patch of memory.

                    U: IS NOT A NORMAL DRIVE!

 It should be noted that drive U:  is not just an ordinary drive.
You can't do the same things with it that you would otherwise  do
with  a normal partition.  You can't copy files onto the  special
directories,  for example.  You can do a "Show Info" in the  PROC
folder to establish the amount of memory that is currently  being
used. A "Show Info" in drive U: will tell you the total amount of
memory  on the drives and in RAM.  The system will also  ask  for
"A:\" and "Insert disk B: in drive A" if you have not drive B.

                       MOVABLE ALERT BOXES

 You can move alert boxes by clicking on them,  keeping the mouse
button  pressed,  and moving them around.  This is handy  of  the
alert  box is on top of something you might want to see to  check
out what is going on.

                   SWITCHING BETWEEN PROGRAMS

 The  fact that you can work with several programs at  once  with
"MultiTOS"  is  commonly known.  But what to do  with  all  those
overlapping  windows and how do you get from one program  to  the
other quickly?
 There  are two ways:  The first is by means of clicking  on  the
application's  name in the "Desk Menu" list.  The second  way  is
even  easier,  by means of pressing [ALTERNATE][CONTROL] and  the
[TAB] key. By pressing the [TAB] key will cycle through the tasks
currently  in memory.  The application currently  activated  will
have its window displayed on top.

                             ICONIFY

 There is another way to handle a desktop full of  programs.  You
can change any window you might not want to use for a while  into
an  icon  -  this  is  called  iconification.  This  is  not  yet
implemented in "MultiTOS",  but will be in a future version.  For
now  it's  accessible by pressing [CONTROL]  and  "6",  though  a
rather more elegant means will be found in said future version.
 After  having pressed the proper keys you will see a small  face
in  the  left top corner with the word "NEWDESK"  under  it.  The
desktop is now sortof 'folded'. If you click on it again you will
get  back to the desktop.  After you press [CLR HOME]  all  icons
will be displayed again.
 Watch it!  When you do this when no other programs are activated
you  will enter the "MultiTOS" menu.  Never access that with  the
mouse or "MultiTOS" will crash.
 The  iconify  option  will be included in a  future  version  of
"MultiTOS".

                    CLEAR AWAY REDRAW ERRORS

 Some  programs don't feel at home in the "MultiTOS"  environment
and don't take into consideration that several programs might  be
active  on screen at the same time.  This might  cause  graphical
parts  of one program to remain on the icon or window of  another
application.  "Holes"  will  be left in one application  made  by
another.
 This can be easily solved by making the desktop the active  task
and  pressing  the  [CLR HOME] key.  All  applications  will  not
receive  a so-called redraw message and the screen will be  built
anew.
 Most  of  these  problems  occur  when  opening  or  closing  an
application.  By  entering the following commands in the  GEM.CNF
files these problems can be evaded:

 SETENV AE_SREDRAW=1
 SETENV AE_TREDRAW=1

 This  will cause all active application to get a redraw  message
whenever a new application will be started or an old one will  be
terminated.

                  LOST YOUR DESKTOP, START ANEW

 If  the desktop should crash for any reason,  "MultiTOS" is  not
suddenly  rendered  uncontrollable.  Atari did this by  making  a
"MultiTOS" menu from which you can start a new desktop again.
 This  can  easily  be  experimented  with.   Simply  delete  the
"NEWDESK.00x" file from U:\PROC\.  If you then click on  "SCREEN"
in the "Desk Menu" you will get the "MultiTOS" menu. Here you can
load a desktop or another application.

                    LOADING DESK ACCESSORIES

 According  to  the  "MultiTOS" user manual  you  can  run  extra
accessories  by double-clicking on them like you would any  other
program file. In practice, however, this only works if you modify
the NEWDESK.INF file. You would have to add the following line:

 #A 03 04 00 *.ACC@ @ @

               UTILITIES SUPPLIED WITH "MULTITOS"

 "MultiTOS"  is supplied with some utilities.  The manual  sortof
doesn't mention them at all, so you'll get some extra information
here.
 ALERT.ACC  is  a  small desk accessory  that  watches  the  pipe
U:\PIPE\ALERT  and displays everything that it is piped (er?)  in
an alert box. Usually this concerns memory violation errors, i.e.
errors of programs that violate some kind of memory protection.
 CHPROT.APP  allows you to adapt the memory protection bits in  a
program file's header.  This is easiest of you drag a program  on
top  of CHPROT,  which would make it useful to put CHPROT on  the
desktop.
 CLOCK.APP  is a small program to demonstrate  the  multi-tasking
capabilities  of  the  Atari computer.  LINES.APP  is  a  similar
program.  You can start them as often as you want to see if  your
computer  can still keep up with things.  "LINES" can be  fed  an
argument (10 or 20 or something) to determine its window size.
 LPR.APP  is  a printer spooler that is always active due  to  it
being mentioned in the GEM.CNF file.
 MINIWIN.APP is a program that will redirect all output of a .TOS
program  (text-based) into a window.  When executing a .TOS  file
you had best drag it on top of the MINIWIN.APP icon,  so it would
be ideally suited when put on the desktop.
 VIEWER.APP is also active through the GEM.CNF file and  displays
any  text file you click on in a window.  Other programs  can  be
specified in the GEM.CNF file instead of VIEWER.APP.

                    PROBLEM CASES (PRGFLAGS)

 Most  of  the  programs  you have are written  in  a  time  when
"MultiTOS"  didn't yet exist.  Back on those days  people  didn't
have  to  take the things into consideration  that  multi-tasking
progams have to.
 It  can  happen  that  a  program  won't  work  with  "MultiTOS"
installed because it's not programmed according to the rules  for
multi-tasking programming.
 Atari has tried to catch up these programs as good as  possible.
This  can be done by setting or clearing individual  bits  within
the file header,  for example to clear part of "MultiTOS"  memory
protection.  This  can be compared with the fast-load bit and  TT
memory installation.
 With   the  PRGFLAGS  program  you  can  install  these   values
yourself. There are four possibilities:

1. PRIVATE. Only the application and the Operating System can use
the memory is takes up.
2. GLOBAL. The memory used by the application is not protected at
all.
3.  SUPER.  The  memory used by the program can be accessed  from
other programs in supervisor mode.
4.  PRIVATE/READABLE.  All other applications can read the memory
occupied by an application but can't write to it.
 By  default,  all programs load into PRIVATE memory.  Many  AUTO
folder programs (TSR programs) can;t work in this  memory.  These
had then better be defined to run in GLOBAL or SUPER memory.

 Programs  that are located in the AUTO folder before "MiNT"  are
always  put to GLOBAL memory.  That way programs  like  RAMdisks,
FOLDR100,  CACHE080  and other programs can work with  "MultiTOS"
without problems.  A program in GLOBAL memory doesn't have access
to PRIVATE memory belonging to other programs.

                         MORE DIRECTIONS

 In the mean time some experience has been had using  "MultiTOS".
Some programs don't work perfectly with it, and often that can be
fixed. Below are some of these experiences.
 "1st  Word Plus" is a program that takes up all free memory  (up
to and including version 3.20TT at least).  This is called memory
hogging
,  and  means  that  you can't start  any  other  programs
afterwards.  You can solve this problem by setting MAXMEM in  the
"MINT.CNF" file to 200 Kb.
 "LDW Power",  a spreadsheet,  freezes the total screen when  you
start it, causing you to no longer be able to do anything. If you
run "LDW Power" throught the CHPROT utility mentioned above,  you
won't have any further problems.  The GLOBAL bit will be switched
on and the problem will be solved.  Alternatively you can use the
PRGFLAGS program to switch on the SUPER bit.  This is better, and
also works.
 "GfA Basic" is also a bit of a problem.  No "GfA Basic" programs
will  work  as  long as the memory protection  of  "MultiTOS"  is
switched  on.  With a special CPX module you can switch  it  off,
after which you'll have to start the system anew to make it work.
But even in those cases quite a lot of "GfA Basic" programs won't
work properly.

                       CONFIGURATION FILES

 Finally,  I would like to present you with two fully  documented
versions of the "MINT.CNF" and "GEM.CFN" configuration files. The
information contained in them will surely help you in the future!

                             GEM.CNF

# gem.cnf
# Last Modified on 10/29/1993 10:53
#===============================================================
#
# setenv <NAME=VALUE>; this command puts the NAME=VALUE
# command in the AES environment. The "#" symbol means "remark"
#
setenv PATH=.,C:\MULTITOS,C:\MULTITOS\BIN,C:\MULTITOS\APP
#
# The path from which accessories should be loaded
setenv ACCPATH=C:\
#
# Below the extensions are set for accessories, GEM programs and
# TOS programs respectively
setenv ACCEXT=ACC,ACX
setenv GEMEXT=PRG,APP,GTP
setenv TOSEXT=TOS,TTP
#
# The viewer, printer (spooler) and .TOS file handlers are
# defined here. You can use "GemView" instead of "VIEWER.APP",
# for example
setenv SHSHOW=C:\MULTITOS\VIEWER.APP
setenv SHPRINT=C:\MULTITOS\LPR.APP
setenv TOSRUN=C:\MULTITOS\MINIWIN.APP
#
# Here you can define alternative format and copy programs
setenv DESKFMT=D:\COPIERS\KOBOLD.2_5\KOBOLD_2.PRG
setenv DESKCOPY=D:\COPIERS\KOBOLD.2_5\KOBOLD_2.PRG
#
# With the aes_sredraw option you can cause a redraw message
# to be sent to all applications when a new application is
# started. 1 if you want it to happen, 0 switches off
setenv AE_SREDRAW=1
#
# With the aes_tredraw option you can cause a redraw message
# to be sent to all applications when an application is
# terminated. 1 if you want it to happen, 0 switched off
setenv AE_TREDRAW=1
#
# With the run <program> option you can boot GEM applications
# during booting
run c:\multitos\app\clock.app
#
# With the shell <program> option you can cause a shell
# to be loaded. When not found, it will just start up the desktop
shell c:\mint\mw.prg

                            MINT.CNF

# multitos.cnf
# Last Modified on 5/7/1993 23:13
# ===============================================================
# Start up the GEM Desktop. Without this line, the program will
# by default look for c:\multitos\gem.sys
GEM=C:\MULTITOS\GEM.SYS
#
# OK; other things you can change if you want to. There are
# reasonable defaults for all of these.
#
# MAXMEM= gives the maximum amount of memory that any process may
# use (in kilobytes). The default makes this unlimited, but if
# you have a lot of memory and/or programs that grab more memory
# than they should, try setting this:
# e.g. to limit processes to 4096K of memory:
MAXMEM=4096
#
# SLICES controls how long a process may run before being
# interrupted. The default value (2) is usually best, but if you
# tend to run very processor-intensive applications in the
# foreground, you might want to use SLICES=3 (this makes CPU hogs
# get more time than they otherwise would)
SLICES=3
#
# DEBUG_LEVEL controls output of debugging information. The
# higher the level, the more stuff MiNT will spew about about
# what it's doing. The average user doesn't want to hear about
# this stuff, so the default is 0.
# DEBUG_DEVNO is the BIOS device number to which the info should
# be sent. The default is the screen (2).
DEBUG_LEVEL=1
DEBUG_DEVNO=3
#
# BIOSBUF controls the way BIOS I/O is performed. Normally,
# MiNT tries to buffer this to provide a (considerable)
# improvement in speed. However, some applications may get upset
# by this. BIOSBUF=no turns off all buffering for maximum
# compatibility.
BIOSBUF=no
#
# Below you will find some command that you can give MiNT:
#
# Make a fake 'drive' that actually points to the given path
alias r: c:\this\is\a\really\deeply\nested\path
#
# Change the MiNT default directoru
cd c:\path\
#
# The echo command prints something on the screen
echo Now Booting MultiTOS
#
# The exec command executes a program BEFORE GEM is installed.
# You have to specify the full path and extension, and you can
# even pass on command line parameters. Mostly used to install
# device drivers. And what about an automatic check for viruses
# by means of a virus killer such as "UVK"?
exec c:\mint\clockdev.prg -a
#
# The sln <path> <link> command makes a symbolic link named
# link pointing to path. Link must be on drive U: for it to work
sln c:\bin u:\bin
sln c:\mint\app u:\app
sln d:\termcap\etc u:\etc
#
# Examples follow
#
# Old versions of MiNT used drive letters Q:, X:, and V: to stand
# for the pipe, process, and device directories, respectively.
# This is no longer directly supported, but we can use 'alias' to
# achieve the same effect, as follows:
# alias q: u:\pipe
# alias x: u:\proc
alias v: u:\dev     #in order to make CONSOLE.TOS work
#
# You could also use "alias" to provide a quick way of getting at
# nested directories, e.g. if you do
# alias r: c:\some\long\path
# then clicking on drive r: puts you into the folder
# c:\some\long\path
#
# The "sln" command may be used to create "links" on drive U:. If
# u:\foo is a link to c:\bar, then u:\foo\foo.txt is another way
# of saying c:\bar\foo.txt. Judicious use of links can make
# re-arranging hard disks and directories painless (if you always
# use the names on drive u:, it doesn't matter where you put
# the actual directories).
# sln c:\bin u:\bin
# sln c:\mint\app u:\app
# sln d:\termcap\etc u:\etc

                        MULTITOS HOT KEYS

 The Desktop:

 ClrHome       Sends  a  redraw  message  to  all   applications,
               causing the screen to be drawn anew.
 CTRL 6        Temporary 'iconify' experiment key (might not last
               into other versions).

 AES:

 CTRL-ALT-TAB  This cycles through any active applications.

 MiNT:

 CTRL-ALT-C    Sends  a SIGINT signal to the process  group.  All
               running tasks will stop. This can be useful if all
               screen  I/O has frozen for some reason  or  other.
               "MultiTOS"  programs  can  be  protected  from  it
               (might not last into other versions).

 CTRL-ALT-UNDO
 or
 CTRL-ALT-\    Same  as above,  but now a SIGQUIT signal  and  no
               protection is possible (might not last into  other
               versions).

 There's one more keyboard shortcut.  Try it for yourself and see
the rather useless thing that it does.  It's CTRL-SHIFT-ALT-RIGHT
MOUSE KEY-CLRHOME.

 That's it.  On behalf of Atari Benelux I hope to have made  your
life with "MultiTOS" a bit easier and more flexible. 

Disclaimer
The text of the articles is identical to the originals like they appeared in old ST NEWS issues. Please take into consideration that the author(s) was (were) a lot younger and less responsible back then. So bad jokes, bad English, youthful arrogance, insults, bravura, over-crediting and tastelessness should be taken with at least a grain of salt. Any contact and/or payment information, as well as deadlines/release dates of any kind should be regarded as outdated. Due to the fact that these pages are not actually contained in an Atari executable here, references to scroll texts, featured demo screens and hidden articles may also be irrelevant.