Attached are four disk images (double density Micro Complex Dos) with 
13 useful utilities and their source. See the README file on the MCDOS 
disk image for a description of the utilities. (reproduced below)

MCDOS is a bootable disk image (Micro Complex Dos) containing several 
components of Allen Ashley's PDS and should be in disk drive 1. 

DEVEL1, DEVEL2, and PROC are disk images containing assembly language 
source for the 13 utilities, and should be in disk drive 2 when in 
use. 

There is a README file on each disk which describes the contents of 
that disk. There is also a document file for PROC, a procedure file 
processor. Test procedures for PROC are on the PROC disk image. See 
the README file on that disk. 

The easiest way to display the README files is to use the VIEW utility 
on the boot disk MCDOS. VIEW can also be used to look at the source 
files, procedure files, document files, or any text file. It displays 
text one page at a time and waits for <ESC> to abort or any other key 
to continue. 
Syntax: VIEW filename 

All of these utilities were converted, assembled, and linked using the 
Dunfield Horizon simulator and programs on the boot disk image. All 
should run as provided on Northstar Dos (double density) with the 
exception of PROC which would need to be re-assembled for Northstar 
Dos according to comments at the top of the source file. 

By way of explanation, I use the following file type conventions: 
type 11 is relocatable binary, input to LINK 
type 22 is assembly language source, input to MAKRO 
type 23 is raw text 
type 8 and 9 are procedure files, input to PROC 
 

------------------- README from MCDOS.NSI -----------------

Contents of Disk Image "MCDOS"
==============================

MCDOS: contains a copy of Micro Complex Dos 7.0 with Northstar Horizon I/O and
will boot using Dunfield's simulator.  McDos supports single, double, and quad
density disks.  It is Northstar compatible with a few exceptions:

1) The McDos command to jump to an address is EX (execute), for example to
   re-boot the system you would enter:
   EX E800    (execute the code in the boot ROM at E800)

2) Filenames can contain upper and lower case, however the keyboard entry must
   match the case of the filename on the disk.  I have used UPPER case for all
   command files.

3) McDos has an internal command to rename a file:
   RN oldfname newfname   (size, disk address, load address are not changed)

4) GO "filename" is not required, "filename" alone is sufficient.


CF, CD, CO, and DT are the usual Northstar DOS command files

M0000, M2D00, M5700, M6700, and MF400 are Northstar Monitor utilities

MD.S is a Micro Complex utility to merge single density disk contents on
   drive 2 onto a disk in drive 1.

MD.D is a Micro Complex utility to merge double density disk contents on
   drive 2 onto a disk in drive 1

BASIC is Northstar Basic, and HEXCALC, HP-CALC, and LPTEST are Basic programs

ASMB, LODR, LODR.HI, LINK, LINK.HI, MAKRO, EDIT, and DBUG are components of
   Allen Ashley's Program Development System "PDS"


This disk also contains the following utilities which I wrote (or converted)
to run under Micro Complex Dos 7.0 or Northstar DOS 5.0.


DF (display files) -- a three column directory listing which also reports
   the remaining space on the disk.  This value assumes that the disk is all
   single or double density files and is packed (has been compacted).
   Syntax: DF unit  (where unit is 1, 2, 3, or 4)

PU (purge file) -- equivalent to DE filename, followed by CO
   Syntax:  PU filename
   Program requests permission before purging file

MF (merge files) -- utility to merge two or more input files into one output
   file.
   Syntax:  MF   (program prompts for filenames)

CEOF (copy to end of file) -- utility to copy a text file which is delimited
   by the EOF byte (0FFH) to an output file.  EOF byte is included in output.
   Syntax:  CEOF   (program prompts for filenames)

SIZE (report size of text file) -- utility which reads a text file until the
   EOF byte is encountered and then reports number of bytes, lines, blocks,
   and sectors required.
   Syntax:  SIZE filename

VIEW -- utility to display the contents of a text file.  Output is sent to the
   console a page at a time, at which time user can type ^C or <ESC> to stop,
   or any other key to continue.
   Syntax:  VIEW filename

DUMP -- utility to display the contents of a binary file.  Output is sent to
   console a block at a time, at which time user can type ^C to stop, or any
   other key to continue.  Display is in hex and ascii.
   Syntax:  DUMP filename

TTT (transfer/translate/transform) -- this is a utility similar to CP/M's PIP.
   It provides several filters and formatting options to alter a text file.
   Output can be to another file, the console, or to a printer.  Program
   prompts for input filename, output destination, and options.  I use this
   program to display free form assembly language files in a format similar
   to the listing from the MAKRO assembler.
   Syntax:  TTT   (program prompts for input, output, and options)

FORMAT -- a text formatting program based on the original program published
   in "Software Tools" by Kernighan and Plauger.  Formatting instructions are
   embedded in the text.  Output may be sent to another file, the console, or
   to a printer.
   Syntax:  FORMAT  (program prompts for input and output destination)

PROC -- a procedure file processor.  This program resides in the first 4K of
   low memory and provides an extension to DOS to process procedure files,
   These can be disk resident files, or memory resident files.  This is a very
   powerful, but somewhat complex program which is described in detail in
   PROCDOC.  Sample procedure files ASMBL and COPYFILS are also included on
   this disk image.  Note: this program is assembled for Micro Complex Dos,
   but a version can be assembled for Northstar Dos, and this has been tested.
   Syntax:  PROC   (program prompts for procedure file and parameters)

CREF -- a utility to provide a cross reference listing of a Basic program
   which is read from the disk resident type 2 file.  Output is to the console.
   Syntax:  CREF  (program prompts for filename, unit)

MCROSS -- a utility to provide a cross reference listing of an assembly
   language source file.  Program also provides formatted source listing if
   desired and can output to console or printer.
   Syntax:  MCROSS  (programs prompts for input, output destination, options)

ED (a text editor) -- created by disasembly of Allen Ashley's EDIT.  This was
   the first step in creating a full screen editor using video I/O on the
   author's system, an IMSAI computer with Northstar Disks.  Operation is
   similar to Ashley's EDIT (documented elsewhere on this website).  The main
   difference is that single keystrokes are provided to move the activity
   pointer (assembled to be the vertical line "|" in this version), including:
      ^H or , -- moves pointer back one character
      ^L or . -- moves pointer forward one character
      ^K or [ -- moves pointer back one line
      ^J or ] -- moves pointer forward one line
      /       -- moves pointer back 10 lines
      \       -- moves pointer forward 10 lines
      (space) -- redisplays position of pointer
      rubout  -- delete character at pointer
   Syntax: ED  (program prompts for input and output)
           ED filename  (program uses same file for input and output)

Note: The author's system used a modified version of Micro Complex Dos which
      used I/O redirection for output.  Output could be sent to the console,
      a printer, to a disk file, or any combination of the three.

      I have modified the utilities listed above which output to a printer to
      output to the console.  They could be assembled to output to a device
      other than the console using a device type other than zero.  I have no
      way to test this using the simulator.  All programs are assembled for
      double density disk files.

