Version: 1.5.2
Date: 2020/04/16


I. Introduction

These are a set of utilities that I used to upload disk and floppy images
from my 990 system. Utilities to list floppy directories and extract files.
A utility to generate TILINE disk files for system use, disk and floppy dump
and patch disk. Also included, is an object file disassembler.


II. Build the Utilities

Lunix/Unix:

$ make


III. To run the Utilities


III.1 Dump Disk

This utility dumps TILINE disk image sectors onto standard out. The command is:

   $ dumpdisk disk.file [cylinder head [startsector [endsector]]]


III.2 Dump Floppy

This utility dumps sectors onto standard out. The command is:

   $ dumpfpy floppy.file [track [startsector [endsector]]]


III.3 Floppy Directory List

This command lists the directory of a floppy disk. The command is:

   $ fpydir [-options] floppy.file

The options are:

   -e           - List file extents.
   -l           - List long format.
   -p           - List UCSD Pascal floppy.


III.4 Floppy File Extract

This command extracts files from a floppy disk file and writes it to standard
out. The command is:

   $ fpyfile [-options] floppy.file filename

The options are:

   -l NN        - Loader mode for Pascal code and data files.
   -t           - Extract text file.
   -p           - Extract UCSD Pascal file.

The Pascal option checks the file type field to determine how to extract the 
file. The Codefile and Datafile types are dumped in blocks as a hex dump. The 
-l option dumps these files in an object code format.


III.5 Make disk

This utility creates a TILINE image file for the specified disk. The command
is:

   $ mkdisk [-options] disk.file

The options are:

   -d dskmodel  - The disk model to be created. Supported models:
             CMD16 CMD80 DS10 DS25 DS31 DS50 DS80 DS200 DS300 FD1000 SI470 
             WD500 WD500A WD800-18 WD800-43 WD800A-43 WD800A-100 WD900 
   -v           - Verbose output


III.6 Make a Tape File

This utility copies files into a form suitable for reading using the Mag Tape
device. The command is:

   $ mktape [-options] tape.file inputfile...

Where options are:

   -b           - Binary mode.
   -i NN        - Input record length, default 80.
   -n           - No EOF between files.
   -o NN        - Output record length, default 80.
   -r NN        - Record length, default 80.

Normally, the -r option sets both record lengths for input and output. When
necessary you can change either one with the -i and -o options.


III.7 Patch Disk File

This utility patches TILINE disk image file. The command is:

   $ patchdisk disk.file cylinder head sector offset verify [val1 ....]


III.8 Patch Floppy File

This utility patches Floppy disk image file. The command is:

   $ patchfpy floppy.file track sector offset verify [val1 ....]


III.9 Read Tape file

This utility reads files from the tape file and write it to an output file. If
no file is specified output is written to standard out. The command is:

   $ rdtape [-options] tape.file [out.file]

Where options are:

   -b           - Binary output.
   -c           - Chop first record CC header
   -f NN        - File number.
   -r NN        - Record length.
   -s           - Strip leading CRLF.
   -t           - Trim trailing blanks.
   -v           - Verbose output



III.10 Object File Disassembler

This utility reads a 990 object file and disassembles it into source code. It
attempts to use REF/DEF information to generate symbolics. The command is:

   $ dis990 [-options] object.file

Where options are:

   -d           - Process Dump file (from SPI).
   -m model     - CPU model, default = 4.

The resultant source is written to standard out.


III.11 Scan Disk for Pattern

This utility scans a TILINE disk image file for a pattern match. Each 
match location is logged and the sector is dumped in hex format. The
command is:

   $ scandisk disk.file pattern [cylinder [head [startsector [endsector]]]]


III.12 Hex Dump 

This utility performs a Hex dump of a file. The command is:

   $ hd [options] file

The options are:

   -b           - Block mode.
   -c NN        - Record/Block dump count.
   -r NN        - Record/Block length.
   -g           - Use disk geometry.
   -s NN        - Seek location.
   -t           - Tape dump mode, default Disk dump mode.


III.13 Forth Screen Editor

This utility edits screen on the Forth data disk image. It reads the screen 
from the disk image into a temporary file and launches the system editor.
The command is:

   $ sedit forthdisk screen

Forth screens are 16 lines by 64 characters. Lines exceeding 64 characters will
be truncated and lines in excess of 16 will be dropped.


III.14 Split Object

This utility takes a sequential library and splits it into individual object
files in the specified output directory.

   $ splitobj inputarchive outputdirectory


III.15 Link Object

This utility takes object files and creates symbolic links based upon the 
external definitions in the file. This allows the LIBRARY/SEARCH commands to
operate using the lnked990 linkage editor.

   $ objlink file1.obj ...


III.16 Object to Intel HEX

This utility takes executable object files (not unlinked object modules) and 
creates an Intel HEX format file.

   $ obj2hex [options] file.obj

The options are:

   -a address	- Relocation address (defaults to >A0).
   -o file.hex	- Output HEX file name (defaults to stdout).
