Page Index
Background of DOSPLUS 3.5

DOSPLUS 3.5 Boot Screen
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: 0=no protection/total access, 1=Kill/Rename/Write/Read/Execute, 2=Rename/Write/Read/Execute, 3=Not used, 4=Write/Read/Execute, 5=Read/Execute, 6=Execute only, 7=No access
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
@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
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
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: @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
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
@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
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: @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 [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 (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: @DO (video display), @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: @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 [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
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
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
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: @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 [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 (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: @DO (video display), @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
Y – proceed with backup | 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
@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
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}
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