Votes / Statistics
Hits: 1,616
Downloads: 804
Votes: 3
My Atarimania
Bookmark and Share
Comments (0)

Screenshots - MultiTOS

MultiTOS atari screenshot
MultiTOS atari screenshot
MultiTOS atari screenshot
MultiTOS atari screenshot
MultiTOS atari screenshot
MultiTOS atari screenshot
MultiTOS atari screenshot
MultiTOS atari screenshot

Information - MultiTOS

GenreDOS / OSYear1993
Language[unknown]PublisherAtari Corp.
ControlsKeyboard, MouseCountryUnited Kingdom
Box / InstructionsSoftwareEnglish

Smith, Eric R. [ersmith [Atari Corp.]]

SerialCA500068-03ST TypeST, STe Enhanced, TT, Falcon030 / 2MB
ResolutionLow / Medium / High / VGA / RGBNumber of Disks1 / High Density / HD Installable
Dumpdownload atari MultiTOS Download / MSAMIDI

Additional Comments - MultiTOS

Other versions with the same title:

Atari Corp. (version Rev. A) (), Atari Corp. (version 1.01) ().

Trivia - MultiTOS

Developer's weekly reports
These documents are converted from the contents of Eric Smith's development hard disk, originally written in AtariWorks STW format.

Progress report: week ending 2/5/93
Eric Smith


Applied patches to make MiNT compile with Lattice and Pure C.

Fixed the memory initialization code to work with boards such as
the Overscan board which don't allow the screen address to be

Applied Howard Chu's patch to speed up the /dev/fasttext device.

If less than 1 megabyte is free, turned off memory protection and
allowed Mallocs of < 1 page (i.e. <8K), to permit MultiTOS to
boot on a small machine.

Fixed a number of bugs:

Pipes opened with the O_APPEND flag couldn't be written to.
Symbolic links couldn't be renamed.
Processor dump information was not being saved to the BIOS's reserved
space if memory protection was enabled.


Checked the Desktop & AES into the revision control system

Converted the Desktop to use Allan Pratt's malloc() code instead of
doing a GEMDOS Malloc call (this change is much more difficult to
make for the AES, unfortunately).

Constructed a "USA only" version of the AES/desktop (i.e. with only 1
language loaded) to test on a 1 megabyte Falcon.


Changed the "font selector" box to keep the point size when a new font
is selected (but only if the new point size is valid for this font).
Also added a small box at the bottom of the dialog that shows the current
font selection (in the appropriate size), making it easier to select an
aesthetically pleasing font/size combination.

Made the cursor change from a solid block to an underline when the
MINIWIN window is not on top.

RCS (Revision Control System):

Packaged RCS; converted manuals from nroff to plain ASCII, and gave copies
to other members of the TOS group.


Fixed a bug in the stat() function which was causing it to not function
properly under plain TOS (i.e. with no MiNT loaded).

Progress Report: weeks ending 2/20/93
Eric Smith

MultiTOS AES/Desktop:

Fixed the "Open Application" dialog so that it always searches relative
to the current directory if no absolute path is entered.

Added an "Insert System Disk" dialog for the critical error handler to
all the various language resources. Updated the GEM resources so that
the new version of Interface may be used to edit them, and modified
the critical error handler to use the new dialog for "insert disk"
requests on non-floppy drives (i.e. drive letters other than A: and B:).

Put the "DESKTOP" string which appears as the Desktop's name in the first
menu into the desktop resource file, so that (for example) it can say
"Bureau GEM" in French. Updated all desktop resources accordingly.

Updated the makefile to build arbitrary single language configurations.

Bug fixes:
Changed some Mfree calls that were overlooked in the conversion from
Malloc/Mfree to malloc/free.
Fixed a memory allocation bug that could cause funny looking file
names if files were dragged and dropped within the same window.
Changed the name of the desktop's icon from WINICON (which was already
being used in a completely different sense!) to SMILEY in all resources.


Added code to turn off memory protection if the program is named

Bug fixes:
Corrected the setting of the CPU type variable, and made the (still
experimental) 68030-only version test this.
Fixed several bugs in the kernel-file system interface.
Fixed a bad return value from Dgetcwd().
Modified the XBIOS Supexec function to preserve *all* registers;
apparently some programs relied on this behaviour :-(.
Fixed a problem with media change (shared text programs, such
as MINIWIN, did not have their associated open files closed when
the media changed).


Modified MINIWIN.APP so that it searches for its configuration and
resource files in the directory in which MINIWIN.APP resides (this
makes working on a floppy only system easier).

Added the ability to change the program's name as it appears in the
"Desk" menu (a .MNU file must be present for this to work).

Continued to try to remove obsolete or unnecessary code to reduce the
memory requirements of the program.

Bug fixes:
Fixed some bugs in the way MINIWIN detects whether or not it is the
top application.
Fixed the startup code so that the message "MINIWIN requires MultiTOS"
will indeed be printed if MultiTOS is not present.


Constructed a boot disk with a gulam shell script for factory installation
of programs (i.e. to copy all files from one hard disk to another, to
verify the files, and then to flash a red screen if an error occured or
a green screen if everything was OK).

With Denis, wrote a small "drive remapping" utility to let us give
an "insert system disk" message on floppy-only MultiTOS systems. Several
revisions of this were necessary in order to remove various bugs
(e.g.: GEMDOS can't handle drives above P:, and the BIOS was giving
"Insert disk A: into drive A:" messages at inappropriate times).

With Hans-Martin, began to examine ways to merge the multitasking and
single tasking AESes.

Progress Report for Eric Smith
Weeks Ending: 3/6/93

MultiTOS Desktop/AES:

With Hans-Martin: began planning the merge of the multi and single
tasking AESes, and also strategies for improving AES performance
under MiNT.

Made resolution changes happen much faster (the improved user
feedback will help; there was no need for such a long delay).

Checked MultiTOS 1.01 into RCS; constructed some shell scripts to
make this (and backing up the binary files that RCS can't handle)

Updated the French resource.

Bug fixes:
Applied Hans-Martin's bug fixes for menu code and window update
Fixed a bug in the floppy to floppy copy code (the buffer
allocated for the boot sector was too small).


Modified the Psetpgrp call so that using a process group of -1
causes the current process group to be returned.

Changed the number of simultaneous Fsfirst searches from 6 to
10. (This is a per-process limit, but some people were running
into it).

Bug fixes:
The Flock call wasn't working correctly (the region locked was 1
byte too long).
On plain STs, turning off memory protection could occasionally
cause problems (there was code that assumed that you could always
put a screen at the beginning of any memory region). I fixed the
allocation code to always return properly aligned memory. Side benefit:
under MultiTOS applications that want to do a Setscreen to a
block they've Malloced never have to worry about adjusting the
screen boundary.

Checked MiNT 1.03 into RCS.

TOS 4.03:

Added CTRL-ALT-UNDO for startup reset of NVRAM. Assisted in debugging
devconnect call in startup code. Moved dev_init() call from VsetMode()
to Setscreen, and in the process of debugging this discovered flaky video
hardware on Derek's old machine :-(.

Burned ROMs for production.

Checked the changed BIOS files into RCS.


Changed it to use a separate DTA (rather than the default DTA in the
basepage); this way programs like "top" and "ps" can report the
argument(s) given to MINIWIN, so you can see which MINIWIN belongs
with which .TTP.

Corrected a bug in the "Paste" dialog box when "Neither CR nor LF" is

Changed MINIWIN.RSC to work in 40 column mode.

Adjusted MINIWIN's menu construction code to move menus so that they never
wrap around the screen (this matters in 40 column mode).

Merged French and German translations into MINIWIN.


Fixed a bug in VIEWER.APP (characters with bit 8 set, e.g. umlauts, were
not displayed correctly).

Compiled a smaller version of CHPROT.APP (more optimization, shorter
strings for messages) so that the French MultiTOS distribution disk
will fit on a 720K floppy.

Assisted Denis and Cary in tracking down some bugs in the Latticized

Progress report for: Eric Smith
Weeks Ending: 03/20/93



Continued working with Hans-Martin on merging the
multi- and single- tasking AESes. (Some good
progress has been made on this.)

Fixed the Desktop memory initialization bug so that
the Desktop can be restarted after being killed.

Checked the Lattice port into RCS.

Changed the code to remove some warnings that Lattice was

Merged Hans-Martins's changes to allow loadable resource
files and keyboard maps.


REALLY fixed VsetMode. Changed version number to 4.04.
Burned ROMs, etc.


Added a work-around for a bug in the Falcon BIOS
(BIOS device 7 didn't work as advertised).

Bug fixes:
SIGCONT shouldn't have stopped traced processes
Dpathconf() was returning the wrong values for U:\PROC
When tracing is cancelled for a stopped process, the process
should have been restarted.
Plugged a memory leak in the semaphore code.


Was featured on 2 on-line conferences about MultiTOS (GEnie
and Delphi) with Bob Brodie.

Retrieved new versions of gcc, g++, and the MiNT libraries.

Reviewed various documentation (including the MultiTOS
Quickstart guide and the programmer's documentation).
Re-wrote MiNT programmer's documentation.

Gave Denis a copy of gcc for him to compile the VDI with,
and helped him do this (the resulting binary didn't work,

Progress report for: Eric Smith
Weeks Ending: April 2, 1993


Continued working with Hans-Martin on merging the
multi- and single- tasking AESes. On the TT, both
applications and accessories work correctly now.
More work needs to be done to get applications working
on Falcon.


Developed a proposal for implementing shared libraries, sent
it to the MiNT users mailing list for comments.

Added PMMU cookie support, and also enhanced the context switching
code so that MiNT will be compatible with 3rd party virtual memory
products like Outside and VRAM.

Bug fixes:
Made Tsettime() and Tsetdate() available only to the super user.
Added some enhancements sent by users to the /dev/fasttext driver.
Fixed a bug in the media change code for TOS file systems.
Fixed some incompatibilities with 3rd party serial port drivers.
Fixed a bug in the memory protection code, cleaned the code up a bit.


With Mark, went over the AES documentation and corrected it to
reflect reality (and the 1993 version of the AES rather than the
1986 one).

Did the usual e-mail answer and bug report fielding.

Progress report for Eric Smith
Weeks ending 4/17/93


Continued to work with Hans-Martin on the single/multi tasking AES.

Made the multitasking AES do a blocking wait under some conditions,
instead of always busy-waiting. This gives about a 10-20% speed
improvement; not as much as we'd hoped, but some more optimizations
may be possible.

Changed all the resources to read "MultiTOS disk" instead of "system disk".

Built a new version of MultiTOS 1.01 with the "Please insert system
disk..." message changed to "Please insert MultiTOS disk...".

Updated the translation disks.

Bug fixes:
Fixed color icons in dialog boxes.
Made it possible to move alert boxes by grabbing any part of them,
not just the background.


Applied patches to make MiNT compile with Pure C and the MiNT library.

Bug fixes:
More Falcon BIOS bug workarounds to make Bconmap work properly.


Bug fixes:
Made Fread of 1 character from a terminal be in RAW mode (as it is in
the old GEMDOS).
Made Mxalloc ignore the high bits of the 'mode', for compatibility with


Developed a patch program for the Falcon BIOS bug that affects Bconmap().

Checked current work into RCS.

Interviewed Chia-Ling Sung (as did the rest of the TOS group). Attended
Painter meeting. Got Jaguar docs.

Progress report for Eric Smith
Weeks ending 5/1/93


Continued to work with Hans-Martin on the single/multi tasking AES.

Added an iconifier gadget.

Made it possible to "bottom" windows as well as to "top" them.

Bug fixes:
Made it possible to select an application from the "Desk" menu even
if it is ignoring WM_TOPPED messages.
Fixed the wind_set(WF_DCOLOR,...) call so that it updates currently
existing windows (this means that even if the WCOLORS.CPX loads after
the desktop opens its first window, the window parts will get the colors
the user asked for).
Fixed objc_find to work the way it did in old TOS.
Updated the Help menu in the resources.
Made the button placement in critical error alerts consistent with our
other alerts (i.e. "Cancel" should be on the right).
Various speed improvements.


Bug fixes:
Fixed the Fcntl() for setting baud rates on modems other than modem1.


Bug fixes:
Fixed the "partition overwrite" bug. Finding this bug was somewhat
difficult (and several of us worked on that); once it was properly
diagnosed, fixing was quite straight forward.


Bug fixes:
Fixed the Bconmap bug in TOS 4.0x.
Fixed the high-density floppy bug (copying A: to B: would overflow a
buffer and corrupt the VDI fonts).


Examined feasibility of porting gcc to the Jaguar GPU.

AHDI: added code to guard against overwriting partitions when doing Rwabs
in logical mode.

Built a new version of TOS for Falcon, containing our combined single/multi
tasking AES and the new VDI, BIOS, and GEMDOS.

Updated the MiNT documentation, and gave a copy to Greg.

Looked at various Painter hardware and software issues.

Progress report for Eric Smith
Weeks ending 5/15/93


Continued to work with Hans-Martin & Cary on the single/multi tasking AES.

Added support in the desktop for limiting the memory used by

Made the "Desktop info..." dialog box report the TOS or MultiTOS version,
as appropriate, and fixed up copyright notices so that the MiNT
stuff only appears when MiNT is present.

Added color icons in dialog boxes and critical error handlers.

Changed the desktop copy/format dialog box and the system file selector
to use window part colors.

Made the color icon code work with the new VDI in true color mode
(vr_trnfm doesn't reverse bits any more). It still works with the old VDI,
too, because it tests vr_trnfm at run time.

Added resource file decompression code, and cleaned up the format of
"glue" files.

Merged in Hans-Martin's iconification changes and checked everything into

Extended appl_getinfo, as several developers requested, to return more
information about the OS environment.

Bug fixes:
Fixed the bottom window bar when there are arrows but no slider.
Fixed window blit left code.
Used XBIOS keyboard tables instead of hard-coded tables in the desktop
when testing for control and alternate keys.
Updated the default colors.
Made the critical error alerts consistent with other alert boxes in
the system (i.e. "Cancel" appears on the right, "OK" or "Retry" on
the left).


Wrote a resource file compression program, and merged this into the
"newglue" program to allow us to compile TOS with compressed resources.

Met with Chris Latham and Bill Rehbock to discuss networking and MiNT.

Progress report for Eric Smith
Weeks ending June 12,1993


Worked on getting software to boot on the Microbox prototype. Created
several RAM tests, an updated TOS, and a TOS+DB combination for testing
purposes. Helped to track down hardware bugs in Microbox.


Added extended drag and drop functionality to the desktop, allowing
arbitrary objects to be dragged onto the desktop, and applications to
retrieve path information from the desktop. Updated the drag and drop

Fixed the _DDD cookie and wrote some sample applications that use
it to replace the desktop background with pictures or with a
star field pattern.

Updated the Italian resources.

Bug fixes:
Fixed the WF_BOTTOM call to correctly report the new top window.
Corrected resolution change code to avoid the "sticking" problem
when a resolution change failed.
Fixed the bug that made it impossible to write a smaller DESKTOP.INF
than the current one.
Corrected the slider calculation code (slider calculations done
before the window was opened were done incorrectly).
Compatibility fix: made BIOS I/O for GEM applications go through
the AES. This also fixes the slow desktop response for the UNDO key.


Burned new ROMs for testing purposes.


Enhanced the device driver/kernel interface to allow device drivers
to set time outs.

Bug fixes:
Fixed the Falcon logical screen bug which caused crashes on the new
Made the "Adjust debug level" message more useful for novice users
(now it reads "You must reboot your machine").


Updated MINIWIN to use the new drag & drop functions.

Fixed the "Select Font" dialog gadgets to work right in low resolution.


Sent a new version of VIEWER.APP to subsidiaries.

Created an updated Falcon patch program, FPATCH2, that fixes the Bconmap
bug the "right" way (by fixing the Bconmap table directly, rather than
TSRing and trying to kludge around as FPATCH1 did).

Progress report for Eric Smith
Weeks ending June 26,1993


Reduced the size of the executable by enabling Lattice's optimizer;
found and worked around some optimizer bugs.

Made the buttons in the critical error handler more responsive.

Fixed bugs reported by testers.

Merged Hans-Martin's and Cary's changes, updated resources as necessary,
and checked into RCS.

Updated the makefile so that building glue.* files is done automatically.


Made a "build disk" containing all necessary tools and source code for
building TOS and MiNT. Reviewed TOS build procedures with Hans-Martin
and Cary.


Made the FATAL ERROR message multilingual and more informative for
novice users.

Made the XBIOS Dosound() function automatically grant supervisor mode
access for the affected memory.

Bug fixes:
The PRN= line in mint.cnf was redirecting AUX:, not PRN:.
Fixed the bug in media change detection code which was requiring two
clicks on the "cancel" button for "Drive not ready" critical errors.
Fixed Bconout() of a bell under TOS 1.02.
Fixed bus errors on 68000 (they used to report illegal instructions
instead, because the bus error code used 68030 only instructions).


Added support for the iconify gadget.

Updated non-English resources (translations still have to be supplied.)


Reviewed and expanded on the TOS 5 Release Notes.

Made a diagnostic cartridge ROM for Microbox.

Met with Hans-Martin and Cary to discuss Painter BIOS.

Built an Italian MultiTOS 1.01.

Progress Report for Eric Smith
Weeks Ending 7/24/93


Merged Hans-Martin's and Cary's changes to the AES into the master
source code. Checked everything into RCS. Helped to track down some
bugs in objc_edit and a deadlock condition in the CTRL-ALT-TAB


Collected bug reports, applied fixes.


Assigned by Leonard to work on cube rotation problem. %*&* thing took
much longer than expected. Once the cube was rotating correctly,
shading and joystick control was added.

Fixed a bug in the new version of madmac (error reports were giving
the wrong file name).

Obtained groff (GNU nroff) and produced ASCII versions of the tcsh
and csh manual pages. Started looking at what will be needed for
a Jaguar developer's package containing MultiTOS, tcsh, etc.

Progress Report for Eric Smith
Weeks Ending 8/7/93


Expanded the critical error stack to correct problems with Speedo GDOS,
the new MiNT, and the AES. Assisted in converting the AES to run with
a 68000.


Made the file handling code re-entrant.

Made MINT.PRG capable of booting the ROM AES if GEM.SYS is not specified
in the MINT.CNF file.


Made it possible to save preferences on a per-application basis.

Fixed iconify code, and made it work with the new AES.

Made windows always be as big as possible (before, when window parts
were removed, the window still remained the same size, even though
there was more screen for it now).


Jaguar: worked on doing blits from rectangles to arbitrary parallelograms.

Continued work on developer tools. Compiled a new version of tcsh,
obtained and compiled versions of cp, mv, and rm. Wrote miscellaneous small
utilities (e.g. pwd, strings, echo) to replace those whose copyright
status was unclear. Set up a MultiTOS based development system in the

Wrote help files for some utility programs.

Progress Report for Eric Smith
Weeks Ending 8/21/93


Finished "blit to arbitrary parallelogram" code.

Helped to integrate "rotating cube" code into the Jaguar ROM code.

Assisted game developers with questions about 3D objects.

Updated the db source code to work a bit better under MultiTOS.

Began work on texture mapping arbitrary polygons.


Uploaded MultiTOS 1.08 for developers.


Sent MiNT 1.08 and 1.09 source code to the MiNT developers' list.

Tried to reduce memory fragmentation somewhat.

Added file locking to BIOS devices.

Bug fixes:
Fixed the Dosound() code (the BIOS Dosound() can return a value, if
a -1L is passed to it, and MiNT wasn't coping with this).
Fixed a Pexec(200,...) problem in MiNT 1.08.


Fixed a bug in the special character handle code (Fwrite(-3,...)
wasn't working).

Worked on updating the GEMDOS and BIOS documentation.


Downloaded and compiled new versions of GNU utilities, and of the
gcc library for MiNT.

Installed and tested a new version of gcc.

Updated the gcc GEM library to reflect AES 4.x extensions.

Reviewed the "Atari Compendium" for Mike Fulton.

Beta release memo
These documents are converted from the contents of Eric Smith's development hard disk, originally written in AtariWorks STW format.

File dated 21.1.1993


Here's the new distribution disk for MultiTOS. The following files have

version number was updated to match mint.prg (see below)

recompiled to fix the Rsconf() bug I mentioned to you. This only showed
up with the 68030 version, so I suspect that a compiler bug was at fault.

A couple of changes to the AES:
(1) The copy/format dialog is now a real dialog, instead of a combination
dialog/window like it was. This was one of the items we passed on to Derek, and
it turned out to be very easy to do.
(2) The "progress report" bar on copy/format is fixed now (it was wrapping
around). This one definitely was a compiler bug; Alcyon messed up on a
statement like "if (j = foo % bar) ... " but splitting this into "j = foo % bar; if (j)
..." worked.
(3) I put Normen's German translations into the .RSC.
(4) The AES no longer keeps directories "locked" against deletion after it
executes a program in that directory. (It wasn't supposed to, it was just an
accident that this was happening.) A 1 line fix.
(5) I put some of the Speedo kludges that were commented out back in (with
appropriate if statements so that they never get applied to the default system
font). Alternate fonts still aren't working, though; since we don't document this
feature, it's not a big problem.

The original of the installation disk is in my top desk drawer. All the files are
also on my hard disk, in d:\mint\ship, and a copy of the disk is on John's desk.


File dated 17.2.1993

MultiTOS distribution:
1) New gem.sys file. We now put only 1 resource into each
gem.sys file, so as to save space; thus a different gem.sys is
needed for each language. There have also been some bug fixes:
a) The "Copy" and "Delete" dialogs are now really dialogs,
(before they were sometimes dialogs, sometimes
windows, and this caused redraw problems and
user confusion).
b) The "Set Video" dialog box no longer gets "stuck" into the
old resolution if the resolution change fails.
c) Entering a long name into the "Open Application..." dialog
on the desktop no longer crashes the system.

2) New mint.prg file. MiNT now tests its name; if it's called
MINTNP.PRG then memory protection is turned off. There have
also been some bug fixes:
a) MiNT will check now to see if the screen can be moved
before moving it; this will prevent problems with some third
party video cards.
b) Some bugs in the kernel/file system interface have been
corrected (the kernel did not always release file handles back to
external file systems; this doesn't affect any currently existing
.XFS's, but could have been a problem for future networking
c) The Supexec() function now saves all registers. It wasn't
documented to do so, but the BIOS always did and some people
have come to depend on this. Sigh.
d) Frename now functions correctly on symbolic links.

3) New and miniwin.rsc files. Miniwin now
looks in the directory it was launched from for its .RSC file,
instead of along the PATH. This makes operation on a 1 floppy
system much smoother. Miniwin's user interface has also been
cleaned up a bit, and a new option (to select which window
gadgets will be displayed) was added.

4) New file: fakeflop.prg. This is used in floppy only
systems to provide a third "fake" floppy drive, called the
"System Disk". The GEM.CNF and MINT.CNF files are set up to
use this fake drive (currently drive O:).

5) New file: multitos.cpx. This CPX allows configuration of
MultiTOS (whether it is active or not, and whether memory
protection is enabled or not).

6) New install programs for France and Germany (to fix
translation errors).

Introduced at CeBIT '92 in Hanover, Germany and ACE '92, the Atari Canadian Exposition, at the Skyline Hotel, Toronto

About Us - Contact - Credits - Powered with Webdev - © Atarimania 2003-2022