Introduction – NEWDOS/80, Version 2, Model I ZAPS 04/13/82
CAREFULLY STUDY chapter 11 of NEWDOS/80 documentation for instructions on how to apply zaps.
Some modules have multiple versions with the zaps different in each version. Use the verify to determine which version you have and apply the appropriate zap(s). If you have a version different from any listed (i.e., the verify(s) do not match. contact the program’s distributor or Apparat). Apparat is trying to get the program creator/maintainer/distributor to create and distribute the necessary zaps to run with NEWDOS/80, Version 2, but where this does not occur and for widely used programs, Apparat will generate any necessary zaps. if Apparat decides to generate the zaps and does not have your particular version you will be asked to send the version you have on a diskette (as a gift to’ Apparat, see chapter 11) to Apparat so that Apparat may determine the appropriate zaps; Apparat will not seek out your version from another source, and will not create a zap from a paper listing.
* * * NEWDOS/80 Version 2.0 Model I ZAP Index * * *
*** ZAP 001 *** 08/04/81 *** V2M1
Mandatory zaps to Microsoft’s EDIT/CMD to enable it to run with NEWDOS/80. You must maintain separate copies of this module for each of TRSDOS and NEWDOS as the module for one system is incompatible with the that for other though the files they manipulate are compatible. These changes are due to the FCB’s NEXT and EOF fields being defined in NEWDOS differently than in TRSDOS.
*** ZAP 002 *** 08/04/81 *** V2M1
Mandatory zap for PENCIL/CMD to disable the alteration of a DOS location by PENCIL. This alteration of DOS by PENCIL is not needed in either NEWDOS/80 or NEWDOS/21.
Apparat has been advised that the following two zaps to PENCIL/CMD will (1) allow PENCIL/CMD to read the directory properly and (2) enable the use of MINI-DOS under PENCIL/CMD.
This latter zap prevents PENCIL/CMD from using its own keyboard routine thereby defaulting back to NEWDOS/80’s wherein ‘DFG’ invoking MINI-DOS can be spotted.
*** ZAP 003 *** 08/04/81 *** V2M1
Mandatory zap to Radio Shack’s programs SCRIPSIT/UC and SCRIPSIT/LC to run under NEWDOS/80 (and NEWDOS/21). The user should maintain separate copies for NEWDOS and for TRSDOS as the programs for each system are incompatible with the other system even though the files they manipulate are compatible. The first 3 changes are necessary because of the different way the PC3’s NEXT and EOF fields are maintained. If you are running NEWDOS and files appear to load .short one sector, check to make sure these zapa are in. The 4th zap causes DOS’ HIMEM address value in 4049H – 404AH to be used as SCRIPSIT’s high memory. The 5th zap re-enables the interrupts so MINI-DOS can be invoked from SCRIPSIT.
*** ZAP 004 *** 08/04/81 *** V2M1
Optional zap to increase drive power on delay to the full one second used in older DOSs. NEWDOS/80 waits only 112 second for the the drives to attain rotational speed during power on select. If you feel the drives would perform better with the longer delay apply this zap.
*** ZAP 005 *** 08/04/81 *** V2M1
Mandatory zap for APL80/CMD to enable it to run with NEWDOS/80. AFL80/CMD references a routine internal to DOS that in in a different location in NEWDOS/80 than it was for TRSDOS and NEWDOS/21.
*** ZAP 006 *** 08/04/81 *** V2M1 ***
Optional zap to EDTASM/CMD to disable the lower case to upper case conversion done by EDTASM’s keyboard input routine. Most functions within EDTASM will still require upper case but comments and operands enclosed in single quotes (for DEFM and DEFB) will accept lower case.
*** ZAP 007 *** 08/04/81 *** V2M1 ***
This is information rather than an actual zap.
- The DOS command ATTRIB (see section 2.3) has an additional optional parameter, LRL-xxx, not specified in that section. LRL-xxx specifies the new logical record length of records in the file where xxx is an integer between 1 and 256. This record length is used now only by DIR, but if user processing assumes a file has a given record length, some users may want the DIR display to reflect it.
- MINI-DOS (see section 4.2) is illegal under DOS-CALL (see section 4.4). If the DPG keys are depressed while DOS is under DOS-CALL, the triple key depression will be ignored.
- DOS command ROUTE (see section 2.43) has been altered such that existing routes are displayed only if the ROUTE command has no parameters.
- DOS command COPY (see section 2.14), format 6 (CBF) has a new optional parameter DFO (Destination Files Only). If DFO is specified, then file contents are copied if and only if the file previously existed on both the destination and source diskettes. DFO is mutually exclusive with FMT.
- DOS command FORMAT (see section 2.22) has a new optional parameter RWF (R&W Format).- If RWF is specified, all errors are ignored and each track is formatted once, whether or not the format actually takes. RWF is used when the user wishes to obliterate the information on a damaged diskette and doesn’t have a magnet. RWF is mutually exclusive with KDN, KDD, DDSL, DDGA and PFST.
*** ZAP 008 *** 08/04/81*** V2 M1 ***
MANDATORY zap to PROFILE’s module INIT to correct for a different error code returned by NEWDOS/80 and to allow for NZ error state to take precedence over C or NC state on return from 4420R call. With this change, the zapped module will still run under TRSDOS. This zap is for 3 different versions of the same module.
If the above doesn’t verify then try one or the other locations below.
For those interested and for come PROFILE modules the following optional zap will reenable the interrupts so ‘123’ and *DFG’ can be used under PROFILE and NEWDOS/80.
**** ZAP 009 *** 08/04/81 *** V2M1 ***
Mandatory zap to Racet’s Infinite Basic IBLOAD/CMD module to enable it to run under NEWDOS/80 as well as TRSDOS.
*** ZAP 010 *** 08/04/81 *** V2M1 ***
Mandatory zap to Racet’s DSH module DSHB/CMD to adjust for NEWDOS/80’s requirement that a filespec’s type have a maximum of 3 chars and that a filespec end with a terminator. This corrects only for the filespec DS14C/CUDPATCHPATCHPATCH such that if a user patches in a different filespec he/she will have to apply the 03 byte at the end of that filespec.
***** ZAP 011 *** 08/04/81 *** V2M1 ***
Mandatory zap to allow VISICALC to operate with NEWDOS/80. The resulting zapped module will not run with TRSDOS or NEWDOS21; so maintain 2 different versions. This zap deals with the different handling by NEWDOS/80 of the user 25ms interrupt routines (see sections 3.8 and 3.9).
Mandatory zap to VISICALC to adjust for NEWDOS/80’s difference from TRSDOS on a returned error code causing VISICALC’s directory search to hang if any of the 4 drives are not present or have no diskette mounted. This zap is not incompatible with TRSDOS.
*** ZAP 012 *** 08104181 *** V2M1 ***
Optional zap to increase or decrease the sensitivity of double density diskette formatting. One of three byte patterns can be chosen depending on the reliability of your interface, drive and diskettes. The more sensitive the byte pattern, the greater the probability a marginal diskette will fail format and the lesser the probability that having formatted successfully, the diskette will fail later (under normal careful handling). The less sensitive the byte pattern, the lesser the probability a marginal diskette will fail format and the greater the probability that having formatted successfully, the diskette will fail later. The byte patterns are:
- E5 E5 – least sensitive during formatting. This was and is the single density standard pattern.
[Ira’s note – this is 10100111 10100111 in Binary] - 5B 5B – intermediate sensitivity during formatting. This in the TRSDOS Model III pattern.
[Ira’s note – this is 11011010 11011010 in Binary] - 6D B6 – most sensitive during formatting. This pattern strains the disk formatting and if the interface, drives and diskettes are not in first class condition, 30% or more of the diskettes will fail formatting.
[Ira’s note – this is 01101101 10110110 in Binary]
Depending upon the frequency of format failures to diskette failures at other times, the user chooses which of the three 2 byte patterns to use and inserts them in the following locations, first checking that one of the three patterns in already at those locations. Each location receives both bytes, and as a check on each location, the preceding byte is F5.
SYS6/SYS,31,D9
SYS6/SYS,31,F3
*** ZAP 013 *** 08/03/81 *** V2M1 ***
Optional zap to allow the COPY function to use Model III diskettes in the TRSDOS 1.2 or earlier directory format instead of the TRSDOS 1.3 format the COPY command is prepared to handle. The zap must be backed off when the user wants to reenable COPY to handle TRSDOS 1.3 format Model III diskettes.
*** ZAP 014 *** 08/08/81 *** V2M1 ***
Mandatory zap to correct an error in BASIC that was causing SYNTAX error to occur when the short editing codes A, D, E and L were being used. This error was introduced into BASIC just before Version 2 release in the correction of another but more trivial error.
*** ZAP 015 *** 08/18/81 *** V2M1 ***
Mandatory zap to correct error in format 5 COPY where the BOOT sector was not receiving the correct directory starting lump number if this differed from the PDRIVE specification. The error would manifest itself by directory read error in DIR.
*** ZAP 016 *** 08/18/81 *** V2M1
Correct error in PDRIVE causing SYSTEM PROGRAM NOT FOUND error when the second drive number is specified wrongly as greater than 9.
*** ZAP 017 *** 08/18/81 *** V2M1
Mandatory zap to correct error in COPY and FORMAT where DDSL parameter was being erroneously rejected.
*** ZAP 018 *** 08/25/81 *** V2M1 ***
Mandatory zap to SUPERZAP to correct an error where the DH8P functions was not sending the correct memory contents to the printer.
*** ZAP 019 *** 08/25/81 *** V2M1 ***
Mandatory zap to correct next-without-for error occuring when CHAINBLD is saving a file in version 1 format and the last line starts with a /./ sequence.
Add to the end of line 126 of CHAINBLD/BAS the following eight characters:
GOTO130
*** ZAP 020 *** 08/28/81 *** V2M1
Mandatory zap to DOS to allow ROUTE of the display to cause the BASIC PRINT of a numeric value to not output the value twice.
**** ZAP 021 *** 08/28/81 *** V2M1
Mandatory zap to BASIC to correct error during marked item and fixed item file processing causing strings greater than 127 characters to be written erroneously and IGEL expressions of the form (len)# and (len)$ to malfunction.
**** ZAP 022 *** 08/28/81 *** V2M1
Mandatory zap to EDTASM to cause the cursor display to be forced every time the * prompt is displayed waiting for the next command. This allows the cursor to be turned back on after a return from the DEBUG 123 function. which turns it off.
*** ZAP 023*** 08/28/81 *** V2M1 ***
Mandatory zap to DOS to ease some of the problems caused by the fact that NEWDOS/80 Version 1 always used a granule lockout table in the directory GAT sector whereas Version 2 many times does not leaving that part of the GAT sector for use by the extension for the free/allocated table. Early in the development of Version 2, the rule was that if the PDRIVE specification for GPL, was greater than 2, then the lockout table was not used. Later on, the rule was changed to be if the number of lumps in greater than 60H (96 decimal) or if relative byte 60H of the GAT sector – 0FFE, then the lockout table is not used. Some code in SYS6 was not changed to reflect this rule change, causing either a lock out table to not be created or to not be properly extended when the destination diskette has more granule* than the source diskette. This change corrects this. However, users are warned that diskettes with GPL, greater than 2 (such an 8 inch or double sided, single density 5 inch diskettes coming from Version 1) converted previous to this zap may have trouble with DIRCHECK, on either Version 1 or 2, complaining thst one or more granules are locked out but free or locked out but allocated to a file. The diskettes can still be used as it is only DIRCHECK that has the problem, but sooner or later the diskettes should be re-copyied using CBF with FMT so this lockout table conflict will be straightened out and DIRCHECK will stop complaining.
*** ZAP 024 *** 08/30/81 *** V2M1 ***
Mandatory zap to DOS to:
- Correct error in format 5 and 6 COPY where destination verify error was causing erroneous END OF FILE ENCOUNTERED or INPUT PAST END error to be triggered for the next sector.
- Allow FORMAT with BDU option and format 5 COPY with FMT and BDU options to format the destination diskette even though the destination has PDRIVE TI flag M set MSDOS model III diskette). The BDU option prevents any NMOS/80 system control data from being written on the diskette during format and thus allows the Model III diskette to copied via format 5. Warning, the resulting diskette is no more processable by NEWDOS/80 then was the source diskette; the purpose here is to allow a NEWDOS/80 format to occur as would have happened had TI flag L been set instead of H (which also implies I if for double density diskettes, see zap 031). Remember, this is not a TRSDOS Model III format.
*** ZAP 025 *** 09/01/81 *** V2M1 ***
This mandatory zap in an extension to zap 011 for VISICALC.
Change to enable directory search feature.
Note to work, the directory must start at diskette relative sector 170 and contain only 2 granules (this it the standard: GPL=2,DDSL=17 and DDGA=2).
*** ZAP 026 *** 09/01/81 *** V2M1 ***
This mandatory zap is an extension to zap 002.
Change to enable DI directory search feature. Note to work, the directory must start at diskette relative sector 170 and contain only 2 granules (this is the standard: GPL=2, DDSL=17, DDGA=2).
*** ZAP 027 *** 09/02/81 *** V2M1 ***
Mandatory zap to DISASSEM to correct causing the RTD option to write extraneous data to the diskette and correct a wrong specification in the manual.
On page 6-9 6th paragraph, change “lst byte = low value, 2nd = high.” to be “let byte = high value, 2nd byte = low.”.
*** ZAP 028 *** 09/02/81 *** V2M1 ***
Mandatory zap to DOS to specify the mutual exclusivity of the FORMAT parameter PFST and to correct the rejection of the combination of the Y and the PFST parameters in FORMAT (see 4th format example on page 2-26).
Append to the end of the PHT-tn3 paragraph on page 2-25 the following: PFST is mutually exclusive with N DDND, ODN, KDN, KDD, DDSL, DDGA and W. The user will notice that neither KDD or W were specified in the FORMAT command; however, KDD is a legal parameter and RWF was defined in zap 007.
*** ZAP 029 *** 09/02/81 *** V2M1 ***
This is an information zap. Many people on the model 1 are having trouble initially shifting NEWDOS/80 Version 2 to a system diskette other than 35 track single density, single sided, which is the format of the distribution diskette. For this discussion, you are assumed to have read chapter 12 and sections 2.14 and 2.37.
- To make a double density, single sided NEWDOS/80 Version 2 system diskette.
- You must have an excellent working Percom or LNW double density modification in your expansion interface.
- Take the NEWDOS/80 NEWDOS/80 Version 2 master diskette or an exact duplicate of it, place a write protect tab on it, place it in drive 0 and press RESET to bring up the system to NEWDOS/80 READY, responding with date and time if necessary.
- Execute the DOS command:
COPY,0,0,,USD,FMT,DPDN=6
The SYSTEM and SOURCE are both the diskette with the write protect tab on. The DESTINATION diskette is the diskette to contain the double density, single sided NEWDOS/80 Version 2 system. If you have two drives available, you may use the command COPY,0,1,,USD,FMT,DPDN=6 instead. If the destination drive is not a 40 track drive, then use COPY,O,dn2-tc2,,USD,FMT,DPDN=6 where dn2 is the destination drive number and tc2 is one less than the number of tracks for that drive (i.e., 34 for 35 track drive and 79 for an 80 track drive)(example, COPY,0,1-79,,USD,FMT,DPDN=6). Further, if the destination drive has more than 40 tracks, that drive must be other than drive 0 during the COPY (otherwise you must obtain a special system diskette from Apparat at an extra charge)(after the COPY is over, you may shift that drive back as drive 0 to use it as the system drive). - When the COPY command completes successfully and the system has returned to NEWDOS/80 READY, mount the destination diskette on drive 0 and press RESET.
The NEWDOS/80 system on that double density, single sided diskette is now the system. - Perform a DIR 0 command to ascertain the extra granules are available. Then execute PDRIVE,0 to observe that the specifications for drive 0 are now single aided, double density with track 0 reserved for opposite density. Please note that the specifications for drives 1 through 9 have not been changed. If they are to be changed, you must do it, studying carefully the PDRIVE command, see section 2.37
- To make a double sided, single density NEWDOS/80 Version 2 system diskette.
- Make a copy of the NEWDOS/80 Version 2 master diskette. When done, mount that copy of the NEWDOS/80 Version 2 system in drive 0 and press RESET.
- Execute the following DOS command:
- PDRIVE,0,6,TI=A,TD=C,TC=40,SPT=20
- This changes the specifications for drive 6 to be 5 inch, single sided, single density, 40 tracks. If you wish other than 40 tracks, change the TC parameter above to the desired track count.
- Place a write protect tab on the system diskette you have just changed.
- Execute the following command:
COPY,0,0,,USD,FMT,DPDN=6
The source and system diskettes are the same and are the one with the vrite protect tab. The destination diskette is the one to contain the double sided, single density NEWDOS/80 Version 2 system. If you have two drives available, you may use COPY 0,1,,USD,FMT,DPDN=6 instead. The destination must be on drive 1 if it is to have more than 40 tracks (when the COPY in finished, that drive can be made drive 0). - When the COPY command has completed successfully and returns to NEWDOS/80 READY, mount the destination diskette in drive 0 and press RESET to bring up the double sided, single density system. Perform DIR 0 and PDRIVE,0 as discussed above to observe the changed system. Proceed with additional PDRIVE re-specifications, if necessary.
- To make a double sided, double density NEWDOS/80 Version 2 system diskette.
- You must have an excellent working Percom or LNW double density interface in your expansion interface.
-
Proceed as for single sided, single density discussed above excepting that the PDRIVE command is:
PDRIVE,0,6,TI=CK,TD=G,TC=39,SPT=36,GP1=2,DDGA=2
This is for a 40 track drive, for 35 use TC=34, for 80 use TC=79.
Further:
- For a destination drive more than 40 tracks use GPL=8 and you will probably want an expanded directory, say DDGA=6 for maximum size, giving 224 directory entries. However, if any of GPL, DDSL or DDGA are different between the source and destination drives during COPY or if the number of sectors, granules or tracks for the destination diskette is less than the source diskette, the CBF (Copy By File) parameter must be specified in the COPY command (example: COPY 0,0,,USD,FMT,DPDN=6,CBF). So, in the case here for driven over 40 tracks, since the GPL is different (the source’s GPL is 2 and the destination’s GPL in now 8), you must use the CBF parameter. Actually, you could have used the W option in any of the COPY’s mentioned above in this zap, but CBP runs slower and should only be used where necessary.
- For LNW interface, you can specify TI flag E instead of flag C (example, TI=EK instead of TI=CK, if any 8 inch drives are to be used with the LNW, E must be specified instead of C). However, remember, flags E and C are interdrive mutually exclusive; so if you change one of the 10 drive specs from using flag C to using flag E, you must change any of the others that use flag B or C (see next section).
- Users setting up their systems to use the 8 inch drives through the OMIKRON interface (TI=BH) are experiencing trouble with the PDRIVE error code **** TISPEC BETWEEN DRIVES INCOMPATIBLE. Please refer to the last two sentences of the TItypel paragraph in the middle of page 2-34. If any drive’s TI specifies flag B, then no other can specify either flag C or E. You must change the PDRIVE specifications for drives 4, 6, 8 and 9 an they conflict with flag B. To do this, simply execute the DOS commands
PDRIVE,0,4=0
PDRIVE,0,6=0
PDRIVE,0,8=0
PDRIVE,0,9=0
Remember, you should not make any PDRIVE changes to the NEWDOS/80 Version 2 matter diskette; perform the changes on working copies of it.
*** ZAP 030 *** 09/02/81 *** V2M1 ***
This is an information zap.
- Chapter 12 failed to make it clear that though disketteg are content interchangeable under NEWDOS/80 Version 2 between the Model I and Model III, there is a problem dealing with a format control byte for directory sectors of single density diskettes. Carefully read SYSTEM options BK and BN (even though you have only Model III) on page 2-49, WRDIRP command on page 2-52 and the W function of DIRCHECK on page 6-14.
- For Model III NEWDOS/80 Version 2 users, single density diskettes coming from the model 1 can be processed on the Model III by setting SYSTEM option BK-Y, setting up the proper single density PDRIVE and then for each such diskette, execute once either the DOS com-nd WRDIRP or the W function of DIRCRECK. After this is done, the diskette can be used as any other diskette under Model III NEWDOS/80 Version 2. Subsequently, this diskette can not be processed by the Model 1 TRSDOS 2.3, but it can be processed by the Model 1 NEWDOS/80 Version 1 provided the format of the diskette is not changed to one of the variety of formats available on Version 2 but not available on Version 1). However, once this diskette is used back on the Model I NEWDOS/80 Version 1 and a directory sector is updated, the diskette cannot be reused on the Model 111 without performing again the WRDIRP or DIRCHECK function on that diskette on the Model III (remember, NEWDOS/80 Version 1 does not have either of these two functions).
- For users that have NEWDOS/80 Version 2 for both the Model I and III and wish to use single density 5 inch diskettes interchangeably between the model 1 and model III, set SYSTEM options BK-Y and BN-Y on the Model 1 and BK-Y on the Model III. Then, for each such single density diskette, execute once either WRDIRP or the W function of DIRCHECK. This can be done on either the Model I or III and all such diskette* do not have to be done at the same session. Each such diskette can now be used interchangeably between the Model I and Model III under NWOS/80 Version 2 (don’t forget the proper PDRIVE specifications), but the diskette cannot be processed by TRSDOS 2.3
- For BASIC function RENUM (see section 7.9 on page 7-5) the 4th and 5th formats listed ( RENUM X and RENUM U,X ) are not valid and should be deleted from the middle of page 7-5. If the X parameter is to be used, it must be done via the 1st format listed as X is meaningless unless specific values for ppppp and/or qqqqq are also specified.
- Some users have asked for more distinctions between full diskette COPY (format 5) or Copy By File COPY (format 6), both specified in section 2.14.
- Format 5 copies a full diskette sector by sector and is generally faster than format 6, which copies files individually. However, if the source diskette in relatively empty, format 6 may be faster.
- In format 5 the source directory becomes the destination directory, including the same size and relative sector position on the diskette, while in format 6, the two directories are considered separate just as in a format 1 through format 4 COPY.
- Generally, if format 5 is used, both the source and destination PDRIVE specifications for GPL, DDSL and DDGA must be the same (though only the restriction on GPL is enforced, but not if BDU is specified); the other PDRIVE parameters may be different provided the destination diskette is to have atleast as many sectors as the source diskette (though the format 5 specifications say that sectors per track must be the same; this is not so in Version 2 where it was in Version 1).
- Format 5 with the BDU option allows some alien diskettes to be copied that otherwise could not be copied.
- Format 6 allows a diskette’s contents to be copied between diskettes having a different number of granules per lump (GPL), the directories positioned differently on the diskettes, the directories of different sizes, or the destination diskette having less sectors than the source.
- Format 6 copies all of a source diskette’s files or a selected subset of those files.
- Both format 5 and 6 allow the option of formatting the destination diskette UMT) or not (NFMT). Formatting a diskette magnetically init ializes the entire diskette including the inter-sector control bytes used only by the drives and the controller. Many users prefer to do this everytime a back up is done. Of course, formatting a diskette destroys the previous contents.
- If format 6 is being used to copy a NEWDOS/80 Version 2 system diskette, the FMT option must be specified. This assures the correct BOOT, SYSTEM and PDRIVE control informat is stored on the destination diskette, and the correct positioning of SYSTEM files which, excepting for BOOT/SYS and SYS0/SYS, are all positioned on the destination diskette in came posi tion relative to the directory that they are on the source diskette.
- In format 6 where NFMT is specified, system files are NOT copied to the destination diskette if they are not already existing in the destination directory. This is because system files usually use specitic FDES in the directory, and only YMT can assure that these FDE# are available.
- Format 5 without BDU and format 6 with FMT both assume the possibility of the destination diskette being used later as the system diskette and the destination drive or one like it being used later as drive 0; therefore both initialize the BOOTISYS file to contain the proper BOOT code and drive 0 PDRIVE specifications.
*** ZAP 031 *** 09/06/81 *** V2M1 ***
Mandatory zap to DOS to allow files to be copied from and to diskettes used by Model I TRSDOS 2.3B and higher as well as from and to diskettes used by Model III TRSDOS 1.3 or higher. After applying the documentation changes given below, see section 12.5.1 on page 12-7, the ‘flag M’ paragraph on page 2-35 and the bottom half of page 2-15.
This enhancement expands the definition of PDRIVE TI flag M (see page 2-35). When the M flag is specified and the TD field specifies double density (i.e., TD=E), the PDRIVE specification is assumed for a Model III TRSDOS diskette and TI flag 1 is implied (see example 3 on page 2-38). When the M flag is specified and the TD field specifies single density (i.e., TD=A), the PDRIVE specification is assumed for Model I TRSDOS 2.3B or higher diskette, and TI flag I in not implied and must not be specified (see example 1 on page 2-38 with TI-AM).
Radio Shack has started distributing certain new programs (i.e., COBOL) with or on Model 1 TRSDOS 2.3B or higher diskettes with that system being somewhat different than Model I TRSDOS 2.3, including the use of RBAs an discussed in section 12.1 for the Model III. These diskettea are NOT compatible with NEWDOS/80 diskettes, and, as with Model III TRSDOS diakettes, COPY is the only function of NEWDOS/80 that can be used with the Model I TR5DOS 2.3B diskettes (though FREE and DIR (except EOF and special flags) appear to work).
Files on either Model III TRSDOS or.Model 1 TRSDOS 2.3B diskette* that are to be used either by NEWDOS/80 or user programs executing with NEWDOS/80 must be copied to NEWDOS/80 diskettes. FORMAT or COPY with FMT option cannot be used to format a diskette in either the Model III TRSDOS or the Model I TRSDOS 2.3B format; however, format 5 COPY with the BDU option can be used to make copies of those diskettes.
ZAP 013 must NOT be installed in a NEWDOS/80 to be used to copy Model I TRSDOS 2.3B files. ZAP 013 must be used for Model III TRSDOS 1.1 & 1.2 diskettes.
Insert the following notes in the outside margin of the specified paragraph:
- Page 2-9, next to last paragraph: “For Model III TRSDOS and Model 1 TRSDOS 2.3B diskettes, see ZAP 031.”
- Page 2-15, “The COPY command” paragraph: “This section applies also to standard 35 track, single aided, single density diskette* for Model I TRSDOS 2.3B or higher.”
- Page 2-15, “The user must par: “See examples 1 and 3, section 2.37”.
- Page 2-35. “Flag W’ paragraph: “Expanded to include Model I TRSDOS 2.3B or higher diskettes. See ZAP 031
- Page 2-38, example 1: “For Model 1 TRSDOS 2.3B diskette, use TI-AM (aee ZAP 031M’ Also in this same paragraph, change the last two words to read “option W’ instead of AN.
- Page 12-7, paragraph 12.5.1: “See ZAP 031.”
*** ZAP 032 *** 09/10/81 *** V2M1 ***
Mandatory zap to DOS to:
- Prevent COPY from setting file update flag on in Model 1 TRSDOS 2.3B and Model III TRSDOS diskettes when that bit is used differently in those systems.
- Enable /ext type CBF file selection when the source is a Model I TRSDOS 2.3B or Model III TRSDOS diskette.
*** ZAP 033 *** 09/10/81 *** V2M1 ***
Mandatory zap to correct error in SUPERZAP during the DM function and during the F find function.
*** ZAP 034 *** 09/11/81 *** V2M1 ***
Mandatory zap to the Ryan-McFarland Corp’s COBOL version 1.3B distributed by Radio Shock to allow it to run with NEWDOS/80 Version 2 for the Model I and Model III. This zapped version will not run under TRSDOS. Users must copy the COBOL multiple files onto NEWDOS/80 diskettes (see zap 031).
*** ZAP 035 *** 09/13/81 *** V2M1 ***
Mandatory zap to DOS to correct a directory clobbering error that occurs when either CLOSE or KILL frees up a FPDE or FXDE that occupies the first PDE slot in a directory sector. This error wan missed during BETA testing as it was caused by a late adjustment to handle the TRSDOS Model III diskettes. A few persons were complaining about directories being clobbered but only on September 12th was an error report made that lead to the discovery. Though the problem would appear to affect many users, apparently to date it has not.
*** ZAP 036 *** 09/13/81 *** V2M1 ***
This is an information zap.
- Documentation correction for EDTASM. Tape I/O is NOT available for the Model III. If it is attempted, BAD PARAMETER(s) error will be given.
- Place in the outside margin of the “2. L T=nnnnnn” paragraph of page 6-15 the following restriction: “Model I only”
- Place in the outside margin of the 2nd line of page 6-16 of page 6-16 the following restriction: “Model I only”
- Correct the “A list of all” paragraph on page 1-3 to read “NWD80V2/ILF and NWD8OV2/XLF” instead of “NWD82V2/ILF and NWD82V2/XLF”.
- Delete the words “sectors per track, ” from the “Format 5 is a full” paragraph of page 2-11.
- The MM=addr1 function of ROUTE requires the main memory location addr1 to be greater than 51FFH. In the “Any of the devices” paragraph of page 2-43, insert the words “greater than 51FFH” after the word “location” in the phrase 19memory location of a user”.
*** ZAP 037 *** 09/14/81 *** V2M1 ***
Mandatory zap to BIONIC BASIC to make it compatible with NEWDOS/80 Version 2 for the Model I. These zaps were provided to Apparat and have not been checked out by Apparat. One or more of the zaps may already be installed in your modules. When these zaps are applied, the BIONIC BASIC must not be used with any other version of NEWDOS/80.
*** ZAP 038 *** 09/14/81 *** V2M1 ***
Optional zap to Model I SCRIPSIT to eliminate the ‘hang’ occuring when the END function is executed and the last disk I/O was to a double density drive. SCRIPSIT executed the END function by jumping to location 0, causing a software but not a hardware RESET.
The double density modifications to the expansion interface require a hardware RESET to reset them to the single density disk I/O assumed by the software RESET in the ROM. SCRIPSIT uses the RESET to restore the keyboard, display, printer and other interface it has changed.
If the Z-80 HALT instruction is executed instead of a jump to location 0, the Model I (this does not hold for the Model III) hardware RESET is triggered which in turn triggers the software RESET. In both cases, either the jump to 0 or the HALT, the red lights on the disk drives must be off. The zap is applicable under TRSDOS as well as all versions of NEWDOS.
*** ZAP 039 *** 09/24/81 *** V2M1 ***
Mandatory zap to PENCIL to enable it to run with NEWDOS/80 version 2. This zap is an extension of zaps 002 and 026. We apologize for the large number of zaps to PENCIL, but Apparat doen’t use PENCIL and so must rely upon the users to find the discrepancies.
*** ZAP 040 *** 09/29/81 *** V2M1 ***
Mandatory zap to DOS to correct rare occuring error that could if the same HIT code is used more than 31 times in a directory, cause file open to not find a file and to put two files with the same namelext on the diskette.
*** ZAP 041 *** 09/29/81 *** V2M1 ***
Information and manual corrections.
Tape I/O has long history of trouble, varying from computer to computer and especially from tape unit to tape unit such that any particular tape will fail on somebody’s cassette unit.
This has always been an exasperating problem and the main reason why cassettes are not used at Apparat (though we do act as a retailer/distributor for products distributed on cassettes produced by others). Because cassettes are not used at Apparat, NEWDOS receives very little testing with cassettes, and in the future we are considering withdrawing all support (i.e., LMOFFSET and EDTASM) from cassettes. Cassette support for EDTASM for the Model III has already been withdrawn and will probably soon be withdrawn for the Model I (since the purpose of our EDTASM was to give disk support, not cassette).
For now though, we will restrict our error study to those problems presented to us on a diskette containing the actual NEWDOS system used. If the user presents us with a cassette along with the diskette we will test that as well; otherwise we will test with simple programs from disk in-house. Neither the diskette nor the cassette will be returned to the user. Lastly, if you can avoid use of cassettes, DO!!!!!
- The specifications for ROUTE using the MM=addr1 operand are in error in the manual.
- Page 2-43, 3rd paragraph, 3rd line, change “12” to “16”.
- Same paragraph, 5th line, change “13th” to “17th”.
- Page 2-44, top line, change “0FE8CH” to “0FE90H”.
-
A number of users has asked why Automatic Density Recognition (ADR) was not used in NEWDOS/80 Version 2.
We wanted to included ADR but found it impractical unless we limited or expanded other capabilities made available by PDRIVE. Since we were already two months late in releasing Version 2, we decided to release without it.
Part of the problem is in providing a second SPT parameter and an extra indicator for track 0 useage (remember, Version 2 operates with double density diskettes that may or may not have track 0 reserved for single density). We also felt that if we included ADR, we should also include ASR (automatic side recognition). For now, we will remain without ADR and ASR, but will not rule it out for a subsequent NEWDOS/80 version.
-
For BASIC CMD”O” and multi-dimensional arrays, a few users have asked for clarification of term REN used in the documentation for on pages 7-14 through 7-17. CMCC does not care whether an array is single or multi-dimensional as CMD’V’ only concerns itself with the relative positioning in main memory between array elements and not with the actual subscripts for a given element, except for determining the main memory position of the first element participating in the sort as specified in the CMD “0” statement.
As an aide to the programmer to understand the sort order, a formula was given for two and three dimensional arrays to determine the REN of any array element given its subscripts.
The following working BASIC program demonstrates the relationship between REN and subscripts for a three dimensional array, using Rl, R2, R3, Xl, X2 and X3 to correspond with the useage at the bottom of page 7-14 and top of page 7-15.
10 R1=3: R2=4: R3=2: DIM A(R1,R2,R3) 20 REN=0: FOR X3=0 TO R3: FOR X2=0 TO R2: FOR Xl=0 TO R1 'CREATE ARRAY IN REN ORDER 30 IF REN <> X1 + X2 * (R1+1) + X3 * (R1+1) * (R2+1) THEN PRINT"ERROR": STOP 35 ' THE ABOVE ASSURES THE FORMULA COMPUTES TO THE CURRENT REN NUMBER 40 A(X1,X2,X3)=REN: REN=REN+l: NEXT X1, X2, X3 'STORE THE REN NUMBER IN THAT ELEMENT 50 CMD"O",0,A(0,0,0) 'SORT ARRAY IN ASCENDING NUMERIC ORDER 60 ' THE ARRAY ORDER SHOULD NOT RAVE BEEN CHANGED. 70 FOR X3 = 0 TO R3: FOR X2 = 0 TO R2: FOR Xl = 0 TO R1 'LIST ARRAY IN SAME ORDER STORED 80 PRINT A(X1,X2,X3);: NEXT X1, X2, X3 'AND THIS SHOULD BE ALSO THE SORTED ORDER
Elements with one or more zero subscripts do participate in the sort if that element is within the main memory range of elements sorted, i.e., has a REN greater than or equal to the REN of the lat sort element and less than or equal to the REN of the last sort element. - Correct the last paragraph of page 2-27 by deleting the 3rd sentence and changing the 4th sentence to read “Hex codes less than 20H or greater than the SYSTEM option AX value will be displayed as periods.”.
-
A number of users having CPU speed up modifications in their computers and setting the slow-down-during-I/O switch have complained that NEWDOS/80 continuously toggles the fast/normal CPU speed state (in many cases a light flickers on/off or red/green).
Indeed this is true. In the original TRSDOS,there were 8 interrupts, 0 – 7, of which only 6 and 7 were used.
Interrupt 6 only read the disk controller status register; so NEWDOS/80, to save resident DOS space which is critical, combined interrupt 6’s function with interrupt 7,reading the controller status register every 25 ms interrupt.
Though the fast/normal CPU toggling is interested only in the controller command register,the hardware connection actually toggles on both the read of the status register and the write of the command register.
Normal disk I/O cannot operate without the statue register read when the controller has interrupt status; so we cannot eliminate the interrupt 7’s read of the status register without re-enabling interrupt 6 and we don’t have the patch space for that. Therefore, users must turn off the switch on their computers that allows the fast/normal toggling to take place, and simply use the fast speed all the time (be sure SYSTEM option BJ is set correctly). There is no guarantee that your computer will actually work at the faster speeds. Doubling the CPU speed seems OK; tripling appears NOT. The LNW computer at 2.5 times the TRS-80’s normal speed is reported by LNW to work fine.
*** ZAP 042 *** 09/30/81 *** V2M1 ***
Mandatory zap to correct error in BASIC’s RENUM function giving SEQ # OVERFLOW when large programs, say over 26,000 bytes of text, are renumbered. Though a number of users called on this problem, it wasn’t until a user sent us a written error report with the problem program on a system diskette that we finally had enough to go on.
*** ZAP 043 *** 10/07/81 *** V2M1
Mandatory zap to DOS to correct omision from ZAP 020 (ROUTE) which caused SYSTEM option BA to cause hang on reset.
*** ZAP 044 *** 10/07/81 *** V2M1 ***
Mandatory zap to DOS to disable SYSTEM option EM. SYSTEM option BHN caused the full diskette verify to be bypassed when the user felt the track verify that occurred immediately after a track was formatted was sufficient. However if the user is formatting more tracks that the drive can physically handle, FORMAT with SYSTEM option BMN will not detect the error whereas it will with SYSTEM option BM=Y. Therefore, SYSTEM option EM is dropped, and the full diskette verify will always be done.
On the outside margin of the BM=yn paragraph of page 2-49, write the following: “eliminated by ZAP 044”.
*** ZAP 045 *** 10/07/81 *** V2M1 ***
Mandatory zap to correct BASIC function REF$ to (1) avoid occasional misses of printer line advance and (2) disable printer operations after the function.
*** ZAP 046 *** 10/09/81 *** V2M1 ***
Optional zap to DOS to allow ‘JKL’ to print graphics on the EPSON printers that use graphic codes OAOH – ODFH. This is done by converting hex codes 80H through 0BFH to 0A0H through 0DFE.
Use next zap if 0BFH rather than SYSTEM option AX is to govern as high ASCII for JKL.
*** ZAP 047 *** 10/21/81 *** V2M1 ***
Mandatory zap to correct DOS handling of 8 inch double density, single or double sided, single volume drives (PDRIVE TD=H) where the computer hardware is modified to handle double CPU speed and 8 inch, double density, single or double sided, single volume operations. The PDRIVE SET maximum values are 30 for single sided and 60 for double sided. The PDRIVE GPL must be atleast 3 for single sided and atleast 5 for double sided; however 8 is recommended in both cases. This zap does NOT mean that your particular computer can handle this type of drive. However, LMW reports the LNDOUBLER 5/8 (CPU speed up modification required) and the LNW8O computer systems both support 8 inch double density under NEWDOS/80, Version 2 (also see zap 041 part 6).
*** ZAP 048 *** 10/21/81 *** V2M1 ***
Mandatory zap to EDTASM to correct error occurring when shift-left-arrow is used to erase a filespec response.
*** ZAP 049 *** 11/09/81 *** V2M1 ***
Mandatory zap to DOS to correct error in DIR $ or DIR $0 command where DOS hangs if any response other than ENTER is given to the diskette mount requests.
*** ZAP 050 *** 11/09/81 *** V2M1 ***
Optional zap to DOS to allow the DOS PRINT and LIST commands to accept all control characters in the hexidecimal range 00 to 1F instead of just OD (end of line). If this zap is used users must assure that files used with PRINT and LIST do not contain control characters the display or printer cannot handle. Remember, the high bit of all characters is zeroed, thus display graphic characters 80 – 9F will be transmitted as 00 – 1F.
*** ZAP 051 *** 11/09/81 *** V2M1 ***
Information zap.
- The manual failed to explain that when SYSTEM option AJ=N or when the up-arrow key is held down during reset/power-on, DOS loses the ability use the lower case driver (Model I only) or to actually input keyboard characters from the chain file during chaining as these functions depend upon DOS’s keyboard intercept routine being enabled. SYSTEM options AU=N and BF=N (Model I only) and are also forced. DOS will think it is activating chaining, but actually the input characters will continue to come from the keyboard; the DOS READY prompts will not be seen as DOS thinks it is chaining. For LCDVR (Model I only), the command will execute but the key input functions for lower case drive will not be done. Insert the note “see ZAP 051, part 2” in the outside margin at the following places in the manual.
- Page 2-7, the “CHAINING is discussed” paragraph.
- Page 2-29, the “In NEWDOS/80” paragraph.
- Page 2-47, the “AJ=yn” paragraph.
- Page 4-9, the “If a DOS recognized” paragraph.
- Chain files must always have a name-extension. When creating a CHAIN file, you must always specify a name-extension in the filespec, excepting that CHAINBLD/BAS will assume name extension /JCL if you don’t give one. If the filespec given in a DO or CHAIN command does not specify a name-extension, then /JCL is assumed; therefore it is recommended that the name-extension /JCL be used on chain files when created. Place the note “See ZAP 051, part 3” in the outside margin in the following places in the manual.
- Page 2-7, the “When the system” paragraph.
- Page 4-8, the “Chain file creators” paragraph.
- For Model I SCRIPSIT where the user wishes to use tape I/O, the user must back off the last zap of ZAP 003 (the SCRIPSIT/xx,00,C3 zap) in order that interrupts will remain disabled, a requirement for Model I tape I/O. This means the user cannot invoke MINI-DOS from SCRIPSIT.
*** ZAP 052 *** 11/09/81 *** V2M1 ***
Mandatory zap to BASIC to correct CLOSE without explicit fan(s) where filearea 2 and up was not being closed if filearea 1 was not open and the V parameter was specified in the BASIC invocation sequence.
*** ZAP 053 *** 11/09/81 *** V2M1 ***
Part mandatory and part optional zap to MICROSOFT’s BASIC compilier Version 5.23 (the release Version for a long time)(the first line a /LST file created by the compilier gives the compilier version number) to allow it to run with NEWDOS/80. This zap has been provided to Apparat by MICROSOFT and if there are questions with this zap please contact MICROSOFT. Once these zaps are applied, this compilier and the compiled programs cannot be used with TRSDOSIII Future enhancements to the compilier may require the optional changes below to be backed off; therefore users should maintain copies of the compilier (1) as it existed before the mandatory changes below were applied, (2) after the mandatory changes but before the optional changes below are applied and (3) the final result. Also, remember, the BASIC compilier’s L80/CMD is not for use with FORTRAN, assembler, etc., but only with BASIC.
The production of this zap required a large amount of research and testing by MICROSOFT, and APPARAT sincerely thanks MICROSOFT for this extensive effort to make the BASIC compilier operate with NEWDOS/80, Version 2.
Mandatory section
Optional section
The following optional zaps are for:
- PUT and GET without explicit record number works correctly.
- LOC functions correctly for the logical record length in the OPEN statement.
Search the directory for BRUN/CMD’s directory entry, the associated line on the SUPERZAP display should look something like this:
1020 0062 0042 52 55 4E20 2020 2043 4D44 …b.BRUN….CMD
Note the above zap to L80/CMD changes the default data address for compilied BASIC programs from 8A00H to 8B00H to allow an extra 256 bytes for BASIC system use. If the -R switch is issued during the linking process, the -D switch must be reset to 8B00 instead of 8A00 as mentioned in the compilier manual.
*** ZAP 054 *** 11/19/81 *** V2M1 ***
Mandatory zap to EDTASM correct error in object code write to tape where checksums were being computed wrong. The NEWDOS/80 author apologizes to the ten or so persons who complained of this error over the last 4 months.
*** ZAP 055 *** 11/19/81 *** V2M1 ***
Optional zap to DOS to allow the PATCH LC keyboard modification to work with NEWDOS/80 Version 2.
*** ZAP 056 *** 11/29/81 *** V2M1 ***
Mandatory zap to DOS to allow COPY with CBF option to allocate space on Model III TRSDOS diskettes beyond track 23.
*** ZAP 057 *** 11/29/81 *** V2M1 ***
Mandatory zap to DOS to correct directory errors created during format 5 COPY when copying to a destination diskette that is to contain more granules than the source diskette and when the source diskette has less than 61H (97 decimal) lumps and the destination diskette is to have more than 60H (96 decimal) lumps. In NEWDOS/SO Version 2 in order to allow a maximum of COH (192 decimal) lumps in the granule allocation table, that table (normally in 00 -5F of the GAT sector) expands into and supercedes the granule lockout table (normally in 60 -BF of the GAT sector. This error was leaving the GAT granule lockout table in existence in the destination directory (remember, it is transferred over from the source diskette in format 5 COPY) when it should have been done away with to make room for the expanded granule allocation table. The error is immediately detectable by DIRCHECK after the format 5 COPY by the presence of one or more BAD “GAT” SECTOR BYTE errors. Otherwise, the error is not seen until TRACK # TOO HIGH error occurs when writing to the diskette and a granule beyond those allowed for the diskette is erroneously allocated; the file getting the error will NOT have had its EOF increased to include the erroneous sector. DIRCHECK will, in addition to the GAD “GAT” SECTOR BYTE errors, then display EXTENT SPACE OVERFLOWS DISKETTE for that file, but since EOF does not include that bad granule, single file COPY or format 6 COPY will still be able to copy the file. Therefore, any bad diskettes should be recoverable by using a format 6 COPY with fliT option to copy the contents of the bad diskette onto another diskette. You can then use either format 5 or 6 COPY with FMT option to copy it back.
This zap is large as part of SYS6/SYS is being moved to SYS17/SYS to make more patch area available in SYS6/SYS.
*** ZAP 058 *** 12/01/81 *** V2M1 ***
Mandatory zap to LMOFFSET to correct error occuring when a object code block load point is in the range 3F00 to 3FFFH.
*** ZAP 059 *** 12/28/81 *** V2M1 ***
Mandatory zap to correct 3 bytes wrong in ZAP 054 (EDTASM) if not already corrected. The entire correct zap is given here. The corrections are to change to two occurrences of EB in the 1st part to 03 and the occurrence of 30 in the 2nd part to 31.
*** ZAP 060 *** 12/28/81 *** V2M1 ***
Mandatory zap to DOS to eliminate disk status register read for all interrupts except the disk I/O (taking NEWDOS/80 back to the original TRSDOS way). NEWDOS/BO read the status on every interrupt in order to eliminate some code in the eternal quest to make more space available in SYSO. This worked fine until CPU speed up hardware modifications were devised that shift the CPU to slow speed for a number of milliseconds each time the status register was accessed. With NEWDOS/80 reading the status register every 25 ms the CPU was spending most of its time at the slow speed if the user was using high speed and had set the switch enabling low speed to be temporarily switched. Most users just let the computer run always at the high speed and there was no problem; however, the 5MHZ speed is very marginal in supporting I/O thus requiring the slowdown. This zap does not eliminate other status reads done by NEWDOS/80 (such as to keep drives rotating if they are already rotating). This zap should eliminate most of the CPU slowdowns that were occuring. This zap was long delayed as it uses 7 of the last 10 zap bytes available in SYS0.
*** ZAP 061 *** 12/28/81 *** V2M1 ***
Optional zap to DOS to cause DIR to actually read ENTER and BREAK from the keyboard rather than just look at the keyboard matrix. This zap allows BREAK to work for that function only if the BREAK key is enabled. This zap allows remote terminal operators of NEWDOS/80 to perform the DIR function when more than one display page will be involved. MEWDOS/8O was not designed to be run from remote terminals and at many places in its code looks directly at the keyboard matrix rather than actually accepting an input key when looking for BREAK ENTER, UP or RIGHT ARROW. This zap changes only one of these situations, but a number of users have said they would be happy with that.
*** ZAP 062 *** 01/12/82 *** V2M1 ***
Mandatory zap to DOS force the 4445H call to DOS (back up one record) to set bit 6 of the FCB 2nd byte (disables EOF truncation).
*** ZAP 063 *** 01/18/82 *** V2M1 ***
Information zap.
- NEWDOS/80 V2 BASIC functions LOAD RUN and MERGE implicitly require that the text file being read be already in ascending sorted line number order whereas NEWDOS/SO Version 1, NEWDOS/21, TRSDOS, VTOS, LDOS, DOSPLUS and the other DOS’s do not. Normally, the BASIC program files are in sorted line number order; so this difference was not noticed for some time into Version 2B release. Some users prefer to create text files in random line number order, relying on the implicit sort (not in NEWDOS/80 V2) done during LOAD, MERGE or RUN to sort the lines. These users must find some way of pre-sorting the text files, and since leading zeroes are suppressed from line numbers (causing lime 5000 to sort before line 51), normal sorts won’t work. The following sort program (known as CODESORT/BAS) will perform the sort, sorting the input text file into a different output text file.
- In BASIC, RENUM does not renumber the CMD"F",DELETE statement properly. No zap will be issued to correct this.
- The manual failed to inform programmers building programs to be executed that the command keyword or program name (filespec) is the first parameter of each DOS command and that, on entry to that program or DOS command function, register points to the parameters following the program name (filespec) in the DOS command statement that invoked the program. Examples:
- XXXXXX This DOS command causes user program XXXXXX/CMD to be loaded from whichever drive it is found on into memory and program execution commenced at its entry location. At that time, register points to the EOL character (ODH) since there are no parameters following the program's filespec. Note, in absence of a name-extension for the filespec XXXXXX, /CMD was substituted. Also, since no drive number was given, the drives were searched, starting with the drive 0, looking for the first occurrence of XXXXXX/CMD.
- YYYY/OBJ:1,5,JJJ:l This DOS command causes user program YYYY/OBJ:l to be loaded into main memory from drive 1 and program execution commences at its entry location. At this time, register points the character 5 in the above command, as this is the first character of the first parameter following the program filespec. The user program may interrogate the parameter(s) with the EOL character (ODH) indicating the end of parameters.
- ZZZ,Y,N,MYFILE This DOS command causes user program ZZZ/CMD to be loaded into main memory and execution started at its entry location with pointing to the character Y.
- A number of users have asked why NEWDOS/80 Version 2 lacks features that other DOS's have. For the most part and for obscure reasons, we just elected to exclude them, but in many cases the main problem is that sufficient resident main memory space or overlay main memory space or both is not available.
- In the DOS main memory region, 4000H thru 5IFFH, NEWDOS/80 has 256 bytes less resident (always in memory) code/data than other DOS's have as it uses this 256 bytes to make the DOS overlay programs (i.e., SYS1/SYS) bigger.
- Some DOS's have taken part of their resident code/data into high memory in order to gain more resident memory for DOS. For NEWDOS/80 Version 2, it was decided to remain out of high main memory, with the exception of the spooler, which was already there.
- NEWDOS/80 has MINI-DOS which most other DOS's do not. This means that most of the DOS commands (DIR, FREE, LOAD, etc.) that execute in the 5200H thru 6FFFH region of main memory (and may call overlay routines that execute in the 4E00H thru 51FFH region) in other DOS's must execute in NEWDOS/SO entirely within the 4D00-5lFFH DOS overlay region. This complicates the effort to extend the capabilities of any given DOS command.
- [4]A number of users have asked why SETCOM and FORMS were not included in Version 2 for the Model I like they were for the Model III. The author's excuses, weak as they are, are as follows:
- For FORMS, of the two parameters, only LINES could have been accommodated as that is all the Model I ROM printer routine (used by NEWDOS/80) allows for. Most users that had to change the lines-per-page value at 4018H (16424 decimal) were already doing so, either via the POKE function of BASIC or the M function of DEBUG.
- For SETCOM, this command changes the parameters in 3 control blocks for the RS-232C interface. NEWDOS/80 Vl and V2 for the Model I have no main memory allocated for these three control blocks, and the Model I ROM does not have some of the routines used to change these control blocks. whereas the Model III does. Lastly, many excellent widely used RS-232C programs were already in existence handling the interface quite well without NEWDOS/80.
- A number of users have asked why DIRECTORY READ ERROR or DIRECTORY WRITE ERROR appear as the DOS error message when an error occurs with a directory sector. Why not display the regular error code? We did this in order that normal file processing, the user would know that the directory, rather than his/her file, was the source of the error. At the time the error code substitution takes place, the system does not know whether or not the directory I/O was subsidiary to file I/O. We do apologize for the confusion created when the directory I/O was the main I/O (i.e., in DIR, FREE, etc.). The user can go to SUPERZAP and step through the directory (via DD, DTS or DFS (on DIR/SYS) to determine which sector is bad and what is the actual complaint. VDS mode can, also be used.
- [6]LNW-80 users should be aware that that computer does not use the Z-80 instruction HALT to trigger the computers RESET line as does, the TRS-80 Model I. Therefore, the BOOT DOS command and any other program that uses the Z-80 HALT instruction to RESET the computer will simply stop execution, which is what the normal Z-80 HALT instruction does. The user will have to actually press the RESET keys.
10 CLEAR 2000: DEFINT A-Z: NR=0 20 PRINT"FILESPEC OF BASIC PROGRAM TO BE SORTED?": LINEINPUT FS$ 30 OPEN"I",1,FS$: BC!=LOC(1)% 40 IF EOF(1)=0 THEN NR=NR+1: LINEINPUT #l,A$: GOTO 40 50 A$="": CLOSE 60 DIM CD$(NR), IX(NR), SN(NR): CMD"F=SASZ",BC!-NR+200 70 OPEN"I",1,FS$: X=1: K=1 80 IF X>NR THEN 170 90 LINEINPUT #l,CD$(X): Y=LEN(CD$(X)): Z=1: W=0: SN!=0: K=K+l 100 IF Y=0 THEN 160 110 IF Z>Y THEN 130 ELSE J=ASC(MID$(CD$(X),Z,l)): Z=Z+l: IF J=32 THEN 110 120 IF J>=48 AND J<58 THEN W=W+l: SN!=l0*SN!+J-48: GOTO 110 130 IF W>0 AND SN!<65530 THEN SN(X)=SN!-32768: X=X+1: GOTO 80 140 PRINT K;"TH LINE HAS BAD OR MISSING LINE NUMBER. BYPASS IT? (Y/N) "; 145 INPUT A$ 150 IF A$="N" THEN END ELSE IF A$><"Y" THEN INPUT"BAD REPLY";A$: GOTO 150 160 NR=NR-l: GOTO 80 170 CLOSE: IF NR=0 THEN PRINT"NO RECORDS TO SORT": END 180 CMD"O",NR,*IX(l),SN(1) 190 PRINT"SORTED OUTPUT FILESPEC? ";: LINEINPUT FS$ 200 OPEN"O",l,FS$ 210 FOR X=l TO NR: PRINT #l,CD$(IX(X)): NEXT 220 CLOSE: PRINT"DONE":END
*** ZAP 064 *** 02/15/82 *** V2M1 ***
Mandatory zap to DOS to cause the /./5Y function of chaining (see page 4-11) to properly exit the current DOS-CALL level, if any, under certain circumstances where it was not. This problem can also be avoided by using CHNON,Y instead of /./5Y if DOS is awaiting its next command at that DOS level.
*** 065 *** 02/15/82 *** V2M1 ***
Information zap.
- Some users have had GAT OVERFLOW error occur when using CBF with FMT to copy a system diskette. The system files SYS1/SYS through SYS21/SYS on a system diskette are positioned near tbe directory, some file above and some below, to enhance system efficiency. During the CBF COPY, the each system file is assIgned space on the destination diskette in the same position relative to the directdry as on the source diskette, and if that position is beyond either end of the diskette, GAT OVERFLOW error occurs. The solution to the problem is to cause the directory to be positioned nearer the center of the diskette. Two of the destination diskette's PDRIVE parameters are involved in the directory positioning: GPL and DDSL. Compute the number of lumps on the diskette and compare against DDSL to determine which end of the diskette the directory is too close to. You can take one of three actions to cause the directory to move closer to the diskette center: (1) change the DDSL value, (2) decrease the GPL value if the directory was too near the end of the diskette, or (3) increase the GPL value if the directory was too near track 0.
- A number of users have complained that the LIST and PRINT commands do not allow for graphic characters. This was done so purposely as the intent with both LIST and PRINT was to provide a rudimentary, emergency method of listing or printing regular text files (files whose printable characters are between 20H and 7FH ASCII or that modulate to those values). These two commands were seldom used in NEWDOS+ or NEWDOS/80 Version 1, and we have been surprised by the increased useage in Version 2. For a subsequent release of NEWDOS8O, we will try to add more capabilities to allow for graphics, but for now we simply apologize that the capability is not there.
- For Model I users having CPU speed up modification installed that find that NEWDOS/80 Version 2 fails in double density I/O (or single density 8") where NEWDOS/80 Version 1 (using someone else's double density patches) worked, the user should ask the purveyor whether the speed up modification, when set to normal speed, actually causes the CPU to run slower than the standard Model I speed of 1.772 MHZ. Some of the earlier speed up mods did, and NEWDOS/80 Version 2 cannot tolerate any slowdown below 1.772 MHZ.
*** ZAP 066 *** 03/16/82 *** V2M1 ***
Mandatory zap to BASIC to correct error in dynamic MERGE occuring when the old text has lines within the range of the merging text (though not matching line numbers, which is not allowed). This is an unusual condition but nevertheless legal. This error was causing string variables whose strings are in the text area to not be properly repointed into the resulting text.
*** ZAP 067 *** 03/25/82 *** V2M1 ***
Mandatory zap to allow the TRSDOS 1.2 Model III VISICALC Version VC-150Y0-T83 to operate with Model I NEWDOS/80 Version 2. The 1st zap disables VISICALC's directory search feature. The 2nd and 3rd zaps insert the Model I HIMEM value. The 4th and 5th zaps disable the disabling of the Model III abort-on-BREAK RS-232 function which is not available on the Model I. The 6th zap performs a Model I check for the BREAK key. The 7th 8th and 9th zaps disable VISICALC's direct printer interface (command /PR) with the RS-232 serial port which is not available on the Model I (the user may still use his/her own driver that takes /PP parallel printer output to the RS-232).
The directory search capability of VISICALC is disabled as NEWDOS/80 does not have the RAMDIR facility that Model III TRSDOS does. However, it is possible to use MINI-DOS to search the directory by (1) typing in the /SL command, (2) pressing DFG to enter MINI-DOS, (3) perform the MINI-DOS functions, (4) clear the display, (5) exit from MINI-DOS, (6) back in VISICALC, press three or more CLEARs to clear the command state, (7) execution one of the /T commands to restore the VISICALC display.
*** ZAP 068 *** 04/13/82 *** V2M1 ***
Mandatory zap to DOS to correct an error in CREATE whereby the old file's (not the new) EOF was not being set = 0 when REC=O parameter spec'ed or defaulted to.
*** ZAP 069 *** 04/13/82 *** V2M1 ***
Mandatory zap to DOS to correct error in the DMDB function of SUPERZAP where the F function was not displaying the correct dump location.
*** ZAP 070 *** 04/23/82 *** V2M1 ***
Mandatory zap to BASIC to correct an error in CMD"O" sort of floating point values and to a much lesser degreee, of character strings. It is astonishing that this error was finally reported 8 months after Version 2 release; we simply refused to believe it as this meant virtually no one is using the floating point sort feature. The reporting user was persistent, however, sending in a very detailed problem report even so far as providing the zap! Well done!!! We thank this user and all others that persist in proving their point.
*** ZAP 071 *** 05/04/82 *** V2M1 ***
Mandatory zap to VISICALC version VC-160Y0-T83 for Model III TRSDOS 1.3 to operate with Model I NEWDOS/80 Version 2. Refer to ZAP 067 as this zap performs the same functions as that zap did for TRSDOS 1.2 version.
*** ZAP 072 *** 05/04/82 *** V2M1 ***
Information zap on Model III TRSDOS diskettes.
Despite explicit and implicit statements in the manual and the zaps users continue to think that Model III TRSDOS type diskettes are directly useable with NEWDOS/80 Version 2. NEWDOS/80 Version 2, with two exceptions, CANNOT, repeat, CANNOT operate with TRSDOS Model III system or data diskettes. Please believe us; this is so!!!! DO NOT ATTEMPT to use Model III type diskettes (data or system) with NEWDOS/80 except for the special conditions of COPY and SUPERZAP wherein PDRIVE TI flag M is used!!!!! If you must use the DIR command to determine what is on a Model III TRSDOS type diskette, do so under TRSDOS, not NEWDOS.
The directory for Model III TRSDOS system and data diskettes is markedly different from the directory used on Model I TRSDOS 2.3 and all NEWDOS diskettes. For NEWDOS/80 Version 2 on the Model III, Apparat elected to remain with the old style directory so that data diskettes (once the address mark had been adjusted; see WRDIRP command and SYSTEM option BN) could be used interchangeably between the Model I and Model III under NEWDOS/80 Version 2 on both computers.
Realizing that data files and some program files must be transferable between TRSDOS Model III type diskettes and NEWDOS/80 Version 2 type diskettes. NEWDOS/80's COPY command, formats 1-4 and 6, allow, via special PDRIVE conditions, files to be copied from a Model III TRSDOS type diskette to a NEWDOS/80 Version 2 type diskette and from a NEWDOS/80 Version 2 type diskette to a Model III TRSDOS type diskette (note, COPY formats 1 and 2 filespecs for Model III TRSDOS files must have an explicit drive number). The special PDRIVE state is given in PDRIVE, example 3, page 2-38, and provides only for Model III TRSDOS type diskettes that are single sided, double density, 40 track. On your master Model III NEWDOS/80 system diskette, PDRIVE display slot # 4 was initialized to the correct value to use with these Model III TR8DOS 1.3 type diskettes (see zap 013 for TRSDOS 1.2 or 1.1 diskettes; see zap 031 far Model I TRSDOS 2.3B diskettes). For the remainder of this discussion, we will assume PDRIVE specification 4 contains the following values:
TI=xM,TD=E,TC=40,SPT=18,TSR=3,GPL=6,DDSL=17,DDGA=2
where x is C for PERCOM type double density interface and E for LNW type interface.
There are many variations available for copying to/from Model III TRSDOS diskettes which the more experienced NEWDOS user will adapt for his/her own uses. The following examples are to get the novice through the first anxious moments. In each example, drive 0 is assumed a double density drive.
1. To copy file XXX/DAT from a Model III TRSDOS type diskette to a preformated NEWDOS/80 Version 2 diskette, the following command will work:
COPY,XXX/DAT:0,XXX/DAT:1 ,SPDN=4
NEWDOS/80 will ask for the mount of the source diskette (the Model III TRSDOS type diskette) and the system diskette (the NEWDOS/80 system diskette) on drive 0 as necessary.
2. To copy multiple files from a Model III TRSDOS type diskette to a previously formatted NEWDOS/80 type diskette, the following command will work:
COPY,0,l, ,NFMT,CBF,CFWO,SPDN=4
NEWDOS/80 will ask for the mount of the source diskette (the Model III TRSDOS type diskette) and the system diskette (the NEWDOS/80 system diskette) on drive 0 as necessary. The user will be asked, one file at a time, which files are to be copied, except that files marked as system files are excluded automatically from the copy. To copy a system file, use the single file copy example above.
3. To copy file XXX/DAT from a NEWDOS/80 Version 2 diskette to Model III TRSDOS diskette, the following command will work:
COPY,XXX/DAT:l,XXX/DAT:0,DPDN=4
NEWDOS/80 will ask for the mount of the destination diskette (the Model III TRSDOS type diskette) and the system diskette (the NEWDOS/80 system diskette) on drive 0 as necessary.
4. To copy multiple files from a NEWDOS/80 type diskette to a previously formatted (under TRSDOS) Model III TRSDOS type diskette, the following command will work:
COPY,l,0,,NFMT,CBF,CFWO,DPDN=4
NEWDOS/80 will ask for the mount of the destination diskette (the Model III TRSDOS type diskette) and the system diskette (the NEWDOS/80 system diskette) on drive 0 as necessary. The operator will be asked, one file at a time, to select which files are to be copied, excepting that any files marked as system files are automatically excluded from the copy. To copy a system file, use the single file copy example given above.
NEWDOS/80 Version 2 does not provide a method of copying to/from DOS's other than itself and TRSDOS. It is our intention that the TRSDOS diskette remain the common media for moving data between non-TRSDOS DOS's which is why we took the extra trouble to be able to copy TO a Model III TRSDOS diskette.
For the experienced user, SUPERZAP modes DD and DTS can be used to inspect Model III TRSDOS type diskettes provided the PDRIVE specifications are set correctly. The command
PDRIVE,0,l=4,A
will activate the drive #4 specifications as drive #1's specifications, thus allowing SUPERZAP to inspect a Model III TRSDOS type diskette on drive 1. When done, don't forget to change the PDRIVE specifications for drive 1 back. The Model III TRSDOS directory is 18 sectors long, starting at relative sector 306; remember, the directory format is different than that for NEWDOS/80.
*** ZAP 073 *** 05/04/82 *** V2M1 ***
Information zap on Model I TRSDOS 2.3B and higher diskettes. Refer also to ZAP 031.
Some time ago Radio Shack announced a double density modification to the Model I TRSDOS. To date, this modification is not available and Apparat does not know what zaps will have to be issued to operate with the new Model I TRSDOS 2.3B or higher double density diskettes. We assume that the new Model I TRBDOS will continue with the implementation of RBA format in the FCB's and the directories (which make the new TRSDOS diskettes incompatible with the old TRSDOS and with NEWDOS diskettes), and that like Model III TRSDOS diskettes, the new Model I TRSDOS diskettes will useable with NEWDOS/80 Version 2 only with COPY and SUPERZAP (see above zap) when the PDRIVE setting indudes TI flagM. However, for now, use of flag M does not allow access to Model I TRSDOS double density diskettes as a TD code for double density implies Model III.
*** ZAP 074 *** 05/04/82 *** V2M1 ***
Mandatory zap to CHAINBLD/BAS to eliminate an unintended and non-displayed CLEAR character that causes trouble during PRINT of an ASCII copy of the program. This character is non-displayed but is the character in text immediately following the GOSUB36 of line 92. Load the program under BASIC, delete the character, and SAVE the CHAINBLD/BAS file back. Line 92 should display exactly the same after the character delete as before.
*** ZAP 075 *** 05/04/82 *** V2M1 ***
Mandatory zap to BASIC to correct memory-wipe-out error caused in certain circumstances by a REF= statement containing a ' character. The actua1 error is at 1A8B - 90 in the ROM and can be triggered in non-disk BASIC by keying in twice the direct command sss' where sss is three spaces. By making a change to NEWDOS/80's BASIC, the prob1em with REF is avoided.
*** ZAP 076 *** 06/18/82 *** V2M1 ***
Mandatory zap to DOS to allow NEWDOS/80 to run with the Radio Shack double density modification. This zap does NOT enable NEWDOS/80 to operate with Model I TRSDOS 2.7DD double density diskettes (see ZAP 078). PDRIVE TI flag D is hereby activated (please note this in the margin on page 2-34) for the Model I to mean the Radio Shack double density interface and all PDRIVE specifications for this interface must use TI flag A or D for single density diskettes and TI flag D for double density diskettes. If drive 0 is to be double density, TI=DK must be specified (with TC reduced by 1 (i.e., 34, 40, 76 or 79)). The Percom, LNW and Omikron double density interfaces for the Model I do not use write precompensation as does the Radio Shack interface. Since there is not enough resident DOS patch area to patch in precompensation and still retain system diskette interchangeability with other interfaces, it has been left out of this mandatory zap, but has been included as optional zap 077 below wherein the zapped NEWDOS/8O system diskette must only be run with an unmodified interface or with the Radio Shack DD interface.
*** Creating a system diskette to operate with a different I/O interface (i.e. , the R. S. doubler) requires that the system diskette be created by format 5 or 6 COPY with FMT parameter specified.
*** TI flag D is interdrive mutually exclusive with flags B, C and E meaning that if D is specified in any drive's specification, then no other drive's specification may contain TI flags B, C or E. "TI= SPEC BETWEEN DRIVES INCOMPATIBLE" error will be given if this interdrive mutual exclusion is violated, requesting that you alter the various PDRIVE specs until atmost one of TI flags B, C, D or E is represented in the various PDRIVE specifications.
*** NEVER, NEVER, NEVER reset or boot the computer with PDRIVE showing an error. If this is done, the initialization routines will simply refuse to boot.
*** ZAP 077 *** 06/18/82 *** V2M1 ***
Optional zap to DOS to enable the Radio Shack double density write precompensation logic. When this zap is applied the system diskette must only be used with either an expansion interface that has not been modified for disk double density or 8 inch drives or has been modified for the Radio Shack double density disk I/O. Once the diskette is modified, indicate on its label that this zap is installed.
*** ZAP 078 *** 06/18/82 *** V2M1 ***
Optional zap to allow COPY formats 1 2, 3, 4 and 6 to copy files from or to Model I TRSDOS 2.7DD double density diskettes when the PDRIVE for that diskette is:
TI=xM,TD=E,TC=tc,SPT=18,TSR=3,GPL=6,DDSL=dt,DDGA=2
where
x = C for Percom type double density modification, D for Radio Shack type modification and E for LNW type modification.
tc = diskette track count, 35, 40 or whatever. This track count includes the single density track 0.
dt = the directory track number (the standard is 17).
NEWDOS/80 must be given the correct value as it does not obtain the value from the diskette's boot sector in the single density track 0.
See example 3, page 2-38. If ZAP 013 is applied to the diskette receiving this zap, ZAP 013 must be taken out before this zap is applied. Once this zap has been applied, the zapped diskette cannot be used to copy to/from Model III TRSDOS diskettes or to/from Model I TRSDOS 2.3B diskettes; this zap should only be applied to a special NEWDOS/80 system diskette whose sole function is to be used when copying files to/from Model I TRBDOS 2.7DD double density diskettes.
A Model I TRSDOS 2.7DD double density diskette cannot be formatted by NEWDOS/80, and it cannot be format 5 copied by NEWDOS/80, not even via the BDU option. Further, remember, format 6 (CBF) COPY does not copy system file, to/from TRSDOS diskettes; formats 1 through 4 do, however.
Users must be aware that Model I TRSDOS 2.7DD double density diskettes are written with track 0 in single density and all other tracks in double density; the directory information assumes track 0 is in double density and counts its information from track 0's 1st sector. Note, that track 0 is allocated on all diskettes to BOOT, a file that contains 10 sectors, not 18.
*** ZAP 079 *** 06/27/82 *** V2M1 ***
Mandatory zap to DOS to correct error occurring when a file with EOF = 0 is copied (via single file COPY) to a NEWDOS/80 diskette from TRSDOS diskette other than the old TRSDOS 2.3 (or as now being called TRSDOS 2.3A) diskettes.
*** ZAP 080 *** 07/19/82 *** V2M1 ***
Mandatory zap to NEWDOS/80's ASPOOL program to correct error in the *ASP
S function where the computer is forced to DOS READY after the remaining spooled print completes printing. Instead, the delayed completion of the function should simply continue the interrupted program. To make room for this correction, the SPOOL PURGED message is no longer displayed. To determine that the spooler is gone, simply execute the *ASP command asking for spooler status. If the response is FILE NOT IN DIRECTORY, the spooler is gone.
*** ZAP 081 *** 08/17/82 *** V2M1 ***
Mandatory zap to LMOFFSET to correct error where the first program is stored with a disable-DOS appendage and the second program is stored with an appendage that does not disable DOS. This error causes the 2nd stored program to have a bad appendage.
*** ZAP 082 *** 09/02/82 *** V2M1 ***
Information zap to allow BASIC and assembler programs to set the lower case state with the Model I NEWDOS/80 Version 2 DOS resident code. To execute the equivalent of the DOS command LC
N without causing disk I/O, BASIC programs execute POKE 17844,0 and assembler programs store 00 into 45B4H. To execute the equivalent of DOS command LC,Y without causing disk I/O, BASIC programs do POKE 17844,201 and assembler language programs store 0C9H into 45B4H. Remember, the lower case driver (see DOS command LCDVR) must be active for these POKEs to work.
*** WARNING!!!!! This 17844 (45B4H) location is NEWDOS/80 Version 2 dependent and definitely will be different in any subsequent NEWDOS/80 release. Users should mark this carefully in their programs. This is why we were so reluctant to release this information.
*** ZAP 083 *** 08/17/82 *** V2M1 ***
Mandatory zap to Radio Shack's Model I SuperSCRIPSIT for TRSDOS 2.3 (not 2.3B or 2.7DD) to enable it to run with the Model I NEWDOS/80 Version 2:
- Allow the Main Menu Directory function to work. An actual NEWDOS/80 directory is executed via DOS-CALL; so the display will look different from that for TRSD0S. NOTE, the main menu display for the Model I does not show the '
Display disk directory option' as it does for the Model III, but a response of D will trigger it. - Allow the program to determine the number of 1024 byte page units of diskette space are available on the target drive. To do this, the DOS command DIR x,/Q9Q (where x is the drive #) is executed via DOS-CALL as NEWDOS/80 does not have the RAMDIR function. This causes an extra directory display to appear for during Main Memory function 0 that opens a document (appears after you have adjusted the document control data). This extra directory display may also appear at other times.
This zapped SuperSCRIPSIT must only be used with NEWDOS/80 Version 2 for the Model I.
With SuperSCRIPSIT, users may use DOS functions DFG (MINI-DOS) and 123 (DEBUG), but they must be very careful when pressing the three keys as SuperSCRIPSIT is likely to receive one or more of them. When a page of text is displayed, using the control-H command (HELP) puts the users where DFG or 123 may be pressed. Upon executing DOS command MDRET (to exit Mini-DOS back to SuperSCRIPT) or DEBUG command G (to exit DEBUG back to SuperSCRIPT), press BREAK to return to the page. If HELP was not available, you will additionally have to press control-T followed by BREAK to get back the full display. From the main menu, use option D to display a directory; then while the program is awaiting BREAK, you can press DFG or 123. WARNING!!!! Do not exit directly to DOS from Mini-DOS or DEBUG without giving SuperSCRIPSIT its chance to write data from memory and close its files; this can be disastrous to your document file.
*** ZAP 084 *** 09/17/82 *** V2M1 ***
Information zap.
- The REN formulas given on pages 7-14 and 7-15 show how to compute the REN for a given element in the array. Following are the formulas for computing the element subscripts corresponding to a given REN value (remember, the first REN value is zero).
- For a single dimension array whose DIM statement is DIM A(R1) and for array element A(X1):
X1 = REN - For a two dimension array whose DIM statement is DIM A(R1,R2) and for array element A(X1,X2):
REN/(R1+1) gives a quotient that is X2 and a remainder that is X1. -
For a three dimension array whose DIM statement is DIM A(R1,R2,R3) and for array element A(X1,X2,X3):
REN/((R1+1)*(R2+1)) gives a quotient that is X3 and remainder M2 such that M2/(R1+1) gives a quotient that is X2 and a remainder that is Xl.
For an n dimension array (where n is not 1) the calculation involves REN being divided by product of all the ranges (a range is 1 greater than the value given in the DIM statement) except the nth, giving a quotient that is the nth subscript and a remainder that can be used as the REN value for calculating n-1th subscript as if the array had only n-1 dimensions. Continue this loop until n is reduced to 1. - Manual correction for ATTRIB, section 2-3, page 2-4. Place a note there to indicate that parameter LRL=1en1 exists, allowing the user to alter the Logical Record Length of the file to the value 1en1 ( 1 to 256 ). This value, kept in the file's FPDE in the directory, is hardly ever used except by DIR, but some people want DIR to show the correct value. Remember, in NEWDOS/80 OPENs of a file, the LRL value is taken from register B rather than from the directory (in BASIC, it comes explicitly or implicitly from the OPEN statement).
*** ZAP 085 *** 11/29/82 *** V2M1 ***
Mandatory zap to DOS to correct error that was allowing a format 5 COPY to occur when both diskettes had the same number of sectors but different GPL values.
*** ZAP 086 *** 12/17/82 *** V2M1 ***
Mandatory zap to EDTASM to correct error where an error flag was not being reset after failure of a file open thus causing the next file operation to fail to CLOSE a file properly.
*** ZAP 087 *** 12/21/82 *** V2M1 ***
Mandatory zap to BASIC to correct error in CMD"O" direct sort where an array is specified twice in the command sequence (i.e. two parts of a string supply independent sorting criteria.
*** ZAP 088 *** 02/26/83 *** V2M1 ***
Mandatory zap to EDTASM to disable a faulty attempt to keep the drives rotating which was actually causing the drive motors to stop. A number of users had complained of this, and finally a user from Australia showed us a disassembly of exactly what was wrong.
*** ZAP 089 *** 05/03/83 *** V2M1 ***
Mandatory zap to BASIC to (1) correct error where an RBA exceeds 8,388,607 (uses the 24th bit) and (2) to extend the allowable range for record numbers from 1 - 32767 to 1 - 16777215 (even though the file itself is limited to 16 million bytes). The extension of the record number range was needed as FF and MF processing using RBAs was generating bad record number errors when BASIC converts the RBA to record number to assure that the RBA was on a record boundary and the resulting record number was greater than 32767. This zap is especially important to NEWDOS/80 2.5 users.
*** ZAP 090 *** 05/03/83 *** V2M1 ***
Information zap. For those users with the Hard Disk Operating System NEWDOS/80 Version 2.5, be sure to apply zaps separately to each of NEWDOS/80 Version 2.0 and to NEWDOS/80 Version 2.5. Do NOT just apply the patch to one of the two systems and copy the module over to the other as you may eliminate some 2.5 zaps or end up applying some 2.5 zaps to 2.0, which can be disastorous. If a zap applies only to Version 2.0 or only to Version 2.5, we will state such; otherwise, the zap applies to both systems.