Background and History
History of MultiDOS
It all started with SuperBASIC …
         SuperBASIC was a re-modified version of Microsoft’s BASIC as modified by Apparat (NEWDOS). SuperBASIC started with version 3.0 because Microsoft’s BASIC for TRSDOS was at version 2.1. SuperBASIC 3.0 used ROM calls that were not in Microsoft’s version (despite the fact that Microsoft wrote the ROM); and, had ALL new code for the 28 Disk BASIC links. In addition, Vernon added CMD”O” – open an additional file buffer area keeping variables intact (this was dropped in MULTIDOS), CMD”X” – transfer the resident BASIC program to LEVEL II (this was later changed to CMD”W” in MULTIDOS), BASIC program chaining (NAME for Model I/III and CHAIN for MAX-80/Model 4), and a much faster CMD “doscommand” (no checksum was performed because SuperBASIC updated TOPMEM [4049H]). {by the way, Apparat STILL did not update TOPMEM with NEWDOS80/2}. Vernon just gave away SuperBASIC 3.0 for free and the owner of Level IV Products, Chuck (Virgil) Cheseldine, heard about SuperBASIC. Chuck and Vernon talked (about May 1980) and he suggested that Level IV Products should sell SuperBASIC 3.0.
… but what Operating System will run it? UltraDOS
    [UltraDOS 4.1]
     At that time TRSDOS was up to version 2.3, NEWDOS/80 for the Model I was coming; and, to ensure Chuck and Vernon had a ‘foundation’ to sell SuperBASIC, Chuck suggested that Vernon make a DOS. Yikes!! The initial name was Level IV DOS, and Vernon did the same thing Apparat did in acknowledging Randy Cook as the author of specific DOS modules (i.e., SYS0/SYS, SYS1/SYS, etc). Chuck had concerns about the Randy Cook acknowledgement. So, Vernon only slept for about 4 hours a night for a month redoing all of the /SYS modules. And, ULTRADOS 4.1 was introduced September 1980 in Chicago at a Computer Fair. Vernon cannot remember why the name was changed to UltraDOS – and the 4 is just the Arabic version of ‘IV’. UltraDOS was updated twice – October 1980 and March 1981. Vernon did not get a commission for UltraDOS sales but did get promoted to Vice President.
… and let’s make that interoperable! MultiDOS
   
     Kim Watt (Berkley, MI) and Vernon started collaborating on new software ideas in early 1981. Chuck raised some concerns about that, so Vernon told Kim to forget it. Later Vernon regretted parting ways with Kim. Kim had this idea (in 1981!!) to created a method for spreadsheets, word processors, and database management software to be able to communicate among themselves (based on what Vernon can remember, Microsoft Office 95 finally did that). Vernon’s regret grew (into anger) over time and in April 1981, he gave up his Vice Presidency, and started a double-density version of UltraDOS (ULTRA-II). The first ad hit 80-Micro in Autumn 1981 as ULTRA-II, and after subsequent discussions among people, Vernon changed the name to MULTIDOS as suggested by Charlie Butler (Alternate Source).
     MULTIDOS is the only TRS 80 disk operating system (DOS) developed that uses a similar format in communicating among the TRS 80 MODEL I, MODEL III, MODEL 4, and the LOBO MAX-80, i.e., some machine language programs and most BASIC programs will run under MULTIDOS in all four machines. BASIC programs that contain PEEK, POKE, USR, CMD, CLOAD, and CSAVE will probably have to be changed.
     MULTIDOS went on sale in 1981, and continued to be sold by Vernon until 1984 when Vernon became an author and AlphaBit Communications, Inc. (Dave Welsh) became the publisher. In 1987 Vernon upgraded MULTIDOS from version 2.0 to 3.0 extending the maximum system date from 1987 to 2043. AlphaBit informed Vernon that LS-DOS had a different date scheme and “requested” that Vernon use LD-DOS’s date scheme; therefore, MULTIDOS was (retro)grated, released 1 October 1987, to version 2.1 for the Model I, Model III, MAX-80, and Model 4. Similar to LS-DOS, MULTIDOS version 2.1 extended the maximum system date from 1987 to 2011.
     AlphaBit sold MULTIDOS from 1984 through ???. Sometime in the early nineties, Computer News 80 informed Vernon that AlphaBit was telling people interested in MULTIDOS to forget the Model 4 and migrate to the IBM PC family of computers. Vernon permitted CN80 to sell MULTIDOS sometime in 1994. [CN80 was already publishing ASTROCAL since 1991. ASTROCAL was supplied on a combination DOS that booted in a Model I or Model III or Model 4.] CN80 was only interested in the Model 4 version; therefore, (being a little arrogant) Vernon sent CN80 Model 4 MULTIDOS version 3.0 (date to 2043). Any upgrades to the Model I and Model III versions of MULTIDOS were strictly ‘internal’ i.e., just Vernon.
… and let’s free up more RAM! ESOTERIC.
    [ESOTERIC v2.11 Boot]
     In June 1998 Vernon decided he wanted to take advantage of a different Model 4 memory map which would afford 2048 more free bytes for applications, so he developed ESOTERIC.
OK … but did Vernon make any other DOS’s?
   
     Glad you asked! In November of 1982, Vernon also wrote Z’DOS which was simply an attempt to get people into something other than TRSDOS at a reasonable cost. Z’DOS was never updated and three versions were created: Model I Single-Density, Model I Double-Density, and Model III.
[ZDOS 1.0]
UltraDOS to MultiDOS Transition
     
Filename ULTRADOS MULTIDOS Remarks




BACKUP/CMD no yes new file for diskette copy, includes formatting diskette
BASIC/CMD yes yes changed syntax for hex/octal constants: H optional
BASICS/CMD yes no not considered necessary for MULTIDOS
BASICT/CMD yes no not considered necessary for MULTIDOS
BBASIC/CMD no yes new file: SuperBASIC with BOSS
BC/CMD yes no Moved into DOS0/SYS
CHAIN/BAS yes no not considered necessary for MULTIDOS
CHAIN1/BAS yes no not considered necessary for MULTIDOS
CHAIN2/BAS yes no not considered necessary for MULTIDOS
CO/CMD yes no Moved into DOS6/SYS
COPY/CMD yes yes changed to single file copy
CREF/SYS yes yes
DA/CMD yes yes Slightly modified version of Apparat’s DISASSEM/CMD. Level 4 wanted it in ULTRADOS to be considered competitive. Vernon considered it inappropriate to include in MultiDOS.
DIR/SYS yes yes
EA/CMD yes yes
EDIT/SYS yes yes
ERROR/SYS yes yes
FORMAT/CMD yes yes
GR/CMD yes yes
LC/CMD yes yes
LM/CMD yes yes Slightly modified version of Apparat’s LMOFFSET/CMD. Level 4 wanted it in ULTRADOS to be considered competitive. Vernon considered it inappropriate to include in MultiDOS.
RENUM/SYS yes yes
RS/CMD yes yes
SPOOL/CMD yes yes
SYS00/SYS yes DOS/SYS Rewritten to handle double density, FORMS, LC, and BC.
DOS0/SYS no DOS0/SYS New overlay to reduce footprint of DOS/SYS
SYS01/SYS yes DOS1/SYS
SYS02/SYS yes DOS2/SYS
SYS03/SYS yes DOS3/SYS
SYS04/SYS yes DOS4/SYS
SYS05/SYS yes DOS5/SYS
SYS06/SYS yes DOS6/SYS
DOS7/SYS no DOS7/SYS new file: Minidos: ‘Mighty Multi (C=COPY, D=DIR, K=KILL, L=LIST)’
SYSFE/SYS yes no merged with DOS/SYS
UZ/BAS yes no insufficient time to develop for MULTIDOS
VFU/CMD yes yes
[UltraDOS 4.1 Dir]
(UltraDOS v4.1 Contents)
[MultiDOS 1.0 Dir]
(MultiDOS v1.0 Contents)
Feature Comparison chart as of January 1982:
[MultiDOS v1.6S] [DOSPlus v3.5]    [LDOS v5.3.1] [NEWDOS/80 v2.0]    [TRSDOS v2.3]
MULTIDOS    DOSPLUS    LDOS    NEWDOS/80    TRSDOS






Repeat last DOS command Yes No No No No
Multiple DOS command Yes No No No No
APPEND checks LRL Yes No Yes No No
“Blind” AUTO Yes No No No No
Invincible AUTO Yes No No SYS opt    No
Alphabetized DIR Yes No No No No
FORMS Yes Yes No No No
Read any format inc NEWDOS/80       Yes No No No No
Single-step BASIC program Yes No No Yes No
Zero arrays Yes No No No No
Delete arrays Yes No No Yes No
Used variables display Yes Yes No No No
BASIC sort built in Yes No No Yes No
CMD”BASIC” Yes No No No No
BOOT at high speed Yes No No No No
Nested DO’s Yes No No Replaces No
Capable of reading NEWDOS/80 Yes No No Yes No
One drive COPY Yes Limited    Yes Yes No
Menu driven multiple file copying Yes No No No No
Blinking cursor Yes No No No No
ATTRIB to level 7 (lockout) Yes No No Yes No
MULTIDOS Version Number Scheme:
MultiDOS was versioned numerically to 2 decimal places, which could then be followed by an uppercase letter, a lowercase letter, or both.
Uppercase Letters
   
  • S = Single-Density Version (e.g, 1.6S)
  • D = Double-Density Version (e.g, 1.6D)
  • P = Pseudo-Density (Mixed Density) Version (e.g, 1.6P)
  • K = Kernel Versions which were used to distribute software (such as SuperDirectory by Computer Shack) (e.g, 1.6SK)
    Lowercase Letters:
        Lowercase letters simply meant a minor revision to the DOS (e.g., 1.6a, v1.6b, etc).
    Both:
        A version number of 1.6aS, would be major version 1.6, minor revision a, in Single Density.
    Chronology:
    Date Activity Ver. Comments Files less DIR/SYS
    Total Added Removed







    Mar-1980 SuperBASIC 3.0 SuperBASIC 3.0 worked with TRSDOS2.1 or NEWDOS
    Sep-1980 initial ULTRADOS 4.1 Single-Density, Model I operating system
    Nov-1980 ULTRADOS 4.1 Added GR/CMD and VFU/CMD
    Mar-1981 ULTRADOS 4.2 Added BC/CMD, CO/CMD, SPOOL/CMD and converted KN2/BAS and KNIFE/BAS into EDIT/SYS (global editor) Cum Add Delete
    Sep-1981 MULTIDOS released 1.0 Single-Density, Model I operating system. Originally called ULTRA-II 23
    Jan-1982 Model III MULTIDOS 1.0 Double-Density Model III operating system 23
    Jan-1982 Model I fix 1.1 Fixed DOS0/SYS added HELP/CMD and SKIP/CMD 25 2
    Apr-1982 Model I upgrade 1.3 Added CONVERT/CMD and PATCH/CMD 27 2
    Apr-1982 Model I upgrade 1.4 HELP/CMD became DOS9/SYS. DOS6/SYS split into DOS6/SYS and DOS8/SYS. Added EA/DOC 29 3 1
    May-1982 Model I upgrade 1.5 Added CAT/CMD and DBLFIX/CMD. Automatic recognition of Doublers 31 2
    May-1982 New file Added ZAP/CMD (finally!) 32 1
    Sep-1982 Model I and Model III versions now in sync. 1.6 Largest seller. Format pattern selectable. Added DDT/CMD and TAPE/CMD. Merged TU/CMD into VFU/CMD. Deleted EA/CMD and EA/DOC. Model III went from 1.3 to 1.6 to match Model I. There is no Model III 1.4 & 1.5. Directory DAM changed. 31 2 3
    Aug-1983 CEC Releases ZEUS ZEUS/CMD sold separately 31
    Dec-1983 MAX-80 MULTIDOS 1.7 CEC creates MAX-80 MULTIDOS. Incorporates drive control table 33 7 5
    1984 1.7 Added drive control table for Model I and Model III. This removed FORMS code from resident DOS disappointing many customers. 33
    Jan-1985 Model 4 MULTIDOS 1.7 CEC introduces Model 4 MULTIDOS – derived from MAX-80 MULTIDOS 34 2 1
    Feb-1985 Updated All 1.71 To access NEWDOS/80 diskettes with GPL > 2, Added CDIR/CMD, FMAP/CMD, LO/CMD, MEMDISK/CMD, PRT/CMD, and SETCOM/CMD [Count BASIC/SEG] 39 6 1
    Jun-1985 Humor NEWDOS/80 1.72 Enhanced MAX-80 and Model 4 SORT/BOL to do numeric sorting. 39
    Jan-1986 Provide means to update Hard Disk Systems 2.00 Added T4/CMD, TWO/IDO, SPOOL/CMD, and SYSGEN/CMD. Side compare implemented. Enhanced CMD”V” to display array values, and enhanced SORT/BOL (MAX-80 & Model 4) to do multi-key/indirect sort. 43 4
    Apr-1987 Needed to extend date beyond 1987 3.00 Introduced MULTIDOS 3.00 to handle dates beyond 1987 (internal). Added FIXDATE/CMD to convert dates and INSTALL/CMD to update hard disks to new date format. 45 2
    Aug-1987 2.10 Incorporated TRSDOS 6 method for dates beyond 1987 (published) 45
    Dec-1987 ASTROCAL ASTROCAL/CMD initial “beta” version given to TRS-80 club members 45
    1989 Added CP/CMD (now COMP/CMD) to compare two files. 46 1
    Dec-1990 There are HD64180’s out there! 2.11 Modified many modules to remove undocumented Z-80 opcodes enabling MULTIDOS to work with XLR8er (HD64180 CPU). DIR now can OR wildcard masks and sort by size (Q) and/or extension (X). MAX-80 and Model 4 modified to handle editing of input. 46
    Dec-1990 Backup large files Added XCOPY/CMD (now PCOPY/CMD) to copy large files onto floppies. 47 1
    Jul-1991 Save the screens Added SS/CMD (now SSAVER/CMD) and support TIMCLOCK [3] 51 4
    Aug-1991 Calculator ASTROCAL/CMD published by CN80 51
    Enhance XLRer Added XMONITOR, XSYSRES/SYS, and XMEMDISK/CMD for XLR8er 54 3
    Jul-1993 BASIC utility Added UTIL2/BOL, support MegaMEM [2] 57 3
    Apr-1994 Variable review Added BASICV/CMD 58 1
    Added MONITOR/CMD [2], SHOW/CMD, REMOVE/CMD (now MODULE/CMD), support BUS CLOCK [4], and ROM CLOCK [2]. ZAP “P” command (now “E”). ZEUS dates object code with latest date among resident and GET files. 68 10
    Sep-1995 Support Hi-RES [2] 70 2
    1996 and 1997 Major overhaul of MAX-80 and Model 4 BASIC (Date 3.00 – CN80) 70
    Jun-1998 Started developing ESOTERIC (wanted to get the 2048 bytes for apps) 70
    Jun-1998 Added RA/CMD 71 1
    Oct-1998 Support Emulator clocks [4], added MRHARD/CMD 76 5
    1988 For Model 4 and ESOTERIC: include 12 BASIC programs and 14 Hi-Res programs 102 26
    Apr-1999 Model 4 ESOTERIC 1.0 First real ESOTERIC. Note: This is the complete system, DOS was ready 12/13/98 102
    Jun-1999 Added CUSTOM/CMD. Converted CAT/CMD, CDIR/CMD, FMAP/CMD, and SPOOL/CMD to Library commands for MAX-80, Model 4, and ESOTERIC 99 1 4
    Jul-2002 Eliminated BASICV (put features into standard BASIC) 98 1
    2005 ASTROCAL/CMD [15] and ZEUS/CMD [2] now bundled with MULTIDOS 115 17
    MULTIDOS Directory Records
    Directory records are 32 bytes long in all DOSs except for Model III TRSDOS 1.3 (50 bytes). The differences between the directory records of MULTIDOS and LS-DOS are limited to bytes 0 – 2, and 16 – 19. The major difference between LS-DOS and MULTIDOS is the use of bytes to store the date and time. In LS-DOS the time is to the minute with a date range of 01/01/1980 through 12/31/2011. In MULTIDOS the time is to every other second (even) with a date range of 01/01/1980 through 12/31/2043.
    The date format in LS-DOS kept the pre 1988 date format and used the bytes previously used by the access (user) password for the additional bytes required to extend the date to 12/31/2011 and the time to the minute.
    The date format in MULTIDOS uses the pre 1988 date bytes for the access password, and uses the bytes previously used by the update and access passwords for the date and time.
    Here is a summary of the date formats in the file primary directory entry:
          Before file dating:      Bytes 1 & 2 were always zero, bytes 16 & 17 contained the hash code for the update password, and bytes 18 & 19 contained the hash code for the access password.
          Initial file dating: Byte 1 bits 3-0 are the month. Byte 2 bits 7-3 are the day, and bits 2-0 are the year offset by 1980.
          Post 1987 dating: Byte 1 bits 3-0 are the month. Byte 2 bits 7-3 are the day, and bits 2-0 are the year offset by 1980 (same as initial dating). Byte 18 bits 7-3 are the hour. Byte 18 bits 2-0 and byte 19 bits 7-5 are the minutes. Byte 19 bits 4-0 are the year offset by 1980.
          MULTIDOS 3.x: Byte 16 bits 6-1 are the year offset by 1980. Byte 16 bit 0 and byte 17 bits 7-5 are the month. Byte 17 bits 4-0 are the day. Byte 18 bits 7-3 are the hour. Byte 18 bits 2-0 and byte 19 bit 7-5 are the minute, and byte 19 bits 4-0 are the seconds divided by two.
               
    Byte 01 02 16 17 18 19
    Directory Record (DIREC) before files were dated: 00000000 000000000 updatePW updatePW accessPW accessPW
    DIREC initial file dating, LDOS & MULTIDOS 1.0 through 2.0: xxxxMMMM DDDDDYYY updatePW updatePW accessPW accessPW
    DIREC post 1987 dating, LDOS/TRSDOS6 & MULTIDOS 2.1: xxxxMMMM DDDDDYYY updatePW updatePW hhhhhmmm mmmYYYYY
    DIREC post 1987 dating, MULTIDOS 3.x or later: accessPW accessPW xYYYYYYM MMMDDDDD hhhhhmmm mmmsssss
    From all the above, one can reasonably conclude from the differences that there needs to be a way to disable password checking. MULTIDOS never provided a ZAP to disable passwords. Simply, the password TERRI enables MULTIDOS to completely access any file on any diskette MULTIDOS can read.
    (Who is Terri, you might ask? Nancy Longwell was the manager at Level IV Products, and Terri was her cousin).

    Navigation
    … continue to Part 2: ULTRADOS
    … skip to Part 3: MultiDOS v1.0 – v1.72
    … skip to Part 4: MultiDOS v2.0 – v5.11
    … skip to Part 5: Z’DOS and ESOTERIC

    3 Comments

    1. Regarding Astrocal, it’s a truly superb calculator/programmer. Emulating a Texas Instruments programmable calculator, it has extraordinary precision and range. With up to 119 significant figures and operating between 10^-9999 to 10^9999, it can compete with a mainframe and can calculate numerically with almost any precision and accuracy required, with many features (e.g. polar to Cartesian), conditional testing, etc.). I’ve used it to calculate gravitational orbits (better than Matlab), relativistic GPS clock corrections and probably anything you care to name. Just wish I had it running since 1991, I would have made much more progress towards that Nobel Prize. Well done, Vernon Hester!

    2. Dear MULTIDOS users,

      It would be great if MULTIDOS could be used as an operating system on the FreHD. AT the moment, LSDOS, LDOS and NEWDOS 80 are provided with this system, set yup by Hank Vercoven and retailed by Ian Mavric. I’ve currently placed an order for a Model I auto-bootable FreHD from Ian.

      Has anyone (including particularly Vernon Hester) succeeded in setting up MULTIDOS for Models I, III and 4 for operation on FreHD.

      I’m particularly keen for this capability, so that I can run the wonderful Astrocal SR52 emulator on the FreHD.

      If so, please let Ian Mavric know, so the complete power of a TRS32 emulator on Windows running MULTIDOS with Astrocal can be made available more widely with the reliability of FreHD.

    3. Dunno why, but the formatting of this page cuts off every last word in each line. Makes it a bit hard to read. You might want to look in to it.

    Leave a Comment.