TRS-80 Zaps – DOS – NEWDOS/80 v2.0 (Official)

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#
Type
Area
Program
Reference
Mandatory
User
APL80/CMD
APL80/CMD
Mandatory
Utility
ASPOOL/MAS
*ASP,S function
Mandatory
BASIC
BASIC/CMD
Basic Editing
Mandatory
BASIC
BASIC/CMD
Marked & Fixed Item File Processing
Mandatory
BASIC
BASIC/CMD
CLOSE command
Mandatory
BASIC
BASIC/CMD
CMD”O” function
Mandatory
BASIC
BASIC/CMD
RBA Extended to 16,777,215
Mandatory
User
BRUM/CMD
Microsoft BASIC COMPILER v 5.23
Mandatory
Utility
CHAINBLD/BAS
Version 1 Format
Mandatory
Utility
CHAINBLD/BAS
Non-Displayed Character
Optional
User
DIR/SYS
Microsoft BASIC COMPILER v 5.23
Mandatory
Utility
DISASSEM/CMD
RTD Option
Mandatory
User
DSMB/CMD
Racet’s DSM module DSMB/CMD
Mandatory
User
EDIT/CMD
Microsoft’s EDIT/CMD
Optional
Utility
EDTASM/CMD
Disable LC to UC Conversion
Mandatory
Utility
EDTASM/CMD
Cursor Display
Info
Utility
EDTASM/CMD
Documentation errors
Info
Utility
EDTASM/CMD
Tape I/O for Mod III disabled
Mandatory
Utility
EDTASM/CMD
Filespec Response & <Shift-Lf-Arrow>
Mandatory
Utility
EDTASM/CMD
Object Code to Cassette
Mandatory
Utility
EDTASM/CMD
Correct & Restate ZAP #54
Mandatory
Utility
EDTASM/CMD
File Close Problem
Mandatory
Utility
EDTASM/CMD
Drives Stopping
Mandatory
User
FIREUP/CMD
BIONIC BASIC
Mandatory
User
IBLOAD/CMD
Racet’s INFINITE BASIC
Mandatory
User
INIT
Radio Shack’s Model I PROFILE
Mandatory
User
INSTALL/CMD
BIONIC BASIC
Optional
User
L80/CMD
Microsoft BASIC COMPILER v 5.23
Mandatory
Utility
LMOFFSET/CMD
Object Code Block Load
Mandatory
Utility
LMOFFSET/CMD
Appendage
Mandatory
User
PENCIL/CMD
ELECTRIC PENCIL
Mandatory
User
PENCIL/CMD
ELECTRIC PENCIL
Mandatory
User
PENCIL/CMD
ELECTRIC PENCIL
Optional
User
PROFILE/CMD
Reenable Interrupts
Mandatory
User
REMOVE/CMD
BIONIC BASIC
Mandatory
User
RS COBOL/CMD
Ryan-McFarland Corp COBOL v l.3B
Mandatory
User
RUNCOBOL/CMD
Ryan-McFarland Corp COBOL v l.3B
Mandatory
User
SCRI7/CTL
Radio Shack’s Model I SUPERSCRIPSIT
Info
User
SCRIPSIT
Model I Cassette I/O
Mandatory
User
SCRIPSIT/CMD
Radio Shack’s Model I SUPERSORIPSIT
Mandatory
User
SCRIPSIT/LC
Radio Shack’s Model I SCRIPSIT
Optional
User
SCRIPSIT/LC
Double Density & END command
Mandatory
User
SCRIPSIT/UC
Radio Shack’s Model I SCRIPSIT
Optional
User
SCRIPSIT/UC
Double Density & END command
Mandatory
Utility
SUPERZAP/CMD
DM,P functions
Mandatory
Utility
SUPERZAP/CMD
DM & F functions
Mandatory
Utility
SUPERZAP/CMD
DMDB function
Optional
DOS
SYS0/SYS
Increase Drive Power-On Delay
Mandatory
DOS
SYS0/SYS
ROUTE command
Mandatory
DOS
SYS0/SYS
ROUTE command
Optional
DOS
SYS0/SYS
Patch LC Keyboard Modification
Mandatory
DOS
SYS0/SYS
Disk Status Register Reads
Mandatory
DOS
SYS0/SYS
4445H call to DOS
Optional
DOS
SYS0/SYS
Double Density Write Precomp Logic
Mandatory
DOS
SYS2/SYS
Directory Entries
Mandatory
DOS
SYS30/SYS
CLOSE & KILL commands
Optional
DOS
SYS3/SYS
“JKL” : Graphics to Epson Printers
Optional
DOS
SYS6/SYS
Double Density Format Sensitivity
Optional
DOS
SYS6/SYS
To allow COPY of TRSDOS 1.2 (Mod 3)
Mandatory
DOS
SYS6/SYS
COPY Format 5
Mandatory
DOS
SYS6/SYS
COPY & FORMAT: DDSL parameter
Mandatory
DOS
SYS6/SYS
Granule Lockout Table in Directory
Mandatory
DOS
SYS6/SYS
FORMAT & COPY commands
Mandatory
DOS
SYS6/SYS
FORMAT: PFST parameter
Mandatory
DOS
SYS6/SYS
TRSDOS 2.3B (I) or TRSDOS 1.3 (III)
Mandatory
DOS
SYS6/SYS
TRSDOS 2.3B (I) or TRSDOS for Mod 3
Mandatory
DOS
SYS6/SYS
SYSTEM: 3M parameter disabled
Mandatory
DOS
SYS6/SYS
PDRIVE: 8 Inch, Double Density
Mandatory
DOS
SYS6/SYS
COPY: CBF param & Model III TRSDOS
Mandatory
DOS
SYS6/SYS
COPY command
Mandatory
DOS
SYS6/SYS
Radio Shack’s Double Density Board
Optional
DOS
SYS6/SYS
Double Density Write Precomp Logic
Optional
DOS
SYS6/SYS
Model I TRSDOS 2.7DD Diskettes
Mandatory
DOS
SYS6/SYS
COPY: TRSDOS 2.3B or Higher
Mandatory
DOS
SYS6/SYS
COPY Format 5
Mandatory
DOS
SYS8/SYS
DIR $ or DIR $0
Optional
DOS
SYS8/SYS
DIR: Remote Terminal Operators
Mandatory
DOS
SYS9/SYS
Chaining: /./5Y function
Mandatory
BASIC
SYS11/SYS
RENUM function
Mandatory
BASIC
SYS12/SYS
REF$ function
Mandatory
DOS
SYS14/SYS
ROUTE command
Optional
DOS
SYS14/SYS
PRINT & LIST: Control Characters
Mandatory
DOS
SYS14/SYS
CREATE: Old File’s EOF
Mandatory
DOS
SYS16/SYS
PDRIVE error
Mandatory
DOS
SYS16/SYS
TRSDOS 2.3B (I) or TRSDOS 1.3 (III)
Mandatory
DOS
SYS16/SYS
PDRIVE: 8 Inch, Double Density
Mandatory
DOS
SYS16/SYS
Radio Shack’s Double Density Board
Mandatory
DOS
SYS17/SYS
SYSTEM: BM parameter disabled
Mandatory
DOS
SYS17/SYS
COPY command
Mandatory
BASIC
SYS18/SYS
Basic Editing
Mandatory
BASIC
SYS18/SYS
REF$ function
Mandatory
BASIC
SYS18/SYS
REF= statement
Mandatory
BASIC
SYS19/SYS
Dynamic MERGE
Mandatory
BASIC
SYS21/SYS
CMD”O” function
Mandatory
BASIC
SYS21/SYS
CMD”O” function
Mandatory
User
VC/CMD
Radio Shack’s Model I VISICALC
Mandatory
User
VC/CMD
Radio Shack’s Model I VISICALC
Mandatory
User
VC/CMD
Model III VISICALC v VC-150Y0-T83
Mandatory
User
VC/CMD
Model III VISICALC v VC-150Y0-T83
Info
DOS
Command
ATTRIB: LRL=xxx Parameter
Info
DOS
Command
ROUTE: display of routes
Info
DOS
Command
COPY: DFO parameter
Info
DOS
Command
FORMAT: RWF parameter
Info
DOS
Command
PDRIVE & COPY: Double Density
Info
DOS
Command
PDRIVE: OMIKRON & 8 Inch Drives
Info
DOS
Command
Model I & Model III Data Exchange
Info
DOS
Command
COPY: Formats 5 & 6 discussed
Info
DOS
Command
Documentation Correction
Info
DOS
Command
ROUTE: Documentation Correction
Info
DOS
Command
Automatic Density Recognition
Info
BASIC
Command
CMD”O”: explanation
Info
DOS
Command
SYSTEM: AX parameter correction
Info
DOS
Command
SYSTEM: AJ=N explanation expanded
Info
DOS
Command
DIR & FREE Error Messages
Info
User
Command
Program Parameters
Info
DOS
Command
COPY: Format 6
Info
DOS
Command
GAT Overflow & CBF with FMT COPY
Info
DOS
Command
LIST & PRINT: no graphics
Info
DOS
Command
Accessing files on Model III TRSDOS
Info
DOS
Command
Accessing Model I TRSDOS 2.3B & Up
Info
DOS
Command
LC,Y & LC,N without Disk I/O
Info
BASIC
Command
CMD”O” & Multi-Dimension Arrays
Info
BASIC
Commands
LOAD, RUN, MERGE & RENUM
Info
DOS
Commands
FORMS & SETCOM omission in Model I
Info
DOS
Features
Main Memory, High Memory, MINI-DOS
Info
DOS
General
Reserved ZAP Areas in NEWDOS/BO
Info
DOS
General
Cassette I/O
Info
DOS
General
TRSDOS 2.3B (I) & TRSDOS 1.3 (III)
Info
DOS
General
Chain Filename & /JCL extension
Info
DOS
Hardware
CPU Speed Up Modifications
Info
DOS
Hardware
LNW-80 Computer Users
Info
DOS
Hardware
CPU Speed Up Modifications
Info
DOS
Mini-dos
Illegal under DOS-CALL
Info
BASIC
Utility
RENUM usage
Info
DOS
Zaps
NEWDOS/80 Version 2.5

*** 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/?C
11,75
change
47 00 CD 6E 7A 4F
 
 
to
47 00 3A B9 7C 4F

SCRIPSIT/?C
11,FB
change
B7 C4 EF 5D 79
 
 
to
B7 32 B6 7C C4

SCRIPSIT/?C
12,00
change
32 B9 7C 11
 
 
to
EF 5D 00 11

SCRIPSIT/?C
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/?C
00,C3
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 007 *** 08/04/81 *** V2M1 ***

This is information rather than an actual zap.

  1. 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.
  2. 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.
  3. DOS command ROUTE (see section 2.43) has been altered such that existing routes are displayed only if the ROUTE command has no parameters.
  4. 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.
  5. 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
change
44 38 11 28 07 FE 1A 28 13 C3 47 52 CD
 
or 00,64
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
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 1E 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 E1
 
 
to
2C CD CF 65 28 27 FE 0D 20 F7 E1

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

BASIC/CMD
14,D8
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
CD 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 E1 7A B3 C4 D4 03 C1 D1 E1 CB 40 28 D4 B7 28 D1 C9 CD
 
 
to
CD 7E BB 23 20 02 7E BA 23 20 1A E5 D5 C5 7E A0 23 23 23 5E 23 56 D5 DD e1 CD D4 03 c1 D1 e1 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 e1 61 79 c1 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 e1 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:
    3. PDRIVE,0,6,TI=A,TD=C,TC=40,SPT=20
    4. 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.
    5. Place a write protect tab on the system diskette you have just changed.
    6. 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).
    7. 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,GP1=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 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.

  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 diskettes 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 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.
    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 FDES 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 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.”
SYS6/SYS
00,7D
change
CD B3 63 21
 
 
to
CD 96 5C 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 B1 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 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.

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.
    1. Place in the outside margin of the “2. L T=nnnnnn” paragraph of page 6-15 the following restriction: “Model I only”
    2. 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. 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.

SCRIPSIT/LC
19,E3
change
6F C3 00
 
 
to
6F 76 00

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 C1
 
 
to
53 CB FE C1

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

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!!!!!

  1. The specifications for ROUTE using the MM=addr1 operand are in error in the manual.
    1. Page 2-43, 3rd paragraph, 3rd line, change “12” to “16”.
    2. Same paragraph, 5th line, change “13th” to “17th”.
    3. Page 2-44, top line, change “0FE8CH” to “0FE90H”.
  2. 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.
  3. 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.
  4. 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.”.
  5. 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 c1 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 1A 24 34 82
 
 
to
12 1E 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 e1 06 1F CD 40 00 DA D7 58 D1 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. 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.
    1. Page 2-7, the “CHAINING is discussed” paragraph.
    2. Page 2-29, the “In NEWDOS/80” paragraph.
    3. Page 2-47, the “AJ=yn” paragraph.
    4. Page 4-9, the “If a DOS recognized” paragraph.
  2. 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.
    1. Page 2-7, the “When the system” paragraph.
    2. Page 4-8, the “Chain file creators” paragraph.
  3. 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 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

BRUN/CMD
10,1D
change
46 0B 70
 
 
to
46 00 70

Optional section

The following optional zaps are for:

  1. PUT and GET without explicit record number works correctly.
  2. 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

DIR/SYS
xx,yy
change
the 62 (the 4th) byte
 
 
to
F6

BRUN/CMD
40,4A
change
21 0C 00 09 5E 23 56 EB D1 c1 C9 CD
 
 
to
DD 21 6E 8A CB 23 DD 19 C3 2E 8A CD

BRUN/CMD
40,63
change
00 C3 AD 79 E1
 
 
to
00 C3 37 8A E1

BRUN/CMD
40,B3
change
C5 21 0C 00 09
 
 
to
C5 C3 00 8A 09

BRUN/CMD
40,CE
change
1B 42 4B
 
 
to
CD 11 8A

BRUN/CMD
42,7F
change
CD 17 58
 
 
to
CD 1B 8A

BRUN/CMD
56,84
change
02 02 00 52 (the rest is immateria1)
 
 
to
01 6D 00 8A CB 23 DD21 6E8A DD19 DD5E 00DD 5601 C317 7ADD 7300 DD72 011B 424B C9C5 CB21 DD21 6E8A DD09 DD70 00DD 7001 C1C3 1758 DD6E 00DD 6601 D1C1 C9C5 DDE1 DD6E OADD 660E DD5E 0FDD 4E0B AFB9 281D AF06 18ED 6ACB 1317 9130 0181 3F10 F4ED 6AB7 2801 23D1 C1CB 7CC8 C39A 7D6C 6318 F402 0200 52

L80/CMD
00,7A
change
00 8A 22
 
 
to
00 8B 22

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.

EDTASM/CMD
27,30
change
CD A9 70 03
 
 
to
CD 8B 72 03

EDTASM/CMD
31,12
change
AA 53 36 00 E1 7E
 
 
to
F5 CD A9 70 F1 C9

*** ZAP 055 *** 11/19/81 *** V2M1 ***

Optional zap to DOS to allow the PATCH LC keyboard modification to work with NEWDOS/80 Version 2.

SYS0/SYS
02,34
change
2E 36 01 01 38 16 FF 0A 5F AE 73 A3 20 0D 7A C6 08 57 2C CB 01 F2 4A 45 AF 18 0F 5F
 
 
to
2E 35 01 80 38 16 F7 7A C6 08 57 2C CB 01 0A 5F AF CB 79 20 15 7B AE 73 A3 28 EC 5F

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

SYS6/SYS
25,F0
change
CD B2 4C DD
 
 
to
CD F2 5C DD

SYS6/SYS
15,BC
change
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 
 
to
DD CB 02 6E 28 04 DD CB 07 46 CA B2 4C 3E 03 C3 B4 4C

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

SYS6/SYS
07,79
change
52 CD 35 55 ED
 
 
to
52 C3 1C 50 ED

SYS6/SYS
21,85
change
3E E6 28
 
 
to
3E F3 28

SYS17/SYS
00,0C
change
2A C2 81 4E 78
 
 
to
2A C0 00 00 78

SYS17/SYS
03,2C – 9E
change
(A11 Zeroes)
 
 
to
CD 35 55 ED 5B c1 59 CD 84 57 ED 4B 94 59 CB 49 20 5E CD F9 56 1E 61 3A C6 59 BB 38 0E 3A B8 59 BB 30 08 1D 6B 36 FF 1D 23 20 FA CB 68 28 06 2A 81 59 22 CE 42 79 E6 0C 01 10 00 11 D0 42 21 83 59 20 07 21 8B 59 1E D8 0E 08 ED B0 2A D1 59 ED 5B C3 59 B7 ED 52 EB 38 11 28 0F 2A C3 59 3A BC 59 CD B4 4C 26 42 4F CD 62 57 CD 1F 49 C2 CB 54 C3 2D 55

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

LMOFFSET/CMD
01,36
change
78 05 85
 
 
to
78 3D 85

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

EDTASM/CMD
27,30
change
CD A9 70 03
 
 
to
CD 8B 72 03

EDTASM/CMD
31,12
change
AA 53 36 00 e1 7E
 
 
to
F5 CD A9 70 F1 09

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

SYS0/SYS
00,33
change
00 00 00 00 00 00 00
 
 
to
F5 07 DC E8 47 F1 C9

SYS0/SYS
02,E7
change
3A EC 37 3A E0 37 01 00 FC 45 07 DC
 
 
to
3A E0 37 07 CD 53 01 00 FC 45 40 DC

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

SYS8/SYS
02,94
change
0A 16 0F CD 6B 50 0B
 
 
to
0A CD 6B 50 16 0F CB

SYS8/SYS
03,8A
change
50 3A 40 38 E6 05 28 F9 0F D2 2D 40 3E
 
 
to
50 CD 49 00 3D CA 2D 40 FE 0C 20 F5 3E

*** 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).

SYS0/SYS
08,77
change
38 31 2B 18 1D CD
 
 
to
38 10 2B 18 0D CD

*** ZAP 063 *** 01/18/82 *** V2M1 ***

Information zap.

  1. 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.

  2. 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
    
  3. In BASIC, RENUM does not renumber the CMD"F",DELETE statement properly. No zap will be issued to correct this.
  4. 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:
    1. 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.
    2. 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.
    3. 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.
  5. 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.
    1. 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.
    2. 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.
    3. 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.
  6. [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:
    1. 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.
    2. 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.
  7. 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.
  8. [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.

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

SYS9/SYS
01,97
change
43 B7 20 06 CB
 
 
to
43 CD 3A 51 CB

SYS9/SYS
04,4E
change
00 00 00 00 00 00 00 00 00 00 00 00 00
 
 
to
B7 C2 99 4E 78 E6 50 FE 40 CA 2D 40 C9

*** 065 *** 02/15/82 *** V2M1 ***

Information zap.

  1. 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.
  2. 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.
  3. 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.

SYS19/SYS
00,DA
change
C5 21 3E 54 22
 
 
to
C5 CD 20 56 22

SYSl9/SYS
02,9D
change
C1 D1 E1 C9 2A
 
 
to
C1 C3 2A 56 2A

SYS19/SYS
02,E2
change
CD F2 54 CD
 
 
to
CD 38 56 CD

SYS19/SYS
03,76
change
00 ED 52 38 2E 21 00 00 ED 52 30 27 AF
 
 
to
00 00 CD 41 56 21 00 00 09 CD 49 56 AF

SYS19/SYS
04,34
change
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 00
 
 
to
2100 0022 4256 213E 54C9 2A42 56ED 5B7A 5519 2242 56D1 E1C9 474F ED43 4256 C3F2 5401 0000 09ED 5218 03ED 523F D0F1 C399 55

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

VC/CMD
86,CA
change
E5 CD 90 42 FD
 
 
to
E5 3E 08 B7 FD

VC/CMD
00,1E
change
2A 11 44 7D
 
 
to
2A 49 40 7D

VC/CMD
00,AA
change
2A 11 44 11
 
 
to
2A 49 40 11

VC/CMD
84,CB
change
C9 32 03 42 CD
 
 
to
C9 00 00 00 CD

VC/CMD
85,25
change
09 32 03 42 CD
 
 
to
C9 00 00 00 CD

VC/CMD
83,9D
change
F5 C5 D5 E5 CD 8D 02 28 0A CD 2D A4 e1 D1 c1 F1
 
 
to
F5 3A 40 38 E6 04 CC 35 A4 C4 2D A4 28 0B 00 F1

VC/CMD
84,C2
change
E5 CD 5A 00
 
 
to
E5 00 00 00

VC/CMD
85,05
change
E5 CD 55 00
 
 
to
E5 00 00 00

VC/CMD
84,BB
change
FF 32 FA 41 DD
 
 
to
FF 00 00 00 DD

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

SYS14/SYS
02,FE
change
28 47
 
 
to
28 41

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

SUPERZAP/CMD
05,12
change
03 2A B2 54 CD
 
 
to
03 CD 14 52 CD

SUPERZAP/CMD
00,18
change
00 00 00 00 00 00
 
 
to
3A B3 54 67 18 F6

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

SYS21/SYS
03,1E
change
18 29 B7
 
 
to
18 2B B7

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

VC/CMD
86,EB
change
E5 CD 90 42 FD
 
 
to
E5 3E 08 B7 FD

VC/CMD
00,1E
change
2A 11 44 7D
 
 
to
2A 49 40 7D

VC/CMD
00,B5
change
2A 11 44 11
 
 
to
2A 49 40 11

VC/CMD
84,EF
change
C9 32 03 42 CD
 
 
to
C9 00 00 00 CD

VC/CMD
85,46
change
C9 32 03 42 CD
 
 
to
C9 00 00 00 CD

VC/CMD
83,BB
change
F5 C5 D5 E5 CD 8D 02 28 0A CD 4B A4 E1 D1 C1 F1
 
 
to
F5 3A 40 E8 E6 04 CC 53 A4 C4 4B A4 28 0B 00 F1

VC/CMD
84,E6
change
E5 CD 5A 00
 
 
to
E5 00 00 00

VC/CMD
85,26
change
E5 CD 55 00
 
 
to
E5 00 00 00

VC/CMD
84,DF
change
FF 32 FA 41 DD
 
 
to
FF 00 00 00 DD

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

SYS18/SYS
02,1A
change
36 20 23 DF 38 FA 2B 36 FF 18 39 EB
 
 
to
36 FF 23 DF 30 3E 36 20 23 18 F8 EB

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

SYS6/SYS
07,7D
change
ED 5BC1 59CD 8457 ED4B 9459 CB49 2047 CDF9 56CB 6828 062A 8159 22CE 42
 
 
to
DD 5604 DD4E 06DD 7E02 E61C FEO8 C079 EE20 DD77 06C9 DD71 06DD 7307 C9

SYS6/SYS
27,C1
change
07 DD 56 04 DD
 
 
to
07 CD D7 54 DD

SYS6/SYS
27,CD
change
01 CD 59 69 20 03 CD AA 67 D1 DD E3 F5 DD 73 07 DD
 
 
to
01 C5 CD 59 69 CC AA 67 c1 D1 DD E3 F5 CD EC 54 DD

SYS16/SYS
00,D6
change
05 7B 07 F6 FC 57 DD
 
 
to
05 16 80 CD 95 51 DD

SYS16/SYS
02,56
change
E6 68 C0
 
 
to
E6 60 C0

SYS16/SYS
02,6A
change
20 1D CB
 
 
to
20 10 CB

SYS16/SYS
04,A9
change
00 00 00 00 00 00
 
 
to
CB 43 C0 16 A0 C9

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

SYS0/SYS
01,40
change
EF 00 00 00 3E 2A 18 AE C3
 
 
to
EF 32 EE 37 C3 67 47 00 C3

SYS0/SYS
01,62
change
EF 00 00 00 00 00 00 18 D9 AF
 
 
to
EF 3E CO 30 DA 3E E0 18 D6 AF

SYS0/SYS
03,9A
change
CD 67 47
 
 
to
CD B3 47

SYS0/SYS
04,A9
change
5E F3 3A 11 43 F6 FE 77 36 D0 FB 23
 
 
to
5E 18 08 3A 0D 43 0F BA C3 76 44 23

SYS6/SYS
29,5F
change
CD 67 47
 
 
to
CD B3 47

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

SYS6/SYS
14,25
change
00 3D 46 01 A8 41 46 01 A9 37 47 03 C3 0B 5C 37 48 01 0D 77 48 03 C3
 
 
to
00 A5 48 01 3E EE 48 01 00 F3 48 07 ED 5B 99 43 CD 0B 5C 8A 5B 00 C3

SYS6/SYS
14,67
change
01 50 D0
 
 
to
01 80 D0

SYS6/SYS
14,82
change
00 61 50 03 3E 1A B7 D6
 
 
to
00 67 50 03 36 80 23 D6

SYS6/SYS
14,8E
change
5C 12 51 01 1A 55 51 04 21 EF 5C C9
 
 
to
5C 0E 51 01 00 55 51 04 21 CD 40 C9

SYS6/SYS
14,A2
change
00 61 4E 01 0D 6C
 
 
to
00 8F 4E 01 80 6C

SYS6/SYS
14,B1
change
5B 18 EF 4E 02 35 56 DA 4E 01 2F 8B 4E 01 18 72
 
 
to
5B 28 EF 4E 02 35 56 E9 4F 02 36 00 00 5C 00 72

SYS6/SYS
14,D0
change
00 FB C1 20 0A 3A C4 46 36
 
 
to
00 21 08 00 19 7E 12 C9 E6

SYS6/SYS
14,E9
change
3E 05 CD
 
 
to
3E 08 CD

SYS6/SYS
14,FB
change
3E 30 CD
 
 
to
3E 20 CD

SYS6/SYS
15,21
change
06 50 7E
 
 
to
06 80 7E

SYS6/SYS
20,11
change
01 EF 5C 23
 
 
to
01 CD 40 23

SYS6/SYS
20,97
change
3E 50 20
 
 
to
3E 80 20

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

SYS6/SYS
05,C5
change
52 3A 14 53 B7 C8 CD 35 55 2A
 
 
to
52 CD 35 55 3A 14 53 B7 C8 2A

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

ASPOOL/MAS
02,E8
change
44 C2 09 44 21 8B 58 CD 67 44 C3 2D 40 01
 
 
to
44 C1 21 08 44 B7 ED 42 C8 C3 15 55 00 01

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

LMOFFSET/CMD
00,34
change
53 21 3E 5A CD
 
 
to
53 CD 15 5D CD

LMOFFSET/CMD
09,8F
change
00 00 00 00 00 00 00 00 00
 
 
to
3E 50 32 C3 58 21 3E 5A C9

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

  1. 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.
  2. 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.

SCRIPSIT/CMD
09,06
change
AB4F CDF0 4AC0 2100 4D01 2300 CB1E 3801 04CB 1E38 0104 0D23 20F2 0405 2801 0102 005B 0521 0500 CD71 6606 04CD 5166 7D32 227E AFC9 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
 
 
to
ABC6 3032 225B 211E 5BCD 1944 C006 0411 333C 21DC AC1A 7713 D630 FE0A 3001 0102 005B 2310 F436 84CD B268 0605 CD71 6606 04CD 5166 7D24 2528 023E FF32 227E AFC9 4449 5220 302C 2F51 3951 0D00

SCR17/CTL
02,3A
change
69 FE 30 38 F9 FE 34 30 F5 CD E5 75 OE 00 32 71 42 CD 19 44 3E 0F CD 33 00 21
 
 
to
69 32 70 8D 21 6C 8D CD 19 44 28 05 F6 CO CD 09 44 18 06 44 49 52 20 30 OD 21

SCR17/CTL
04,AF
change
8E 00 4E
 
 
to
8E 44 4E

*** ZAP 084 *** 09/17/82 *** V2M1 ***

Information zap.

  1. 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).
    1. For a single dimension array whose DIM statement is DIM A(R1) and for array element A(X1):
      X1 = REN
    2. 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.
    3. 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.
  2. 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.

SYS6/SYS
22,36
change
5A 28 0E CB
 
 
to
5A 00 00 CB

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

EDTASM/CMD
30,61
change
CA F8 01 CD
 
 
to
CA 08 57 CD

EDTASM/CMD
03,23
change
C9 3A 28 52 F6 08 32
 
 
to
AF 32 2E 76 C3 F8 01

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

SYS21/SYS
01,14
change
04 DD 77 04 D7
 
 
to
04 CD E0 65 D7

SYS21/SYS
0l,7F
change
DF C2 4A 1E F1
 
 
to
DF CD E5 65 F1

SYS21/SYS
01,8E
change
01 32 02 4F F1
 
 
to
01 CD 17 66 F1

SYS2l/SYS
02,88
change
DD 7E 04 B7 28
 
 
to
DD CB O4 7E 28

SYS21/SYS
03,EE
change
C9 DD 5E 13 DD
 
 
to
C9 CD 20 66 DD

SYS21/SYS
04,2C
change
14 19 10 FD C9
 
 
to
14 C3 2B 66 C9

SYS21/SYS
04,B5
change
0C 28 05 2B 1B ED B8 13 DD 73 09 DD 72 0A DD
 
 
to
0C EB B7 ED 42 DD 75 09 CD 34 66 20 22 00 DD

BASIC/CMD
14,E9
change
00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
 
 
to
DD CB04 FEC9 C24A 1E3A 0251 B7FD 2100 4228 04FD 2117 42E5

BASIC/CMD
15,00
change
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 00
 
 
to
DD6E 05DD 6606 ED5E 05FD 5606 DF20 04DD CB04 F611 1700 FD19 FD7E 00B9 38E8 E1C9 DDCB 0476 C032 024F C9DD 5E13 DDCB 0476 C8F1 09C9 DDCB 0476 C019 10FD C9DD 740A 09EB DDCB 0476 C078 B128 042B 1BED B8AF C9

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

EDTASM/CMD
29,2F
change
80 C0 32
 
 
to
80 C9 32

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

BASIC/CMD
29,2F
change
06 200F CDEF 0A7C 5559 0698 217E 63E5 C369
 
 
to
06 C460 66C4 085F CDEF 0A59 4C55 0600 2124

BASIC/CMD
08,00
change
09DD CB00 56CA D05D CD10 5F21 7E63 E560 69C3 9A0A AF45 6C67 ED5B 0257 3E11 1807 B701 001D 5FED 5230 0119 3FCB 11CB 10CB 15CB 1438 0B3D 20EC 7CB5 2801 03CB 78C8 C3
 
 
to
4136 9823 3680 CD65 07C3 7E63 EB21 0000 79ED 4B02 5708 3E18 0887 EBED 6AEB ED6A 3801 001D 5F06 B7ED 4209 3804 B7ED 423C 083D 20E8 08EB 4F7A B3C8 0CC0 237C B5C0 C3

BASIC/CMD
15,51
change
00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 00
 
 
to
CD 4F66 E5C3 174E CDB7 61E1 E3E5 C3E4 4DB5 B1CA D95D 79B7 C9DD CB00 56CA D05D C9

SYS10/SYS
00,E4
change
C5 CD B7 61 28
 
 
to
C5 C3 48 66 28

SYS10/SYS
00,FD
change
6F 18 2B
 
 
to
6F C9 00

SYS10/SYS
01,1D
change
F0 E5 C5
 
 
to
F0 C9 C5

SYS10/SYS
01,26
change
CD 10 5F 7C B5 20
 
 
to
CD 08 5F 00 00 20

SYS10/SYS
01,68
change
CDB7 6128 A1CD 7F0A EB7A B7FA D95D B3CA D95D 1BDD CB00 56CA D05D ED4B 0257 7821 0000 0611 CB3C CB1D 1FCB 1930 0119 10F4 2425 C2D9 5D65 6FC3
 
 
to
CD4F 667C CD58 6620 012B 0DDD CB00 56CA D05D EB79 ED4B 0257 2100 0008 3E19 08CB 3CCB 1DCB 1ACB 1B1F 3F01 0908 3D20 EF7C B5C2 D95D 08EB 4FC3

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