
  UDOS for 32KW HP21xx using the USB disk adapter
  ===============================================

UDOS32 is a simple utility that loads ABS binary files from a USB flash
disk connected to the VDRIVE-based USB disk adapter, and permits attaching
read and write files for applications to access using papertape emulation.
UDOS resides in the upper part of memory starting at 76100 octal, and
remains in memory while the application is running. For compatibility
and easy recalling, executing from 77000 returns to the UDOS menu.
The original version of UDOS was for 8KW machines and only included
the first 4 menu options, this expanded version adds a binary loader
(with and without executing) and an attach write file function.


Loading UDOS32
--------------

The provided udos32.abs binary is configured for TTY in slot 11
and PTR/USB in slot 12. There is no built-in configuration utility,
if different slots are needed then before running put the TTY slot
address in location 76102 and the PTR/USB slot in location 76103.
Or edit the udos32.asm source and reassemble, typically using ASM21.

For easy loading using the USB disk adapter, copy the binary to
the USB flash drive and name it HPBOOT or a single-letter name.
Power up the HP minicomputer then power up the USB disk adapter.
When the USB disk adapter is reset it automatically attaches HPBOOT,
if named with a letter press switch 1 until displayed then press
switch 3 to confirm. Once attached, on the HP select register S and
set to 001200 (bits 7 and 9 on, modify if PTR/USB isn't slot 12),
press store, preset, ibl, preset, run - the binary should load and
light up bits 0-5 to indicate success. Select register P, set to
077000 (bits 9-14 on, the rest off), store, preset, run.


Using UDOS32
------------

The UDOS menu should display on the terminal...

1) SAVE BINARY
2) ATTACH READ FILE 
3) DOS PROMPT 
4) RUN FROM 2 
5) LOAD BINARY
6) LOAD AND RUN BINARY
7) ATTACH WRITE FILE
>

Options 1, 2, 5, 6 and 7 prompt for filenames. There is no backspace
so type carefully, if a mistake is made press ESC to exit without
performing the command (however characters are still sent to the VDRIVE,
the interface will display "bad filename" but recover once a proper name
is sent). Press Enter to send the filename and perform the command.

Option 1 prompts for a filename then saves all of memory below UDOS to
a single large ABS file. Note - the file should not already exist, otherwise
the new binary will be appended after the existing file. Presently there are
no provisions for saving a specific range or multiple ranges of memory.

Option 2 prompts for a filename then opens the file for reading (PTR).
There is no error-checking, send an empty filename to close the read file.
If a non-existing read file is attached the USB interface will display an
error indication and return 0 bytes when read (this should be fixed).

Option 3 runs a raw VDRIVE dos shell, press Esc to exit.
Useful commands include...

DIR - list a disk directory
DIR FILENAME - list information about a specific file
DLF FILENAME - delete a file
REN OLDNAME NEWNAME - rename a file (be careful, a PC will see the old name)
RD FILENAME - list the contents of a file to the console (garbage if not text)
CD DIRNAME - change to another directory (CD .. for up, CD / for root)
MKD DIRNAME - create a new directory
DLD DIRNAME - delete an empty directory
FWV - print firmware version (at least 3.65 or 3.66 needed, current is 3.68)

Refer to the Vinculum Firmware User Manual for more information. The VDRIVE
supports many more commands but be careful as some cannot be used from an
ASCII-based terminal and some commands can directly manipulate files and
raw disk sectors. Use the FWV command before getting too far, if < 3.65
then the firmare in the VDRIVE2 module should be upgraded to avoid issues.

Option 4 simply jumps to location 2, which runs applications which include
a startup vector in locations 2 and 3. To run an application which starts from
another address, halt, set P to the starting address then press Run.

Option 5 prompts for an ABS binary filename then attempts to load the binary,
after loading returns to the UDOS menu. If a read file attachment is needed,
attach the read file after loading since the load itself opens a read file.
Possible errors are ERROR if the file is not found, RANGE ERROR if the binary
attempts to overwrite UDOS, and CHECKSUM ERROR if not a valid ABS file.

Option 6 prompts for an ABS binary filename then attempts to load the binary,
if the load is successful then jumps to location 2 to run the application.
This only works if the binary has a run vector in locations 2/3 and the
application does not require a read file attachment, otherwise use the
load option 5, make the attachment(s), then run either from 2 or by halting
the machine, setting the P register to the starting address, then
pressing Store then Run.

Option 7 prompts for a filename then opens the file for writing. Send an
empty filename to disable writing (writes are then absorbed with no effect).
Note - if the file exists, writes will be appended after any existing data.
To replace a file, use the prompt option 3 then use the command DLF FILENAME
to delete the file first, then open the write file. The new file won't
actually be created until data is written to the PTP interface.

----------------------------------------------------------------------------
Docs last modified May 3, 2012
Terry Newton (wtn90125@yahoo.com)

