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 tryin to get the program creator/maintainer/distributor to create and distribute the necessary zaps to run with NEWDOS/80, Version 2, but where this does not occur and for widely used programs, Apparat will generate any necessary zaps. if Apparat decides to generate the zaps and does not have your particular version you will be asked to send the version you have on a diskette (as a gift to’ Apparat, see chapter 11) to Apparat so that Apparat may determine the appropriate zaps; Apparat will not seek out your version from another source, and will not create a zap from a paper listing.

* * * NEWDOS/80 Version 2.0 Model I ZAP Index * * *

ZAP#
Type
M=Mandatory
O=Optional
I=Informational
Area
Program
Reference

M    
User
APL80/CMD
APL80/CMD

M    
User
APL80/CMD
APL80/CMD

M
Utility
ASPOOL/MAS
*ASP,S function

M
BASIC    
BASIC/CMD
Basic Editing

M
BASIC
BASIC/CMD
Marked & Fixed Item File Processing

M
BASIC
BASIC/CMD
CLOSE command

M
BASIC
BASIC/CMD
CMD”O” function

M
User
BRUM/CMD
Microsoft BASIC COMPILER v 5.23

M
Utility
CHAINBLD/BAS    
Version 1 Format

M
Utility
CHAINBLD/BAS
Non-Displayed Character

O
User
DIR/SYS
Microsoft BASIC COMPILER v 5.23

M
Utility
DISASSEM/CMD
RTD Option

M
User
DSMB/CMD
Racet’s DSM module DSMB/CMD

M
User
EDIT/CMD
Microsoft’s EDIT/CMD

O
Utility
EDTASM/CMD
Disable LC to UC Conversion

M
Utility
EDTASM/CMD
Cursor Display

I
Utility
EDTASM/CMD
Documentation errors

I
Utility
EDTASM/CMD
Tape I/O for Mod III disabled

M
Utility
EDTASM/CMD
Filespec Response &

M
Utility
EDTASM/CMD
Object Code to Cassette

M
Utility
EDTASM/CMD
Correct & Restate ZAP #54

M
Utility
EDTASM/CMD
File Close Problem

M
User
FIREUP/CMD
BIONIC BASIC

M
User
IBLOAD/CMD
Racet’s INFINITE BASIC

M
User
INIT
Radio Shack’s Model I PROFILE

M
User
INSTALL/CMD
BIONIC BASIC

O
User
L80/CMD
Microsoft BASIC COMPILER v 5.23

M
Utility
LMOFFSET/CMD
Object Code Block Load

M
Utility
LMOFFSET/CMD
Appendage

M
User
PENCIL/CMD
ELECTRIC PENCIL

M
User
PENCIL/CMD
ELECTRIC PENCIL

M
User
PENCIL/CMD
ELECTRIC PENCIL

O
User
PROFILE/CMD
Reenable Interrupts

M
User
REMOVE/CMD
BIONIC BASIC

M
User
RS COBOL/CMD
Ryan-McFarland Corp COBOL v l.3B

M
User
RUNCOBOL/CMD
Ryan-McFarland Corp COBOL v l.3B

M
User
SCRI7/CTL
Radio Shack’s Model I SUPERSCRIPSIT

I
User
SCRIPSIT
Model I Cassette I/O

M
User
SCRIPSIT/CMD
Radio Shack’s Model I SUPERSORIPSIT

M
User
SCRIPSIT/LC
Radio Shack’s Model I SCRIPSIT

O
User
SCRIPSIT/LC
Double Density & END command

M
User
SCRIPSIT/UC
Radio Shack’s Model I SCRIPSIT

O
User
SCRIPSIT/UC
Double Density & END command

M
Utility
SUPERZAP/CMD
DM,P functions

M
Utility
SUPERZAP/CMD
DM & F functions

M
Utility
SUPERZAP/CMD
DMDB function

O
DOS
SYS0/SYS
Increase Drive Power-On Delay

M
DOS
SYS0/SYS
ROUTE command

M
DOS
SYS0/SYS
ROUTE command

O
DOS
SYS0/SYS
Patch LC Keyboard Modification

M
DOS
SYS0/SYS
Disk Status Register Reads

M
DOS
SYS0/SYS
4445H call to DOS

O
DOS
SYS0/SYS
Double Density Write Precomp Logic

M
DOS
SYS2/SYS
Directory Entries

M
DOS
SYS30/SYS
CLOSE & KILL commands

O
DOS
SYS3/SYS
‘JKL’ : Graphics to Epson Printers

O
DOS
SYS6/SYS
Double Density Format Sensitivity

O
DOS
SYS6/SYS
To allow COPY of TRSDOS 1.2 (Mod 3)

M
DOS
SYS6/SYS
COPY Format 5

M
DOS
SYS6/SYS
COPY & FORMAT: DDSL parameter

M
DOS
SYS6/SYS
Granule Lockout Table in Directory

M
DOS
SYS6/SYS
FORMAT & COPY commands

M
DOS
SYS6/SYS
FORMAT: PFST parameter

M
DOS
SYS6/SYS
TRSDOS 2.3B (I) or TRSDOS 1.3 (III)

M
DOS
SYS6/SYS
TRSDOS 2.3B (I) or TRSDOS for Mod 3

M
DOS
SYS6/SYS
SYSTEM: 3M parameter disabled

M
DOS
SYS6/SYS
PDRIVE: 8 Inch, Double Density

M
DOS
SYS6/SYS
COPY: CBF param & Model III TRSDOS

M
DOS
SYS6/SYS
COPY command

M
DOS
SYS6/SYS
Radio Shack’s Double Density Board

O
DOS
SYS6/SYS
Double Density Write Precomp Logic

O
DOS
SYS6/SYS
Model I TRSDOS 2.7DD Diskettes

M
DOS
SYS6/SYS
COPY: TRSDOS 2.3B or Higher

M
DOS
SYS6/SYS
COPY Format 5

M
DOS
SYS8/SYS
DIR $ or DIR $0

O
DOS
SYS8/SYS
DIR: Remote Terminal Operators

M
DOS
SYS9/SYS
Chaining: /./5Y function

M
BASIC
SYS11/SYS
RENUM function

M
BASIC
SYS12/SYS
REF$ function

M
DOS
SYS14/SYS
ROUTE command

O
DOS
SYS14/SYS
PRINT & LIST: Control Characters

M
DOS
SYS14/SYS
CREATE: Old File’s EOF

M
DOS
SYS16/SYS
PDRIVE error

M
DOS
SYS16/SYS
TRSDOS 2.3B (I) or TRSDOS 1.3 (III)

M
DOS
SYS16/SYS
PDRIVE: 8 Inch, Double Density

M
DOS
SYS16/SYS
Radio Shack’s Double Density Board

M
DOS
SYS17/SYS
SYSTEM: BM parameter disabled

M
DOS
SYS17/SYS
COPY command

M
BASIC
SYS18/SYS
Basic Editing

M
BASIC
SYS18/SYS
REF$ function

M
BASIC
SYS18/SYS
REF= statement

M
BASIC
SYS19/SYS
Dynamic MERGE

M
BASIC
SYS21/SYS
CMD”O” function

M
BASIC
SYS21/SYS
CMD”O” function

M
User
VC/CMD
Radio Shack’s Model I VISICALC

M
User
VC/CMD
Radio Shack’s Model I VISICALC

M
User
VC/CMD
Model III VISICALC v VC-150Y0-T83

M
User
VC/CMD
Model III VISICALC v VC-150Y0-T83

I
DOS
Command
ATTRIB: LRL=xxx Parameter

I
DOS
Command
ROUTE: display of routes

I
DOS
Command
COPY: DFO parameter

I
DOS
Command
FORMAT: RWF parameter

I
DOS
Command
PDRIVE & COPY: Double Density

I
DOS
Command
PDRIVE: OMIKRON & 8 Inch Drives

I
DOS
Command
Model I & Model III Data Exchange

I
DOS
Command
COPY: Formats 5 & 6 discussed

I
DOS
Command
Documentation Correction

I
DOS
Command
ROUTE: Documentation Correction

I
DOS
Command
Automatic Density Recognition

I
BASIC
Command
CMD”O”: explanation

I
DOS
Command
SYSTEM: AX parameter correction

I
DOS
Command
SYSTEM: AJ=N explanation expanded

I
DOS
Command
DIR & FREE Error Messages

I
User
Command
Program Parameters

I
DOS
Command
COPY: Format 6

I
DOS
Command
GAT Overflow & CBF with FMT COPY

I
DOS
Command
LIST & PRINT: no graphics

I
DOS
Command
Accessing files on Model III TRSDOS

I
DOS
Command
Accessing Model I TRSDOS 2.3B & Up

I
DOS
Command
LC,Y & LC,N without Disk I/O

I
BASIC
Command
CMD”O” & Multi-Dimension Arrays

I
BASIC
Commands
LOAD, RUN, MERGE & RENUM

I
DOS
Commands
FORMS & SETCOM omission in Model I

I
DOS
Features
Main Memory, High Memory, MINI-DOS

I
DOS
General
Reserved ZAP Areas in NEWDOS/BO

I
DOS
General
Cassette I/O

I
DOS
General
TRSDOS 2.3B (I) & TRSDOS 1.3 (III)

I
DOS
General
Chain Filename & /JCL extension

I
DOS
Hardware
CPU Speed Up Modifications

I
DOS
Hardware
LNW-80 Computer Users

I
DOS
Hardware
CPU Speed Up Modifications

I
DOS
Mini-dos
Illegal under DOS-CALL

I
BASIC
Utility
RENUM usage

*** ZAP 001 *** 08/04/81 *** V2M1

Mandatory zaps to Microsoft’s EDIT/CMD to enable it to run with NEWDOS/80. You must maintain separate copies of this module for each of TRSDOS and NEWDOS as the module for one system is incompatible with the that for other though the files they manipulate are compatible. These changes are due to the FCB’s NEXT and EOF fields being defined in NEWDOS differently than in TRSDOS.

EDIT/CMD,38,E8 change
to
7E E6 7F 7E 21 FE FF CA 58 78 EE 80 87 DA 5D 78
7E 60 69 D6 01 30 01 2B 29 07 30 01 23 18 04 78
EDIT/CMD,32,A2 change
to
78 E6 7F C2 28 72 78 EE
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
to
F3 32 9B 46 C3
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
to
58 23 22
58 00 22
PENCIL/CMD,00,61 change
to
54 22 16 40 21
54 00 00 00 21

This latter zap prevents PENCIL/CMD from using its own keyboard routine, thereby defaulting back to NEWDOS/80’s wherein ‘DFG’ invoking MINI-DOS can be spotted.

*** ZAP 003 *** 08/04/81 *** V2M1

Mandatory zap to Radio Shack’s programs SCRIPSIT/UC and SCRIPSIT/LC to run under NEWDOS/80 (and NEWDOS/21). The user should maintain separate copies for NEWDOS and for TRSDOS as the programs for each system are incompatible with the other system even though the files they manipulate are compatible. The first 3 changes are necessary because of the different way the PC3’s NEXT and EOF fields are maintained. If you are running NEWDOS and files appear to load .short one sector, check to make sure these zapa are in. The 4th zap causes DOS’ HIMEM address value in 4049H – 404AH to be used as SCRIPSIT’s high memory. The 5th zap re-enables the interrupts so MINI-DOS can be invoked from SCRIPSIT.

SCRIPSIT/UC,11,75 and SCRIPSIT/UC,11,75 change
to
47 00 CD 6E 7A 4F
47 00 3A B9 7C 4F
SCRIPSIT/UC,11,FB and SCRIPSIT/LC,11,FB change
to
B7 C4 EF 5D 79
B7 32 B6 7C C4
SCRIPSIT/UC,12,00 and SCRIPSIT/LC,12,00 change
to
32 B9 7C 11
to EF 5D 00 11
SCRIPSIT/UC,00,63 and SCRIPSIT/LC1,00,63 change
to
7C 21 FF 00 25 7E 2F 77 AE 20 F9 22
7C 2A 49 40 00 00 00 00 00 00 00 22
SCRIPSIT/UC,00,C3 and SCRIPSIT/LC,00,0 change
to
57 F3 ED
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
to
06 80 CB
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
to
21 A2 4B
21 B4 4B
APL80/CMD,14,52 change
to
21 A2 4B
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
to
FE 61 D8
FE 80 D8

*** ZAP 007 *** 08/04/81 *** V2M1 ***

This is information rather than an actual zap.

1. Where possible, the NEWDOS/80 modules have reserved zap areas. Apparat purposely did not mention them in its documentation as it did not want to draw attention to them. Users are hereby warned that Apparat will preempt these areas without preliminary notice and in its zap verifies will expect these areas to contain zeroes. Users who apply non-Apparat zaps into these areas should carefully maintain logs of what they have done to compare against future NEWDOS/80 zap& for area conflicts.

2. The DOS command ATTRIB (see section 2.3) has an additional optional parameter, LRL-xxx, not specified in that section. LRL-xxx specifies the new logical record length of records in the file where xxx is an integer between 1 and 256. This record length is used now only by DIR, but if user processing assumes a file has a given record length, some users may want the DIR display to reflect it.

3. MINI-DOS (see section 4.2) is illegal under DOS-CALL (see section 4.4). If the DPG keys are depressed while DOS is under DOS-CALL, the triple key depression will be ignored.

4. DOS command ROUTE (see section 2.43) has been altered such that existing routes are displayed only if the ROUTE command has no parameters.

5. DOS command COPY (see section 2.14), format 6 (CBF) has a new optional parameter DFO (Destination Files Only). If DFO is specified, then file contents are copied if and only if the file previously existed on both the destination and source diskette&. DFO is mutually exclusive with FMT.

6. DOS command FORMAT (see section 2.22) has a new optional parameter RWF (R&W Format).- If RWF is specified, all errors are ignored and each track is formatted once, whether or not the format actually takes. RWF is used when the user wishes to obliterate the information on a damaged diskette and doesn’t have a magnet. RWF is mutually exclusive with KDN, KDD, DDSL, DDGA and PFST.

*** ZAP 008 *** 08/04/81*** V2 M1 ***

MANDATORY zap to PROFILE’s module INIT to correct for a different error code returned by NEWDOS/80 and to allow for NZ error state to take precedence over C or NC state on return from 4420R call. With this change, the zapped module will still run under TRSDOS. This zap is for 3 different versions of the same module.

INIT,00,54 change
to
44 38 09 28 0F FE 1A 28 13 C3 3F 52 CD
44 20 19 00 00 00 00 00 00 00 30 08 CD

If the above doesn’t verify, then try one or the other locations below.

INIT,00,63 or INIT,00,64 change
to
44 38 11 28 07 FE 1A 28 13 C3 47 52 CD
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
to
F3 CD
00 CD

**** ZAP 009 *** 08/04/81 *** V2M1 ***

Mandatory zap to Racet’s Infinite Basic IBLOAD/CMD module to enable it to run under NEWDOS/80 as well as TRSDOS.

IBLOAD/CMD/CMD,08,15 change
to
15 21 B6 79 11 F4 79 CD 36 44 28
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
to
44 50 41
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
to
09 3E 00 21 20 03 22 51 9F C9 79
09 18 BB 00 00 08 08 C3 EF 9B 79
VC/CMD,75,15 change
to
11 28 9C 22
11 1E 55 22
VC/CMD,75,24 change
to
C9 3E 03 C3 13 44 CD 4E 53 F5 CD 16 9C 28 0E 3E
C9 11 lE 55 C3 13 44 CD 4E 53 CD 16 9C C8 00 3E

Mandatory zap to VISICALC to adjust for NEWDOS/80’s difference from TRSDOS on a returned error code causing VISICALC’s directory search to hang if any of the 4 drives are not present or have no diskette mounted. This zap is not incompatible with TRSDOS.

VC/CMD,73,01 change
to
C9 FE 18 20
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
to
01 00 7B
01 01 7B
SYS6/SYS,14,C8 change
to
01 00 40 4E 01 13 00
01 13 40 4E 01 00 00
SYS6/SYS,20,EA change
to
61 C8 5E
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
to
2C D7 28 06 FE 3D 20 F9 18 23 El
2C CD CF 65 28 27 FE 0D 20 F7 El
BASIC/CMD,14,D8 change
to
00 00 00 00 00
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 
 to
64 01 00 01 18
64 CD 80 5C 18
BASIC/CMD,14,D8  change 
 to
00 00 00 00 00 00 00 00 00 00 00 00 00 00
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 
 to
C3 1A 52 CB
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 
 to
CB 70 20
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
to
00 00 00 00 00 00 00 00 00 00 00 00 00
3A 91 54 CB 5F C0 2A B4 54 22 95 54 C9
SUPERZAP/CMD,03,43  change 
 to
54 3A 91 54 CB
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 
 to
28 39 CD
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 El
7A B3 C4 D4 03 Cl D1 El 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 El CD D4 03 Cl D1 El CB 40
28 02 B7 C0 23 7E 23 66 6F 7C B5 20 D3 C3 F8 4C
CD
SYS0/SYS,10,08  change 
 to
C9 00 00 00 00 00 00 00 00
C9 CB 40 C0 79 C9 A4 4B 00
SYS14/SYS,02,74  change 
 to
43 00 00 43
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 
 to
CD E1 61 79 DD
CD D4 65 00 DD
BASIC/CMD,14,DD  change 
 to
00 00 00 00 00 00 00
C5 CD El 61 79 Cl C9

**** ZAP 022 *** 08/28/81 *** V2M1

Mandatory zap to EDTASM to cause the cursor display to be forced every time the * prompt is displayed, waiting for the next command. This allows the cursor to be turned back on after a return from the DEBUG 123 function. which turns it off.

EDTASM/CMD,05,12  change 
 to
CD 39 59 0E
CD 00 57 0E
EDTASM/CMD,03,1A  change 
 to
40 7D E6 3F C0 11 C0 FF 19 C9
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 
 to
3A CA 59 FE 02 C0 7D
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 
 to
C6 22 1A 5B 3E
C6 CD 8E 5C 3E
SYS6/SYS,15,54  change 
 to
00 00 00 00 00 00 00 00
22 1A 5B DD CB 01 F6 C9
SYS6/SY5,27,5D  change 
 to
6F C2 47 67
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 
 to
90 80 40
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 
 to
3C 80 40
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 
 to
5A D5 DD El DD
5A CD E0 6D DD
DISASSEM/CMD,24,60  change 
 to
00 00 00 00 00 00 00
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 
 to
02 F9 86
02 B9 86
SYS6/SYS,04,90  change 
 to
00 02 4E
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.

A.  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
B.  To make a double sided, single density NEWDOS/80 Version 2 system diskette.
1. Make a copy of the NEWDOS/80 Version 2 master diskette. When done, mount that copy of the NEWDOS/80 Version 2 system in drive 0 and press RESET.
2. Execute the following DOS command:
PDRIVE,0,6,TI=A,TD=C,TC=40,SPT=20
This changes the specifications for drive 6 to be 5 inch, single sided, single density, 40 tracks. If you wish other than 40 tracks, change the TC parameter above to the desired track count.
3. Place a write protect tab on the system diskette you have just changed.
4. Execute the following command:
COPY,0,0,,USD,FMT,DPDN=6
The source and system diskettes are the same and are the one with the vrite protect tab. The destination diskette is the one to contain the double sided, single density NEWDOS/80 Version 2 system. If you have two drives available, you may use COPY 0,1,,USD,FMT,DPDN=6 instead. The destination must be on drive 1 if it is to have more than 40 tracks (when the COPY in finished, that drive can be made drive 0).
5. When the COPY command has completed successfully and returns to NEWDOS/80 READY, mount the destination diskette in drive 0 and press RESET to bring up the double sided, single density system. Perform DIR 0 and PDRIVE,0 as discussed above to observe the changed system. Proceed with additional PDRIVE re-specifications, if necessary.
C.  To make a double sided, double density NEWDOS/80 Version 2 system diskette.
1. You must have an excellent working Percom or LNW double density interface in your expansion interface.
2. Proceed as for single sided, single density discussed above excepting that the PDRIVE command is:
PDRIVE,0,6,TI=CK,TD=G,TC=39,SPT=36,GPL=2,DDGA=2
This is for a 40 track drive, for 35 use TC=34, for 80 use TC=79.
Further:
1.  For a destination drive more than 40 tracks use GPL=8 and you will probably want an expanded directory, say DDGA=6 for maximum size, giving 224 directory entries. However, if any of GPL, DDSL or DDGA are different between the source and destination drives during COPY or if the number of sectors, granules or tracks for the destination diskette is less than the source diskette, the CBF (Copy By File) parameter must be specified in the COPY command (example: COPY 0,0,,USD,FMT,DPDN=6,CBF). So, in the case here for driven over 40 tracks, since the GPL is different (the source’s GPL is 2 and the destination’s GPL in now 8), you must use the CBF parameter. Actually, you could have used the W option in any of the COPY’s mentioned above in this zap, but CBP runs slower and should only be used where necessary.
2.  For LNW interface, you can specify TI flag E instead of flag C (example, TI=EK instead of TI=CK, if any 8 inch drives are to be used with the LNW, E must be specified instead of C). However, remember, flags E and C are interdrive mutually exclusive; so if you change one of the 10 drive specs from using flag C to using flag E, you must change any of the others that use flag B or C (see next section).
3.  Users setting up their systems to use the 8 inch drives through the OMIKRON interface (TI=BH) are experiencing trouble with the PDRIVE error code **** TISPEC BETWEEN DRIVES INCOMPATIBLE. Please refer to the last two sentences of the TItypel paragraph in the middle of page 2-34. If any drive’s TI specifies flag B, then no other can specify either flag C or E. You must change the PDRIVE specifications for drives 4, 6, 8 and 9 an they conflict with flag B. To do this, simply execute the DOS 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 diskette& to be copied that otherwise could not be copied.
5.  Format 6 allows a diskette’s contents to be copied between diskettes having a different number of granules per lump (GPL), the directories positioned differently on the diskettes, the directories of different sizes, or the destination diskette having less sectors than the source.
6.  Format 6 copies all of a source diskette’s files or a selected subset of those files.
7.  Both format 5 and 6 allow the option of formatting the destination diskette UMT) or not (NFMT). Formatting a diskette magnetically init ializes the entire diskette including the inter-sector control bytes used only by the drives and the controller. Many users prefer to do this everytime a back up is done. Of course, formatting a diskette destroys the previous contents.
8.  If format 6 is being used to copy a NEWDOS/80 Version 2 system diskette, the FMT option must be specified. This assure& the correct BOOT, SYSTEM and PDRIVE control informat is stored on the destination diskette, and the correct positioning of SYSTEM files which, excepting for BOOT/SYS and SYS0/SYS, are all positioned on the destination diskette in came posi tion relative to the directory that they are on the source diskette.
9.  In format 6 where NFMT is specified, system files are NOT copied to the destination diskette if they are not already existing in the destination directory. This is because system files usually use specitic FDE& in the directory, and only YMT can assure that these FDE# are available.
10.  Format 5 without BDU and format 6 with FMT both assume the possibility of the destination diskette being used later as the system diskette and the destination drive or one like it being used later as drive 0; therefore both initialize the BOOTISYS file to contain the proper BOOT code and drive 0 PDRIVE specifications.

*** ZAP 031 *** 09/06/81 *** V2M1 ***

Mandatory zap to DOS to allow files to be copied from and to diskettes used by Model I TRSDOS 2.3B and higher as well as from and to diskettes used by Model III TRSDOS 1.3 or higher. After applying the documentation changes given below, see section 12.5.1 on page 12-7, the ‘flag M’ paragraph on page 2-35 and the bottom half of page 2-15.

This enhancement expands the definition of PDRIVE TI flag M (see page 2-35). When the M flag is specified and the TD field specifies double density (i.e., TD=E), the PDRIVE specification is assumed for a Model III TRSDOS diskette and TI flag 1 is implied (see example 3 on page 2-38). When the M flag is specified and the TD field specifies single density (i.e., TD=A), the PDRIVE specification is assumed for Model I TRSDOS 2.3B or higher diskette, and TI flag I in not implied and must not be specified (see example 1 on page 2-38 with TI-AM).

Radio Shack has started distributing certain new programs (i.e., COBOL) with or on Model 1 TRSDOS 2.3B or higher diskette& with that system being somewhat different than Model I TRSDOS 2.3, including the use of RBAs an discussed in section 12.1 for the Model III. These diskettea are NOT compatible with NEWDOS/80 diskettes, and, as with Model III TRSDOS diakettes, COPY is the only function of NEWDOS/80 that can be used with the Model I TR5DOS 2.3B diskettes (though FREE and DIR (except EOF and special flags) appear to work).

Files on either Model III TRSDOS or.Model 1 TRSDOS 2.3B diskette* that are to be used either by NEWDOS/80 or user programs executing with NEWDOS/80 must be copied to NEWDOS/80 diskettes. FORMAT or COPY with FMT option cannot be used to format a diskette in either the Model III TRSDOS or the Model I TRSDOS 2.3B format; however, format 5 COPY with the BDU option can be used to make copies of those diskettes.

ZAP 013 must NOT be installed in a NEWDOS/80 to be used to copy Model I TRSDOS 2.3B files. ZAP 013 must be used for Model III TRSDOS 1.1 & 1.2 diskettes.

Insert the following notes in the outside margin of the specified paragraph:

1.  Page 2-9, next to last paragraph: “For Model III TRSDOS and Model 1 TRSDOS 2.3B diskette&, see ZAP 031.”
2.  Page 2-15, “The COPY command” paragraph: “This section applies also to standard 35 track, single aided, single density diskette* for Model I TRSDOS 2.3B or higher.”
3.  Page 2-15, “The user must par: “See examples 1 and 3, section 2.37”.
4.  Page 2-35. “Flag W’ paragraph: “Expanded to include Model I TRSDOS 2.3B or higher diskettes. See ZAP 031
5.  Page 2-38, example 1: “For Model 1 TRSDOS 2.3B diskette, use TI-AM (aee ZAP 031M’ Also in this same paragraph, change the last two words to read “option W’ instead of AN.
6.  Page 12-7, paragraph 12.5.1: “See ZAP 031.”
SYS6/SYS,00,7D  change 
 to
CD B3 63 21
CD 96 SC 21
SYS6/SYS,15,5C  change  00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
 to  CD B3 63 3A
BE 59 47 3A B9 59 4F 3A CC 59 57 3A C7 59 5F 79
A3 CB 6F 28 06 78 AA 0F DA 47 67 78 CB 69 20 04
CB 6B C8 7A 0F D8 21 5B 5E 22 F7 55 21 Bl 5B 22
5D 5B 21 00 5C 22 61 5B AF 32 7F 61 67 6F 22 BF
61 22 B5 5B 3E 18 32 2D 61 C9
SYS6/SYS,22,6B  change 
 to
CD B3 63 CD
CD 96 5C CD
SYS16/SYS,01,F8  change 
 to
05 28 02 3E 03 CD
05 00 C4 81 51 CD
SYS16/SYS,02,AF  change 
 to
CB E3 DD 7E 05 FE 06 C0
CB 43 3E 06 C4 87 51 C0
SYS16/SYS,04,9A  change 
 to
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
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 
 to
C3 39 44 DD
C3 E4 5C DD
SYS6/SY5,15,AA  change 
 to
00 00 00 00 00 00 01 00 EA 5C 00 00 00 00 00 00 00 00
3A 0C 43 CB 6F 28 01 00 EA 5C 04 DD CB 02 EE C3 39 44
SYS6/SYS,16,F0  change 
 to
61 20 0D 3A 96 59 CB
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 
 to
00 00 00 00 00 00 00
6B 63 4B 22 C3 54 C9
SUPERZAP/CMD,05,0B  change 
 to
00 6B 63 4B CB
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 
 to
44 24 3E 40 49
44 82 27 44 49
RSCOBOL/CMD,99,CF  change 
 to
44 13 1F 44
44 82 27 44
RUNCOBOL/CMD,115,82  change 
 to
44 3E 40 49 40 24 17
44 27 44 49 40 82 17
RUNCOBOL/CMD,115,99  change 
 to
02 1F 44 11 44 13 0A
02 27 44 11 44 82 0A

*** ZAP 035 *** 09/13/81 *** V2M1 ***

Mandatory zap to DOS to correct a directory clobbering error that occurs when either CLOSE or KILL frees up a FPDE or FXDE that occupies the first PDE slot in a directory sector. This error wan missed during BETA testing as it was caused by a late adjustment to handle the TRSDOS Model III diskette&. A few persons were complaining about directories being clobbered, but only on September 12th was an error report made that lead to the discovery. Though the problem would appear to affect many users, apparently to date it has not.

SYS3/SYS,01,CC  change 
 to
00 7D D6 17 BB 30 1D
00 7B C6 16 BD 38 1D

*** ZAP 036 *** 09/13/81 *** V2M1 ***

This is an information zap.

1.  Documentation correction for EDTASM. Tape I/O is NOT available for the Model III. If it is attempted, BAD PARAMETER(S) error will be given.
A.  Place in the outside margin of the “2. L T=nnnnnn” paragraph of page 6-15 the following restriction: “Model I only”
B. Place in the outside margin of the 2nd line of page 6-16 of page 6-16 the following restriction: “Model I only”
2.  Correct the “A list of all” paragraph on page 1-3 to read “NWD80V2/ILF and NWD8OV2/XLF” instead of “NWD82V2/ILF and NWD82V2/XLF”.
3.  Delete the words “sectors per track, ” from the “Format 5 is a full” paragraph of page 2-11.
4.  The MM=addr1 function of ROUTE requires the main memory location addr1 to be greater than 51FFH. In the “Any of the devices” paragraph of page 2-43, insert the words “greater than 51FFH” after the word “location” in the phrase 19memory location of a user”.

*** ZAP 037 *** 09/14/81 *** V2M1 ***

Mandatory zap to BIONIC BASIC to make it compatible with NEWDOS/80 Version 2 for the Model I. These zaps were provided to Apparat and have not been checked out by Apparat. One or more of the zaps may already be installed in your modules. When these zaps are applied, the BIONIC BASIC must not be used with any other version of NEWDOS/80.

FIREUP/CMD,02,51  change 
 to
3A 31 0D
3A 30 0D
FIREUP/CMD,04,90  change 
 to
21 86 63 22
21 FC 61 22
FIREUP/CMD,05,3C  change 
 to
40 09 58 01
40 FF 57 01
FIREUP/CMD,05,40  change 
 to
05 28 65
05 86 65
FIREUP/CMD,05,4E  change 
 to
05 30 5F
05 8E 5F
FIREUP/CMD,05,55  change 
 to
05 60 5F
05 BE 5F
FIREUP/CMD,05,5C  change 
 to
05 CF 64 21
05 2D 65 21
FIREUP/CMD,05,63  change 
 to
05 BE 64 21
05 1C 65 21
FIREUP/CMD,05,6A  change 
 to
05 95 64
05 F3 64
INSTALL/CMD,01,0D  change 
 to
3A 31 0D
3A 30 0D
INSTALL/CMD,01,4F  change 
 to
44 C8 FE
44 C9 FE
REMOVE/CMD,01,12  change 
 to
3A 31 0D
3A 30 0D
REMOVE/CMD,01,54  change 
 to
44 C8 FE
44 C9 FE

*** ZAP 038 *** 09/14/81 *** V2M1 ***

Optional zap to Model I SCRIPSIT to eliminate the ‘hang’ occuring when the END function is executed and the last disk I/O was to a double density drive. SCRIPTSIT execute& the END function by jumping to location 0, causing a software but not a hardware RESET.

The double density modifications to the expansion interface require a hardware RESET to reset them to the single density disk I/O assumed by the software RESET in the ROM. SCRIPSIT uses the RESET to restore the keyboard, display, printer and other interface# it has changed.

If the Z-80 HALT instruction is executed instead of a jump to location 0, the Model I (this does not hold for the Model III) hardware RESET is triggered which in turn triggers the software RESET. In both cases, either the jump to 0 or the HALT, the red lights on the disk drives must be off. The zap is applicable under TRSDOS as well as all versions of NEWDOS.

SCRIPSIT/LC,19,E3  change 
 to
6F C3 00
6F 76 00
SCRIPSIT/UC,19,E3  change 
 to
6F C3 00
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 
 to
53 36 A0 Cl
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 
 to
FE CD 28
FE CC 28

*** ZAP 041 *** 09/29/81 *** V2M1 ***

Information and manual corrections.

1.  A number of users have had trouble with tape 110 under NEWDOS/80 Version 2. Some of the early copies of NEWDOS/80 Version 2 had errors due to undetected RAM errors during duplication and in maybe an many as 20 cases this affected the EDTASM or LMOFFSET module. However, if these modules were bad, they usually also had problems with disk I/O as well as cassette I/O and so if disk I/O works fine, we assume it is not a bad copy of NEWDOS/80.
Tape I/O has long history of trouble, varying from computer to computer and especially from tape unit to tape unit such that any particular tape will fail on somebody’s cassette unit.
This has always been an exasperating problem and the main reason why cassettes are not used at Apparat (though we do act as a retailer/distributor for products distributed on cassettes produced by others). Because cassettes are not used at Apparat, NEWDOS receives very little testing with cassettes, and in the future we are considering withdrawing all support (i.e., LMOFFSET and EDTASM) from cassettes. Cassette support for EDTASM for the Model III has already been withdrawn and will probably soon be withdrawn for the Model I (since the purpose of our EDTASM was to give disk support, not cassette).
For now though, we will restrict our error study to those problems presented to us on a diskette containing the actual NEWDOS system used. If the user presents us with a cassette along with the diskette we will test that as well; otherwise we will test with simple programs from disk in-house. Neither the diskette nor the cassette will be returned to the user. Lastly, if you can avoid use of cassettes, DO!!!!!
2.  The specifications for ROUTE using the MM=addr1 operand are in error in the manual.
A.  Page 2-43, 3rd paragraph, 3rd line, change “12” to “16”.
B.  Same paragraph, 5th line, change “13th” to “17th”.
C.  Page 2-44, top line, change “0FE8CH” to “0FE90H”.
3.  A number of users has asked why Automatic Density Recognition (ADR) was not used in NEWDOS/80 Version 2.
We wanted to included ADR but found it impractical unless we limited or expanded other capabilities made available by PDRIVE. Since we were already two months late in releasing Version 2, we decided to release without it.
Part of the problem is in providing a second SPT parameter and an extra indicator for track 0 useage (remember, Version 2 operates with double density diskettes that may or may not have track 0 reserved for single density). We also felt that if we included ADR, we should also include ASR (automatic side recognition). For now, we will remain without ADR and ASR, but will not rule it out for a subsequent NEWDOS/80 version.
4.  For BASIC CMD “0” and multi-dimensional arrays, a few users have asked for clarification of term REN used in the documentation for on pages 7-14 through 7-17. CMCC does not care whether an array is single or multi-dimensional as CMD’V’ only concerns itself with the relative positioning in main memory between array elements and not with the actual subscripts for a given element, except for determining the main memory position of the first element participating in the sort as specified in the CMD “0” statement.
As an aide to the programmer to understand the sort order, a formula was given for two and three dimensional arrays to determine the REN of any array element given its subscripts.
The following working BASIC program demonstrates the relationship between REN and subscripts for a three dimensional array, using Rl, R2, R3, Xl, X2 and X3 to correspond with the useage at the bottom of page 7-14 and top of page 7-15.
           10 R1=3: R2=4: R3=2: DIM A(R1,R2,R3)
20 REN=0: FOR X3=0 TO R3: FOR X2=0 TO R2: FOR Xl=0 TO R1 ‘CREATE ARRAY IN REN ORDER
30 IF REN <> X1 + X2 * (R1+1) + X3 * (R1+1) * (R2+1) THEN PRINT”ERROR”: STOP
35 ‘ THE ABOVE ASSURES THE FORMULA COMPUTES TO THE CURRENT REN NUMBER
40 A(X1,X2,X3)=REN: REN=REN+l: NEXT X1, X2, X3 ‘STORE THE REN NUMBER IN THAT ELEMENT
50 CMD”O”,0,A(0,0,0) ‘SORT ARRAY IN ASCENDING NUMERIC ORDER
60 ‘ THE ARRAY ORDER SHOULD NOT RAVE BEEN CHANGED.
70 FOR X3 = 0 TO R3: FOR X2 = 0 TO R2: FOR Xl = 0 TO R1 ‘LIST ARRAY IN SAME ORDER STORED
80 PRINT A(X1,X2,X3);: NEXT X1, X2, X3 ‘AND THIS SHOULD BE ALSO THE SORTED ORDER
Elements with one or more zero subscripts do participate in the sort if that element is within the main memory range of elements sorted, i.e., has a REN greater than or equal to the REN of the lat sort element and less than or equal to the REN of the last sort element.
5.  Correct the last paragraph of page 2-27 by deleting the 3rd sentence and changing the 4th sentence to read “Hex codes less than 20H or greater than the SYSTEM option AX value will be displayed as periods.”.
6.  A number of users having CPU speed up modifications in their computers and setting the slow-down-during-I/O switch have complained that NEWDOS/80 continuously toggles the fast/normal CPU speed state (in many cases a light flickers on/off or red/green).
Indeed this is true. In the original TRSDOS,there were 8 interrupts, 0 – 7, of which only 6 and 7 were used.
Interrupt 6 only read the disk controller status register; so NEWDOS/80, to save resident DOS space which is critical, combined interrupt 6’s function with interrupt 7,reading the controller status register every 25 ms interrupt.
Though the fast/normal CPU toggling is interested only in the controller command register,the hardware connection actually toggles on both the read of the status register and the write of the command register.
Normal disk I/O cannot operate without the statue register read when the controller has interrupt status; so we cannot eliminate the interrupt 7’s read of the status register without re-enabling interrupt 6 and we don’t have the patch space for that. Therefore, users must turn off the switch on their computers that allows the fast/normal toggling to take place, and simply use the fast speed all the time (be sure SYSTEM option BJ is set correctly). There is no guarantee that your computer will actually work at the faster speeds. Doubling the CPU speed seems OK; tripling appears NOT. The LNW computer at 2.5 times the TRS-80’s normal speed is reported by LNW to work fine.

*** ZAP 042 *** 09/30/81 *** V2M1 ***

Mandatory zap to correct error in BASIC’s RENUM function giving SEQ # OVERFLOW when large programs, say over 26,000 bytes of text, are renumbered. Though a number of users called on this problem, it wasn’t until a user sent us a written error report with the problem program on a system diskette that we finally had enough to go on.

SYS11/SYS,03,BB  change 
 to
0F ED 42 DF 38
0F CD 9D 51 38
SYS11/SYS,04,A5  change 
 to
00 00 00 00 00
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 
 to
FF 00 00 00
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 
 to
E1 3A 6D 43 CB 5F C8 3E
E1 00 00 00 00 00 00 3E
SYSl7/SYS,02,55  change 
 to
FE 31 7A
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 
 to
FE 38 30
FE 35 30
SYSl8/SYS,03,57  change 
 to
D2 B5 57 3D
D2 59 55 3D
SYS18/SYS,03,69  change 
 to
00 00 00 00 00
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 
 to
30 02 3E
30 07 3E
SYS3/SYS,04,C8  change 
 to
00 00 00 00 00 00 00 00
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 
 to
47 3A 70 43 B8
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 
 to
E6 41 DD
E6 Cl DD
SYS6/SYS,31,F5  change 
 to
34 0A 26 0A 86 01 9C 27 44 00
13 0A 14 0A 53 01 BA 27 26 00
SYS16/SYS,04,2D  change 
 to
12 lA 24 34 82
12 lE 24 3C 82

*** ZAP 048 *** 10/21/81 *** V2M1 ***

Mandatory zap to EDTASM to correct error occurring when shift-left-arrow is used to erase a filespec response.

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

*** ZAP 049 *** 11/09/81 *** V2M1 ***

Mandatory zap to DOS to correct error in DIR $ or DIR $0 command where DOS hangs if any response other than ENTER is given to the diskette mount requests.

SYS8/SYS,02,B8  change 
 to
20 FC C9
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 
 to
20 D0 FE
20 C9 FE

*** ZAP 051 *** 11/09/81 *** V2M1 ***

Information zap.

1.  Users must remember that the Model I TRSDOS 2.3B or higher and Model III TRSDOS 1.3 or higher, amongst other things, both went to using RBAs in the NEXT and EOF fields of the FCB, thus intentionally or unintentionally restablishing compatibility with NEWDOS 2.1 and NEWDOS/80 in the use of those two fields (which many user programs use), even though the EOF fields in the directories (which most user programs don’t use) are now incompatible. Though files from those systems must be copied to NEWDOS diskettes, assembly language programs upgraded to run with those TRSDOS systems are more like to run with NEWDOS without change then they were before. For example, on the Model III, SCRIPSIT Version 3.2 has been found to work as-is. So, before calling Apparat to see if zaps exist for a given program, try it out, giving special attention to the file I/O.
2.  The manual failed to explain that when SYSTEM option AJ=N or when the up-arrow key is held down during reset/power-on, DOS loses the ability use the lower case driver (Model I only) or to actually input keyboard characters from the chain file during chaining as these functions depend upon DOS’s keyboard intercept routine being enabled. SYSTEM options AU=N and BF=N (Model I only) and are also forced. DOS will think it is activating chaining, but actually the input characters will continue to come from the keyboard; the DOS READY prompts will not be seen as DOS thinks it is chaining. For LCDVR (Model I only), the command will execute but the key input functions for lower case drive will not be done. Insert the note “see ZAP 051, part 2” in the outside margin at the following places in the manual.
A.  Page 2-7, the “CHAINING is discussed” paragraph.
B.  Page 2-29, the “In NEWDOS/80” paragraph.
C.  Page 2-47, the “AJ=yn” paragraph.
D.  Page 4-9, the “If a DOS recognized” paragraph.
3.  Chain files must always have a name-extension. When creating a CHAIN file, you must always specify a name-extension in the filespec, excepting that CHAINBLD/BAS will assume name extension /JCL if you don’t give one. If the filespec given in a DO or CHAIN command does not specify a name-extension, then /JCL is assumed; therefore it is recommended that the name-extension /JCL be used on chain files when created. Place the note “See ZAP 051, part 3” in the outside margin in the following places in the manual.
A.  Page 2-7, the “When the system” paragraph.
B.  Page 4-8, the “Chain file creators” paragraph.
4.  For Model I SCRIPSIT where the user wishes to use tape I/O, the user must back off the last zap of ZAP 003 (the SCRIPSIT/xx,00,C3 zap) in order that interrupts will remain disabled, a requirement for Model I tape I/O. This means the user cannot invoke MINI-DOS from SCRIPSIT.

*** ZAP 052 *** 11/09/81 *** V2M1 ***

Mandatory zap to BASIC to correct CLOSE without explicit fan(s) where filearea 2 and up was not being closed if filearea 1 was not open and the V parameter was specified in the BASIC invocation sequence.

BASIC/CMD,08,C8  change 
 to
66 11 2D 01 7E
66 CD DB 65 7E
BASIC/CMD,l4,E4  change 
 to
00 00 00 00 00
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 
 to
46 0B 70
46 00 70

****** Optional section

The following optional zaps are for:

1.  The LOF function is changed to work like NEWDOS/80, rounding up the returned value if EOF is not integer divisible by the logical record length used in the OPEN statement. Further, if the result exceeds 32767, BAD RECORD NUMBER error results.
2.  PUT and GET without explicit record number works correctly.
3.  LOC functions correctly for the logical record length in the OPEN statement.
DIR/SYS,xx,yy 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
change the 62 (the 4th) byte to F6.
BRUN/CMD,40,4A  change 
 to
21 0C 00 09 5E 23 56 EB Dl Cl C9 CD
DD 21 6E 8A CB 23 DD 19 C3 2E 8A CD
BRUN/CMD,40,63  change 
 to
00 C3 AD 79 El
00 C3 37 8A E1
BRUN/CMD,40,B3  change 
 to
C5 21 0C 00 09
C5 C3 00 8A 09
BRUN/CMD,40,CE  change 
 to
lB 42 4B
CD 11 8A
BRUN/CMD,42,7F  change  CD 17 58
CD lB 8A
BRUN/CMD,56,84  change  02 02 00 52 (the rest is immaterial)
 to 016D 008A CB23 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 
 to
00 8A 22
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 
 to
CD A9 70 03
CD 8B 72 03
EDTASM/CMD,31,12  change 
 to
AA 53 36 00 E1 7E
F5 CD A9 70 Fl 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 
 to
CD B2 4C DD
CD F2 5C DD
SYS6/SYS,15,BC  change 
 to
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
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 
 to
52 CD 35 55 ED
52 C3 1C 50 ED
SYS6/SYS,21,85  change 
 to
3E E6 28
3E F3 28
SYS17/SYS,00,0C  change 
 to
2A C2 81 4E 78
2A C0 00 00 78
SYS17/SYS,03,2C – 9E  change  (All Zeroes)
 to CD 35 55 ED
5B Cl 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 Dl 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 
 to
78 05 85
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 
 to
CD A9 70 03
CD 8B 72 03
EDTASM/CMD,31,12  change 
 to
AA 53 36 00 El 7E
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 
 to
00 00 00 00 00 00 00
F5 07 DC E8 47 F1 C9
SYS0/SYS,02,E7  change 
 to
3A EC 37 3A E0 37 01 00 FC 45 07 DC
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 
 to
0A 16 0F CD 6B 50 0B
0A CD 6B 50 16 0F CB
SYS8/SYS,03,8A  change 
 to
50 3A 40 38 E6 05 28 F9 0F D2 2D 40 3E
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 
 to
38 31 2B 18 1D CD
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 2’B 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.
           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
2.  In BASIC, RENUM does not renumber the CMD”F”,DELETE statement properly. No zap will be issued to correct this.
3.  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 HL points to the parameters following the program name (filespec) in the DOS command statement that invoked the program. Examples:
A.  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 HL 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.
B.  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 HL 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.
C.  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 HL pointing to the character Y.
3.  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.
A.  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.
B.  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.
C.  NEWDOS/80 has MINI-DOS which most other DOS’s do not. This means that most of the DOS commands (DIR, FREE, LOAD, etc.) that execute in the 5200H thru 6FFFH region of main memory (and may call overlay routines that execute in the 4E00H thru 51FFH region) in other DOS’s must execute in NEWDOS/SO entirely within the 4D00-5lFFH DOS overlay region. This complicates the effort to extend the capabilities of any given DOS command.
4.  A number of users have asked why SETCOM and FORMS were not included in Version 2 for the Model I like they were for the Model III. The author’s excuses, weak as they are, are as follows:
A.  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.
B.  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.
5.  A number of users have asked why DIRECTORY READ ERROR or DIRECTORY’WRITE ERROR appear as the DOS error message when an error occurs with a directory sector. Why not display the regular error code? We did this in order that normal file processing, the user would know that the directory, rather than his/her file, was the source of the error. At the time the error code substitution takes place, the system does not know whether or not the directory I/O was subsidiary to file I/O. We do apologize for the confusion created when the directory I/O was the main I/O (i.e., in DIR, FREE, etc.). The user can go to SUPERZAP and step through the directory (via DD, DTS or DFS (on DIR/SYS) to determine which sector is bad and what is the actual complaint. VDS mode can, also be used.
6.  LNW-80 users should be aware that that computer does not use the Z-80 instruction HALT to trigger the computers RESET line as does, the TRS-80 Model I. Therefore, the BOOT DOS command and any other program that uses the Z-80 HALT instruction to RESET the computer will simply stop execution, which is what the normal Z-80 HALT instruction does. The user will have to actually press the RESET keys.

*** 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 
 to
43 B7 20 06 CB
43 CD 3A 51 CB
SYS9/SYS,04,4E  change 
 to
00 00 00 00 00 00 00 00 00 00 00 00 00
B7 C2 99 4E 78 E6 50 FE 40 CA 2D 40 C9

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

Information zap.

1.  When COPY format 6 (CBF) is used to copy a system diskette and the system files are to be copied, the FMT parameter MUST be specified!!! On page 2-14, last paragraph, is stated “If NFMT is specified, ….. system files are not copied unless already existent in the destination file directory.”. This is not true; if NFMT is specified or implied, the files are copied, but (1) SYSO/SYS will usually be in the wrong position causing BOOT to fail and (2) other system files may be in the wrong directory slots, eventually causing even worse trouble.
2.  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.
3.  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.
4.  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 
 to
C5 21 3E 54 22
C5 CD 20 56 22
SYSl9/SYS,02,9D  change 
 to
C1 Dl E1 C9 2A
C1 C3 2A 56 2A
SYS19/SYS,02,E2  change 
 to
CD F2 54 CD
CD 38 56 CD
SYS19/SYS,03,76  change 
 to
00 ED 52 38 2E 21 00 00 ED 52 30 27 AF
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 ElC9 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 
 to
E5 CD 90 42 FD
E5 3E 08 B7 FD
VC/CMD,00,1E  change 
 to
2A 11 44 7D
2A 49 40 7D
VC/CMD,00,AA  change 
 to
2A 11 44 11
2A 49 40 11
VC/CMD,84,CB  change 
 to
C9 32 03 42 CD
C9 00 00 00 CD
VC/CMD,85,25  change 
 to
09 32 03 42 CD
C9 00 00 00 CD
VC/CMD,83,9D  change 
 to
F5 C5 D5 E5 CD 8D 02 28 0A CD 2D A4 El Dl Cl Fl
F5 3A 40 38 E6 04 CC 35 A4 C4 2D A4 28 0B 00 F1
VC/CMD,84,C2  change 
 to
E5 CD 5A 00
E5 00 00 00
VC/CMD,85,05  change 
 to
E5 CD 55 00
E5 00 00 00
VC/CMD,84,BB  change 
 to
FF 32 FA 41 DD
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 
 to
28 47
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 
 to
03 2A B2 54 CD
03 CD 14 52 CD
SUPERZAP/CMD,00,18  change 
 to
00 00 00 00 00 00
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 
 to
18 29 B7
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 
 to
E5 CD 90 42 FD
E5 3E 08 B7 FD
VC/CMD,00,1E  change 
 to
2A 11 44 7D
2A 49 40 7D
VC/CMD,00,B5  change 
 to
2A 11 44 11
2A 49 40 11
VC/CMD,84,EF  change 
 to
C9 32 03 42 CD
C9 00 00 00 CD
VC/CMD,85,46  change 
 to
C9 32 03 42 CD
C9 00 00 00 CD
VC/CMD,83,BB  change 
 to
F5 C5 D5 E5 CD 8D 02 28 0A CD 4B A4 E1 D1 C1 F1
F5 3A 40 E8 E6 04 CC 53 A4 C4 4B A4 28 0B 00 F1
VC/CMD,84,E6  change 
 to
E5 CD 5A 00
E5 00 00 00
VC/CMD,85,26  change 
 to
E5 CD 55 00
E5 00 00 00
VC/CMD,84,DF  change 
 to
FF 32 FA 41 DD
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 actual 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 problem with REF is avoided.

SYS18/SYS,02,1A  change 
 to
36 20 23 DF 38 FA 2B 36 FF 18 39 EB
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 E6lC FEO8 C079 EE20 DD77
06C9 DD71 06DD 7307 C9
SYS6/SYS,27,C1  change 
 to
07 DD 56 04 DD
07 CD D7 54 DD
SYS6/SYS,27,CD  change 
 to
01 CD 59 69 20 03 CD AA 67 Dl DD E3 F5 DD 73 07 DD
01 C5 CD 59 69 CC AA 67 Cl Dl DD E3 F5 CD EC 54 DD
SYS16/SYS,00,D6  change 
 to
05 7B 07 F6 FC 57 DD
05 16 80 CD 95 51 DD
SYS16/SYS,02,56  change 
 to
E6 68 C0
E6 60 C0
SYS16/SYS,02,6A  change 
 to
20 1D CB
20 10 CB
SYS16/SYS,04,A9  change 
 to
00 00 00 00 00 00
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 
 to
EF 00 00 00 3E 2A 18 AE C3
EF 32 EE 37 C3 67 47 00 C3
SYS0/SYS,01,62  change 
 to
EF 00 00 00 00 00 00 18 D9 AF
EF 3E CO 30 DA 3E E0 18 D6 AF
SYS0/SYS,03,9A  change 
 to
CD 67 47
CD B3 47
SYS0/SYS,04,A9  change 
 to
5E F3 3A 11 43 F6 FE 77 36 D0 FB 23
5E 18 08 3A 0D 43 0F BA C3 76 44 23
SYS6/SYS,29,5F  change 
 to
CD 67 47
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 
 to
00 3D 46 01 A8 41 46 01 A9 37 47 03 C3 0B 5C 37 48 01 0D 77 48 03 C3
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 
 to
01 50 D0
01 80 D0
SYS6/SYS,14,82  change 
 to
00 61 50 03 3E lA B7 D6
00 67 50 03 36 80 23 D6
SYS6/SYS,14,8E  change 
 to
5C 12 51 01 1A 55 51 04 21 EF 5C C9
5C 0E 51 01 00 55 51 04 21 CD 40 C9
SYS6/SYS,14,A2  change 
 to
00 61 4E 01 0D 6C
00 8F 4E 01 80 6C
SYS6/SYS,14,B1  change 
 to
5B 18 EF 4E 02 35 56 DA 4E 01 2F 8B 4E 01 18 72
5B 28 EF 4E 02 35 56 E9 4F 02 36 00 00 5C 00 72
SYS6/SYS,14,D0  change 
 to
00 FB C1 20 0A 3A C4 46 36
00 21 08 00 19 7E 12 C9 E6
SYS6/SYS,14,E9  change 
 to
3E 05 CD
3E 08 CD
SYS6/SYS,14,FB  change 
 to
3E 30 CD
3E 20 CD
SYS6/SYS,15,21  change 
 to
06 50 7E
06 80 7E
SYS6/SYS,20,11  change 
 to
01 EF 5C 23
01 CD 40 23
SYS6/SYS,20,97  change 
 to
3E 50 20
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 
 to
52 3A 14 53 B7 C8 CD 35 55 2A
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 
 to
44 C2 09 44 21 8B 58 CD 67 44 C3 2D 40 01
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 
 to
53 21 3E 5A CD
53 CD 15 5D CD
LMOFFSET/CMD,09,8F  change 
 to
00 00 00 00 00 00 00 00 00
3E 50 32 C3 58 21 3E 5A C9

*** ZAP 083 *** 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 081 *** 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 CD7l 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 
 to
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
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 
 to
8E 00 4E
8E 44 4E

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

Information zap.

1. Most users are still puzzled about using multi-dimension arrays with BASIC’s. CMD”O”. Please refer to section 7.21 in the manual and ZAP 41.4. CMD”O” was intended for single dimension arrays only, but it was found that a multi-dimension array could also be sorted if the user understands that the arrays items sorted (directly or indirectly) actually occupy consecutive memory locations (as assigned by BASIC during execution of the associated DIM statement) starting with the element specified in the CMD “0” statement. For single dimension arrays, this is the same order as ascending order of subscript, but for multi-dimension arrays, the order of elements used in the sort is COMPLEX and is given by the REN formulas. If you are going to sort a multi-dimension array, it is highly recommend that the sort start with the array’s first element (i.e., the array’s item specified in the CMD”O” statement should have all zero subscripts (i.e., A(0,0,O) for a 3 dimension array)). If you use anything other than zero subscripts for the sort of a multi-dimension array, you must be very clever to figure out which elements actually participate in the sort.
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).
A. For a single dimension array whose DIM statement is DIM A(R1) and for array element A(X1):

X1 = REN

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

C. 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 
 to
5A 28 0E CB
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 
 to
CA F8 01 CD
CA 08 57 CD
EDTASM/CMD,03,23  change 
 to
C9 3A 28 52 F6 08 32
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 
 to
04 DD 77 04 D7
04 CD E0 65 D7
SYS21/SYS,0l,7F  change 
 to
DF C2 4A 1E Fl
DF CD E5 65 Fl
SYS21/SYS,01,8E  change 
 to
01 32 02 4F Fl
01 CD 17 66 F1
SYS2l/SYS,02,88  change 
 to
DD 7E 04 B7 28
DD CB O4 7E 28
SYS21/SYS,03,EE  change 
 to
C9 DD 5E 13 DD
C9 CD 20 66 DD
SYS21/SYS,04,2C  change 
 to
14 19 10 FD C9
14 C3 2B 66 C9
SYS21/SYS,04,B5  change 
 to
0C 28 05 2B 1B ED B8 13 DD 73 09 DD 72 0A DD
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

Leave a Comment.