TRS-80 DOS – DOSPLUS

Page Menu

General

Zaps

Manual


Background of DOSPLUS 3.5

[DOSPLUS 3.5 Model I]

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.

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.

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:

BACKUP
Back up 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 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
 

Zaps

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 Conventions

  • Capital letters MUST be typed as shown on command lines.
  • Information to be entered by the user based upon a list of valid values and parameters for that command are given in lower case.
  • 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.
  • 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.
  • 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.
  • 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.
  • The 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

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 <ENTER> 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 FLOPPY disk 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 HARD disk 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 kilobytes
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 – <SPACE> – modify at aaaa. <ENTER> records change and end; <SPACE> 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

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


Invoke JCL
JCL (PROC=xx,QUEUE=xx)

PROC – procedure buffer size (768 to 4096 bytes) {768}
QUEUE – keyboard queue (256 to 4096 bytes) {256}


Execute JCL
EX jclprog <exp1> <exp2> <exp3>

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

Parameters
 

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
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


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 pre

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


DOSPLUS 3.5 Disk BASIC Shorthand

Shortcut
Command
;
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

Decimal
Hex
Error 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
Error 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

Your email address will not be published. Required fields are marked *