TRS-80 DOS – MultiDOS

Background and History

It all started with SuperBASIC …

Super BASIC
Click to Enlarge

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]

UltraDOS 4.1
Click to Enlarge

     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

MultiDOS v1.0
Click to Enlarge

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]

Click to Enlarge

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?

[ZDOS 1.0]

Click to Enlarge

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.


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
 

Feature Comparison chart as of January 1982:

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
 

DOS feature comparison chart as of January 1982:

Feature
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
Total
Files
Files
Added
Files
Remv’d
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)
Sep-1981
MULTIDOS released
1.0
Single-Density, Model I operating system. Originally called ULTRA-II
23
 
 
Date
Activity
Ver.
Comments
Total
Files
Files
Added
Files
Remv’d
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
 
Date
Activity
Ver.
Comments
Total
Files
Files
Added
Files
Remv’d
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
Date
Activity
Ver.
Comments
Total
Files
Files
Added
Files
Remv’d
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
 
 
Date
Activity
Ver.
Comments
Total
Files
Files
Added
Files
Remv’d
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
 
 
Date
Activity
Ver.
Comments
Total
Files
Files
Added
Files
Remv’d
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
 
Date
Activity
Ver.
Comments
Total
Files
Files
Added
Files
Remv’d
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
 
Date
Activity
Ver.
Comments
Total
Files
Files
Added
Files
Remv’d
 
 
 
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
 
 
Date
Activity
Ver.
Comments
Total
Files
Files
Added
Files
Remv’d
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).


Article Navigation:

Continue to …

Part 2: ULTRADOS Page

Skip to …

Part 3: MultiDOS v1.0 – v1.72
Part 4: MultiDOS v2.0 – v6.00
Part 5: Z’DOS and ESOTERIC
Part 6: Q&A with Vernon Hester

2 thoughts to “TRS-80 DOS – MultiDOS”

  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.

Leave a Reply

Your email address will not be published. Required fields are marked *