Ira Goldklang's TRS-80 Revived Site

TRS-80 Revived Site is an archive of everything related to the Tandy Radio Shack TRS-80 microcomputer lines. Site contains emulators, programs, manuals, books, patches, games, hints, discussions, questions, forums, and tons more.

TRS-80 DOS – DOSPLUS 3.5

by @ 6:18 pm on March 18, 2010.
[Model I]      [Model III] TRS-80 DOSes: DOSPLUS     [Model 4]      [Model 4P]


Page Menu
General
  
  
Zaps
  
  
Manual (Selected Portions)
  
  
  
  
  
  
  
  
  
  


Background
DOSPLUS v3.5
DOSPLUS 3.5 is a Disk Operating System for the Model I and Model III TRS-80 made by Micro Systems Software Inc. of Boca Raton, Florida. It was released in 1983 for the Model I and Model III TRS-80 at a suggested retail price of $149.95.

Although not an exhaustive list by any means, the following were some of the features which set DOSPLUS 3.5 apart from TRSDOS, and in some cases, apart from other DOS’s:

Devices, Files, and Drives Are Treated The Same
One of DOSPLUS 3.5′s strength, particularly over TRSDOS, was that it allowed the user to treat devices as files. You could switch, kill, reassign, and reconfigure input/output devices at will. As far as DOSPLUS 3.5 was concerned, you could manipulate the Keyboard (KI), Display (DO), Printer (PR), RS-232 (RS), and two user-defined hardware devices (U1 and U2), as well as 8 disk drive types. The devices were operated by character (one byte at a time), while the drives were operated by files (one file at a time). However, character-oriented and file-oriented devices could be made to perform as each other, so you really could interchange files, drives, and devices (within reason, of course).

These relationships were established by ASSIGN, JOIN, FORCE, and RESET.

Join connects the specified devices to receive the same byte simultaneously or to link two input devices so that one unit supplies data for the other. You can also use Join to join the device to a disk file. For example, you can use the command: JOIN (FROM) @DO (TO) @PR to provide a printout of all items displayed to the video. The command Join alone provides a listing of the current status of the character-oriented devices and their driver address.
Force diverts output from the previously assigned device and sends it to the new device. This allows the redirection of input and/or output paths for the system’s devices. For example, the command FORCE (FROM) @PR (TO) fdespec reroutes the output from the printer to the filespec disk file. Force without any I/O field provides a listing of the current status of the character-oriented devices and their driver address.
Reset restores a device or disk drive to the previously assigned driver. This disolves any Joins or Forces in effect for the specified device and restores the default or initial driver to service. Reset without any other fields performs a global reset of all devices.
Assign installs drivers for a device or drive. This command lets you install a nonstandard driver for any device or drive in the system. The driver is a program that controls the input/output from a specific device or drive, such as hard disk drives. Once you install the driver program on a device by using the Assign command, you can assign the same driver to other devices by using the Assign command without allocating more memory. Assign requires that the driver program be in a loader format machine executable tile. The Assign command loads this driver into memory and the program executes the routine.

[DOSPLUS 3.5 Model I]
DOSPLUS v3.5 for Model I

[DOSPLUS 3.5 Model III]

DOSPLUS v3.5 for Model III

Filters
DOSPLUS 3.5 also supported filters – customized tables which would convert an input file to an output file, using the translations in the filter.

The power of combining these two
By combining the device based driver model with filters, otherwise complex tasks were made fairly routine. Examples, keyboard debounce, keyboard repeat delays, macro keys, character filtering were some examples using the Keyboard. Similarly, special cursors and lowercase were simple work for the Display. Of course, both serial and printer benefited from spooling, automatic pagination, and indenting. Pretty cool stuff, but the most stunning is that you could route a device to a file, essentially making the file a container which acted as a disk drive (which would have been a precursor of directories on a hard drive).

Wildcard Support

In addition, DOSPLUS 3.5 also supported wildcards for filenames. For example, KILL :0 USING ! would kill all visible files on :0 (and is the same as “KILL !:0″)

CONFIG
Similar to LDOS’s CONFIG, and NewDos/80′s PDRIVE and SYSTEM, DOSPLUS 3.5 allowed you to configure the attributes of drives, including allowing the use of Hard Drives.

LOAD
The LOAD command could be used to load “core image files” which different from CMD files in that they have no header, and represent the format at which the file would appear in memory.

System Customizations
DOSPLUS 3.5 could be customized so that specific system drivers were loaded on each boot, including any filtering which was desired. The logo, date prompt, time prompt, caps lock, cursor character, cursor blink, etc. were also customizable. These were all done by using the SYSTEM command to make your selections and then using the CONFIGR command to write them to disk so that they would automatically load on reboot (if you wished to do so). DOSPLUS 3.5 could support the existence of different CONFIGR files on the same disk and could change between them on the fly.

Job Control Language
Unlike the DO command, DOSPLUS 3.5′s JCL executor was a real language and had to be loaded into high memory (using the SYSTEM command) before it could be operated. Once in memory, batch files could be created with substitutional parameters and conditional execution.

Included Utilities
BACK-UP – backup a disk.
CONVERT
CRUNCH
DIRCHECK – check the target disk’s directory for errors and repair most errors in the file entry table, the HIT, and the GAT.
DISKDUMP – display and modify the contents of any disk file by sector.
DISKZAP – display and modify the contents of any disk cylinder/sector.
FORMAT – format a disk.
HELP – display the command syntax for a chosen keyword, with a description of its function
LABEL – read a BASIC source file and change named references to line numbers.
MAP – lists the file disk space allocated to files by cylinder/sector.
PATCH – apply modifications to any load module, either from a disk file or from the keyboard.
RESTORE – undelete a file (accomplished because DOSPLUS 3.5 only zero’s out the first byte of the directory entry when KILLing a file).
SYSGEN – place the system files onto a destination disk (requires the disk be formatted first).
TAPE – a general tape to disk converter which can display the load map of the file and relocate the file (similar to NEWDOS/80′s LMOFFSET or LDOS’s CMDFILE).
TRAP


Zap – Forcing VERIFY in DOSPLUS v3.4 – R. Baker
Using AUTO to turn on Verify at every boot-up in DOSPLUS v3.4 not only slows the boot process, it also corrupts memory above 5200H. This gets you if you are trying to reenter the Electric Pencil, for example. Or if you are trying to DUMP code in that area. So to force Verify to be on all the time unless turned off use DISKDUMP to zap SYS0/SYS.H4, File Relative Sector 1, at byte CF
From  C3 2A 48
  to  C3 47 48
						


Zap – Disabling Passwords in DOSPLUS v3.4
Use DISKDUMP to zap SYS2/SYS.H4, File Sector 1, at byte C8
From  E1 28 37
  to  E1 18 37
  						


DOSPLUS 3.5 General Conventions
1.     Capital letters MUST be typed as shown on command lines.
2.     Information to be entered by the user based upon a list of valid values and parameters for that command are given in lower case.
3.     Brackets indicate that the information contained within the brackets is optional and may or may not be entered, depending on the situation and the user’s desire for clarity.
4.     Parentheses indicate the parameter field. This field is composed of those parameters that will modify the action of the command to suit the user’s needs. Parentheses are not a requirement in DOSPLUS; the parameter field is now indicated as much by position as by delimiters.
5.     Parameters may be abbreviated by using the capital letter(s) of the parameter name. Lowercase letters may or may not be typed, depending on the user’s need for clarity.
6.     The letter H indicates that the value it follows is a hexadecimal value. It is used for entering data to the system in hexadecimal format.
7.     The general form of each command will be the command itself, followed by the I/O field, followed by the parameters field. The parameter field and certain portions of the I/O field are optional and included at the discretion of the operator.


DOSPLUS 3.5 Library Command Reference
APPEND – append file/device data to another file
      APPEND [FROM] device1/file1 [TO] device 2/file2 (Cmd=,Strip=)
            device1/file1 – source device or file
device2/file2 – destination device or file
                  @DO – video display
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
            Cmd=sw – appends to destination file in load file format (/CMD file)
Strip=sw – backspace destination file 1 byte
ASSIGN – install driver program for any device or drive
      ASSIGN [FROM] devspec/drivespec [TO] filespec
ASSIGN [FROM] devspec1/drivespec1 [TO] devspec2/drive-spec2
            devspec – name of device for which driver is to be installed
                  @DO – video display
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
            drivespec – name of drive for which driver is to be be installed (:0, :1)
filespec – name of driver program
devspec1 – source device
drivespec1 – source drive
devspec2 – destination device
drivespec2 – Destination drive
ATTRIB* – set a file’s user definable attributes
      ATTRIB filespec (PW=””,Acc=””,Upd=””,Prot=,Lrl=,Inv=,Keep=,Mod=)
ATTRIB [USING] wildmask (PW=””,Acc=””,Upd=””,Prot=,Lrl=,Inv=,Keep=,Mod=)
            filespec – file with attributes to be altered
wildmask – file or group of files to be operated on (use ?,*,! to mask characters)
PW=”” – disk master password
Acc=”” – new access password
Upd=”” – new update password
Prot=value – protection
                  0 – no protection set. Total access
1 – Kill, Rename, Write, Read, Execute
2 – Rename, Write, Read, Execute
3 – Not used at this time
4 – Write, Read, Execute
5 – Read, Execute
6 – Execute only
7 – No access. Not a user option
            Lrl=sw – new logical record length
Inv=sw – new invisible status
Keep=sw – new non-shrinkable status
Mod=sw – new mod flag status
AUTO* – execute command at boot-up
      AUTO [drivespec] [doscmd;doscmd;....]
AUTO *[drivespec] [doscmd;doscmd;...]
AUTO ![drivespec] [doscmd;doscmd;...]
            [drivespec] – optional drive specifier
[doscmd] – any executable DOSPLUS command.
* – disables as break on boot & disables BREAK
! – invisible command
BOOT – system reboot from software
      BOOT – there are no parameters
BREAK – enable/disable BREAK key
      BREAK [ON/OFF]
            ON – enable BREAK key
OFF – disable BREAK key
BUILD – build an ASCII text file
      BUILD devspec/filespec (Append=)
            devspec – any valid device specification
                  @DO – video display
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
            filespec – any valid file specification
Append=sw – build onto existing file
CAT – display disk’s file catalog
      CAT [FROM] drivespec [TO] file/device [USING] wildmask (System=,Invis=,Kill=,Alpha=)
            drivespec – any valid drive number
file – optional output file
device – optional output device
                  @DO – video display
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
            wildmask – file or group of files to be operated on (use ?,*,! to mask characters)
System=sw – display files as standard entries
Invis=sw – display visible and invisible files
Kill=sw – display names of deleted files
Alpha=sw – display names in alphabetical order
CLEAR – fill file or user memory with user-defined data
      CLEAR [filespec] (Start=,End=,Data=)
            filespec – optional file specification
Start=val – starting memory address
End=val – ending memory address
Data=val – optional fill data
CLOCK – toggle clock display on/off
      CLOCK ON/OFF
            ON – turns display on
OFF – turns display off
CLS – clears display and resets video mode
      CLS – there are no parameters
CONFIG – configure DOSPLUS for non-standard disk drives
      CONFIG – with no parameters, displays configuration
CONFIG – configure DOSPLUS for non-standard disk drives
For FLOPPY DRIVES …
      CONFIG [drivespec] (Wp=,Md=,HL=,Step=,SKip=,SIZe=,SIDes=,Pd=)
            drivespec – optional drive specification
Wp=sw – sets software write protect
Md=sw – configures for delay on motor on
HL=sw – configures for delay on head load
Step=sw – sets drive step rate
SKip=sw – sets double-step mode
SIZe=sw – indicates disk’s physical size
SIDes=sw – indicates number of read/write surfaces
Pd=sw – indicates physical drive
CONFIG – configure DOSPLUS for non-standard disk drives
For RIGID DRIVES …
      CONFIG [drivespec] (Wp=,Step=,SKip=,SIZe=,SIDes=,Pd=,Ho=,Co=,Ts=)
            drivespec – optional drive specification
Wp=sw – sets software write protect
Step=sw – sets drive step rate
SIZe=sw – sets platter size
SIDes=sw – indicates number of read/write surfaces
Pd=sw – indicates physical drive
Ho=val – sets head offset
Co=val – sets cylinder offset
Ts=val – sets number of tracks per sector
COPY – copy data from file/device to file/device
      COPY [FROM] device/file [TO] device/file (Dpw=””,Echo=,Invs=,Kill=,Mod=,Over=,Prompt=,Query=,Spw=””,Tiny=,New=,Old=)
COPY [FROM] filespec [TO] filespec/devspec (Dpw=””,Echo=,Invs=,Kill=,Mod=,Over=,Prompt=,Query=,Spw=””,Tiny=,New=,Old=)
COPY [FROM] drivespec [TO] drivespec [USING] wildmask (Dpw=””,Echo=,Invs=,Kill=,Mod=,Over=,Prompt=,Query=,Spw=,Tiny=,New=,Old=)
            device – any valid device
                  @DO – video display
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
            file – any valid file
filespec – any valid file specification
drivespec – any valid file specification
devspec – any valid device specification
wildmask – file or group of files to be operated on (use ?,*,! to mask characters)
Dpw=”” – destination drives master password
Echo=sw – display filenames as copied
Invis=sw – copy invisible files also
Kill=sw – delete source file after copying
Mod=sw – copy based on MOD flag condition
Over=sw – prompt before overwriting
Prompt=sw – prompt for disks (single-drive copy)
Query=sw – prompt before copying
Spw=”” – source disk’s master password
Tiny=sw – copy one sector at a time
New=sw – copy only files not on destination
Old=sw – copy only file on destination
CREATE* – preallocate space in a file
      CREATE filespec (Data=,Grans=,Keep=,Kilo=,Lrl=,Size=, Verify=)
            filespec – any valid file specification
Data=val – fill data (one or two bytes)
Grans=val – number of grans
Keep=sw – sets keep flag (non-shrinkable attrib.)
Kilo=val – number of [ilobytes
Lrl=val - logical record length
Size=val - number of records
Verify=sw - verify disk space after creation
DATE* - set or display date
      DATE - with no parameter, returns current date
DATE mm/dd/yy - set date
            mm - two-digit month (1-12)
dd - two-digit day (1-31)
yy - two-digit year (0-99)
DEBUG* - system debugging utility
      DEBUG [ON/OFF]
            A – set display to ASCII/Graphics
C – Instruction/Call step
Daaaa – set the display to aaaa
Gaaaa,bbbb,cccc – execute at aaaa with breakpoints set at bbbb and cccc
H – set display to hexadecimal
I – single step next instruction
Maaaa – modify at aaaa. records change and end; records change and moves to next next address
O – exit to DOSPLUS with DEBUG still engaged
Rpr aaaa – alter register pair pr to aaaa
S – full screen display mode
U – set dynamic display update mode
X – set register examine mode
; – advance display to next memory page
- – decrement display to previous memory page
DIR – display disk directory
      DIR [FROM] drivespec [TO] device/file [USING] wildmask (System=,Invis=,Kill=,Alpha=)
            drivespec – optional drive specification
device/file – optional output device or file
                  @DO – video display
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
            wildmask – optional wildmask (?,*,!) to restrict DIR to certain class or group of files
System=sw – display system files
Invis=sw – display visible and invisible files
Kill=sw – display deleted files
Alpha=sw – display files in alphabetical order
DO – execute a command chaining file
      DO filespec (Break=,High=)
            filespec – any valid file specification
Break=sw – BREAK key enable/disable
High=val – set high memory before execution
DUMP – dump memory to a file
      DUMP filespec (Data=,Start=,End=,Tra=)
            filespec – any valid file specification
Data=sw – indicates that file is non-program file
Start=val – starting memory address
End=val – ending memory address
Tra=val – transfer address
ERROR – detailed error message
      ERROR [val]
            val – optional error message number
FILTER – set up filter on any character oriented device
      FILTER [FROM] devspec [TO] filespec (YES/NO,MAP)
            devspec – any valid, active device
                  @DO – video display
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
            filespec – the filter program
YES – engage filter after loading (assumed) or engage previously loaded filters
NO – load but do not engage filter or deactivate a previously loaded filter
MAP – display filter codes
FORCE – route I/O of one system device to another
      FORCE – with no parameters, displays device setting
FORCE [FROM] devspec [TO] device/file
            devspec – primary device to be routed
                  @DO – video display
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
            device/file – device or file to which primary device is to be routed
FORMS – define certain parameters concerning printer
      FORMS – with no parameters, displays forms parameters
FORMS (Page=,Lines=,Width=,Top,Code=)
            Page=val – number of physical line on page
Lines=val – number of lines per page to be used
Width=val – number of characters per line
Top – immediate top-of-form mode
Code=val – sends 1 or 2 byte value to printer
FREE* – display disk and directory free space
      FREE no drivespec, free space displayed
FREE [FROM] drivespec [TO] device/file
            drivespec – optional drive specification
device – optional output device
                  @DO – video display
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
            file – optional output file
I – instruct system to log in a disk
      I [drivespec] (Mount=)
            drivespec – any valid drive number
Mount=sw – logs in disk immediately
JOIN – link two devices within DOSPLUS system
      JOIN [FROM] drivespec [TO] device/file
            devicespec – primary device to be linked
device – device with which primary device is to be linked
                  @DO – video display
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
            file – file with which primary device is to be linked
KILL – delete a files or deactivate devices
      KILL filespec (Inv=,Echo=,Sys=,Query=,Pw=)
KILL [FROM] drivespec [USING] wildmask (Inv=,Echo=,Sys=,Query=,Pw=)
KILL devspec
KILL drivespec
            filespec – name of file to be deleted
wildmask – optional group of files to be deleted (use ?,*,! to mask characters)
devspec – name of device to be deactivated
                  @DO – video display
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
            drivespec – name of drive to be removed from system
Inv=sw – include or not invisible files in delete
Echo=sw – display filename as being deleted
Sys=sw – include or not system files in delete
Query=sw – prompt before deleting files
Pw=”” – declares DISK master password to system
LIB – displays a list of the library commands
      LIB [TO] device/file
            device – any valid output device in the system
                  @DO – video display
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
            file – any valid output file
LIST – list contents of a file
      LIST [FROM] device1/file [TO] device2/file2 (Ctl=)
            device1 – source device
                  @DO – video display
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
            file1 – source file
device2 – destination device
file2 – destination file
Ctl=sw – determines whether or not control codes (ASCII 00H-1FH) will be output unchanged or displayed as periods
LOAD – load a file into memory
      LOAD [FROM] filespec (Prompt=,Run=,Tra=)
            filespec – name of file to be loaded
Prompt=sw – prompt for disk mounts or not
Run=sw – execute file upon load or not
Tra=address – control address to be transferred to if file is to be executed
PAUSE – pause execution until a key is pressed
      PAUSE [message]
            message – optional message string
PROT – change diskette information
      PROT [drivespec] (Pw=””,Mpw=””,Name=””,Date=””,Lock=, Acc=,Upd=,Clean=)
            drivespec – drive specification
Pw=”” – supplies current disk master password
Mpw=”” – supplies new password to system
Name=”” – specifies new name for diskette
Date=”” – specifies new date for diskette
Lock=sw – whether disk master password is to be assigned to, or removed from, all files in the directory or not
Acc=sw – if LOCK=Y, disk master password is assigned as ACCESS password of all files if LOCK=N, ACCESS passwords are removed
Upd=sw – if LOCK=Y, disk master password is assigned as UPDATE password of all files if LOCK=N, UPDATE passwords are removed
Clean=sw – zero or not unused entries in directory
RENAME – change names of files, devices, drives
      RENAME [FROM] device1/file1 [TO] device2/file2
            device1 – device being renamed
                  @DO – video display
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
            file1 – file being renamed
device2 – new name for device
file2 – new name for file
RESET – store a device or disk to default driver
      RESET – without parameters, performs global reset
RESET [FROM] devspec/drivespec
            devspec – current logical name of device
                  @DO – video display
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
            drivespec – current logical name of disk drive
RS232 – set serial communications device
      RS232 – with no parameters, displays current settings
RS232 (Baud=,Word=,Stops=,Parity=,Even=,Odd=,Dtr=,Rts=,BReak=)

            Baud=val – sets baud rate
Word=val – sets word length
Stops=val – sets number of stop bits
Parity=sw – engage/disengage parity error checking
Even=sw – configures for even parity
Odd=sw – configures for odd parity
Dtr=sw – sets/resets DTR line
Rts=sw – sets/resets RTS line
BReak=sw – sets RS232 break status
SCREEN – output video data to another device or file
      SCREEN [TO] device/file
            device – optional output device
                  @DO – video display
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
            file – optional output file
SYSTEM – configure system
      SYSTEM – with no parameters, displays memory usage
SYSTEM (Time=,Date=,Logo=,Blink=,Caps=,CUrsor=,High=,Step=,SAve=,Port=,Mode=)
SYSTEM [filespec]
            filespec – name of configuration file
Time=sw – enable/disable time prompt
Date=sw – enable/disable date prompt
Logo=sw – enable/disable logo
Blink=sw – enable/disable blink cursor
Caps=sw – toggle caps mode (upper/lower case)
CUrsor=val – define cursor character
High=val – set top of memory pointer
Step=val – set system default drive step rate
SAve=sw – effect permanent changes
Port=val – address of port to be output on powerup
Mode=val – one byte value to be output to this port
TIME – set real-time clock in real-time clock
      TIME – display time
TIME hh:mm:ss – set system time
            hh – two-digit hour (00-23)
mm – two-digit minute (00-59)
ss – two-digit second (00-59)
VERIFY – read after each disk write
      VERIFY [ON/OFF]
            ON – engage verify
OFF – disengage verify


DOSPLUS 3.5 Utility Command Reference
BACKUP – mass COPY of files with mirror image only
      BACKUP [FROM] :sd [TO] :dd (Date=””,Use=””)
            :sd – drive being copied from
:dd – drive being copied to
Date=”” – date or range of dates
Use=”” – overwrite files without being prompted
                  Y – proceed with backup
N – abort backup
F – reformat diskette
CONVERT – converts files from Model III TRSDOS, reads TRSDOS 1.3 directory, render TRSDOS 2.3 readable
      CONVERT [FROM] :sd [TO] :dd [USING] wildmask (CAT=,DIR=,Echo=,Invis=,System=,Over=,Query=,V12,V13,Mod1=)
CONVERT [FROM] :dr (CAT=,DIR=,Echo=,Invis=,System=,Over=,Query=,V12,V13,Mod1=)

            :sd – source drive
:dd – destination drive
:dr – any valid drive
wildmask – valid DOSPLUS wildcard specification (use ?,*,! to mask characters)
CAT=sw – display directory of TRSDOS 1.3
DIR=sw – same as CAT
Echo=sw – display filenames as files are copied
Invis=sw – operate on invisible and visible files
System=sw – operate on system and non-system files
Over=sw – overwrite or not a file
Query=sw – query or not before copying files
V12 – convert from TRSDOS 1.2 or earlier
V13 – convert from TRSDOS 1.3
Mod1=sw – use double-density diskette (Mod I)
DIRCHECK – check/repair disk directory
      DIRCHECK [FROM] :dr [TO] filespec/devspec (Cyl0,Files,Gat,Hit)
            :dr – drive containing directory to be checked
filespec – optional output file
devspec – optional optional device specification
                  @DO – video display
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
            Cyl0 – ignore possible error on Model I double- density diskette boostrap file
Files – repair faulty file directory entries
Gat – repair faulty Granule Allocation Table
Hit – repair faulty Hash Index Table
DISKDUMP – display/modify disk sectors
      DISKDUMP filespec
            filespec – name of file to be examined or modified
Commands
                  ; – advance one sector
- – go back one sector
+ – advance to end of file
= – go to beginning of file
F – find hexadecimal value
G – go to specified sector
M – enter modify mode
P – locate address in load module file
@ xx – fill xx bytes with 00 byte, starting at current cursor location
@ xxyy – fill yy bytes with xx byte, starting at current cursor location
DISKZAP – disk sector editor
      DISKZAP – no parameters; menu is displayed
            Set – alter disk drive parameters
Fill – fill sectors with specified byte
Copy – copy sectors
Print – print hardcopy of selected sectors
Verify – read and check specified sectors
Format – format a selected track or tracks
Display – display or modify diskette sectors
Display commands:
                  ; – increment display one sector
+ – increment display one cylinder
- – decrement display one sector
= – decrement display one cylinder
BREAK – return to main menu
M – enter modify mode
            Modify commands:
                  right arrow – increment cursor position 1 byte
down arrow – increment cursor position 1 row
left arrow – decrement cursor position 1 byte
up arrow – decrement cursor position 1 byte
BREAK – abort modify mode without save
ENTER – end modify mode with save
CLEAR – toggle hexadecimal/ASCII display
@ xx – fill current sector with 00 bytes
@ xxyy – fill current sector with yy bytes with xx bytes
FORMAT – format a diskette to receive data
      FORMAT :dr (Date=””,Pw=””,Name=””,Cyls=,Sides=,Den=””,Use=””)
            :dr – drive containing diskette for formatting
Date=”” – set format date {01/01/80}
Pw=”” – specify disk master password {none}
Name=”” – specify disk name {none}
Cyls=val – specify number of cylinders {40}
Sides=val – specify single/double-headed format {1}
Den=”” – specify single (S) or double (D) density
Use=”” – override (Y) or not (N) prompt for previously formatted diskette {N}
HELP – quick reference to proper syntax and parameters
      HELP – list of valid commands and programs
HELP [FROM] command [TO] filespec/@devspec
            command – valid DOSPLUS command or program
filespec – output file name
@devspec – output device specification
                  @DO – video display
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
MAP – list, by cylinder and sector, of allocated areas
      MAP [FROM] :dr [TO] filespec/@devspec [USING] wildmask (System,Invis,Hex)
            :dr – disk drive specification
filespec – output file name
@devspec – output device specification
                  @DO – video display
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
            wildmask – valid DOSPLUS wildcard specification (use ?,*,! to mask characters)
System – include system files
Invis – include invisible files
Hex – provide cylinder and sector numbers in hex
PATCH – make changes to load module format files
      PATCH filespec1 filespec2
PATCH filespec1
PATCH filespec1 patname (Kill=)
            filespec1 – any valid filespec
filespec2 – any patch format file
patname – name of patch to be removed
Kill=sw – remove patch from file
RESTORE – reclaim files which have been KILLed
      RESTORE filespec
            filespec – name of KILLed file
SYSGEN – place DOSPLUS operating system on an media
      SYSGEN :dr filespec (Xder=)
            :dr – drivespec for media
filespec – optional bootstrap program
Xder=val – specify control address on system reset
TAPE – tape-to-disk/disk-to-tape transfer
      TAPE
            Commands:
                  B – adjust baud rate (Model III)
H – print help list
I – re-initialize program
L – load a disk file
M – map out program area
O – offset program
Q – exit to DOSPLUS
R – read a system tape
S – save a disk file
W – write a system tape
TRAP – intercepts disk I/O errors with intervention
      TRAP – there are no parameters


DOSPLUS 3.5 Drivers and Filters Reference
KI/DVR – keyboard driver
      ASSIGN [FROM] @KI [TO] KI/DVR [USING] filespec (Db=,RD=,RR=)
            filespec – optional MACROKEY definition file
Db=val – debounce delay
RD=val – delay before key repeat begins
RR=val – key repeat rate
DO/DVR – video display driver
      ASSIGN [FROM] @DO [TO] DO/DVR (Ucase=,Blink=)
            Ucase=sw – enable/disable lower case (Model I)
Blink=val – set cursor blin rate (Model I)
PR/DVR – printer driver
      ASSIGN [FROM] @PR [TO] PR/DVR (Lf=,Null=,SPool=,Max=,Indent=,Xlate=,Serial=,Delay=,Cts=,DSr=,Cd=,Ri=,INV=)
            Lf=sw – linefeeds are sent to printer after CR
Null=sw – printer advance a line when null is printed
SPool=val- optional spool buffer size
Max=val – optional number of attempts to output character to printer in spooler interrupt
Indent=val – number of spaces to indent text
Xlate=sw – whether to translate formfeed characters
Serial=sw – whether parallel or serial driver is used
Delay=sw – optional number of char. after LF or CR
Cts=sw – optional handshaking parameter
DSr=sw – optional handshaking parameter
Cd=sw – optional handshaking parameter
Ri=sw – optional handshaking parameter
INVert=sw – whether handshaking is normal or inverted
RS/DVR – RS232 serial interface driver
      ASSIGN [FROM] @RS [TO] RS/DVR
            There are no parameters for this driver
FILE/DVR – allow file resident on disk tot act as disk drive itself
      ASSIGN [FROM] :dr [TO] FILE/DVR [USING] filespec (Size=,Inst=)
            :dr – disk drive specification
filespec – file containing disk file
Size=val – initialize library of specified size
Inst=sw – install itself into operating system
DVORAK/FLT – redefine keyboard to conform to layout of of Dvorak style keyboard
      FILTER [FROM] @KI [TO] DVORAK/FLT
EPSON/FLT – translate EPSON MX-80 character codes
      128-191 into 140-223 region for TRS-80 block graphics


DOSPLUS 3.5 Job Control Language Reference
JCL (PROC=xx,QUEUE=xx) – invoke JCL
      PROC – procedure buffer size (768 to 4096 bytes) {768}
QUEUE – keyboard queue (256 to 4096 bytes) {256}
EX jclprog <exp1> <exp2> <exp3> – execute JCL
      jclprog – JCL program file
<exp> – parameters
JCL Commands
      /DOS <exp> – pass DOSPLUS command line to command interpreter
/EXIT – terminate JCL execution
/READ $var1 $var2 – accept input from keyboard or queue
/TYPE <exp> – display messages on video
/PRINT <exp>- display messages to lineprinter
/IF <exp1> <relation> <exp2>/JCL command – make logical comparisons of JCL variables and decisions based on those comparisons
/GOTO -label – alter normal program flow
/QUEUE <exp> – place data in keyboard queue
/QLOAD filespec – load keyboard queue with data stored in disk file
/PURGE – purge keyboard queue
/QUEUE /Jump -label – place special characters in queue
/RESUME – return to program interrupted by /JUMP
/CANCEL – allow JCL procedure entered through /JUMP to avoid returning to intercepted program
/RUN filespec <exp1> <exp2> <exp3> – execute another JCL program
/DEBUG – invoke DOSPLUS 3.5′s DEBUG monitor
/VOFF – suppress display of data read from queue
/OPTION <parm>/switch <parm>/switch <parm>/switch
            DSP – whether data is displayed on video
JCL – print trace of JCL activities during execution
QUEUE – turn keyboard queue on/off
QBYTE – enable/disable queue from responding to single-character input
DQ – copy all data output to video display into queue
CHR – determines how special characters read from queue are handled


DOSPLUS 3.5 Disk BASIC Extensions
BASIC
      BASIC – extended disk BASIC and DOS commands
TBASIC – memory efficient disk BASIC
BASIC filespec -F:nn -M:nnnn
            filespec – optional file specification
-F:nn – number of files (0-15) to be open at one time
-M:nnnn – highest memory address BASIC will use
                  BASIC * – re-enter BASIC with program intact
CLOSE filnum, filnum, filnum… – close open disk files
      filnum – optional file number (1-15) to be closed; if omitted; all files are closed
CMD – return to DOSPLUS
CMD”D” – turns on and enters DEBUGger
CMD”E” – returns last DOSPLUS error message
CMD”M” – dynamic variable dump
CMD”M”,P – dynamic variable dump to printer
CMD”O”,exp,+ or -,AN(se),KA-KA,TA,TA – sort arrays
      exp – expression to indicate number of elements
+ or – - primary key in ascending or descending order
AN(se) – primary key array with starting element no.
+KA – next key array (ascending order)
-KA – next key array (descending order)
TA – first tag array
TA – next tag array
CMD”R” – enable the interrupts
CMD”REF”,option,option,…
      S= – single variable,line, or keyword
V – all variables
L – all line numbers
K – all keywords
P – printer output
CMD”RENUM”,nln,inc,sln,eln – renumber BASIC text
      nln – new line number {10}
inc – increment {10}
sln – starting line number {top of text}
eln – ending line number {end of text}
CMD”S” – normal return to DOSPLUS
      nln – new line number {10}
inc – increment {10}
sln – starting line number {top of text}
eln – ending line number {end of text}
CMD”SR”,sexp,rexp,sln-eln – global editing of BASIC text
      sexp – search expression
rexp – replacement expression
sln-eln – optional starting and ending lines
CMD”T” – disable the interrupts
CMD”X devspec/filespec -V/-L,<title>” – cross reference
      devspec/filespec – data destination (*do)
-V – crossref all variables
=var – crossref only specified variable
-L – cross ref all lines
=line – crossref only specified line
<title> – title for current crossref list
&Hdddd – directly use hexadecimal numbers
      dddd – one to four digit hexadecimal value
CVD(var$) – restore string to number
      var$ – inverses MKD$ with 8 byte string
CVI(var$) – restore string to number
      var$ – inverses MKI$ with 2 byte string
CVS(var$) – restore string to number
      var$ – inverses MKD$ with 4 byte string
DEF FN name(var)=exp – define function
      name – variable used to name function
var – variable(s) to be passed to function
exp – function desired
DEFUSRn = address – define entry address for machine-language subroutine
      n – USR routine number (0-9)
address – machine language entry point
DI pln nln – delete and insert BASIC program lines
      pln – present line number
nln – new line number
DU pln nln – duplicate BASIC program lines
      pln – present line number
nln – new line number
EOF(filnum) – determine if end of file is reached
      filnum – file buffer being interrogated
FIELD filnum,num AS var$,num AS var… – partition
      the buffer used with a random file
filnum – file buffer number specified in OPEN
num – length of that field
var$ – variable name for the field
GET filnum, recnum – read record from random file
      filnum – file buffer number
recnum – logical record number
INPUT@ <pos>,”prompt”,fl,it;var$ – controlled input
      <pos> – screen position
“prompt” – prompt message to be displayed
fl – integer expression of field length
it – item type flag ($ = alphanumeric, # = numeric, * = return on field full)
var$ – string variable for input field
INPUT# filnum,var,var,var… – sequential file input
      filnum – file buffer number of file
var – variable containing information read in
INSTR (pos,targ$,sub$) – string search function
      pos – optional position; 1 is assumed
targ$ – name of string to be searched
sub$ – sub-string to be searched for
KILL “filespec” – delete program or data from disk
      filespec – standard DOSPLUS file specification
LINE INPUT”prompt”;var$ – keyboard line input
      prompt – optional prompt to be displayed
var$ – name of string to return information
LINE INPUT# filnum,var$
– input line from disk file
      filnum – file buffer number of sequential file
var – variable name to store the string
LOAD “filespec”,option – load program from disk
      filespec – standard DOSPLUS file specification
option – one or more special options to engage
            R – runs program after loading; open file will not be closed
V – preserves current set variables and FIELD
line number – begins execution at line number specified when R option is used
LOC(filnum) – determine last record accessed
      filnum – file buffer number being interrogated
LOF(filnum) – determine number of record in a file
      filnum – file buffer number being interrogated
LSET (or RSET) var$=exp$ – fill output buffer
      var$ – variable defined via FIELD statement
exp$ – string expression to be placed in buffer
MERGE “filespec” – merge ASCII file with resident program
      filespec – standard DOSPLUS file in ASCII format
option – optional switch R to not interrupt program execution after new file is loaded
MID$ (var$,pos,len=rep$)
– replace portion of a string
      var$ – name of string to be edited
pos – starting position of replacement
len – specifies number of character to be replaced
rep$ – string to be replaced with var$
new$=MID$(old$,pos,len) – duplicate portion of string
      new$ – string created in this operation
old$ – original string information to duplicate
pos – point of old$ to start duplicating from
len – number of characters to duplicate
MKD$(exp) – convert numbers to strings
      exp – returns 8 byte string; double precision
MKI$(exp) – convert numbers to strings
      exp – returns 2 byte string; integer precision
MKS$(exp) – convert numbers to strings
      exp – returns 4 byte string; single precision
NAME label – assigns label to line on which NAME appears
OPEN “mode”,filenum,”filespec”,lrl – open disk file
      mode – I/O mode intended for file
            R – random access mode
D – direct access; same as R
I – sequential input mode
E – sequential output extension mode
O – sequential output mode
PRINT# filnum,USING format$,var,del,var… – output data to a sequential file
      filnum – file buffer number of sequential file
USING format$ – optional format string to define data format for the print
var – variable containing data to be written
del – delimiter that must be placed between each variable to be written; may be semi-colon
PUT filnum,recnum – write random access file
      filnum – file buffer number
recnum – logical record number to be written
RESTORE nnnn – set data pointer to line nnnn
RUN “filespec”,option – load and run a program
      filespec – standard DOSPLUS file specification
option – one of three special options
            R – any open files will not be closed
V – preserves currently set variables and FIELD
line number – runs program beginning at line no.
SAVE “filespec”,A – save program
      filespec – standard DOSPLUS file specification
A – optional switch to save file in ASCII format
SET EOFn – set EOF to last record accessed+1
USRn (var) – call user external subroutine
      n – USR routine number
var – variable to be passed to USR routine


DOSPLUS 3.5 Disk BASIC Shorthand
SHORTHAND – command abbreviations
      ; – list first line of program
<SH><UP AR>- list first line of program
/ – list last line of program
<DOWN AR> – list next line of program
<UP AR> – list preceding line of program
L – list
D – delete
E – edit
G – goto
A – auto
N – name
R or R” – run
L” – load
S” – save
K” – kill
. – list current line of program
, – edit current line of program


DOSPLUS 3.5 Disk BASIC Error Messages
Dec    Hex    Message
———-
0 00 No error found
1 01 CRC error during header read
2 02 Seek error during read
3 03 Lost data during read
4 04 CRC error during read
5 05 Data record not found during read
6 06 Attempted to read locked/deleted record
7 07 Attempted to read system data record
8 08 Drive not available
9 09 CRC error during header write
10 0A Seek error during write
11 0B Lost data during write
12 0C CRC error during write
13 0D Data record not found during write
14 0E Write fault on disk drive
15 0F Write protected disk
16 10 Illegal logical file number
17 11 Directory read error
18 12 Directory write error
19 13 Improper file name
20 14 GAT read error
21 15 GAT write error
22 16 HIT read error
23 17 HIT write error
24 18 File not in directory
25 19 File access denied due to password protection
26 1A Directory space full
27 1B Disk space full
28 1C Attempted to read past EOF
29 1D Attempted to read outside of file limits
30 1E Directory full; can’t extend file
31 1F Program not found
32 20 Improper drive number
33 21 No memory space available
34 22 Attempted to use non-program file as program
35 23 Memory fault during program load
36 24 Attempted to load read only memory
37 25 Illegal access attempted to protected file
38 26 I/O attempted to unopen file
39 27 Device in use
40 28 Protected system device
41 29 Device not available
42 2A No device space available
43 2B Illegal devicespec
44 2C Illegal filespec
45 2D Invalid data provided
46 2E Invalid parameter
47 2F I/O field not found
48 30 Terminated
49 31 File already exists
50 32 Device already exists


DOSPLUS 3.5 Disk BASIC Error Codes
Error
Code   
ERR
Value   
Error
Message
———- ———- ———-
1 0 NEXT without FOR
2 2 Syntax error
3 4 RETURN without GOSUB
4 6 Out of DATA
5 8 Illegal function call
6 10 Overflow
7 12 Out of memory
8 14 Undefined line number
9 16 Subscript out of range
10 18 Redimensioned array
11 20 Division by zero
12 22 Illegal direct
13 24 Type mismatch
14 26 Out of string space
15 28 String too long
16 30 String formula too complex
17 32 Can’t continue
18 34 No RESUME
19 36 RESUME without error
20 38 Unprintable error
21 40 Missing operand
22 42 Bad file data
23 44 Disk BASIC feature
24 46 Undefined user function
51 100 Field overflow
52 102 Internal error
53 104 Bad file number
54 106 File not found
55 108 Bad file mode
56 110 File already open
58 114 Disk I/O error
59 116 File already exists
62 122 Disk full
63 124 Input past end
64 126 Bad record number
65 128 Bad file name
66 130 Mode mismatch
67 132 Direct statement in file
68 134 Too many files
69 136 Disk write protected
70 138 File access denied

Leave a Reply

[Ira Goldklang's TRS-80 Revived Site is proudly powered by WordPress.]