- "TurboDOS spans the Horizon"
  Karl Sterne, North Star Computers, Inc.
  "Microsystems", August 1984, Vol.5, No.8, p.114
(Retyped by Emmanuel ROCHE.)

The  North  Star  Horizon,  now  6 years old,  is  one  of  the  few  pre-1980
microcomputers still in demand. However, the Horizon, as it is built in 1984,
is a very different system from its 1978 ancestor. Today's Horizon is a multi-
user  multi-processor  that uses North Star's version  of  TurboDOS  operating
system  from  Software  2000, Inc., for both 8-bit  CP/M  and  16-bit  CP/M-86
By  the end of 1982, it was apparent that the Horizon's lifespan would be  far 
longer  than  had  been forecast. Its chief limitation  was  its  time-sharing
operating  system. To replace it, North Star evaluated a number  of  operating
systems before choosing TurboDOS. Among the reasons for the decision were:
     1. TurboDOS  has  a multi-processor networking  architecture.  (In  fact, 
        North   Star's  latest  computer,  the  Dimension,  uses   a   similar
        architecture. The Dimension, however, incorporates a multiple-user IBM
        XT-compatible  operating system rather than TurboDOS, as well  as  the
        Intel  80186  processor rather than the Zilog Z-80, and  the  IBM  bus
        rather than the S-100 Bus.)
     2. TurboDOS  provides true multi-user operation, including  file  sharing 
        and record lockout.
     3. TurboDOS   permits   simultaneous  operation  of  8-bit   and   16-bit 
     4. TurboDOS outperforms many other operating systems in timed benchmarks.
     5. TurboDOS  has  powerful networking facilities,  including  support  of 
        multiple circuits, node-to-node communications, and the ability of any
        node to be a server. This allows, for example, direct access to the S-
        100 Bus for control of special boards.
     6. TurboDOS comes as close to being a minicomputer operating system as is 
        practical on a microcomputer.
Given  all its advantages, TurboDOS can still be improved. This  article  will 
discuss some of the improvements made by North Star.

16-bit operation
North Star's principal problem with TurboDOS was that Release 1.22, the latest 
available  in  1983,  emulated  only  8-bit CP/M,  and  did  not  have  16-bit
capabilities.  Software  2000's assurance, that a  new  release  incorporating
CP/M-86  emulation  was  imminent,  allowed North Star  to  proceed  with  the
development  of  new hardware: an 8-bit Zilog Z-80 satellite board,  a  16-bit
Intel  8088-2 satellite board, and a memory expansion board to give the  Intel
8088-2 as much as 512K of RAM. The existing Horizon hardware was used  without
modification  for the server (master). Although both the 16-bit  hardware  and
the  new  TurboDOS release took longer than expected, they have  been  in  use
since April 1984, and have had excellent acceptance.

Installation and configuration
TurboDOS  runs  on  a  large  variety of  hardware,  and  one  result  of  its 
versatility is that it tends to be difficult to install. Having once succeeded
in  installing the "vanilla" system, the user is confronted with the  task  of
tailoring  it  to  that particular hardware. This  usually  requires  a  word-
processor to create lists of operating system functions and other  parameters.
This  process is a radical departure from the straightforward installation  of
other North Star operating systems.
The  North  Star  approach  was  to  split  the  process  into  2   functions: 
configuration  and  installation.  The configuration  program  asks  the  user
questions  in English, and does not require a word-processor; installation  is
automated, using the operator's responses.
The  North Star TurboDOS operating system is distributed as a 4-diskette  set. 
Each  diskette  is  named  for its particular  function  in  the  installation
DISKette  is  a  bootable TurboDOS operating system that  contains  a  maximum
hardware  configuration.  Some  users  will never  need  to  generate  another
operating system.
Two  manuals come with North Star TurboDOS: the TurboDOS User's Guide and  the 
TurboDOS  Reference Manual. The preface to the TurboDOS User's Guide  contains
step-by-step instructions for helping the system install itself. Three  simple
commands are entered from any user's console. The rest of the process requires
only a few Carriage Returns and diskette changes.
The  installation process uses the TurboDOS command file batch utility  --  an 
enhancement   of  the  CP/M  SUBMIT  facility  --  and  performs  the   system
initialization  tasks  such  as  verifying  the  hard  disk  data  tracks  and
formatting  the TurboDOS directory area. The user is then asked to insert  one
of  the 4 distribution diskettes. The proper user areas of the hard  disk  are
loaded with the appropriate files. This process is repeated for each of the  4
At this point, the installation creates a bootable diskette for daily use. The 
distribution  diskette  set  can  be set aside,  and  the  computer  is  fully
operational.  If  customizing  of the operating system is  not  desired,  this
completes the process.
The  operating  system  on the SYSTEM DISK contains  software  drivers  for  a 
maximum  system.  It includes hard disk drivers for both types of  North  Star
hard  disks, and 2 different kinds of printer drivers. Should the user wish  a
different configuration, the CONFIG program is run.
CONFIG  asks the user questions in simple English about the  desired  hardware 
configuration. It builds the TurboDOS GENeration and PARameter files  required
by  the TurboDOS GEN command. No other programs are required. After  the  user
finishes  answering  all the questions, a system summary is displayed  on  the
screen.  This can be accepted or aborted, and the user can change any  desired
At the end of the session, the user can opt not to have the TurboDOS operating 
system  actually  generated.  In this mode, CONFIG acts as  a  teaching  tool,
allowing  the user to see how different configurations change the form of  the
GEN and PAR files.
If  additional  TurboDOS operating systems are desired, another  command  file 
batch  is  executed.  This  file, created by  CONFIG,  performs  the  TurboDOS
operating  system generation and copies the new TurboDOS operating systems  to
the proper area of the hard disk. The old TurboDOS operating system files  are
saved with an ORG filetype. Should any problems occur with the newly-generated
TurboDOS operating systems, the old ones can be recovered.

Bad spot de-allocation
All  hard disk systems must deal with the question of how to detect and  avoid 
defects (known as bad spots) on the hard disk medium. Typically, a disk  drive
will  be shipped by the manufacturer with a few bad spots already on  it,  and
additional bad spots will "grow" as the result of vibration (especially during
shipping), power failures, or aging of the machine.
A  good  hard  disk system must, therefore, deal with  2  different  bad  spot 
        1. A hard disk arrives with bad spots already on it.
        2. A hard disk grows bad spots while it is in use.
Hard disk systems must also deal with 2 kinds of bad spots: "hard" (permanent) 
bad spots and "soft" (intermittent) ones. It is good practice to recognize and
avoid the soft ones as well as the hard ones (even though you can often  retry
enough  times to get past the soft ones) because they tend to get  worse  with
The  issue  is complicated by the fact that the location of the bad  spot  can 
make a big difference in how bad it really is. A bad spot in an unused part of
the disk is not a problem, as long as one can tell the operating system how to
avoid it. A bad spot in a data area is a problem, because data has very likely
been lost. A bad spot in the directory can be fatal.
Generic  TurboDOS comes with a program, VERIFY, which de-allocates bad  spots; 
i.e.,  it  removes them from the pool of available disk space.  VERIFY  has  2
deficiencies, however. First, it finds only hard errors, because it is  forced
to  do  read-only  tests via the normal hard disk drivers,  which  are  fault-
tolerant by design. Soft errors will trigger retries at the driver level,  but
these  retries  are  not reported to VERIFY unless  many  successive  failures
occur.  Second, it can be run only at startup -- the directory must  be  empty
for  it  to work properly. Therefore, it does not help at all with  bad  spots
that grow during use.
North Star's answer was to create a program named MARKBAD. MARKBAD is  similar 
to  VERIFY  in  that it de-allocates disk blocks that contain  bad  spots.  It
differs from VERIFY in 2 important ways. First, it accepts manual input of bad
spots. This allows identification of both soft and hard spots, which are taken
from  the  manufacturer's disk label, from a hard disk test program,  or  from
disk  error messages put out by TurboDOS itself. Second, it can be run at  any
time,  so  that  a  bad spot that grows during use can  be  removed  from  the
available pool.
VERIFY  and MARKBAD both deal with bad spots in the disk's data area.  Neither 
can help if the bad spot is in the directory, because directory blocks  cannot
be  de-allocated.  TurboDOS  requires the  entire  directory  area  (including
allocation  table) to be free of defects. On a 30MB hard disk with a 2K  block
size,  for example, this area occupies 30 tracks, or about 240K.  (ROCHE>  The
size of a standard IBM 3740 8" floppy disk...)
To  alleviate  this situation, North Star developed a means  of  swapping  bad 
directory  tracks with good data tracks in a manner invisible to TurboDOS,  so
that the bad blocks end up in the data area (where they can be de-allocated by
MARKBAD)  and  the  good blocks end up in the directory.  This  preserves  the
maximum  amount of good disk space possible. Another approach would have  been
to  slide  the beginning of the directory out into the first clear  space  big
enough  to  hold it, but a potentially large amount of good disk  space  might
have to be skipped, and that space would be lost.
The swapping of tracks takes place on power up, when a special section of  the 
hard  disk driver reads the North Star bad-spot table from a reserved  portion
of the disk. This bad-spot table is initially written in the factory, and  can
be updated in the field by running the hard disk test-and-format program.
When a disk is shipped with a bad spot in the directory, the first system boot 
will  swap the bad track out into the data area, and MARKBAD will be  told  to
de-allocate  the  affected data blocks. The system will then appear  like  any
other North Star TurboDOS system.
If  a bad spot grows in the directory later, some or all of the disk  will  be 
unreadable.  The procedure is to recover what can be read, then run  the  hard
disk  test-and-format program, and tell it where the new bad spot is.  On  the
next  boot,  the new bad track will be swapped out of the directory,  and  the
system will again be usable. Any lost data has to be recovered from the backup

User interface
Even though TurboDOS provides a considerably more pleasant user interface than 
CP/M,  it  is designed for computer professionals rather than  for  the  small
businesses that are North Star's principal customers. To present a more easily
understood  set of screens, North Star has bundled Turbo-Plus into North  Star
TurboDOS.  This  is an enhancement package that provides  powerful  additional
facilities  for  TurboDOS. The utilities included are:  DIRDUMP  displays  the
master  directory of any disk; WHO displays a list of all the  current  users;
LOCATE searches any or all drives for a file; BB (Background Batch)  schedules
jobs  to  the  background queue; STATUS monitors the  activity  of  users  and
peripherals;  HELP provides on-line help menus that users may  customize;  TWX
(ROCHE> TeletypeWriter eXchange. An old US and Canadian dial-up communications
service that became part of Telex.) sends messages to other users immediately;
MAIL is an electronic mail facility.
Turbo-Plus is a set of utilities developed by Microserve Inc. for TurboDOS. It 
was  chosen primarily for its extensive on-line HELP messages, as well as  for
its  versatile  electronic mail facility. In addition, Turbo-Plus  contains  a
group of commands that allows the network manager to track utilization, keep a
log of user time, and control other users.
Besides  these  aids  for  less sophisticated users,  Turbo-Plus  also  has  a 
powerful  Background  Batch utility, BB, that allows users  to  schedule  low-
priority  non-interactive  jobs for execution in background mode or  at  times
when the system is lightly used.

By  adding TurboDOS and the new multi-processor hardware developed for  it  to 
the  Horizon, North Star has extended the usage of this popular  computer  for
years to come. And North Star's implementation of TurboDOS brings the power of
a  sophisticated operating system to non-professional users who need  only  to
follow a step-by-step procedure for successful installation and operation.