Ira Goldklang's TRS-80 Revived Site

NEWDOS/80 Version 2 ZAPS

       



         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(a). 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 tryin 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 * * *
(Index listed in order of Filename)
ZAP#    TypeAreaProgramReference
05Mandatory    UserAPL80/CMDAPL80/CMD
80MandatoryUtilityASPOOL/MAS*ASP,S function
14MandatoryBASIC    BASIC/CMDBasic Editing
21MandatoryBASICBASIC/CMDMarked & Fixed Item File Processing
52MandatoryBASICBASIC/CMDCLOSE command
87MandatoryBASICBASIC/CMDCMD"O" function
53MandatoryUserBRUM/CMDMicrosoft BASIC COMPILER v 5.23
19MandatoryUtilityCHAINBLD/BAS    Version 1 Format
74MandatoryUtilityCHAINBLD/BASNon-Displayed Character
53OptionalUserDIR/SYSMicrosoft BASIC COMPILER v 5.23
27MandatoryUtilityDISASSEM/CMDRTD Option
10MandatoryUserDSMB/CMDRacet’s DSM module DSMB/CMD
01MandatoryUserEDIT/CMDMicrosoft’s EDIT/CMD
06OptionalUtilityEDTASM/CMDDisable LC to UC Conversion
22MandatoryUtilityEDTASM/CMDCursor Display
36InformationUtilityEDTASM/CMDDocumentation errors
36InformationUtilityEDTASM/CMDTape I/O for Mod III disabled
48MandatoryUtilityEDTASM/CMDFilespec Response &
54MandatoryUtilityEDTASM/CMDObject Code to Cassette
59MandatoryUtilityEDTASM/CMDCorrect & Restate ZAP #54
86MandatoryUtilityEDTASM/CMDFile Close Problem
37MandatoryUserFIREUP/CMDBIONIC BASIC
09MandatoryUserIBLOAD/CMDRacet’s INFINITE BASIC
08MandatoryUserINITRadio Shack’s Model I PROFILE
37MandatoryUserINSTALL/CMDBIONIC BASIC
53OptionalUserL80/CMDMicrosoft BASIC COMPILER v 5.23
58MandatoryUtilityLMOFFSET/CMDObject Code Block Load
81MandatoryUtilityLMOFFSET/CMDAppendage
02MandatoryUserPENCIL/CMDELECTRIC PENCIL
26MandatoryUserPENCIL/CMDELECTRIC PENCIL
39MandatoryUserPENCIL/CMDELECTRIC PENCIL
08OptionalUserPROFILE/CMDReenable Interrupts
37MandatoryUserREMOVE/CMDBIONIC BASIC
34MandatoryUserRS COBOL/CMDRyan-McFarland Corp COBOL v l.3B
34MandatoryUserRUNCOBOL/CMDRyan-McFarland Corp COBOL v l.3B
83MandatoryUserSCRI7/CTLRadio Shack’s Model I SUPERSCRIPSIT
51InformationUserSCRIPSITModel I Cassette I/O
83MandatoryUserSCRIPSIT/CMDRadio Shack’s Model I SUPERSORIPSIT
03MandatoryUserSCRIPSIT/LCRadio Shack’s Model I SCRIPSIT
38OptionalUserSCRIPSIT/LCDouble Density & END command
03MandatoryUserSCRIPSIT/UCRadio Shack’s Model I SCRIPSIT
38OptionalUserSCRIPSIT/UCDouble Density & END command
18MandatoryUtilitySUPERZAP/CMDDM,P functions
33MandatoryUtilitySUPERZAP/CMDDM & F functions
69MandatoryUtilitySUPERZAP/CMDDMDB function
04OptionalDOSSYS0/SYSIncrease Drive Power-On Delay
20MandatoryDOSSYS0/SYSROUTE command
43MandatoryDOSSYS0/SYSROUTE command
55OptionalDOSSYS0/SYSPatch LC Keyboard Modification
60MandatoryDOSSYS0/SYSDisk Status Register Reads
62MandatoryDOSSYS0/SYS4445H call to DOS
77OptionalDOSSYS0/SYSDouble Density Write Precomp Logic
40MandatoryDOSSYS2/SYSDirectory Entries
35MandatoryDOSSYS30/SYSCLOSE & KILL commands
46OptionalDOSSYS3/SYS‘JKL’ : Graphics to Epson Printers
12OptionalDOSSYS6/SYSDouble Density Format Sensitivity
13OptionalDOSSYS6/SYSTo allow COPY of TRSDOS 1.2 (Mod 3)
15MandatoryDOSSYS6/SYSCOPY Format 5
17MandatoryDOSSYS6/SYSCOPY & FORMAT: DDSL parameter
23MandatoryDOSSYS6/SYSGranule Lockout Table in Directory
24MandatoryDOSSYS6/SYSFORMAT & COPY commands
28MandatoryDOSSYS6/SYSFORMAT: PFST parameter
31MandatoryDOSSYS6/SYSTRSDOS 2.3B (I) or TRSDOS 1.3 (III)
32MandatoryDOSSYS6/SYSTRSDOS 2.3B (I) or TRSDOS for Mod 3
44MandatoryDOSSYS6/SYSSYSTEM: 3M parameter disabled
47MandatoryDOSSYS6/SYSPDRIVE: 8 Inch, Double Density
56MandatoryDOSSYS6/SYSCOPY: CBF param & Model III TRSDOS
57MandatoryDOSSYS6/SYSCOPY command
76MandatoryDOSSYS6/SYSRadio Shack’s Double Density Board
77OptionalDOSSYS6/SYSDouble Density Write Precomp Logic
78OptionalDOSSYS6/SYSModel I TRSDOS 2.7DD Diskettes
79MandatoryDOSSYS6/SYSCOPY: TRSDOS 2.3B or Higher
85MandatoryDOSSYS6/SYSCOPY Format 5
49MandatoryDOSSYS8/SYSDIR $ or DIR $0
61OptionalDOSSYS8/SYSDIR: Remote Terminal Operators
64MandatoryDOSSYS9/SYSChaining: /./5Y function
42MandatoryBASICSYS11/SYSRENUM function
45MandatoryBASICSYS12/SYSREF$ function
20MandatoryDOSSYS14/SYSROUTE command
50OptionalDOSSYS14/SYSPRINT & LIST: Control Characters
68MandatoryDOSSYS14/SYSCREATE: Old File’s EOF
16MandatoryDOSSYS16/SYSPDRIVE error
31MandatoryDOSSYS16/SYSTRSDOS 2.3B (I) or TRSDOS 1.3 (III)
47MandatoryDOSSYS16/SYSPDRIVE: 8 Inch, Double Density
76MandatoryDOSSYS16/SYSRadio Shack’s Double Density Board
44MandatoryDOSSYS17/SYSSYSTEM: BM parameter disabled
57MandatoryDOSSYS17/SYSCOPY command
14MandatoryBASICSYS18/SYSBasic Editing
45MandatoryBASICSYS18/SYSREF$ function
75MandatoryBASICSYS18/SYSREF= statement
66MandatoryBASICSYS19/SYSDynamic MERGE
70MandatoryBASICSYS21/SYSCMD"O" function
87MandatoryBASICSYS21/SYSCMD"O" function
11MandatoryUserVC/CMDRadio Shack’s Model I VISICALC
25MandatoryUserVC/CMDRadio Shack’s Model I VISICALC
67MandatoryUserVC/CMDModel III VISICALC v VC-150Y0-T83
71MandatoryUserVC/CMDModel III VISICALC v VC-150Y0-T83
07InformationDOSCommandATTRIB: LRL=xxx Parameter
07InformationDOSCommandROUTE: display of routes
07InformationDOSCommandCOPY: DFO parameter
07InformationDOSCommandFORMAT: RWF parameter
29InformationDOSCommandPDRIVE & COPY: Double Density
29InformationDOSCommandPDRIVE: OMIKRON & 8 Inch Drives
30InformationDOSCommandModel I & Model III Data Exchange
30InformationDOSCommandCOPY: Formats 5 & 6 discussed
36InformationDOSCommandDocumentation Correction
41InformationDOSCommandROUTE: Documentation Correction
41InformationDOSCommandAutomatic Density Recognition
41InformationBASICCommandCMD"O": explanation
41InformationDOSCommandSYSTEM: AX parameter correction
51InformationDOSCommandSYSTEM: AJ=N explanation expanded
63InformationDOSCommandDIR & FREE Error Messages
63InformationUserCommandProgram Parameters
65InformationDOSCommandCOPY: Format 6
65InformationDOSCommandGAT Overflow & CBF with FMT COPY
65InformationDOSCommandLIST & PRINT: no graphics
72InformationDOSCommandAccessing files on Model III TRSDOS
73InformationDOSCommandAccessing Model I TRSDOS 2.3B & Up
82InformationDOSCommandLC,Y & LC,N without Disk I/O
84InformationBASICCommandCMD"O" & Multi-Dimension Arrays
63InformationBASICCommandsLOAD, RUN, MERGE & RENUM
63InformationDOSCommandsFORMS & SETCOM omission in Model I
63InformationDOSFeaturesMain Memory, High Memory, MINI-DOS
07InformationDOSGeneralReserved ZAP Areas in NEWDOS/BO
41InformationDOSGeneralCassette I/O
51InformationDOSGeneralTRSDOS 2.3B (I) & TRSDOS 1.3 (III)
51InformationDOSGeneralChain Filename & /JCL extension
41InformationDOSHardwareCPU Speed Up Modifications
63InformationDOSHardwareLNW-80 Computer Users
65InformationDOSHardwareCPU Speed Up Modifications
07InformationDOSMini-dosIllegal under DOS-CALL
30InformationBASICUtilityRENUM usage



         ******** 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.
EDIT/CMD,38,E8    change 7E E6 7F 7E 21 FE FF CA 58 78 EE 80 87 DA 5D 78 to
                         7E 60 69 D6 01 30 01 2B 29 07 30 01 23 18 04 78

EDIT/CMD,32,A2    change 78 E6 7F C2 28 72 78 EE
                    to   78 D6 01 30 08 18 04 EE
      



         ******** 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.
PENCIL/CMD,00,AE    change  F3 32 9B 46 C3
                        to  F3 00 00 00 C3
       
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.
PENCIL/CMD,05,60    change  58 23 22
                    to      58 00 22

PENCIL/CMD,00,61    change  54 22 16 40 21
                    to      54 00 00 00 21
       
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.
SCRIPSIT/UC,11,75 and SCRIPSIT/UC,11,75
change 47 00 CD 6E 7A 4F
    to 47 00 3A B9 7C 4F

SCRIPSITJ/UC,11,FB and SCRIPSIT/LC,11,FB
change B7 C4 EF 5D 79
to     B7 32 B6 7C C4

SCRIPSITJ/UC,12,00 and SCRIPSIT/LC,12,00
change 32 B9 7C 11
    to EF 5D 00 11

SCRIPSIT/UC,00,63 and SCRIPSIT/LC1,00,63
change 7C 21 FF 00 25 7E 2F 77 AE 20 F9 22
to     7C 2A 49 40 00 00 00 00 00 00 00 22

SCRIPSIT/UC,00,C3 and SCRIPSIT/LC,00,0
change 57 F3 ED
to     57 00 ED
      



         ******** 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.
SYS0/SYS,04 C3    change     06 80 CB     to     06 FF CB
      



         ******** 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.
APL80/CMD,12,74    change  21 A2 4B    to      21 B4 4B

APL80/CMD,14,52    change  21 A2 4B    to      21 B4 4B
      



         ******** 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.
EDTASM/CMD,28,El   change  FE 61 D8    to      FE 80 D8
      



         ******** 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.
EDTASM/CMD,28,E1   change  FE 61 D8    to      FE 80 D8
      



         ******** ZAP 007 ******** 08/04/81 ******** V2M1
This is information rather than an actual zap.
1. Where possible, the NEWDOS/80 modules have reserved zap areas. Apparat purposely did not mention them in its documentation as it did not want to draw attention to them. Users are hereby warned that Apparat will preempt these areas without preliminary notice and in its zap verifies will expect these areas to contain zeroes. Users who apply non-Apparat zaps into these areas should carefully maintain logs of what they have done to compare against future NEWDOS/80 zap& for area conflicts.
2. 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.
3. 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.
4. DOS command ROUTE (see section 2.43) has been altered such that existing routes are displayed only if the ROUTE command has no parameters.
5. 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 diskette&. DFO is mutually exclusive with FMT.
6. 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.
INIT,00,54   change   44 38 09 28 0F FE 1A 28 13 C3 3F 52 CD
                 to   44 20 19 00 00 00 00 00 00 00 30 08 CD
      
If the above doesn't verify, then try one or the other locations below.
INIT,00,63 or INIT,00,64    change  44 38 11 28 07 FE 1A 28 13 C3 47 52 CD
                                to  44 20 19 00 00 00 00 00 00 00 38 08 CD
      
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.
PROFILE/CMD,11,45    change    F3 CD
                     to        00 CD
      



         *********** 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.
IBLOAD/CMD/CMD,08,15
change 15 21 B6 79 11 F4 79 CD 36 44 28
    to 15 11 F4 79 CD 13 00 32 B6 79 28
      



         ******** 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.
DSMB/CMD,03,C2    change    44 50 41     to    44 03 41
      



         ************ 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).
VC/CMD,03,2B
change 09 3E 00 21 20 03 22 51 9F C9 79
    to 09 18 BB 00 00 08 08 C3 EF 9B 79

VC/CMD,75,15
change    11 28 9C 22
    to    11 1E 55 22

VC/CMD,75,24
change    C9 3E 03 C3 13 44 CD 4E 53 F5 CD 16 9C 28 0E 3E
    to    C9 11 lE 55 C3 13 44 CD 4E 53 CD 16 9C C8 00 3E
       
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.
VC/CMD,73,01
change    C9 FE 18 20
    to    C9 37 C9 20
      



         ********* 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:
1.E5 E5 - least sensitive during formatting. This was and is the single density standard pattern.
[Ira's note - this is 10100111 10100111 in Binary]
2.5B 5B - intermediate sensitivity during formatting. This in the TRSDOS Model III pattern.
[Ira's note - this is 11011010 11011010 in Binary]
3.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.
SYS6/SYS,14,75     change    01 00 7B         to    01 01 7B

SYS6/SYS,14,C8     change    01 00 40 4E 01 13 00      to    01 13 40 4E 01 00 00

SYS6/SYS,20,EA     change    61 C8 5E         to    61 C9 SE
      



         ******** 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.
SYS18/SYS,02,31
change 2C D7 28 06 FE 3D 20 F9 18 23 El
to     2C CD CF 65 28 27 FE 0D 20 F7 El

BASIC/CMD,14,D8
change    00 00 00 00 00
    to    23 7E FE 3D C9
      



         ******** 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.
SYS6/SYS,05,96
change 64 01 00 01 18
to     64 CD 80 5C 18

SYS6/SY5,15,46
change 00 00 00 00 00 00 00 00 00 00 00 00 00 00
to     01 00 01 B7 C0 13 13 1A 32 BC 64 1B 1B C9
      



         ******** 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.
SYS16/SYS,00,6A    change    C3 1A 52 CB        to    C3 4B 50 CB
      



         ******** ZAP 017 ******** 08/18/81 ******** V2M1
Mandatory zap to correct error in COPY and FORMAT where DDSL parameter was being erroneously rejected.
SYS6/SYS,01,FA     change    CB 70 20     to    CB 52 20
      



         ******** 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.
SUPERZAP/CMD,00,04
change    00 00 00 00 00 00 00 00 00 00 00 00 00
    to    3A 91 54 CB 5F C0 2A B4 54 22 95 54 C9

SUPERZAP/CMD,03,43     change    54 3A 91 54 CB     to    54 CD 00 52 CB
      



         ******** 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.
SYS0/SYS,07,E6    change    28 39 CD    to    28 5D CD

SYS0/SYS,08,1F
change

                                             C9
23 7E 23 66 6F 7C B5 C8 7E BB 23 20 02 7E BA 23
20 EE E5 D5 C5 7E A0 23 23 23 5E 23 56 D5 DD El
7A B3 C4 D4 03 Cl D1 El CB 40 28 D4 B7 28 D1 C9
CD

to

                                             C9
7E BB 23 20 02 7E BA 23 20 1A E5 D5 C5 7E A0 23
23 23 5E 23 56 D5 DD El CD D4 03 Cl D1 El CB 40
28 02 B7 C0 23 7E 23 66 6F 7C B5 20 D3 C3 F8 4C
CD

SYS0/SYS,10,08    change C9 00 00 00 00 00 00 00 00
                      to C9 CB 40 C0 79 C9 A4 4B 00

SYS14/SYS,02,74    change    43 00 00 43
                       to    43 FC 4C 43
      



         *********** 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.
BASIC/CMD,11,18    change    CD E1 61 79 DD    to    CD D4 65 00 DD

BASIC/CMD,14,DD    change   00 00 00 00 00 00 00
                       to   C5 CD El 61 79 Cl C9
      



         *********** 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.
EDTASM/CMD,05,12    change    CD 39 59 0E
                        to    CD 00 57 0E

EDTASM/CMD,03,1A    change 40 7D E6 3F C0 11 C0 FF 19 C9
                        to 40 CD 39 59 3E 0E C3 39 59 C9
      



         ******** 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.
SYS6/SYS,10,0A    change 3A CA 59 FE 02 C0 7D
                      to 3A C6 59 FE 61 D0 7D
      



         *********** ZAP 024 ******** 08/30/81 ******** V2M1
Mandatory zap to DOS to:
1. 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.
2. 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.
SYS6/SYS,07,1E    change    C6 22 1A 5B 3E
                      to    C6 CD 8E 5C 3E

SYS6/SYS,15,54    change 00 00 00 00 00 00 00 00
                      to 22 1A 5B DD CB 01 F6 C9

SYS6/SY5,27,5D    change    6F C2 47 67
                      to    6F C4 51 67
      



         ******** 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).
VC/CMD,68,B8    change    90 80 40
                    to    90 82 40
      



         ******** 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).
PENCIL/CMD,05,AB    change    3C 80 40
                        to    3C 82 40
      



         ******** 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.".
DISASSEM/CMD,04,11    change    5A D5 DD El DD
                          to    5A CD E0 6D DD

DISASSEM/CMD,24,60    change    00 00 00 00 00 00 00
                          to    D5 DD E1 21 A0 6F C9
      



         ******** 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.
SYS6/SYS,03,BE    change    02 F9 86
                      to    02 B9 86

SYS6/SYS,04,90    change    00 02 4E
                      to    00 00 4E
      



         ******** 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.
1. To make a double density, single sided NEWDOS/80 Version 2 system diskette.
1. You must have an excellent working Percom or LNW double density modification in your expansion interface.
2.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.
3.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).
4.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.
5.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
2. To make a double sided, single density NEWDOS/80 Version 2 system diskette.
1.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.
2.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.
3.Place a write protect tab on the system diskette you have just changed.
4.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).
5.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.
3. To make a double sided, double density NEWDOS/80 Version 2 system diskette.
1.You must have an excellent working Percom or LNW double density interface in your expansion interface.
2.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,GPL=2,DDGA=2
This is for a 40 track drive, for 35 use TC=34, for 80 use TC=79.
Further:
1. 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.
2. 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).
3. 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 co~nds
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.
1. 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.
1.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).
2.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
2. 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.
3. 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.
1. 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.
2. 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.
3. 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).
4. Format 5 with the BDU option allows some alien diskette& to be copied that otherwise could not be copied.
5. 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.
6. Format 6 copies all of a source diskette's files or a selected subset of those files.
7. 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.
8. If format 6 is being used to copy a NEWDOS/80 Version 2 system diskette, the FMT option must be specified. This assure& 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.
9. 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 FDE& in the directory, and only YMT can assure that these FDE# are available.
10. 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 diskette& 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:
1. Page 2-9, next to last paragraph: "For Model III TRSDOS and Model 1 TRSDOS 2.3B diskette&, see ZAP 031."
2. 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."
3. Page 2-15, "The user must par: "See examples 1 and 3, section 2.37".
4. Page 2-35. "Flag W' paragraph: "Expanded to include Model I TRSDOS 2.3B or higher diskettes. See ZAP 031
5. 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.
6. Page 12-7, paragraph 12.5.1: "See ZAP 031."
SYS6/SYS,00,7D    change    CD B3 63 21    to    CD 96 SC 21

SYS6/SYS,15,5C     change

                                    00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00

to

                                    CD B3 63 3A
BE 59 47 3A B9 59 4F 3A CC 59 57 3A C7 59 5F 79
A3 CB 6F 28 06 78 AA 0F DA 47 67 78 CB 69 20 04
CB 6B C8 7A 0F D8 21 5B 5E 22 F7 55 21 Bl 5B 22
5D 5B 21 00 5C 22 61 5B AF 32 7F 61 67 6F 22 BF
61 22 B5 5B 3E 18 32 2D 61 C9

SYS6/SYS,22,6B    change    CD B3 63 CD
                      to    CD 96 5C CD

SYS16/SYS,01,F8   change    05 28 02 3E 03 CD
                      to    05 00 C4 81 51 CD

SYS16/SYS,02,AF   change    CB E3 DD 7E 05 FE 06 C0
                      to    CB 43 3E 06 C4 87 51 C0

SYS16/SYS,04,9A   change    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                      to    00 CB E3 DD BE 05 C9 DD CB 0F 56 C8 3E 03 C9
      



         ******************* ZAP 032 ******** 09/10/81 ******** V2M1
Mandatory zap to DOS to:
1. 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.
2. enable /ext type CBF file selection when the source is a Model I TRSDOS 2.3B or Model III TRSDOS diskette.
SYS6/SY5,10,83    change    C3 39 44 DD    to    C3 E4 5C DD

SYS6/SY5,15,AA
change    00 00 00 00 00 00 01 00 EA 5C 00 00 00 00 00 00 00 00
    to    3A 0C 43 CB 6F 28 01 00 EA 5C 04 DD CB 02 EE C3 39 44

SYS6/SYS,16,F0
change    61 20 0D 3A 96 59 CB
    to    61 3A 96 59 20 0A CB
      



         ******** ZAP 033 ******** 09/10/81 ******** V2M1 ********
Mandatory zap to correct error in SUPERZAP during the DM function and during the F, find function.
SUPERZAP/CMD,00,11
change   00 00 00 00 00 00 00
    to   6B 63 4B 22 C3 54 C9

SUPERZAP/CMD,05,0B
change   00 6B 63 4B CB
   to    00 CD 0D 52 CB
      



         ************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).
RSCOBOL/CMD,99,7D    change    44 24 3E 40 49          to    44 82 27 44 49

RSCOBOL/CMD,99,CF    change    44 13 1F 44             to    44 82 27 44

RUNCOBOL/CMD,115,82  change    44 3E 40 49 40 24 17    to    44 27 44 49 40 82 17

RUNCOBOL/CMD,115,99  change    02 1F 44 11 44 13 0A    to    02 27 44 11 44 82 0A
      



         ******** 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 diskette&. 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.
SYS3/SYS,01,CC
change    00 7D D6 17 BB 30 1D
    to    00 7B C6 16 BD 38 1D
      



         ******** ZAP 036 ******** 09/13/81 ******** V2M1
This is an information zap.
1. 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.
A. Place in the outside margin of the "2. L T=nnnnnn" paragraph of page 6-15 the following restriction: "Model I only"
B.Place in the outside margin of the 2nd line of page 6-16 of page 6-16 the following restriction: "Model I only"
2. 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".
3. Delete the words "sectors per track, " from the "Format 5 is a full" paragraph of page 2-11.
4. 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.
FIREUP/CMD,02,51  change    3A 31 0D       to    3A 30 0D
FIREUP/CMD,04,90  change    21 86 63 22    to    21 FC 61 22
FIREUP/CMD,05,3C  change    40 09 58 01    to    40 FF 57 01
FIREUP/CMD,05,40  change    05 28 65       to    05 86 65
FIREUP/CMD,05,4E  change    05 30 5F       to    05 8E 5F
FIREUP/CMD,05,55  change    05 60 5F       to    05 BE 5F
FIREUP/CMD,05,5C  change    05 CF 64 21    to    05 2D 65 21
FIREUP/CMD,05,63  change    05 BE 64 21    to    05 1C 65 21
FIREUP/CMD,05,6A  change    05 95 64       to    05 F3 64

INSTALL/CMD,01,0D change    3A 31 0D       to    3A 30 0D
INSTALL/CMD,01,4F change    44 C8 FE       to    44 C9 FE

REMOVE/CMD,01,12  change    3A 31 0D       to    3A 30 0D
REMOVE/CMD,01,54  change    44 C8 FE       to    44 C9 FE
      



         ************* 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. SCRIPTSIT execute& 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.
SCRIPSIT/LC,19,E3 and SCRIPSIT/UC,19,E3
change    6F C3 00      to    6F 76 00
      



         ******** 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.
PENCIL/CMD,03,25
change    53 36 A0 Cl
    to    53 CB FE Cl
      



         ******** 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.
SYS2/SYS,01,CB
change    FE CD 28
    to    FE CC 28
									  



         ******** ZAP 041 ******** 09/29/81 ******** V2M1
Information and manual corrections.
1. A number of users have had trouble with tape 110 under NEWDOS/80 Version 2. Some of the early copies of NEWDOS/80 Version 2 had errors due to undetected RAM errors during duplication and in maybe an many as 20 cases this affected the EDTASM or LMOFFSET module. However, if these modules were bad, they usually also had problems with disk I/O as well as cassette I/O and so if disk I/O works fine, we assume it is not a bad copy of NEWDOS/80.
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!!!!!
2. The specifications for ROUTE using the MM=addr1 operand are in error in the manual.
A. Page 2-43, 3rd paragraph, 3rd line, change "12" to "16".
B. Same paragraph, 5th line, change "13th" to "17th".
C. Page 2-44, top line, change "0FE8CH" to "0FE90H".
3. 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.
4. For BASIC CMD "0" 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.
5. 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.".
6. 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.
SYS11/SYS,03,BB    change    0F ED 42 DF 38  to	 0F CD 9D 51 38

SYS11/SYS,04,A5    change    00 00 00 00 00  to	 ED 42 D8 DF C9
									  



         ******** 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.
SYS0/SYS,00,BF   change    FF 00 00 00  to  FF FC 4C 00
									  



         ******** 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".
SYS6/SYS,10,35	  change   E1 3A 6D 43 CB 5F C8 3E
                        to   E1 00 00 00 00 00 00 3E

SYSl7/SYS,02,55	  change   FE 31 7A  to	 FE FE 7A
									  



         ******** 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.
SYS12/SYS,04,BA    change  FE 38 30        to  FE 35 30

SYSl8/SYS,03,57    change  D2 B5 57 3D     to  D2 59 55 3D

SYS18/SYS,03,69    change  00 00 00 00 00  to  11 45 64 D5 EF
									  



         ******** 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.
SYS3/SYS,04,BF    change  30 02 3E  to  30 07 3E

SYS3/SYS,04,C8	  change  00 00 00 00 00 00 00 00
                      to  FE 80 38 F7 C6 20 18 E3
									  
Use next zap if 0BFH rather than SYSTEM option AX is to govern as high ASCII for JKL.
SYS3/SYS,04,B9	  change  47 3A 70 43 B8  to  47 00 3E BF B8
									  



         ******** 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).
SYS6/SYS,27,BD    change  E6 41 DD  to  E6 Cl DD

SYS6/SYS,31,F5    change  34 0A 26 0A 86 01 9C 27 44 00
                      to  13 0A 14 0A 53 01 BA 27 26 00

SYS16/SYS,04,2D	  change  12 lA 24 34 82  to  12 lE 24 3C 82
									  



         ******** 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.
EDTASM/CMD,31,00    change
58 C5 CD 2F 59 E1 E5 3A AA 53 F5 0E 01 CD 47 5B F1 32 AA   to
58 D5 C5 CD 2F 59 El 06 1F CD 40 00 DA D7 58 Dl 7E C9 AA
									  



         ******** 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.
SYS8/SYS,02,B8	  change  20 FC C9  to	20 F9 C9
									  



         ******** 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.
SYSl4/SYS,04,5A	   change  20 D0 FE  to  20 C9 FE
									  



         ******** ZAP 051 ******** 11/09/81 ******** V2M1
Information zap.
1. Users must remember that the Model I TRSDOS 2.3B or higher and Model III TRSDOS 1.3 or higher, amongst other things, both went to using RBAs in the NEXT and EOF fields of the FCB, thus intentionally or unintentionally restablishing compatibility with NEWDOS 2.1 and NEWDOS/80 in the use of those two fields (which many user programs use), even though the EOF fields in the directories (which most user programs don’t use) are now incompatible. Though files from those systems must be copied to NEWDOS diskettes, assembly language programs upgraded to run with those TRSDOS systems are more like to run with NEWDOS without change then they were before. For example, on the Model III, SCRIPSIT Version 3.2 has been found to work as-is. So, before calling Apparat to see if zaps exist for a given program, try it out, giving special attention to the file I/O.
2. 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.
A. Page 2-7, the "CHAINING is discussed" paragraph.
B. Page 2-29, the "In NEWDOS/80" paragraph.
C. Page 2-47, the "AJ=yn" paragraph.
D. Page 4-9, the "If a DOS recognized" paragraph.
3. 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.
A. Page 2-7, the "When the system" paragraph.
B. Page 4-8, the "Chain file creators" paragraph.
4. 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.
BASIC/CMD,08,C8	  change  66 11 2D 01 7E  to  66 CD DB 65 7E

BASIC/CMD,l4,E4	  change  00 00 00 00 00  to  ED 5B C5 64 C9
									  



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