NEWDOS/80 v2.0 Reference – Chapter 2B

Table of Contents

Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 10
Appendix A
Appendix A (Partial)
Appendix B
Appendix B (Partial)

2. DOS LIBRARY COMMANDS (Continued).

2.16.
DATE – Set computer’s current date.

DATE[,mm/dd/yy]

If no parameters are specified, the DATE command displays the current system date in mm/dd/yy format.

If mm/dd/yy is specified, the date mm/dd/yy becomes the system date and is set into the real time clock. mm is the month (value 01 – 12). dd is the day (value 01-31). yy is the year (value 00 – 99). No check is made on the validity of the 3 values except to limit them to 2 decimal digits. As the clock reaches 24:00:00, it is reset to 00:00:00 and the date’s day within month value is incremented. For the Model I, no adjustment is made for end of month or end of year. For the Model III, end of month and end of year adjustments are done by the ROM.

At reset time, the date is set according to SYSTEM options AY or AZ.

DATE command examples:

  1. DATE
    display the system date.
  2. DATE,08/01/81
    set system date to August 1, 1981.

2.18.
DEBUG – Enable or disable the DEBUG facility.

DEBUG[,yn]

DEBUG or DEBUG,Y DEBUG is enabled (but not entered). This enabling causes a DEBUG entry whenever a user program (such as BASIC, SCRIPSIT, PROFILE, EDIT, etc.) is activated. The DEBUG entry occurs after the program load is completed but just before its first instruction is executed. The purpose of this pre-execution DEBUG entry is to allow the debugging programmer to change the state of a program or its initialization parameters before the program commences execution.

DEBUG,N The above enabling is disabled. At reset/power-on time, DEBUG is disabled.

This command has no effect on the operation of ‘123’ (the simultaneous depressing of the 1,2 and 3 keys) to enter the DEBUG facility.

Refer to the section 4.1 for the DEBUG facility specifications.


2.18.
DIR – Display a diskette’s directory information.

DIR[:][dn1][,A][,S][,I][,U][,/ext][,P]

This command displays directory information for the diskette mounted on drive dn1 or if dn1 not specified, on the drive specified by system option AN.

The first display line contains the drive number, the diskette name, its date, the number of tracks, the number of free FDEs and the number of free granules. The values for track count and free granules are based on the current active PDRIVE specification for that drive and if those specifications are not proper, these displayed values may be in error.

The rest of the display contains file information.

If A is not specified, the files are displayed four to a line, giving for each its name and name extension, if any.

If A is specified, DIR will list one file per display line with the display line containing:

  1. The file’s name.
  2. The file’s name extension, if any.
  3. The file’s EOF value in xxx/yyy format where xxx is the relative sector number within the file and yyy is the relative byte number within that sector.
  4. The file’s logical record size (LRL) in bytes.
  5. The number of logical records (RECS) in the file including any partial last record.
  6. The number of granules (GRANS) allocated to the file.
  7. the number of diskette space extents (EXT) allocated where that number divided by four and rounded up gives the number of directory entries used by the file.
  8. 12 flags providing file information, defined as follows:

1. S = system file.

2. I = invisible file, see ATTRIB DOS command.

3. U = file updated since last time update flags cleared by PROT DOS command.

4. E = file will not be allowed to allocate more space that it already has.

5. C = excess file space beyond EOF is not automatically released during DOS close.

6.-9. Reserved for future definition.

10. U = non-blank update password exists.

11. A = non-blank access password exists.

12. L = protection Level, see ATTRIB DOS command.

System files are not displayed unless S is specified.

Invisible files are not displayed unless I is specified.

If U is specified, only files marked as updated are displayed. Files marked as updated are those files changed via the standard DOS I/O write routine since the last time the update flags were cleared on the target diskette by the PROT or ATTRIB DOS command.

If /ext is specified, only those files having the name extension ext are displayed. ext is 0 to 3 characters. Example: DIR,1,/CMD will list all files having extension CMD such as EDTASM/CMD.

If both U and /ext are specified, then only files satisfying both conditions are listed.

When the display screen is full, DIR displays a ‘?’ and waits for the user to respond ENTER to continue or BREAK to terminate the DIR function.

If P is specified, the directory information is sent to the printer rather than to the display. Caution, if the printer is not ready, the system will hang waiting for it.

If $ is specified, DIR will ask for the mount of the target diskette before the listing and will ask for the remount of the system diskette before exiting. $ should only be used when drive dn1 =0. There is no provision for changing the PDRIVE specifications internal to the DIR command.

The user must remember that if dn1 is not specified, the default drive number is that specified by SYSTEM option AN which is not necessarily 0.

DIR command examples:

  1. DIR 0
    Display the name and name extension of all non-system, non-invisible files on the diskette currently mounted in drive 0. The files will be listed four per display line.
  2. DIR 0,S,I,P
    Same as the previous example except that system and invisible files are also listed and that the listing is sent to the printer instead of the display.
  3. DIR 1,/DAT,U
    Display the name and name extension of all of the current drive 1 files that are marked as updated and have name extension DAT.
  4. DIR 2,A
    All of drive 2’s non-system, non-invisible files are displayed, one file per display line. This display will usually involve more than one display page with the user stepping from one page to the next by pressing ENTER and, if desired, terminating the DIR function by pressing BREAK.
  5. DIR $0
    Same as example 1 except the system will ask for the mount of the target diskette on drive 0 and when DIR is done, it will ask for the remount of the system diskette.

2.19.
DO – Shift to keyboard input from disk.

DO,filespec1[,sectionid]

The DO command executes exactly the same as the DOS command CHAIN (see section 2.9).


2.20.
DUMP – Dump memory contents to disk.

DUMP,filespec1,start-addr,end-addr[,entry-addr[,rel1oc-addr ] ]

The DUMP command writes main memory image data from main memory to the file fiiespecl, starting with the byte at start-addr and ending with the byte at end-addr.

Start-addr, end-addr, entry-addr and relloc-addr are each numeric values less than 65536 decimal or 10000 hex. If the value is hexadecimal it must be suffixed with a H (i.e. 8000K); otherwise the value is considered decimal. Start-addr and relloc-addr may be any value 0 – 0FFFFH.

This command operates in two modes, depending on the entry-addr value. If the entry-addr value = 65535 (0FFFFH), then an exact image of memory is dumped.

The start-addr value is stored in the file’s first 2 bytes, and the rest of the file is the memory dump without any interspersed control bytes. This memory dump file may be displayed or printed via SUPERZAP’s DMDB feature, thus allowing debugging to occur later or on another TRS-80 computer.

If entry-addr is less than 65535 (0FFFFH) or is not specified, then the specified area of memory is assumed to be machine executable code and is sent to the file in loader format so that it can be later read back in by the NEWDOS/80 loader, either for execution or simply for load (see LOAD command). If entry-addr is not specified, a value of 402DH (causing return to DOS READY) is used. CAUTION!! If the user attempts to run or load a file whose start-addr is less than 5200H, DOS will be clobbered.

relloc-addr specifies where the start-addr to end-addr range of bytes is to be loaded to by the LOAD command or when the program file is executed. During write of the object file, the value (relloc-addr) – (start-addr) is added to every load address placed in the object file. This value is also added to the entry-addr if entry-addr is within the start-addr to end-addr range. The actual object code is NOT altered; only the loader control information is.

If filespec1 does not specify an name extension, one is not automatically supplied as is done in TRSDOS.

DUMP command examples:

1. DUMP,PROGRAM/CMD:1,5200H,9ABCH,54EDH

dumps the contents of memory from and including 5200H to and including 9ABCH to the file PROGRAM/CMD to exist on drive l’s current diskette. The dump will be in loader format with entry address equal to 54EDH. Subsequently, the file may be loaded back into memory via the DOS command:

LOAD,PROGRAM/CMD

or executed via DOS command:

PROGRAM[,parameters]

2. For this next example, assume that a user program is looping for some reason or has crashed, the personnel to debug the problem are not immediately available, and it is necessary to continue using the computer for other purposes. If a spare formatted diskette is available with sufficient free space, and if ‘DFG’ can activate MINI-DOS or if the computer is already at DOS READY, then issue the following command:

DUMP,TROUBLE/MEM:2,0,65535,65535

which will dump 65536 bytes of main memory, including ROM, the display, and all of RAM to file TROUBLE/MEM. The first 2 bytes of the file will contain 0000H which is the dump start address; the rest of the file is the memory contents with no interspersed control characters. Once the dump is completed, the operator should set aside the dump diskette for later use by the debugging personnel, optionally press reset, and go on with other tasks. At some later time, debugging personnel can inspect the problem using SUPERZAP’s DMDB feature to display or print the contents of file TROUBLE/MEM as if it were actually in memory at the current time. The debugger must remember that the DOS areas 4000H – 51FFH were altered by DOS actions, including DUMP, after the error occurred and before the dump actually occurred.


2.21.
ERROR – Display DOS error message.

ERROR,xx

Displays the DOS error MSA associated with the error number xx where xx is an integer between 0 and 63. Example:

  1. ERROR,24
    will display ‘FILE NOT IN DIRECTORY’.

2.22.
FORMAT – Format a diskette for use with the NEWDOS/80 system.

FORMAT,dn2[=tc2],name2,mm/dd/yy,password3[,N][ ,Y][,NDMW][ ,DDND][ ,ODN=name1 ][ ,KDN] [ ,DDSL=ln1 ][ ,DDGA=gcl] [ ,DPDN=dn4] l,PFST=tn3[,PFTC=tc3]]

Diskettes as they are received from the manufacturer cannot be used with NEWDOS/80. They must first be magnetically divided into tracks with each track divided into sectors of 256 bytes each. Between 15 and 30 percent of the diskette’s bytes are used as format control information and are not available to contain user data.

The DOS command FORMAT does this diskette formatting, setting up the tracks and sectors properly and building the two system files, BOOT/SYS and DIR/SYS, required on every diskette. When done, the diskette is ready to be used as a data diskette with NEWDOS/80.

Formatting can also be done as part of the COPY command, formats 5 and 6 (see section 2.14).

FORMAT cannot be executed under MINI-DOS.

In NEWDOS/80 version 2, a track’s sectors are read immediately after the track is formatted and before the disk arm is stepped to the next track. Then, after all tracks are formatted, if SYSTEM option BM = Y, the entire diskette is read during the VERIFYING phase. However, if BM=N, this verifying phase is skipped. The user can decide whether or not the verify-at-track format is sufficient and set option BM accordingly.

FORMAT does not allow the user to specify tracks to be locked out, and when an unverifiable sector is encountered, the associated track’s lockout byte is not set to FF to indicate lockout. The lockout table is in the standard diskette directory only for compatibility with TRSDOS; NEWDOS/80 does not use it. Remember, NEWDOS/80 does not account for tracks in the directory, it accounts for lumps which can span tracks. NEWDOS/80 operates under the philosophy, however wrong, that if a diskette cannot be fully formatted it should be

FORMAT requires all parameters be specified in the command. It does not prompt the user for any.

dn2 is the number of the destination drive to be used during format. Name2 is the name to be assigned to the diskette unless KDN is specified to retain the old name, in which case name2 must still be specified but will be ignored. mm/dd/yy is the date to be assigned to the diskette unless KDD is specified as the diskette date, in which case mm/dd/yy must still be specified but will be ignored. Password3 is the password to be assigned to the diskette. Passvord3 must conform to the rules for passwords.

Null parameters may be used to invoke default values for diskette name, date and password, using the name NOTNAMED, the system date and the password PASSWORD respectively. Any combination of the 3 null values may be used but where used the null parameters must be delimited by commas, not spaces. See examples 2, 3 and 4 below.

Since FORMAT and COPY share the same NEWDOS/80 code wherever possible, the specifications for the optional parameters are nearly the same as those specified for COPY, formats 5 and 6, the main difference being that only a format is done rather than both a format and a copy. The reader should read the sections for COPY, formats 5 and 6 (see section 2.14) to basically understand FORMAT’S optional parameters. Only the differences and two additional options will be given here.

N is the default if neither it nor any of its mutually exclusive keywords are specified.

If =tc2 specified, the diskette will be formatted with tc2 number of tracks; otherwise the diskette will be formatted with the default number of tracks for that drive (see PDRIVE command). If =tc2 value is greater than the number of tracks the drive can handle, format will probably hang trying to step to the non-existent track.

PFST=tn3 and PFTC=tc3 optional parameters are added to allow the formatting of a range of tracks rather than the entire diskette. If PFST is specified, =tc2 must not be specified, and if PFTC is specified, PFST must be specified. PFST means Partial Format Starting Track, and tn3 specifies the first track to format. If PDRIVE TI flags J or K are applicable for drive dn1, DOS will add one to tn3. PFTC means Partial Format Track Count, and tc3 specifies the number of consecutive ascendingly numbered tracks to format. If PFTC is not specified and PFST is specified, tc3 is assumed equal to 1. After tc3 number of tracks have been formatted and if SYSTEM option BM = Y, the entire diskette will be verified. If this full diskette verify is a problem, cancel the format after verify starts (by pressing up-arrow); remember, each track’s sectors were already verified once immediately after the track was formatted.

FORMAT command examples:

  1. FORMAT,0,AAA0,08/01/81,PSWD,Y
    The diskette to be mounted, at DOS’s request, on drive 0 will be formatted according to the PDRIVE specifications current for that drive. DOS does not care whether the format diskette previously contained data or not. The diskette is named AAA0, dated August 1, 1981, and receives PSWD as its master password.
  2. FORMAT,0,,,,Y
    This example is identical to the previous example except that default values are used for the diskette name, date and password. The diskette is named NOTNAMED, is dated with the current system date and is assigned PASSWORD as its password.
  3. FORMAT,1,XXX,,PSWD,N,NDMW,DPDN=4,DDSL=40,DDGA=6
    The diskette already mounted on drive 1 must not contain recognizable data. It is formatted according to the system diskette’s PDRIVE drive 4 specifications (and not according to the existing drive 1 specifications). It is assigned name XXX and password PSWD; its date is taken from the current system date. The directory starts at the beginning of lump 40 and consists of 6 granules (allows for a maximum of 222 files). Due to NDMW, DOS does not ask for the mount of the format diskette nor does it allow error retry.
  4. FORMAT,1,,,,Y,PFST=22,PFTC=2
    Suppose a power failure destroyed the format of tracks 22 and 23 on a diskette. Using SUPERZAP, you have verified that indeed SECTOR NOT FOUND error occurs on at least one sector on each of those tracks and, using the CDS or SCOPY functions of SUPERZAP, you have saved in free sectors elsewhere, either on this diskette or another, the readable sectors of those two tracks. Executing this FORMAT command will cause only those two tracks to be reformatted; the rest of the information on the diskette is not affected. When done, you can now move back the saved sectors and recreate the. ones that were not savable.

2.23.
FORMS – Set printer parameters. (Model III only)

FORMS[,WIDTH=xxx][,LINES=yyy]

The FORMS command optionally changes some printer parameters and always lists out the printer parameters.

WIDTH=xxx specifies the number of characters per line where XXX must be a value between 9 and 255. If WIDTH is not specified, the number of characters per line is not changed.

LINES=xxx specifies the number of lines per page, and must be a value between 1 and 254, where 254 indicates no limit on the lines per page. If LINES is not specified, the lines per page value is not changed.

FORMS command examples:

  1. FORMS,WIDTH=80,LINES=60
    character per line is set to 80 and lines per page to 60.
  2. FORMS,WIDTH=255,LINES=254
    Unlimited characters per line and lines per page.
  3. FORMS
    Displays current values for characters per line and lines per page.

2.24.
FREE – Display number of free granules and free FDEs for each diskette currently mounted.

FREE[,P]

For each drive with a diskette mounted, FREE will display the drive number, the diskette name, the diskette date, the number of tracks for the diskette, the number of free FDEs and the number of free granules.

If P is specified, the information will be sent to the printer instead of the display.

FREE command examples:

  1. FREE
    For each diskette currently mount the number of free granules and free directory entries is listed on the display.
  2. FREE,P
    Same as above except the listing is sent to the printer.

2.25.
HIMEM – Set DOS’s high memory value.

HIMEM[,addr1]

DOS maintains a high memory address in the two bytes at Model I location 4049H (Model III location 4411H). This high memory value is used by COPY, BASIC, EDTASM, DISASSEM and LMOFFSET as the upper limit of the memory they can use. User programs should also use this 2 byte HIMEM value as their upper limits. Caution! The loader does not use HIMEM as its upper limit during program load.

If no parameters are specified, the HIMEM command displays in hexadecimal the current high memory value.

If addr1 is specified, the DOS high memory address is set to addr1 which must be an integer between 28672 and 65535 decimal (7000H – 0FFFFH hexadecimal).

HIMEM command examples:

  1. HIMEM
    Displays the current DOS high memory address.
  2. HIMEM,49000
    Set DOS’s high memory value to 49000 (0BF68H).

2.26.
JKL – Send the current contents of the display to the printer.

JKL has no parameters. This command uses the same routine used by the ‘JKL’ triple key function (see section 4.5). JKL simply dumps the display contents to the printer. If system option AK=Y, hex codes >= 80H (which includes the graphics) will be transmitted unchanged; otherwise a period will be substituted for them. Hex codes < 20H will be displayed as periods. Pressing BREAK during JKL print will terminate the JKL function.

JKL’s main use will be either via CMD”JKL” from BASIC or via DOS-CALL from a user program.


2.27.
KILL – delete a file.

KILL,filespec1

This command deletes a file from a diskette. The file is no longer accessible by normal methods and is no longer known to DOS.

The file filespec1 is deleted from the current diskette mounted on the specified drive. If a drive number was not specified, then all mounted diskettes are searched, starting with the diskette on drive 0, and the delete is done on the 1st file found having the specified name and name extension.

KILL action is as follows:

  1. If the file was allocated file space on the diskette, the space is released, and becomes available for subsequent assignment to other files. The file’s data, if any, on the diskette is not altered by the KILL. This data, though no longer accessible, is not written over until the associated file space is reassigned to another file and those sectors actually written to.
  2. The file’s FPDE and any owned FXDEs are freed by zeroing bit 4 of the 1st byte of each and by zeroing the associated HIT sector byte for each. Except for that bit 4, none of the associated FPDE and FXDEs are altered by normal DOS operation until that FDE is reassigned to another file by DOS.

If the user has inadvertently killed a file that shouldn’t have been, since neither the associated FDE’s or the diskette space used by the file is changed by DOS until DOS has a need to, it is barely possible to reconstruct the FPDE and FXDEs and reallocate the space. To do this, you must be extremely familiar with the workings of the directories; do not call Apparat as this is a major undertaking and not something that can be quickly taught. If you don’t know how to do it, forget it!!!!!!!!

If you have more than a few files to delete at one time from a diskette, use the PURGE command.

KILL command examples:

  1. KILL XXX/BAS:1
    The file XXX/BAS on the diskette mounted on drive 1 is killed.
  2. KILL YYY
    Starting with drive 0, mounted diskettes are searched until file YYY is found on one of them. That file is then killed. If other mounted diskettes also contain a YYY file, the other YYY files are not killed.

2.28.
LC – Set keyboard a-z toggle switch to the specified state.

LC[,yn]

LC or LC,Y sets the keyboard lower case a-z toggle switch to accept a – z without change.

LC,N sets the keyboard lower case a – z toggle switch to change lower case a – z to upper case A-Z.

For the Model I, the LC command has no effect unless the lower case driver is active (see LCDVR command).


2.29.
LCDVR – (Model I Only). Lower case driver.

LCDVR[,x[,s]]

In NEWDOS/80 version 1, the lower case driver that processed keyboard lower case alphabetic and which sent lower case displayed characters to the display was a separate program that executed from high memory. In version 2, the lower case driver is an integral part of the Model I NEWDOS/80.

If x = Y, the lower case driver routine is activated, and if x = N, the routine is deactivated. When the lower case driver routine is active:

  1. Keyboard input a – z characters are processed according to the a – z toggle switch.
  2. ASCII codes 96 – 127 (60H – 7FH) are displayed as their proper characters and are not changed to 64 – 95 (40H – 5FH) by the ROM display routine.

The second parameter is meaningful only when x = Y, performs the same as the first parameter of LC command, initially setting the a – z toggle switch to accept a – z (if s = Y) or convert a-z to A-Z (if s – N).

Once the lower case driver is activated, pressing shift 0 will switch the driver back and forth between accepting lower case letters and converting lower case letters to upper case. Further, DOS command LC may be used to explicitly set one or the other of those states.

To use the lower case driver, NEWDOS/80’s keyboard and display intercept routines must be enabled. Other routines (excluding ROUTE) that disable these NEWDOS/80 functions will also disable the lower case driver (one example is using the circular buffer in the spooler).

If no parameters are specified, the command is assumed to be LCDVR,Y,N.

This lower case driver operates somewhat differently than the LCDVR program supplied with Version 1. In Version 1, if lower case a-z was being converted to upper case A-Z, then upper case A-Z was also being converted to lower case a-z. Version 2 does not convert upper case A – Z. to lower case a-z; instead a true capital letter lock is done.

LCDVR command examples:

  1. LCDVR
    The lower case driver routine is activated and the lower case switch is set to convert lower case a – z to upper case A – Z.
  2. LCDVR,Y,Y
    The lower case driver routine is activated, and the lower case switch is set to accept lower case a – z without modification.
  3. LCDVR,N
    The lower case driver routine is deactivated.

2.30.
LIB – Display NEWDOS/80 library commands.

LIB requires no parameters. It displays the library commands of NEWDOS/80. Commands FORMAT, COPY and APPEND execute in memory 5200H and up, and, along with CHAIN, cannot be executed in MINI-DOS. The other commands execute from the DOS overlay area, 4D00R-51FFH, and, except for CHAIN, can be executed under MINI-DOS.


2.31.
LIST – List a text file on the display.

LIST,filespec1[,start-line[,line-count]]

This command sends the contents of file filespec1 to the display. Though file filespec1 need not be a text file, if it is not, the resulting display will not be very meaningful. Examples of text files are BASIC programs saved with the A option, BASIC files written using PRINT, assembler, FORTRAN and COBOL source text files, SCRIPSIT files saved with the A option and Electric Pencil files. To list a non-text file, use. SUPERZAP.

No check is made on the character representations except to modulate characters whose hexadecimal values are between 80H and FFH into the range 00H to 7FH and to replace with a period all characters whose hexadecimal value is less than 20H or greater than the high ASCII character value specified by the SYSTEM option AX.

If start-line (decimal value 1 – 65535) is specified, listing will start with that line where a line is considered to end with the ENTER or EOL character 0DH.

If line-count is specified, then the number of lines displayed is limited to either line-count or the number of lines in the file from the start point, whichever is less. If line-count is specified, start-line must also be specified.

Pressing right arrow will cause a display pause when hex char 0DH is encountered or after 256 bytes have been displayed, whichever comes first. Pressing ENTER will continue the displaying. Pressing up-arrow will terminate LIST.

Aside from just listing a file, LIST is useful where text files maintain a date/time stamp near the beginning. If the user has multiple copies of a text file, it may be necessary to look at the file beginning to determine which copy is the most recent.

LIST command examples:

  1. LIST,BASEPROG/BAS
    displays the entire contents of file BASEPROG/BAS.
  2. LIST,XXX,1
    displays the first 6 lines of file XXX.
  3. LIST,YYY: 1,200
    displays the contents of file YYY from the 200th line to the end of the file.

2.32.
LOAD – Load a 2-80 machine language file into RAM.

LOAD.filespec1

This command loads the Z-80 machine language file filespec1 into RAM, and stores its entry address into the two bytes at 4403H (17411 decimal). The file must be in proper loader format, such as created by DUMP or EDTASM. The load proceeds using control data from the file. If the file loads over any part of the resident DOS (4000H – 4CFFH) or its overlay area (4D00H – 51FFH), serious and maybe file damaging trouble will occur; with luck, the system will hang.

LOAD is used when a program or data is to be loaded into RAM for later use by other programs. An example is loading programs which will be invoked via BASIC’S USR function. Remember, the entry address is stored in the two bytes at 4403H (17411 decimal); this is not done in TRSDOS.

LOAD command examples:

  1. LOAD,OVERLAY/OBJ:1
    The object code module OVERLAY/OBJ is loaded into main memory from the diskette mounted on drive 1. The load control information within file OVERLAY/OBJ determines what is to be loaded and where in main memory it is to be loaded.
  2. Suppose that BASIC does not use all of high memory and that a BASIC program wishes to load the program USR3PGM/0BJ into high memory and later execute it as the BASIC USR3 function. Executing the BASIC statements:

CMD”LOAD,USR3PGM/0BJ”

DEFUSR3 = (PEEK(17411) + 256 * PEEK(17412) – 65536

will set this up.


2.33.
MDBORT – Terminate MINI-DOS and go to DOS READY.

MDBORT has no parameters. It should only be executed when NEWDOS/80 is in MINI-DOS state. MINI-DOS state is terminated, the pre-MINI-DOS state purged and the system goes to DOS READY.

The purpose of MDBORT is to provide for the situation where the operator does not want to continue the main program which was interrupted by the simultaneous depression of the D, F and C keys (which invoked MINI-DOS).


2.34.
MDCOPY – Copy a file while under MINI-DOS.

MDCOPY,filespec1[,TO],filespec2

The regular COPY command cannot be executed under MINI-DOS. MDCOPY gives the user a restricted and quite slow form of file copy which does execute under MINI-DOS.

MDCOPY copies the contents of file filespec1 to the new or existing file filespec2. File filespec1 is not altered, and the previous contents of file filespec2, if any, are lost. Filespec2 may not be foreshortened as is allowed for COPY.

MDCOPY command example:

  1. MDCOPY XXX/DAT:0 YYY/DAT:1
    The contents of file XXX/DAT on the diskette currently mounted on drive 0 is copied as file YYY/DAT onto the diskette currently mounted on drive 1.

2.35.
MDRET – Exit from MINI-DOS and return to main program.

The message MSA is not redisplayed if the PAUSE command itself was displayed. If the PAUSE command was not displayed, as occurs if it is executed under DOS-CALL, the message MSA is displayed. In any event, the message PRESS “ENTER” WHEN READY TO CONTINUE is displayed on the next line. DOS then waits for the user to press the ENTER key. The PAUSE command is one of the four ways of causing a pause in chaining, and can also be used when a series of commands in main memory are being executed by a series of DOS-CALLs.

MDRET has no parameters. The system exits MINI-DOS state and continues the main program at the point where it was interrupted by the invocation of MINI-DOS (simultaneous depression of the D, F and G keys). If the cursor was displayed before ‘DFG’, it will be redisplayed. If the ‘DFG’ interruption occurred while the key input buffer contained a partial input record, that partial record is still there even though it is no longer displayed. The user should continue keying exactly where he/she left off.

If the invocation of MINI-DOS occurred during the timer interrupt rather than the key intercept, one or more of D, F or G may appear as spurious input keys after MDRET is executed. The user should backspace over them. The user and DOS have no control over these spurious input chars; therefore DFG should not be pressed when a program is in text overwrite mode, such as SCRIPSIT or Electric Pencil; instead go into command mode where the spurious characters can be backspaced over without damage to the text.


2.36.
PAUSE – Display message and pause waiting on ENTER.

PAUSE,msg

The message MSA is not redisplayed if the PAUSE command itself was displayed. If the PAUSE command was not displayed, as occurs if it is executed under DOS-CALL, the message MSA is displayed. In any event, the message PRESS “ENTER” WHEN READY TO CONTINUE is displayed on the next line. DOS then waits for the user to press the ENTER key. The PAUSE command is one of the four ways of causing a pause in chaining, and can also be used when a series of commands in main memory are being executed by a series of DOS-CALLs.

PAUSE command example:

  1. PAUSE,MOUNT DISKETTE LABELED “PRIMARY” ON DRIVE 1.
    This message will appear on the display and will be followed on the next display line by the message PRESS “ENTER” WHEN READY TO CONTINUE. DOS waits for the user to press ENTER which presumably he/she will do after the proper diskette has been mounted in drive 1. DOS doesn’t check to see if the user has done what was requested; all DOS does is wait for the ENTER.

2.37.
PDRIVE – Assign default attributes to a physical drive.

PDRIVE[, password1: ]dn1, [ dn2 [ =dn3 ]][, TI=type1 ] [, TD=type2 ]
[,TC=tc1] [ ,SPT=scl][,TSR=rcl][,GPL=gc2]{,DDSL=ln1][,DDGA=gcl][ ,A]

NEWDOS/80 has limited capabilities for operating with a mixture of 5 inch disk drives and to a lesser extent 8 inch disk drives. PDRIVE is the command method used to inform NEWDOS/80 of a particular physical drive’s characteristics.

Each PDRIVE command lists the resulting specifications for 10 drives even though the actual number of drives eligible for I/O is limited by the SYSTEM option AL and in no case exceeds 4. Those drives within the range of SYSTEM option AL are flagged on the PDRIVE display by an asterisk suffixed to the drive number. The specifications for the 10 drives is maintained on the system diskette mounted on drive dn1. For efficiency reasons, DOS normally uses drive specifications from a table it has in main memory. This main memory PDRIVE table contains specifications for 1 to 4 drives, depending upon the SYSTEM option AL value, and is automatically reloaded from the drive 0 diskette at power on and reset if and only if the specifications for all 10 drives are error free (otherwise the reset hangs). This table is also immediately reloaded by a PDRIVE command specifying the A parameter (see below).

Drive dn1 is the drive containing the system diskette whose control information (in the 3rd sector) is being updated. Drive dn2 indicates which physical drive of the 10 represented in the control information sector on drive dn1 is having its control information updated.

For example, if the PDRIVE command is PDRIVE,1,4,TC=80 then the diskette on drive 1 is read to obtain the PDRIVE control information and is updated to contain the new drive 4 specification. Drive 1’s PDRIVE control information contains the specifications for ten drives, dn2 values 0 through 9, and it is the fifth drive’s information (for dn2 = 4) that is changed. The specifications for the other nine drives are not changed.

If passwords are enabled, then password1 must be specified and be the master password for the diskette on drive dn1. Otherwise password1 may be left out of the command.

Control data is changed only for the parameters specified; parameters not specified are not changed. If any errors are displayed, the dn1 diskette must NOT be used as the system diskette during a reset/power-on until the errors are corrected.

PDRIVE,dn1 will list the 10 PDRIVE specifications contained in the control data on the system diskette mounted on drive dn1.

dn2 must be specified if any other optional parameters except A are specified. If dn2 is specified, it must be the 1st parameter following dn1.

dn2=dn3 causes drive dn2 to assume the PDRIVE specifications of drive dn3. This is done before any other optional parameters are interpreted.

TI=type1 specifies the type of disk drive interface. type1 consists of one or more alphabetic letter flags chosen from the list below. For the Model I, one and only one of flags A, B, C or E must be chosen. For the Model III, one and only one of flags A or D must be chosen. The other flags are optional depending upon the interface. Certain flags are inter-drive mutually exclusive meaning that for a given drive dn1, if one dn2 drive specifies a flag that is inter drive mutually exclusive with another flag, then another dn2 drive may not specify the excluded flag. For now, flags B, C and E are interdrive mutually exclusive for the Model I.

Flag A means the standard disk interface is to be used for diskette I/O for this drive. For the Model I this interface supports drive types A and C. For the Model III this interface supports drive types A, C, E and G.

Flag B (Model I only) means that an OMNIKRON mapped type interface is installed and is to be used for I/O for this drive. This interface supports drive types A, B, C and D.

Flag C (Model I only) means that a PERCOM doubler type interface is installed and is to be used for I/O for this drive. This interface supports drive types A, C, E and G.

Flag D (Model III only) means that an Apparat disk controller type interface is installed and is to be used for I/O for this drive. This interface supports drive types A through H.

Flag E (Model I only) means that an LNW type interface is installed and is to be used for I/O for this drive. This interface supports drive types A through H.

Flag H means head settle delay is to be done whenever DOS changes from another drive to this drive. For Model I and Model III 5 inch drives, The -heads for all 5 inch drives are loaded when the motors go on, and this extra time delay is NOT needed. Flag H is needed for 8″ drives.

Flag I means the lowest numbered sector on each track is sector 1. This is the normal state for Model III TRSDOS diskettes. If flag I is not specified, the lowest numbered sector on each track is assumed to be 0, which is the state for the Model I and for NEWDOS/80 on the Model III.

Flag J means the track numbers start from 1 . If flag J is not specified, track numbers are assumed to start from 0, which is the standard state for the Model I and the Model III.

Flag K means track 0 is formatted (or is to be formatted) in density opposite to that of the diskette’s other tracks. This makes track 0 unavailable for normal I/O. Flag J is implicitly set by flag K. The purpose of formatting track 0 in opposite density is to allow a double density (Model I) or single density (Model III) SYSTEM diskette to be booted up. The Model I ROM must be able to read the boot sector in single density, and the Model III ROM must be able to read the boot sector in double density. Setting flag K causes FORMAT and COPY with format to format track 0 in the opposite density and to store the required boot sector onto that track for the ROMs to use. With flag K set, normal DOS I/O to track 0 actually goes to track 1, 1 to 2, etc. Flag K must be specified for a drive that is to read a double density diskette created by the PERCOM type doubler interface under NEWDOS/80 version 1 or any other DOS except NEWDOS/80 version 2 or higher. For NEWDOS/80 version 2 Model I, double density data diskettes do not have to reserve track 0 for opposite density if those diskettes will never be used on a drive 0 whose PDRIVE specifies double density. Flag K must NOT be specified for standard Model III diskettes, unless for some reason the user wants a single density system diskette on the Model III or is making a double density diskette to be read on the Model I that does not have NEWDOS/80 version 2. When flag K is specified, then TC must specify one less track than would be specified if flag were not specified. Further, due to the differing sequence in which consecutive sectors are stored on the diskettes, double sided, double density diskettes created under the patched NEWDOS/80 version 1 are not readable under NEWDOS/80 version 2. To transfer files on those diskettes to Version 2, they must first be moved (using Version 1) to either single sided (either density) or double sided, single density diskettes.

Flag L means two step pulses between tracks. This allows a 35 or 40 track diskette to be read on an 80 track drive. Writing can also be done in this manner, but the 35 or 40 track drives have trouble reading some of the sectors so writing is not recommended.

Flag M means the diskettes are standard TRSDOS Model III diskettes. Flag M implies flag I. The COPY DOS command is the only function within NEWDOS/80 that will honor or even notice a TRSDOS Model III diskette as distinct from a NEWDOS/80 diskette, and even this will not occur unless flag M is set.

Flags F through G and N through Z are reserved for future definition.

TD is the Type of Drive specification. The definitions are:

1. TD=A 5 inch, single density, single sided drive

2. TD=B 8 inch, single density, single-sided drive

3. TD=C 5 inch, single density, double sided drive

4. TD=D 8 inch, single density, double sided drive

5. TD=E 5 inch, double density, single sided drive

6. TD=F 8 inch, double density, single sided drive

7. TD=G 5 inch, double density, double sided drive

8. TD=H 8 inch, double density, double sided drive

If a CPU speed up module is installed in the computer that reverts to normal CPU during disk I/O, this reversion must not slow the CPU speed to less than the original rated CPU speed for that model. NEWDOS/80’s disk I/O loops, especially for the Model 1 for drive types B, D, E and G, cannot tolerate any reduced CPU speed below the original speed. In limited testing and with SYSTEM option BJ properly set, NEWDOS/80 Version 2 has run disk I/O successfully without the need to turn off the CPU speed; however, Apparat does not guarantee such performance.

TD=F and TD=H require a CPU speed up module installed in the computer which at least doubles the CPU’s speed during disk I/O.

For drive types C, D, G and H, the current NEWDOS/80 interfaces (TI flags A, B, C, D or E) consider a double sided diskette as a single volume (i.e., only one directory) with each track having its lower numbered sectors on the first side and the higher numbered sectors on the second side. Pin 32 is used to select the 2nd side (special cables required), and any drive on the cable that shunts pin 32 over as a drive 3 select must have that shunt wire cut to prevent that drive from being selected when another drive’s 2nd side is being selected. Double sided, double density 40 and 80 track drives have been used on the Models I and III under NEWDOS/80 Version 2.

One of the strongest reasons Apparat never supported double density in Version 1 was that most drives did not work reliably well in double density. Whether this was the fault of the drives, the data separator or the controller was never really ascertained. Over the last nine months things have improved somewhat, but double density is still not as reliable as single density and probably never will be. Apparat was informed that the two byte pattern 6DB6 is a much better “worst case” double density pattern than the E5’s used in single density, and indeed the 6DB6 pattern is such. In fact, it is such a good “worst case” condition that a good percentage of certified double sided, double density diskettes will fail format. To many users, this will prove intolerable and they will want to apply the ZAP that goes back to the E5 pattern, if it is not already applied. However, using the E5 pattern in double density means that the user will increase the probability that a diskette that formats successfully will at some future time fail.

TC=tc1 specifies the number of tracks on the disk, excluding track 0 if TI flag K is set. If flag K is not set, TC=35 for a 35 track drive, TC=40 for a 40 track, etc. If flag K is set, then TC=34 for a 35 track drive, TC=39 for a 40 track, etc.

SFT=scl specifies the number of sectors per track. For double sided, single volume diskettes (TD = C, D, G or II), scl must be twice what it would be if single sided diskettes. scl may be any value from 1 to the maximum number of 256 bytes sectors the track can physically hold. For each of the above specified drive types, the maximum number of sectors per track is: A=10, B=17, C=20, D=34, E=18, F=26, G=36 and H=52.

TSR=rcl specifies the track stepping pulse time code the controller uses for this drive, rcl is a value from 0 to 3 and becomes part of the SEEK, STEP and RESTORE commands sent to the controller. For the Model I and III standard controllers, TSR=0 gives 5 ms stepping, TSR=l gives 10ms stepping, TSR=2 gives 20ms stepping and TSR=3 gives 40ms stepping. TSR=3 was the original standard for the Model I, with some users using TSR=2 or TSR=1 for certain drives. The Model III appears to use TSR=0 as standard. If you are having drive trouble, the safest setting is TSR=3.

GPL=gc2 specifies the number of granules per lump where gc2 is a value between 2 and 8. In TRSDOS for the Model I and III and the older versions of NEWDOS, disk space allocation was done via granules (5 sectors per granule on the Model I and 3 per granule on the Model III) and tracks (2 granules per track on the Model 1 and 6 granules per track on the Model III). In NEWDOS/80 version 2, for both the Models I and III, there are still 5 sectors per granule, and 2 to 8 granules per lump (not track). Wherever a track number appeared in the directory (in the GAT sector and in the FDE two byte extent elements), it has been replaced with a lump number. Doing so allows a granule to start in one track and end in another and allows double density and 8 inch diskettes to maximize the number of sectors per track while keeping the same directory format. GPL=2 maintains compatibility with the old 35 track single density diskettes, as the directories will be exactly the same and transferable back and forth between the Model I TRSDOS and NEWDOS versions before NEWDOS/80 version 2. However, by going to GPL=8 the directory can now accommodate 192 x 8×5= 7680 sectors or 1,966,000 bytes which might suffice for a while.

DDSL=ln1 is the logical equivalent of and replacement for the DDST parameter used in NEWDOS/80 version 1. lnl specifies the number of the lump at whose first sector is to contain the directory’s 1st sector. This value is stored in the boot sector 3rd byte during diskette format and is used when necessary to find the directory. It is also used during diskette format to determine where to put the directory. In the older systems, the 3rd byte of the boot sector contained the track number in whose 1st sector the directory started. Since tracks are not used in space allocation and control in NEWDOS/80 version 2, the 3rd byte of the boot now contains the number of the lump in whose 1st sector the directory starts. To determine the relative sector number of the directory’s 1st sector (the GAT sector), access the boot sector’s 3rd byte and multiply that value by 5 times GPL. DDSL=17 maintains compatibility with the standard 35 track, single sided, single density diskettes. DDSL should be set to the value used for the DDST parameter in NEWDOS/80 version 1.

DDGA=gcl specifies the default number of granules to be allocated to the directory when it is created during format, where gcl is a value between 2 and 6. DDGA=2 should be specified for standard 35 track, single density, single sided compatibility. gcl > 2 allows the user to have more than 62 files on a data diskette with the maximum being 222 files.

A specifies that if and only if no errors were found during the checking of the specifications for all the drives, then the specifications for SYSTEM option AL number of drives is loaded into the main memory PDRIVE table to immediately become the controlling data for those drives; this eliminates tin-need for a reset. If parameter A is specified, dn1 must = 0.

PDRIVE is executable under MINI-DOS.

PDRIVE command examples:

  1. PDRIVE,dn1,dn2,TI=A,TD=A,TC=35,SPT=10,TSR=3,GPL=2,DDSL=l7,DDCA=2
    is the PDRIVE specification for a standard 5 inch, 3 5 track, single density, single sided diskette used for communication in the Model I world. This specification can also be used on the Model III to read the diskette providing the directory address marks are correct (see SYSTEM o
  2. PDRIVE,dn1,dn2,TI=A,TD=*E,TC=40,SPT=18,TSR=3,GPL=2,DDSL=17,DDGA=2
    is the Model III specification (Model I, use TI=C) for a standard 5 inch, 40 track, double density, single sided diskette used for communication through out the NEWDOS/80 Model III world. Using this specification, this diskette can also be read on the Model I in a drive other than 0 if the double density interface is
  3. PDRIVE,dn1,dn2,TI=AM,TD=E,TC=40,SPT=18,TSR=3,GPL=6,DDSL=17,DDGA=2
    is the Model III specification (Model I, use TI=CM or EM) for reading or writing to a TRSDOS Model III standard 5 inch, double density, single sided diskette. A 40 track, double density, single sided 5 inch diskette is the only type TRSDOS Model III diskette that NEWDOS/80 can handle. GPL=6 is mandatory. Since a TRSDOS Model III diskette cannot be formatted by NEWDOS/80, DDSL and DDGA are meaningless. In NEWDOS/80 (double density mod must be installed for Model 1), only the COPY DOS command can be used with TRSDOS Model III diskettes excepting that diskette sectors can be read/written via SUPERZAP by using the DD, DM, DTS, VDS, CDS, CDD, etc. functions that do not refer to files (i.e., don’t
  4. PDRIVE,dn1,dn2,TI=A,TD=C,TC=80,SPT=20 ,TSR=2,GPL=8,DDSL=20,DDGA=6
    is the specification for a 5 inch, 80 track, single density, double sided, single volume diskette with a 20ms stepping, 8 granules per lump, with the directory positioned at the diskette halfway point and maximum size directory.. For the Model III, the single density drive 0 restrictio
  5. PDRIVE,dn1,dn2,TI=A,TD=G,TC=80,SPT=36,TSR=2,GPL=8,DDSL=35,DDGA=6
    is the Model III specification (Model I, use TI=C or F.) for a 5 inch, 80 track, double density, double sided, single volume diskette to use 20ms stepping, 8 granules per lump, maximum size directory positioned at the diskette halfway point. For the Model 1, the double density drive 0 restrictio
  6. PDRIVE,dn1,dn2,TI=CK,TD=E,TC=39,SPT=l8,TSR=3,GPL=2)DDSL=17,DDGA=2
    is the Model I specification (Model III, use TI=AK) for 5 inch, 40 track, double density, single sided diskette that has track 0 formatted in single density, hence only 39 tracks available for regular use. This specification will handle double density diskettes formatted by TRSDOS and NEWDOS/80 version 1 running under the PERCOM doubler. This specification will also be used when generating a double density diskette to be the system diskette in drive 0 for the Model I. For LNW Model I interface,
  7. PDRIVE,dn1,dn2,TI=CK,TD=G,TC=79,SPT=36,TSR=3,GPL=8,DDSL=35,DDGA= 6
    is the Model J specification (Model III, use T1=AK) for a 5 inch, 80 track, double density, double sided, single volume diskette that has track 0 formatted single density. For the LNW Model I. interface, u
    Warning!!! Double sided, double density diskettes used on the patched NEWDOS/80, version 1 are not useable on Version 2 (see TI flag K di
  8. PDRIVE,dn1,dn2,TI=AL,TD=A,TC=3 5,SPT=10,TSR=3,GPL=2,DDSL=17,DDGA=2
    is the specification for a 5 inch, 35 track, single sided, single density diskette that is to be read on an 80 track drive. The 80 track drives step only half as far as the 35 and 40s for each data track; setting flag L causes 2 steps to be taken for each data trac
  9. PDRIVE,dn1,dn2,TI=BH,TD=B,TC=77,SPT=17,TSR=3,GPL=3,DDSL=17,DDGA=6
    is the Model I specification for an 8 inch, 77 track, single sided, single density diskette. Note, NEWDOS/80 version 1 used SPT=15 and an implied GPL=3, and to read those diskettes, SPT=15 and GPL=3 must be used. It is recommended that a COPY be done to convert those diskettes to SPT=17, thus gaining 12% more diskette space. Flag H causes head load settle delay to be used, required for most 8 in
  10. PDRIVE,dn1,dn2,TI=BH,TD=D,TC=77,SPT=34,TSR=3,GPL=8,DDSL=17,DDGA=6
    is the Model I specification for an 8 inch, 77 track, single density, double sided, single volume diskette with head load settle delay
  11. PDRIVE,dn1,dn2=dn3
    is the specification to cause drive dn2 to receive as its specifications those of
  12. PDRIVE,dn1,dn2=dn3,TC=40,TSR=2
    is the specification to cause drive dn2 to receive as its specifications those of drive dn3 and then to apply new values for T
  13. PDRIVE,0,A
    causes the PDRIVE data for SYSTEM option AL number of drives to be loaded into the main memory PDRIVE table if and only if the full display of the specifications shows
  14. PDRIVE,0,dn2=dn3,A
    changes drive 0’s specifications for dn2 to be those of dn3, and then performs as in the abov

2.38.
PRINT – List a text file on the printer.

PRINT, filespec1 [,start-line [, line-count ]

PRINT executes identical to LIST, excepting the listing goes to the printer instead of the display. Refer to DOS command LIST for specifications and examples.


2.39.
PROT – Alter some diskette control data.

PROT,[password1:]dn1[, NAME=name1 ]
[,DATE=mm/dd/yy][,RUF]
[,PW=password2][,LOCK][,UNLOCK]

At least one optional parameter must be specified. The target diskette is mounted on drive dn1. If passwords are enabled, password1 must be specified and must equal the diskette’s master password.

NAME=name1 The diskette is given the name name1.

DATE=mm/dd/yy The diskette is given the date mm/dd/yy.

RDF Reset Updated Flags. This option turns off the updated flags for all files on the diskette. If a user backs up only those files having the updated flag on (see UPD option of COPY), executing PROT with the RUF option after the copying is completed turns off the updated flags so the files will not be eligible for a subsequent backup until the file is subsequently updated. Simply writing or rewriting one sector of the file, whether or not anything was actually changed, causes DOS to turn on a file’s updated flag.

PW=password2 Password2 must conform to the rules for passwords, with null set as all blanks. The diskette receives password2 as its password.

LOCK All files of the diskette, except system and invisible files, are given the diskette master password as both their access and update passwords. If password2 specified, it is used. This feature used to be the only way a user, in a password enabled system, could get to a file whose password(s) he/ she had forgotten, if the user did know the diskette master password. It has the unfortunate drawback in that it changes the passwords for all, except system and invisible, files on the diskette; thus causing the user to reassign passwords to all the others as well as to the file whose passwords he/she forgot. An easier way is available if the user knows the password of at least one NEWDOS/80 system diskette or better still, has a NEWDOS/80 system diskette with passwords disabled (system option AA = N). With passwords disabled, the user can use ATTRIB to directly reassign new passwords to the file whose passwords are forgotten without having to affect other user files on the diskette. Then passwords can be re-enabled.

UNLOCK The access and update passwords of all of the diskette’s files, except system and invisible files, are set to all blanks, meaning no passwords for those files.

PROT command examples:

  1. PROT,2,RUF
    The updated flag is cleared for each file on the diskette currently mounted on drive 2.
  2. PROT,QLDPSWD:1,NAME=AAB3,DATE=07/15/81,PW=NEWPSWD
    In this example, passwords are enabled; therefore the diskette’s master password OLDPSWD was required. The diskette control information for the diskette mounted on drive 1 is changed such that its name is AAB3, its date is July 15, 1981 and its new master password is NEWPSWD.

2.40.
PURGE – Selectively kill files from a diskette.

PURGE,[password1:]dn1[,/ext][,USR]

The diskette mounted on drive dn1 is used for this command. If passwords are enabled, password1 must be specified and must be equal to the diskette’s master password.

For each file, except BOOT/SYS and DIR/SYS, on the diskette, DOS asks the operator if the file is to be killed. If the file is to be killed, respond Y; the file will be immediately killed, as if a KILL command has been issued. If the file is NOT to be killed, respond N. Respond Q if you wish to quit the PURGE function.

/ext If this option is specified, the purge queries are limited to only those files having name extension ext where ext is 0 to 3 characters.

USE If this option is specified, system and invisible files are not included in the PURGE function.

PURGE command examples:

  1. PURGE,1
    For each file, except BOOT/SYS and DIR/SYS, on the diskette currently mounted on drive 1, DOS asks if the file is to be killed. If the response is Y, the file is killed.
  2. PURGE,0,/DAT
    For each file on the diskette currently mounted on drive 0 that has name extension DAT, DOS asks if the file is to be killed and does so if the response is Y.
  3. PURGE,0,USR
    For each non-system, non-invisible file on the diskette currently mounted on drive 0, DOS asks if the file is to be killed and does so if the response is Y

2.41.
R – Repeat the previous DOS command.

This command causes the re-execution of the previous DOS command, excluding the command R. Example:

DIR 1 followed by R

will execute the same as if the two DOS commands had been:

DIR 1
DIR 1

The R command can not be executed from BASIC via CMD”doscmd” as that function requires that the command, excluding ENTER, must be 2 or more characters long.

The R command has no parameters and must be keyed exactly as R followed by ENTER. If more than 2 characters are keyed into the buffer and then backspaced so that DOS only sees the R and the ENTER, the previous DOS command that was residing in the command buffer will still have been altered and the R command will either fail or in rare circumstances, execute something different than what the operator expected.

If the previous DOS command is no longer intact in the DOS command buffer, the results of the R command are unpredictable.

If SYSTEM option BE = N, the R command does not execute the previous DOS command but instead simply returns to DOS READY.


2.42.
RENAME – Rename a file.

RENAME,filespec1[,TO],filespec2

The diskette mounted on drive dn1 is used for this command. If passwords are enabled, password1 must be specified and must be equal to the diskette’s master password.

The file filespec1 is renamed to filespec2, where filespec2 consists of only a name and optionally a name extension. If filespec1 does not specify a drive number, then all mounted diskettes are searched, and the first file encountered matching filespec1’s name and name extension is renamed. RENAME change only the file’s name and name extension; nothing else is changed.

RENAME command example:

  1. RENAME XXX/DAT:1 YYY/OBJ
    The file XXX/DAT on the diskette currently mounted on drive 1 has its name changed to YYY and its extension changed to OBJ.

2.43.
ROUTE

ROUTE

ROUTE,CLEAR

ROUTE,devl[,dev2][,dev3]…

The purpose of the ROUTE command is to allow some flexibility from where the keyboard and/or RS-232 input is received and to where display, printer and RS-232 output is sent. This is more restrictive form of routing than is available in other DOSs.

At the conclusion of a ROUTE command, any existing routes are displayed; if none, nothing is displayed. ROUTE with no parameters does nothing except display the existing routes.

ROUTE,CLEAR clears all routes.

devl specifies the device being routed. dev2, dev3, etc. specify the device(s) being routed to (the routed-to devices) when devl is an output device or routed from (the routed-from devices) when dev1 is an input device. For the Model I, the device codes are IT for the keyboard, DO for the display, PR for the printer and NL for null (meaning nothing is transferred). For the Model III, P.I for the RS-232 input and RO for the RS-232 output are added to the above 3 codes. An input device (KB or RI) may not be routed to an output device (DO, PR or RO), and an output device may not be routed to an input device.

Whenever devl is specified, ROUTE initially clears any previously existing routes for that device and then establishes the routes specified by dev2, dev3, etc., if any.

Any of the devices dev2, dev3, etc. may also be of the form MM=addr where addr specifies the main memory location of a user routine to which devl is to be routed. The first 12 bytes of the routine are reserved for use by DOS and must not be altered by the user. Upon routing, the user routine is entered via a CALL at the 13th byte, and it is the user’s responsibility to save and restore all registers, except AF, used by the routine and routines it calls. If devl is an input device, the routine returns the new byte in register A with a zero indicating there is no new input byte from that routine. If devl is an output device, upon entry to the routine, register C contains the byte being outputted.

If devl is an output device, the output byte is sent to all routed-to devices in the order given in the ROUTE command.

If devl is an input device, each routed-from device is queried in the order given in the ROUTE command. If that device supplies a non-zero byte, the queries stop and the byte is used as the input byte for the devl. If no routed-from device has an input byte, a zero is considered devl’s current byte.

The maximum number of routes-to and routes-from, excluding MM=addr types, in existence at one time is four for the Model I and six for the Model III.

WARNING!!! No editing of input or output characters is done during routing. This may cause problems (i.e., display control characters causing the printers to do unpredictable things).

ROUTE command examples:

  1. ROUTE,PR,DO
    Printer output does not go to the printer but instead goes to the display.
  2. ROUTE,DO,DO,PR
    Display output goes to both the display and the printer.
  3. ROUTE,PR,DO,PR
    Printer output goes to both the display and the printer. If the routes of both example 2 and 3 are active, the routing is equivalent to the Model III TRSDOS function DUAL.
  4. ROUTE,KB,RI (Model III only)
    Keyboard input characters come from the RS-232 input device and not from the keyboard.
  5. ROUTE,DO,RO (Model III only)
    Display output is sent to the RS-23 2 output device and not to the display.
  6. ROUTE,PR,MM=0FE80K
    Printer output is sent to the routine at main memory location 0FE80H (the routine’s actual entry point is 0FE8CH).
  7. ROUTE,KB,KB,MM=0F800H
    Keyboard input comes from either the keyboard or the routine at main memory location 0F800R. Input from the keyboard has precedence.
  8. ROUTE,PR,NL
    Printer output is discarded.
  9. ROUTE,PR All
    routing for the printer is dissolved. Printer output goes to the printer.
  10. ROUTE,CLEAR All
    routes are dissolved, and all devices are returned to their normal paths.

2.44.
SETCOM – Set RS-232 interface parameters. Model III Only.

SETCOM[ ,OFF] [ ,WORD=wl] [ ,BAUD=br]
[ ,STOP=sb] [ ,PARITY=pp]
[ ,WAIT] [ .NOWAIT]

The SETCOM command optionally changes the state of the RS-232 interface and always displays the state. For RS-232 discussion, see chapter 8 of the Model III Operation and BASIC Language Reference Manual. The SETCOM command affects only the standard RS-232 control blocks and routines.

If OFF is specified, the RS-232 interface is turned off. No other optional parameters may be specified.

If any of WORD, BAUD, STOP or PARITY is not specified, the state for that keyword is not changed.

WORD=wl specifies the number of bits per transmission byte. wl must be one of 5, 6, 7 or 8.

BAUD=br specifies the transmission rate (the baud rate) for both sending and receiving. The 16 allowable values for br are 50, 75, 110, 134, 150, 300, 600, 1200, 1800, 2000, 2400, 3600, 4800, 7200, 9600 and 19200.

STOP=sb specifies the number of stop bits to be used for each byte transmitted. sb is either 1 or 2.

PARITY=pp specifies the parity to be used in the transmission where 1 = odd parity, 2 = even parity and 3 = no parity.

WAIT or NOWAIT are mutually exclusive and specify whether or not the RS-232 input routine is to wait until an input byte is received and the output routine is to wait until the current byte has been sent. If neither WAIT nor NOWAIT is specified, the previous wait or no wait state remains.

SETCOM command examples:

  1. SETCOM,WORD=8,BAUD=300,STOP=1,PARITY=1,WAIT
    Activates the RS=232 interface, if not already active, and sets the interface for 8 bit bytes, 300 baud rate, one stop bit, odd parity and forces the RS-232 routines, when called, to wait until an input byte is ready or until the RS-23.2 output device will accept an output byte.
  2. SETCOM,NOWAIT,PARITY=3,WORD=7
    Activates the RS-232 interface, if not already active, and sets the interface for 7 bit bytes, no parity and causes the RS-232 routines not to wait until an input byte is ready or the RS-232 output device will accept an output byte. The TRS-80 interrupt routines will handle the actual byte input or output with the RS-232 device. The other parameters not mentioned in the command are not changed.
  3. SETCOM,OFF
    The RS-232 interface is deactivated. The current interface specification is remembered.

2.45.
STMT – Display specified message.

STMT,msg

Since normal DOS commands are always displayed, this command normally has nothing to do since its function, to display the message MSA, has already been done. However, if this command was invoked via DOS-CALL (which does not display the DOS command), the message MSA is displayed.

STMT is one of 3 ways in chaining to display a message without a pause. This allows multiple line instructions to be displayed, with the last line being a PAUSE and the others being STMTs.

STMT command examples:

  1. STMT PHASE ONE COMPLETED
    This is simply an announcement to the terminal operator that phase one (whatever that was) has been completed. DOS does not pause.
  2. STMT DISMOUNT AND STORE AWAY DISKETTE XXX PAUSE AND MOUNT DISKETTE YYY ON DRIVE 2
    This example illustrates the combined use of the STMT and PAUSE commands to give instructions and wait until they are carried out.

2.46.
SYSTEM – Change system options.

SYSTEM,[password1:]dn1,[,AA=yn][,AB=yn][,AC=yn][,AD=yn][,AE=yn]
[,AF=yn][,AG=yn][,AH=yn][,AI=yn][,AJ=yn][,AK=yn][,AL=al]
[,AM=am][,AN=an][,AO=ao][,AP=ap][,AQ=yn][,AR=yn][,AS=yn]
[,AT=yn][,AU=yn][,AV=av][,AW=aw][,AX=ax][,AY=yn][,AZ=yn]
[,BA=yn][,BB=yn][,BC=yn][,BD=yn][,BE=yn][,BF=yn][,BG=yn][,BH=yn][,BI=bi][,BJ=bj][,BK=yn][,BM=bm][,BN=bn]

The NEWDOS/80 system diskette whose control information is being updated/ displayed by this command is mounted on drive dn1. If passwords are enabled, password1 must be specified and be equal to the diskette’s master password. If no optional parameters are specified, then only a display of existing options is given. The optional parameters may be specified in any order, and only those parameters specified have their values changed in the diskette’s control data (3rd sector on the diskette). Parameters not specified are not changed.

If many options are being changed, it may be necessary to perform multiple SYSTEM commands as the DOS buffer is limited to 79 characters per command.

It is anticipated that additional options will be specified as time proceeds.

Changes to a system diskette’s system option’s do not affect the computer operations until that system diskette is mounted on drive 0 and a reset done.

AA=yn – If AA=Y, passwords are enabled. If AA=N, passwords are disabled.

AB=yn – If AB=Y, the system is to operate in RUN-ONLY mode. SYSTEM options AD=N, AE=N and AF=N are forced at reset time, and the pressing of ENTER to override the auto command is disallowed. The user must have a proper auto command (see AUTO, section 2.4) that will either invoke a user program or execute a CHAIN file that will eventually invoke a user program. In RUN-ONLY mode, if the system finds itself at normal DOS READY or MINI-DOS READY, it will go into an endless loop after displaying ‘RUN ONLY STOPPED!! PRESS ‘R’ FOR RESET*. Upon receiving R, the DOS command BOOT (see section 2.7) will be executed. BASIC honors RUN-ONLY by disabling BREAK, treating LOAD without R or V as an error, and by not allowing any direct statements. If AB=N, the system is in normal command mode.

AC=yn – (Model I only) If AC=Y and if SYSTEM option AJ=Y, the NEWDOS/80’s debounce routine is used. If AC=N or SYSTEM option AJ=N, the NEWDOS/80’s de-bounce routine is bypassed.

AD=yn – If AD=Y, ‘JKL’ is enabled, and if AD=N, ‘JKL’ is disabled.

AE=yn – If AE=Y, ‘123’ is enabled as the method to invoke DEBUG (see section 4.1). If AE=N, ‘123’ is disabled.

AF=yn – If AF=Y, ‘DFG’ is enabled as the method of invoking MINI-DOS (see section 4.2). If AF=N, ‘DFG’ is disabled.

AG=yn – If AG=Y, BREAK is considered a normal input key with code = 01. If AG=N, the BREAK key is not considered a normal input key and its occurrence is changed to the null key code 00. The state of the BREAK key is set according to option AG at reset and then again every time the system returns to normal DOS READY. DOS command BREAK may be used to enable or disable the BREAK key until the next normal DOS READY. Also, programs may enable the BREAK key by storing a 0C9H byte in Model I location 4312H (Model III location 4478H) or disable the BREAK key by storing a 0C3H byte in that location.

AH=yn – Not defined in NEWDOS/80, version 2. Formerly, this dealt with delaying the disabling of timer interrupts during disk I/O to gain better clock accuracy. This is no longer done.

AI=yn – (Model I only) If Al = Y, lower case modification has been installed in the computer and AI=N if it is not. User programs may test for bit 4 of 436CH for this state, 1 if AI=Y and 0 if AI=N. Currently, DEBUG and SUPERZAP use this flag to decide whether memory displays can display lower case.

AJ=yn – If AJ=Y, NEWDOS/80’s keyboard intercept routine is active. This routine contains repeat key function, ‘debounce’ (Model I only) and one of the methods used to spot ‘JKL’, ‘123’ and ‘DFG’ (the other being off the timer interrupts). If AJ=N, NEWDOS/80 does not intercept the keyboard two byte address vector at 4016H and

1. The repeat key function for the Model I is not active regardless of the SYSTEM* option AU. The Model III reverts to the ROM repeat key function.

2. ‘debounce’ (Model I only) is not active regardless of SYSTEM option AC setting.

3. .’JKL’, ‘123’ and ‘DFG’ can only be triggered via the interrupts, resulting in many more spurious key input characters.

If the up-arrow key is depressed all during the reset/power-on sequence, AJ = N is forced; this is necessary for those programs that eventually overlay the DOS in main memory.

AK=yn – Not defined in NEWDOS/80, version 2. Formerly, this option dealt with allowing ‘JKL’ to pass graphic characters to the printer. This has been incorporated into SYSTEM option AX.

AL=al – al (value 1-4) specifies the number of physical drives in the system. If your system only has one drive, setting al = 1 will limit the system to only checking for that one drive. Though al can be set to 255, it should never exceed 4.

AM=am – am (value 0 – 255 where 0 = 256) is the number of tries allowed for a disk I/O before it is declared in error. The original DOSs used a value of 10.

AH=an – an = the default drive number for the DIR command.

AO=ao – When creating a file and when the user lets the system choose the diskette to contain the file by not specifying a drive number in the filespec, the system will first search all the drives for an existing copy of the file. If it does not find an existing copy, the system will start searching at drive ao, and will search that and higher numbered drives until a free FDE is found. It will not search a drive whose number is less than ao.

AP=ap – ap is a memory address, which if other than 0 and is within the range of existing memory, is stored as DOS’s HIMEM address value in the two bytes at Model I location 4049H (Model III location 4411H).

AQ=yn – If AQ=Y, the CLEAR key is enabled, and if AQ=N, the CLEAR is disabled if SYSTEM option AJ=Y.

AR=yn – If AR=Y, COPY, formats 5 and 6, are allowed without diskette password checking even though passwords are enabled. If AR=N, passwords are required if passwords enabled.

AS=yn – (Model I only) If AS=Y, BASIC will convert input text character strings from lower to upper case. This is useful when lower case hardware is not installed or when lower case drivers are not used as it is very possible to input lower case characters (using the shift key) and have BASIC display them as upper case even though they are really lower case. The user can stare forever at a compare that looks equal on the display, but BASIC computes as unequal. If as = N, BASIC will leave the text character strings alone. This option does not affect string characters input as data rather than as part of text.

AT=yn – AT=N puts chaining into record mode, meaning that only requests for full records come from the chain file; single char key input request are honored from the keyboard. AT=Y puts chaining in single character mode meaning that all requests for an input key come from the chain file.

AU=yn – AU=Y turns on the clock driven repeat key function. The first repeat will delay option AV number of 25 ms intervals. Subsequent repeats will enter as fast as the program asks for them but not more than 12 per second. AU=N turns off the repeat key function, eliminating repeat keys on the Model I and shifting to the ROM repeat key function on the Model III.

AV=av – AV is used when AU=Y. av is the number of 25 ms intervals to pass between the key depression and the acceptance of the 1st repeat of that character. Subsequent repeats are as fast as the program wants them but not more than 12 per second.

AW=aw – is the number of write-with-verify disk I/O tries allowed. This I/O retry count works in conjunction with option AM=am with each retry under AW taking place only after the sector verify read has failed am number of times. Formerly, if sector write encountered no error and the verify read did result in an error, it was left to the user to retry the write. Now, if aw is greater than 1, the write will automatically be retried in the cases where the write was apparently good but the verify read failed.

AX=ax – This is ASCII code of the highest printable character for the printer. It is used by system routines to determine when to substitute blanks or periods in place of ASCII codes higher than this value. This value must not exceed 255. This high ASCII code is stored in the one byte at Model I location 4370H (Model III location 4290H).

AY=yn – is used only during resets wherein DOS senses that it was not active immediately prior to the reset (i.e., reset after power-on or after execution of non-disk BASIC). AY=Y causes the operator to be asked for date and time. AY=N bypasses this query and causes date and time to be set to zeroes.

AZ=yn – is used only during resets wherein DOS senses that it was active immediately prior to the reset. AZ=Y causes the operator to asked for date and time. AZ=N causes date and time to be left as they were prior to the reset.

BA=yn – BA=Y causes a reset to activate ‘ROUTE,DO,NL’, thus causing all display output, including the DOS and BASIC banners, to be lost until the operator or a user program executes either ‘ROUTE,CLEAR’ or ‘ROUTE,DO’. BA=N disables this reset action.

BB=yn – (Model III only) BB=N informs the system that the clock interrupts occur 60 times a second. BB=Y informs the system that the clock interrupts occur 50 times a second. This option docs not set the clock to perform as such, but only acknowledges that it does.

BC=yn – BC=Y means the operator can manually pause or cancel chaining. BC=N means the operator is not allowed to manually pause or cancel chaining. RUN ONLY forces BON.

BD=yn – BD=Y means the operator can override the AUTO command at reset by holding down the ENTER key. BD=N means he/she can’t. RUN ONLY forces BD=N.

BE=yn – BE=Y enables the DOS command R to repeat the previous DOS command (see section 2.41). BE=N causes the R command to simply return to DOS READY.

BF=yn – (Model I only) BF=Y performs at reset/power-on time the equivalent of the DOS command LCDVR,Y (see section 2.29). BF=N performs the equivalent of LCDVR,N. However, if DOS senses that the lower case hardware is either not installed or is not operating, BF=N is forced.

BG=yn – BG=Y performs at reset/power-on time the equivalent of the DOS command LC,Y (see section 2.28). BG=N performs the equivalent of LC,N

BH=yn – At reset/power-on time BH=Y enables cursor blinking, and BH=N inhibits it.

BI=bi – At reset/power-on time, the numeric value bi is set as the cursor character’s value, excepting that if bi = 0, then the standard cursor character value is used (95 for the Model I and 176 for the Model III).

BJ=bj – Option BJ provides a minimal control for NEWDOS/80 when a CPU speed up modification is installed that is to continue operation during disk operations. This option multiplies (roughly) by bj the number of Z-80 instructions executed during certain timing loops used internal to NEWDOS/80. bj must be an integer greater than 0 and equals the number of times the CPU has been speeded up. Set bj = 1 if the loops are not to be lengthened. If the loops are to be lengthened, bj must always be rounded up in the cases where the new CPU speed is not an even multiple of the original Model I or Model III speed. Option BJ does NOT perform the actual CPU speed switching.

BK=yn – BK=Y allows the DOS command WKDIRP and the W and C functions of DIRCHECK to be executed. BK=N causes these functions to be rejected with ‘DISK ACCESS DENIED’.

BM=yn – BM=Y causes diskette formatting to verify read sectors in a separate VERIFYING phase after all tracks have been, formatted. This verify read is in addition to the verify read done on a track’s sectors immediately after the individual track was formatted. BM=N bypasses this VERIFYING phase, deeming as sufficient the verify sector read done when the individual track was formatted.

BN=yn – Model I only. BN=N causes the write of single density diskette directory sectors to use the address mark readable by Model I TRSDOS. BN=Y causes the write of single density diskette sectors to use the address mark readable by Model III NEWDOS/80. BN=Y should only be used where it is required that single density diskettes be NEWDOS/80 version 2 exchangeable between the Model I and the Model III.

Though the information contained in the directories used by Model I TRSDOS, Model I NEWDOS/80 and Model III NEWDOS/80 is the same (except for some additions by NEWDOS/80), the address mark byte (part of the magnetic format and identification bytes that surround each 256 bytes of user data on the soft sectored diskettes) used to indicate the directory sectors are ‘protected’ is different on the Model III than it is on the Model I for single density diskettes.

The changing of SYSTEM option BN does not in itself change the address mark of any directory sectors. All this does is set the protected sector write routine in DOS to write the specified address mark whenever a protected sector is written or rewritten to disk. To set all sectors of a single density diskette directory to the proper address mark, use either DOS command WRDIRP or DIRCHECK with the W option. Warning!!! If a single density diskette has been used on the Model III or has been used on the Model I where BN=Y and the diskette must now be used with Model I TRSDOS, the user must set BN=N and rewrite the directory sector address marks using WRDIRP or DIRCHECK with option W. This must be done even though, with BN=N, SUPERZAP under NEWDOS/80 on the Model I shows the directory sectors protected; this is because Model I NEWDOS/80 accepts either address mark value as ‘protected’ though it only writes the one value specified by option BN.

System option codes BO and up are reserved for future definition.

SYSTEM command examples:

  1. SYSTEM,0,AL=4,AA=Y,AU=Y,AV=20,AT=Y
    The SYSTEM control parameters AL, AA, AU, AV and AT are changed on the current system diskette mounted on drive 0. All the other SYSTEM parameters are left unchanged. The full SYSTEM specification is then displayed. These changes are not used to control NEWDOS/80 until the next reset/power-on.
  2. SYSTEM,2,AP-=0FF00H,AN=1 ,AX=126
    The SYSTEM control parameters AP, AN and AX are changed in the control sector of the diskette currently mounted on drive 2. No other SYSTEM parameters are changed. The full system specification contained on that diskette is then displayed. For the SYSTEM parameters contained on that diskette to control NEWDOS/80, that diskette must be a NEWDOS/80 version 2 system diskette, must be dismounted from drive 2 and remounted on drive 0, and a reset/power-on must be done.

2.47.
TIME – Set the real time clock.

TIME[,hh:mm:ss]

If no parameters are specified, the current times is displayed in hh:mm:ss format.

If hh:mm:ss is specified, the clock is set to time hh:mm:ss where hh is a 2 digit hour value, 00 – 23, mm is a two digit minute and ss is a two digit seconds value. No check is made on the validity of the values. Facl of the three values is converted to a single byte value and stores into its byte of the clock. The clock three bytes start at model I location 4041H (model III location 4217H) and are in seconds, minutes, hours order.

At reset/power-on the clock is set according to SYSTEM option AY or -AZ. The clock is updated once a second. The user should not rely upon the clock for an accurate value as disk I/O frequently and interrupt routines infrequently run so long with interrupts disabled that one or more timer interrupts will be missed, causing the clock to run slow. The real time clock is not a hardware clock, but instead is maintained by software that is not aware of the lost timer interrupts.

TIME command examples:

  1. TIME,15:23:00
    The clock is set to 3:23 PM.
  2. TIME
    The current time is displayed.

2.48.
VERIFY – Require verify read after every disk write.

VERIFY[,yn]

NEWDOS/80 performs verify read after all of its directory writes and after all sector writes when logical record or single byte I/O is used. It does not perform verify reads when full sector writes are done via the 4439H vector.

VERIFY or VERIFY,Y Diskette writes done via the 4439H vector are verify read. A verify read means the sector is read after it is written. If the sector was written illegible or with bad parity, an error will be triggered. A byte for byte data compare is not done. However, if the verify read detects an error and SYSTEM option AW is not equal to 1, the write and verify read will be done again since the system still has access to the data that should have been placed into the diskette sector.

Diskette full sector writes done via the 4439H vector are not verify read.

COPY, EDTASM and BASIC SAVE’s write the file completely without validity read, but then read back the entire file as a verify read. All BASIC disk data writes to print/input files, marked item files, fixed item files or field item files (where record length is not 256) perform verify read due to the fact that byte rather than sector I/O is used. Field item files with record length 256 use sector I/O and are not verify read unless VERIFY is on.


2.49.
WRDIRP – Write directory sectors protected.

WRDIRP,dn1

WRDIRP causes the directory sectors for the diskette in drive dn1 to be read and rewritten in the currently defined protected state for the current computer (see SYSTEM options BN and BK).

This command is used where single density diskettes are to be exchanged under NEWDOS/80 version 2 between the model I and III.

This command enables the user to set the directory to the proper read protect state while under MINI-DOS, since it is most likely he/she will find out about the problem when in the middle of doing something else (and thus can’t get to DIRCHECK). CAUTION!!! This command uses the directory starting granule number from the 3rd byte of the boot sector to find the directory. It then checks to see if the FPDE’s for BOOT/SYS and DIR/SYS are present. If these checks pass, it then changes what it thinks are the directory sectors all to protected status. Do NOT use this command unless you are sure the only problem is the different protection status between the model I and model III; if you have doubts, use the W function of DIRCHECK.

If SYSTEM option BK = N, the DOS command WRDIRP is disabled.

WRDIRP command example:

  1. WRDIRP,1
    For the diskette mounted on drive 1, the directory address marks are set for the current computer and, if Model I, for the setting specified by SYSTEM option BN.

Navigation

Go to …

Page 3 (Chapters 3-4 – DOS Routines and DOS Features)

Skip to …

Page 4 (Chapters 5-6 – DOS Modules and SYSTEM Programs)
Page 5 (Chapter 7 – Disk BASIC)
Page 6 (Chapter 8-End)

Go back to …

Page 1 (Introduction and DOS Library Commands Part 1: APPEND to CREATE)