Page Menu
General
- Background and Screen Shots
- Matthew Reed’s DOSPLUS Page (Other Site)
Zaps
Manual
- DOSPLUS 3.5 Background and Features
- DOSPLUS 3.5 Conventions
- DOSPLUS 3.5 Library Command Reference
- DOSPLUS 3.5 Drivers and Filters Reference
- DOSPLUS 3.5 Job Control Language Reference
- DOSPLUS 3.5 Disk BASIC Extensions
- DOSPLUS 3.5 Disk BASIC Shorthand
- DOSPLUS 3.5 Disk BASIC Error Messages
- DOSPLUS 3.5 Disk BASIC Error Codes
Background of DOSPLUS 3.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.
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:
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
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 [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 [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
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 *[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
ON – enable BREAK key
OFF – disable BREAK key
devspec – any valid device specification
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
filespec – any valid file specification
Append=sw – build onto existing file
drivespec – any valid drive number
file – optional output file
device – optional output device
@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
filespec – optional file specification
Start=val – starting memory address
End=val – ending memory address
Data=val – optional fill data
ON – turns display on
OFF – turns display off
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
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 [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
@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
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 mm/dd/yy – set date
mm – two-digit month (1-12)
dd – two-digit day (1-31)
yy – two-digit year (0-99)
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
drivespec – optional drive specification
device/file – optional output device or file
@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
filespec – any valid file specification
Break=sw – BREAK key enable/disable
High=val – set high memory before execution
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
val – optional error message number
devspec – any valid, active device
@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 [FROM] devspec [TO] device/file
devspec – primary device to be routed
@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 (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 [FROM] drivespec [TO] device/file
drivespec – optional drive specification
device – optional output device
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
file – optional output file
drivespec – any valid drive number
Mount=sw – logs in disk immediately
devicespec – primary device to be linked
device – device with which primary device is to be linked
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
file – file with which primary device is to be linked
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
@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
device – any valid output device in the system
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
file – any valid output file
device1 – source device
@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
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
message – optional message string
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
device1 – device being renamed
@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 [FROM] devspec/drivespec
devspec – current logical name of device
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
drivespec – current logical name of disk drive
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
device – optional output device
@KI – keyboard
@PR – printer
@RS – serial port
@U1 – user defined
@U2 – user defined
file – optional output file
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 hh:mm:ss – set system time
hh – two-digit hour (00-23)
mm – two-digit minute (00-59)
ss – two-digit second (00-59)
ON – engage verify
OFF – disengage verify
DOSPLUS 3.5 Utility Command Reference
:sd – drive being copied from
:dd – drive being copied to
Date=”” – date or range of dates
Use=”” – overwrite files without being prompted
N – abort backup
F – reformat diskette
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)
:dr – drive containing directory to be checked
filespec – optional output file
devspec – optional optional device specification
@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
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
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
: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 [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
: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 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
filespec – name of KILLed file
:dr – drivespec for media
filespec – optional bootstrap program
Xder=val – specify control address on system reset
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
DOSPLUS 3.5 Drivers and Filters Reference
filespec – optional MACROKEY definition file
Db=val – debounce delay
RD=val – delay before key repeat begins
RR=val – key repeat rate
Ucase=sw – enable/disable lower case (Model I)
Blink=val – set cursor blin rate (Model I)
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
There are no parameters for this driver
:dr – disk drive specification
filespec – file containing disk file
Size=val – initialize library of specified size
Inst=sw – install itself into operating system
DOSPLUS 3.5 Job Control Language Reference
PROC – procedure buffer size (768 to 4096 bytes) {768}
QUEUE – keyboard queue (256 to 4096 bytes) {256}
jclprog – JCL program file
<exp> – parameters
/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
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
filnum – optional file number (1-15) to be closed; if omitted; all files are closed
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”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}
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”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
dddd – one to four digit hexadecimal value
var$ – inverses MKD$ with 8 byte string
var$ – inverses MKI$ with 2 byte string
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
pln – present line number
nln – new line number
pln – present line number
nln – new line number
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
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
filnum – file buffer number being interrogated
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
exp – returns 8 byte string; double pre
exp – returns 2 byte string; integer precision
exp – returns 4 byte string; single precision
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
filnum – file buffer number
recnum – logical record number to be written
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
DOSPLUS 3.5 Disk BASIC Error Messages
DOSPLUS 3.5 Disk BASIC Error Codes