NEWDOS/80, Version 2, Model III ZAPS     04/08/83.





CAREFULLY STUDY chapter 11 of NEWDOS/80 documentation for instructions on how

to apply zaps.



Some modules have multiple versions with the zaps different in each version. 

Use the verify to determine which version you have and apply the appropriate

zap(s).  If you have a version different from any listed (i.e., the verify(s)

do not match, contact the program's distributor or Apparat).  Apparat is trying

to get the program creator/maintainer/distributor to create and distribute the

necessary zaps to run with NEWDOS/80, Version 2, but where this does not occur

and for widely used programs, Apparat will generate any necessary zaps.  If

Apparat decides to generate the zaps and does not have your particular version,

you will be asked to send the version you have on a diskette to Apparat (as a

gift to Apparat, see chapter 11) 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 III ZAP Index * * *

(Index listed in order of Filename) Current to Zap 088.

                                   

 ZAP#   Type       Area    Program       Reference                        

 ---  ---------   ------  ----------   -----------------------------------

                                                                          

  75  Mandatory   Utility ASPOOL/MAS   *ASP,S function                    

  50  Mandatory   User    BASCOM/CMD   Microsoft BASIC COMPILER v.5.23    

  16  Mandatory   BASIC   BASIC/CMD    Marked & Fixed Item File Processing

  48  Mandatory   BASIC   BASIC/CMD    CLOSE command                      

  82  Mandatory   BASIC   BASIC/CMD    CMD"O" function                    

  85  Mandatory   BASIC   BASIC/CMD    RBA Extended to 16,777,215         

  50  Mandatory   User    BRUN/CMD     Microsoft BASIC COMPILER v 5.23    

  50  Optional    User    BRUN/CMD     Microsoft BASIC COMPILER v.5.23    

  13  Mandatory   Utility CHAINBLD/BAS Version 1 Format                   

  70  Mandatory   Utility CHAINBLD/BAS Non-Displayed Character            

  50  Optional    User    DIR/SYS      Microsoft BASIC COMPILER v.5.23    

  22  Mandatory   Utility DISASSEM/CMD RTD Option                         

  72  Mandatory   User    EDIT/CMD     Microsoft FORTRAN                  

  30  Information Utility EDTASM/CMD   Documentation errors               

  30  Information Utility EDTASM/CMD   Tape I/O for Mod III not available 

  17  Mandatory   Utility EDTASM/CMD   Cursor Display                     

  41  Mandatory   Utility EDTASM/CMD   Filespec Response & <Sh-Lf-Arrow>  

  81  Mandatory   Utility EDTASM/CMD   File Close Problem                 

  83  Mandatory   Utility EDTASM/CMD   Drives stopping                    

   3  Optional    Utility EDTASM/CMD   Disable LC to UC Conversion        

  72  Mandatory   User    F80/CMD      Microsoft FORTRAN                  

  46  Mandatory   User    INIT         PROFILE v 3.0                      

  50  Mandatory   User    L80/CMD      Microsoft BASIC COMPILER v.5.23    

  72  Mandatory   User    L80/CMD      Microsoft FORTRAN                  

  50  Optional    User    L80/CMD      Microsoft BASIC COMPILER v.5.23    

  53  Mandatory   Utility LMOFFSET/CMD Object Code Block Load             

  76  Mandatory   Utility LMOFFSET/CMD Appendage                          

  28  Mandatory   User    RSCOBOL/CMD  Ryan-McFarland Corp COBOL v 1.3B   

  28  Mandatory   User    RUNCOBOL/CMD Ryan-McFarland Corp's COBOL v 1.3B 

  77  Mandatory   User    SCR17/CTL    R. S. Model III SuperScripsit V1.0 

  84  Mandatory   User    SCR17/CTL    R. S. Model III SuperScripsit V1.1 

  87  Mandatory   User    SCR17/CTL    R. S. Model III SuperScripsit V1.2 

   1  Mandatory   User    SCRIPSIT/CMD SCRIPSIT for Model III (TRSDOS 1.2)

  42  Mandatory   User    SCRIPSIT/CMD SCRIPSIT v 3.1 (TRSDOS 1.1 or 1.2) 

  43  Mandatory   User    SCRIPSIT/CMD Correction to Zap 1, 42            

  77  Mandatory   User    SCRIPSIT/CMD R. S. Model III SuperScripsit V1.0 

  84  Mandatory   User    SCRIPSIT/CMD R. S. Model III SuperScripsit V1.1 

  87  Mandatory   User    SCRIPSIT/CMD R. S. Model III SuperScripsit V1.2 

  78  Mandatory   User    SCRIPSIT/CMD Model III Scripsit v 3.2           

   2  Mandatory   User    SCRIPSIT/LC  Radio Shack's Model I SCRIPSIT     

  14  Mandatory   User    SCRIPSIT/LC  Radio Shack's Model I SCRIPSIT     

   2  Mandatory   User    SCRIPSIT/UC  Radio Shack's Model I SCRIPSIT     

  14  Mandatory   User    SCRIPSIT/UC  Radio Shack's Model I SCRIPSIT     

  12  Mandatory   Utility SUPERZAP/CMD DM,P functions                     

  27  Mandatory   Utility SUPERZAP/CMD DM & F functions                   

  65  Mandatory   Utility SUPERZAP/CMD DMDB function                      

  15  Mandatory   DOS     SYS0/SYS     ROUTE command                      

  20  Mandatory   DOS     SYS0/SYS     Sector Write Retries               

  34  Mandatory   DOS     SYS0/SYS     ROUTE command                      

  38  Mandatory   DOS     SYS0/SYS     Remove Unreleased Zap              

  39  Mandatory   DOS     SYS0/SYS     Disk Write Precompensation         

  54  Mandatory   DOS     SYS0/SYS     AM Disk Controllers                

  54  Mandatory   DOS     SYS0/SYS     8 Inch Disk Operation              

  56  Mandatory   DOS     SYS0/SYS     4445H call to DOS                  

  31  Mandatory   DOS     SYS2/SYS     Directory Entries                  

  29  Mandatory   DOS     SYS3/SYS     CLOSE & KILL commands              

  37  Optional    DOS     SYS3/SYS     'JKL':  Graphics to Epson Printers 

  88  Mandatory   DOS     SYS5/SYS     DEBUG:  I & C functions            

   9  Mandatory   DOS     SYS6/SYS     COPY Format 5                      

  11  Mandatory   DOS     SYS6/SYS     COPY & FORMAT:  DDSL parameter     

  18  Mandatory   DOS     SYS6/SYS     Granule Lockout Table in Directory 

  19  Mandatory   DOS     SYS6/SYS     FORMAT & COPY commands             

  20  Mandatory   DOS     SYS6/SYS     Sector Write Retries               

  23  Mandatory   DOS     SYS6/SYS     FORMAT:  PFST parameter            
  25  Mandatory   DOS     SYS6/SYS     TRSDOS 2.3B (I) or TRSDOS 1.3 (III)

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

  35  Mandatory   DOS     SYS6/SYS     SYSTEM:  BM parameter disabled     

  39  Mandatory   DOS     SYS6/SYS     Disk Write Precompensation         

  40  Mandatory   DOS     SYS6/SYS     PDRIVE:  8 Inch, Double Density    

  49  Mandatory   DOS     SYS6/SYS     Disk Write Precompensation         

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

  52  Mandatory   DOS     SYS6/SYS     COPY command                       

  74  Mandatory   DOS     SYS6/SYS     COPY:  TRSDOS 2.3B or Higher       

  80  Mandatory   DOS     SYS6/SYS     COPY Format 5                      

   7  Optional    DOS     SYS6/SYS     Double Density Format Sensitivity  

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

  73  Optional    DOS     SYS6/SYS     Model I TRSDOS 2.7DD Diskettes     

  44  Mandatory   DOS     SYS8/SYS     DIR $ or DIR $0                    

  55  Optional    DOS     SYS8/SYS     DIR:  Remote Terminal Operators    

  59  Mandatory   DOS     SYS9/SYS     Chaining:  /./5Y function          

  85  Mandatory   BASIC   SYS10/SYS    RBA Extended to 16,777,215         

  33  Mandatory   BASIC   SYS11/SYS    RENUM function                     

  36  Mandatory   BASIC   SYS12/SYS    REF$ function                      

  15  Mandatory   DOS     SYS14/SYS    ROUTE command                      

  64  Mandatory   DOS     SYS14/SYS    CREATE:  Old File's EOF            

  45  Optional    DOS     SYS14/SYS    PRINT & LIST:  Control Characters  

  10  Mandatory   DOS     SYS16/SYS    PDRIVE error                       

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

  40  Mandatory   DOS     SYS16/SYS    PDRIVE:  8 Inch, Double Density    

  35  Mandatory   DOS     SYS17/SYS    SYSTEM:  BM parameter disabled     

  52  Mandatory   DOS     SYS17/SYS    COPY command                       

  36  Mandatory   BASIC   SYS18/SYS    REF$ function                      

  58  Mandatory   DOS     SYS18/SYS    Bad Sector Information             

  71  Mandatory   BASIC   SYS18/SYS    REF= statement                     

  62  Mandatory   BASIC   SYS19/SYS    Dynamic MERGE                      

  66  Mandatory   BASIC   SYS21/SYS    CMD"O" function                    

  82  Mandatory   BASIC   SYS21/SYS    CMD"O" function                    

   5  Mandatory   User    VC/CMD       VISICALC Model 3 (TRSDOS 1.2)      

   6  Mandatory   User    VC/CMD       Radio Shack's Model I VISICALC     

  21  Mandatory   User    VC/CMD       Radio Shack's Model I VISICALC     

  63  Mandatory   User    VC/CMD       Model III VISICALC v.VC-150Y0-T83  

  67  Mandatory   User    VC/CMD       Model III VISICALC v.VC-160Y0-T83  

   4  Information DOS     Command      ATTRIB:  LRL=xxx Parameter         

   4  Information DOS     Command      ROUTE:  display of routes          

   4  Information DOS     Command      COPY:  DFO parameter               

   4  Information DOS     Command      FORMAT:  RWF parameter             

   4  Information DOS     Command      TRSDOS $RAMDIR & $FILPTR           

  24  Information DOS     Command      Model I & Model III Data Exchange  

  24  Information DOS     Command      COPY:  Formats 5 & 6 discussed     

  30  Information DOS     Command      Documentation Correction           

  32  Information DOS     Command      ROUTE:  Documentation Correction   

  32  Information BASIC   Command      CMD"O":  explanation               

  32  Information DOS     Command      SYSTEM:  AX parameter correction   

  47  Information DOS     Command      SYSTEM:  AJ=N explanation expanded 

  57  Information DOS     Command      DIR & FREE Error Messages          

  57  Information User    Command      Program Parameters                 

  59  Information User    Command      Program Parameters                 

  60  Information DOS     Command      COPY:  Format 6                    

  60  Information DOS     Command      GAT Overflow & CBF with FMT COPY   

  60  Information DOS     Command      LIST & PRINT:  no graphics         

  68  Information DOS     Command      Accessing files on Model III TRSDOS

  69  Information DOS     Command      Accessing Model I TRSDOS 2.3B & Up 

  79  Information BASIC   Command      CMD"O" & Multi-Dimension Arrays    

  57  Information BASIC   Command      BASIC Line Number Sequence         

  57  Information DOS     Features     Main Memory, High Memory, MINI-DOS 

   4  Information DOS     General      Reserved Zap Areas in Newdos/80    

  32  Information DOS     General      Cassette I/O                       

  32  Information DOS     General      Automatic Density Recognition      

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

  47  Information DOS     General      Chain Filename & /JCL Entension    

   4  Information DOS     Mini-dos     Illegal under DOS-CALL             

  24  Information BASIC   Utility      RENUM usage                        

  32  Information DOS     Zap 25       Documentation Correction           

  60  Information DOS     Zap 54       AM Disk Controllers                

  86  Information DOS     Zaps         NEWDOS/80 VERSION 2.5              



The ZAPS for the Model III/IV are numbered from 01 to 88. Check the Index (by

Filespec or Number) to find the one(s) you wish.









******** ZAP 001 ******** 08/10/81 ******** V2M3 ********



Mandatory zap to Model III TRSDOS 1.2 Version of SCRIPSIT to run under

NEWDOS/80 Version 2.  This zap module will not run on other DOSs.  If you are

running NEWDOS and files appear to load short one sector, be sure these zaps

are in.  The first two zaps allow for the difference between NEWDOS/80 and the

older TRSDOSs in the FCB NEXT and EOF fields.  The next 2 zaps move the stack

area down so MINI-DOS can be used.



SCRIPSIT/CMD,11,3E     change   01 05 4F   to   01 00 4F



SCRIPSIT/CMD,11,C9     change B7 C4 D8 5D 79 32 FC 7B 11   to   B7 32 F9 7B C4

D8 5D 00 11



SCRIPSIT/CMD,00,1E     change   31 FF 41   to   31 E0 41 SCRIPSIT/CMD,00,B2    

same as above



SCRIPSIT/CMD,04,11     change   31 FD 41   to   31 DE 41 Perform the same for

locations  06,C0  12,35  17,33  18,E1  27,ED  and  30,0D









******** ZAP 002 ******** 08/10/81 ******** V2M3 ********



Mandatory zap to the old Model I versions of SCRIPSIT/UC and SCRIPSIT/LC to run

under NEWDOS/80 Version 2 on the Model III.  This zapped module will not run on

other DOSs.  The first 3 changes are necessary because of the different way the

FCB'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 zaps are in.  The 4th

zap causes DOS' HIMEM address value in 4411H - 4412H to be used as SCRIPSIT's

high memory.  The 5th zap re-enables the interrupts so MINI-DOS can be invoked

from SCRIPSIT.  The 6th through 9th zaps cause parallel printer output to go to

port 0F8H.  The 10th zap allows for the Model III treating each shift key as an

individual code.  The 11th through 13th zaps change the stack ptr to allow for

MINI-DOS.



SCRIPSIT/UC,11,75  and  SCRIPSIT/LC,11,75 change   47 00 CD 6E 7A 4F   to   47

00 3A B9 7C 4F



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

B6 7C C4



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

11



SCRIPSIT/UC,00,63  and  SCRIPSIT/LC,00,63     change 7C 21 FF 00 25 7E 2F 77 AE

20 F9 22   to 7C 2A 11 44 00 00 00 00 00 00 00 22



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



SCRIPSIT/UC,00,47  and  SCRIPSIT/LC,00,47     change 0A 32 E8 37 AF   to   0A

D3 F8 00 AF



SCRIPSIT/UC,20,B1  and  SCRIPSIT/LC,20,B1     change 0D 32 E8 37 32   and   0D

D3 F8 00 32



SCRIPSIT/UC,21,79  and  SCRIPSIT/LC,21 79     change 0D 32 E8 37 D3   to   0D

D3 F8 00 D3



SCRIPSIT/UC,41,3A  and  SCRIPSIT/LC,41,3A     change 20 32 E8 37 08 C3 74 5F 32

E8 37 C3   to 20 D3 F8 00 08 C3 74 5F D3 F8 00 C3



SCRIPSIT/UC,15,43  and  SCRIPSIT/LC,15,43     change 10 CB 08 30 34 FD 34 4E FD

35 4E 20 2C C6 20 18 28 D6   to 10 57 78 E6 03 28 33 FD 7E 4E B7 20 2D CB EA 18

29 D6



SCRIPSIT/UC,00,43  and  SCRIPSIT/LC,00,43     change 31 FC 41   to   31 E0 41



SCRIPSIT/UC,00,D3  and  SCRIPSIT/LC,00,D3     change 31 FC 41   to   31 E0 41



SCRIPSIT/UC,04,32  and  SCRIPSIT/LC,04,32     change 31 FA 41   to   31 DE 41 

(perform the same for the following six locations:  07,00  12,63  17,52 28,CD 

30,ED  and  40,E5











********* ZAP 003 ******** 08/10/81 ******** V2M3 ********



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,DD     change   FE 61 D8   to   FE 80 D8







******** ZAP 004 ******** 08/10/81 ******** V2M3 ********



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 zaps 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 DFG 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 diskettes.  DFO is mutually exclusive with FMT.



6.  DOS command FORMAT (see section 2.22) has a new optional parameter RWF (RaW

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.



7.  NEWDOS/80 Version 2 does not have the equivalent of Model III TRSDOS's

$RAMDIR or $FILPTR functions.









******** ZAP 005 ******** 08/10/81 ******** V2M3 ********



Mandatory zap to allow the TRSDOS 1.2 Model III VISICALC to operate with Model

III NEWDOS/80 Version 2.  The first zap sets the proper BREAK key enable

address.  The 2nd zap disables VISICALC's directory search feature.



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,00,F7     change   52 AE 42 36   to   52 78 44 36



VC/CMD,72,0D     change   E5 CD 90 42 FD   to   E5 3E 08 B7 FD









******** ZAP 006 ******** 08/10/81 ******** V2M3 ********



Mandatory zap to allow the old Model I VISICALC to operate with Model III

NEWDOS/80.  The resulting zapped module will not run with TRSDOS or NEWDOS21;

so maintain 2 different versions.  The first 3 zaps deal with the different

handling by NEWDOS/80 of the user 25ms interrupt routines (see sections 3.8 and

3.9).  The 4th zap adjusts 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.  The 5th and 6th zaps adjust for

the different HIMEM location in the Model III.  The 7th zap disables the 4315H

disable of DEBUG (not used on Model III).



VC/CMD,03,2B     change 09 3E 00 21 20 03 22 51 9F C9 79   to   09 18 BB 00 00

08 08 C3 EF 9B 79



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



VC/CMD,75,21     change CD 10 44 C9 3E 03 C3 13 44 CD 4E 53 F5 CD 16 9C 28 0E

3E   to CD 7B 44 C9 11 1E 55 C3 13 44 CD 4E 53 CD 16 9C C8 00 3E



VC/CMD,73,01     change   C9 FE 18 20   to   C9 37 C9 20



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



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



VC/CMD,00,F2     change   00 77 01   to   00 00 01







******** ZAP 007 ******** 08/10/81 ******** V2M3 ********



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.



2.  5B 5B  =  intermediate sensitivity during formatting.  This is the TRSDOS

Model III pattern.



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.





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

is already at those locations.  Each location receives both bytes, and as a

check on each location, the preceding byte is F5.



SYS6/SYS,31,E3



SYS6/SYS,31,FD







******** ZAP 008 ******** 08/10/81 ******** V2M3 ********



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 re-enable COPY to handle TRSDOS 1.3 format Model III diskettes.



SYS6/SYS,14,75     change   01 00 7B   to   01 01 7B



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



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









******** ZAP 009 ******** 08/18/81 ******** V2M3 ********



Mandatory zap to correct error in format 5 COPY where the BOOT sector was not

receiving the correct directory starting lump number if this differed from the

PDRIVE specification.  The error would manifest itself by directory read error

in DIR.



SYS6/SYS,05,96     change   64 01 00 01 18   to   64 CD 80 5C 18



SYS6/SYS,15,46     change 00 00 00 00 00 00 00 00 00 00 00 00 00 00   to 01 00

01 B7 C0 13 13 1A 32 BC 64 1B 1B C9









******** ZAP 010 ******** 08/18/81 ******** V2M3 ********



Correct error in PDRIVE causing SYSTEM PROGRAM NOT FOUND error when the second

drive number is specified wrongly as greater than 9.



SYS16/SYS,00,6A     change   C3 1A 52 CB   to   C3 3C 50 CB











******** ZAP 011 ******** 08/18/81 ******** V2M3 ********



Mandatory zap to correct error in COPY and FORMAT where DDSL parameter was

being erroneously rejected.



SYS6/SYS,01,FA     change   CB 70 20   to   CB 52 20









******** ZAP 012 ******** 08/25/81 ******** V2M3 ********



Mandatory zap to SUPERZAP to correct an error where the DM,P functions was not

sending the correct memory contents to the printer.



SUPERZAP/CMD,00,04     change 00 00 00 00 00 00 00 00 00 00 00 00 00   to 3A 91

54 CB 5F C0 2A B4 54 22 95 54 C9



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







******** ZAP 013 ******** 08/25/81 ******** V2M3 ********



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 014 ******** 08/25/81 ******** V2M3 ********



This zap is an extension of ZAP 002.



SCRIPSIT/UC,00,28   and   SCRIPSIT/LC,00,28     change

56 49 53 49 4F 4E 20 4F 46 20 54 41 4E 44 59 20 43 4F 52 50 4F 52 41 54 49 4F

4E 31

to

56 20 4F 46 20 54 41 4E 44 59 20 43 4F 52 50 3A 80 38 CB 4F C8 F6 01 C9 00 00

00 31



SCRIPSIT/UC,15,08   and   SCRIPSIT/LC,15,08     change 0B 3A 80 38 FD   to   0B

CD 33 52 FD



SCRIPSIT/UC,15,34   and   SCRIPSIT/LC,15,34     change 0D 3A 80 38 47   to   0D

CD 33 52 47









******** ZAP 015 ******** 08/28/81 ******** V2M3 ********



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,61     change   28 39 CD   to   28 5D CD



SYS0/SYS,07,9A     change

C9 23 7E 23 66 6F 7C B5 C8 7E BB 23 20 02 7E BA 23 20 EE E5 D5 C5 7E A0 23 23

23 5E 23 56 D5 DD E1 7A B3 C4 8B 06 C1 D1 E1 CB 40 28 D4 B7 28 D1 C9 CD

to

C9 7E BB 23 20 02 7E BA 23 20 1A E5 D5 C5 7E A0 23 23 23 5E 23 56 D5 DD E1 CD

8B 06 C1 D1 E1 CB 40 28 02 B7 C0 23 7E 23 66 6F 7C B5 20 D3 C3 9D 4C CD



SYS0/SYS,09,7F     change C9 00 00 00 00 00 00 00 00   to   C9 CB 40 C0 79 C9

49 4B 00



SYS14/SYS,02,86     change   43 00 00 43   to   43 A1 4C 43







******** ZAP 016 ******** 08/28/81 ******** V2M3 ********



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,10,F1     change   CD BA 61 79 DD   to   CD A8 65 00 DD



BASIC/CMD,14,B1     change 00 00 00 00 00 00 00   to   C5 CD BA 61 79 C1 C9









******** ZAP 017 ******** 08/28/81 ******** V2M3 ********



Mandatory zap to EDTASM to cause the cursor display to be forced every time the

* prompt is displayed, waiting for the next command.  This allows the cursor to

be turned back on after a return from the DEBUG 123 function, which turns it

off.



EDTASM/CMD,05,12     change   CD 39 59 0E   to   CD 00 57 0E



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

0E C3 39 59 C9







******** ZAP 018 ******** 08/28/81 ******** V2M3 ********



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 is greater than 60H (96 decimal) or if

relative byte 60H of the GAT sector = 0FFH, 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 granules than the source diskette.  This change

corrects this.  However, users are warned that diskettes with GPL greater than

2 (such as 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 that one or more granules are locked out but

free or locked out but allocated to a file.  The diskettes can still be used as

it is only DIRCHECK that has the problem, but sooner or later the diskettes

should be re-copyied using CBF with FMT so this lockout table conflict will be

straightened out and DIRCHECK will stop complaining.



SYS6/SYS,10,0A     change 3A CA 59 FE 02 C0 7D   to   3A C6 59 FE 61 D0 7D







******** ZAP 019 ******** 08/30/81 ******** V2M3 ********



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  (TRSDOS model III diskette).  The BDU option prevents any NEWDOS/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 than 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 M (which also implies I for

Model III TRSDOS diskettes).  Remember, this is not a TRSDOS Model III format.







SYS6/SYS,07,1E     change   C6 22 1A 5B 3E   to   C6 CD 8E 5C 3E



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

C9



SYS6/SYS,27,6A     change   6F C2 47 67   to   6F C4 51 67







******** ZAP 020 ******** 08/31/81 ******** V2M3 ********



Mandatory zap to DOS to eliminate an excessive number of sector write retries

due to LOST DATA.  Usually the error retry worked, but efficiency suffered as

one diskette revolution (200ms) was lost each time.



SYS0/SYS,02,BD     change C5 06 A2 28 03 04 3E 08 32 E1 46 78 32 AC 46 32 B1 46

to C5 01 02 A2 28 05 01 97 A3 3E 08 32 E1 46 79 CD AB 46



SYS0/SYS,03,62     change

02 3A 87 46 CB 6F 28 07 DB F0 A2 28 FB ED A3 DB F0 A2 28 FB ED A2 7B D3 F4 ED

A2 20 FA 18 FE AF

to

02 DB F0 A2 28 FB ED A2 10 FE 05 7B D3 F4 ED A2 20 FA 18 FE 32 8F 46 78 32 9E

46 32 A6 46 C9 AF



SYS6/SYS,15,5C     change 00 00 00 00 00 00 00 00 00   to 32 A6 46 3E 02 32 8F

46 C9



SYS6/SYS,30,C9     change 3A F4 45 32 AC 46 32 B1 46 21   to 3A F5 45 32 9E 46

CD 96 5C 21









******** ZAP 021 ******** 09/01/81 ******** V2M3 ********


This mandatory zap is an extension to zap 006 for the old Model I VISICALC

being used on the Model III.



Changes to enable use of the right shift key. VC/CMD,03,69     change   E6 01

28   to   E6 03 28



VC/CMD,03,B3     change   E6 01 28   to   E6 03 28



Change to enable directory search feature.  Note, to work, the directory must

start at diskette relative sector 170 and contain only 2 granules (this is the

standard when GPL=2, DDSL=17 and DDGA=2 are in effect). VC/CMD,68,B8     change

90 80 40   to   90 82 40







******** ZAP 022 ******** 09/02/81 ******** V2M3 ********



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  "1st byte = low value, 2nd = high."  to be 

"1st byte = high value, 2nd byte = low.".



DISASSEM/CMD,04,11     change   5A D5 DD E1 DD   to   5A CD E0 6D DD



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









******** ZAP 023 ******** 09/02/81 ********  V2M3 ********



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 PFST=tn3 paragraph on page 2-25 the following:



PFST is mutually exclusive with N, DDND, ODN, KDN, KDD, DDSL, DDGA and RWF.



The user will notice that neither KDD or RWF were specified in the FORMAT

command; however, KDD is a legal parameter and RWF was defined in zap 004.



SYS6/SYS,03 BE     change   02 F9 86   to   02 B9 86



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







******** ZAP 024 ******** 09/02/81 ******** V2M3 ********



Information only.



1.  Chapter 12 failed to make it clear that though diskettes 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 I 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 command WRDIRP or the W function of

DIRCHECK.  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 I TRSDOS 2.3, but it can be processed by the Model I

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

III 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 I

and model III, set SYSTEM options BK=Y and BN=Y on the Model I 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 diskettes 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 NEWDOS/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 is relatively empty, format 6 may be faster.



2.  In format 5 the source directory becomes the destination directory,

including the same size and relative sector position on the diskette, while in

format 6, the two directories are considered separate just as in a format 1

through format 4 COPY.



3.  Generally, if format 5 is used, both the source and destination PDRIVE

specifications for GPL, DDSL and DDGA must be the same (though only the

restriction on GPL is enforced, but not if BDU is specified); the other PDRIVE

parameters may be different provided the destination diskette is to have

atleast as many sectors as the source diskette (though the format 5

specifications say that sectors per track must be the same; this is not so in

Version 2 where it was in Version 1).



4.  Format 5 with the BDU option allows some alien diskettes to be copied that

otherwise could not be copied.



5.  Format 6 allows a diskette's contents to be copied between diskettes having

a different number of granules per lump (GPL), the directories positioned

differently on the diskettes, the directories of different sizes, or the

destination diskette having less sectors than the source.



6.  Format 6 copies all of a source diskette's files or a selected subset of

those files.



7.  Both format 5 and 6 allow the option of formatting the destination diskette

(FMT) or not (NFMT).  Formatting a diskette magnetically initializes the entire

diskette including the inter-sector control bytes used only by the drives and

the controller.  Many users prefer to do this everytime a back up is done.  Of

course, formatting a diskette destroys the previous contents.



8.  If format 6 is being used to copy a NEWDOS/80 Version 2 system diskette,

the FMT option must be specified.  This assures the correct BOOT, SYSTEM and

PDRIVE control informat is stored on the destination diskette, and the correct

positioning of SYSTEM files which, excepting for BOOT/SYS and SYS0/SYS, are all

positioned on the destination diskette in same position 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 specific FDEs in the

directory, and only FMT can assure that these FDEs 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 BOOT/SYS file to contain the proper BOOT code and drive 0 PDRIVE

specifications.











******** ZAP 025 ******** 09/10/81 ******** V2M3 ********



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 I 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 is 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 I TRSDOS 2.3B or higher diskettes with that system being somewhat

different than Model I TRSDOS 2.3, including the use of RBAs as discussed in

section 12.1 for the Model III.  These diskettes are NOT compatible with

NEWDOS/80 diskettes, and, as with Model III TRSDOS diskettes, COPY is the only

function of NEWDOS/80 that can be used with the Model I TRSDOS 2.3B diskettes

(though FREE and DIR (except EOF and special flags) appear to work).



Files on either Model III TRSDOS or Model I TRSDOS 2.3B diskettes 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 008 must NOT be installed in a NEWDOS/80 that is used to copy Model I

TRSDOS 2.3B files.  ZAP 008 must be used for Model III TRSDOS 1.1 or 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 I TRSDOS

2.3B diskettes, see ZAP 025."



2.  Page 2-15, "The COPY command" paragraph:  "This section applies also to

standard 35 track, single sided, single density diskettes for Model I TRSDOS

2.3B or higher."



3.  Page 2-15, "The user must" paragraph:  "See examples 1 and 3, section

2.37".



4.  Page 2-35, "Flag  M" paragraph:  "Expanded to include Model I TRSDOS 2.3B

or higher diskettes.  See ZAP 025



5.  Page 2-38, example 1:  "For Model I TRSDOS 2.3B diskettes, use TI=AM (see

ZAP 025)."  Also in this paragraph, change the last two words to read "option

BN" instead of AN.



6.  Page 12-7, paragraph 12.5.1:  "See ZAP 025."





SYS6/SYS,00,7D     change   CD B3 63 21   to   CD 9F 5C 21



SYS6/SYS,15,65     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 01 00 EA

5C 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 5B 22 F7 55 21 B1 5B 22

5D 5B 21 00 5C 22 61 5B AF 32 7F 61 67 6F 22 BF 61 22 B5 5B 3E 18 32 01 00 EA

5C 2D 61 C9



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





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



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

C0



SYS16/SYS,04,8B    change 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   to 00

CB E3 DD BE 05 C9 DD CB 0F 56 C8 3E 03 C9







******** ZAP 026 ******** 09/10/81 ******** V2M3 ********



Mandatory zap to DOS to:



1. prevent COPY from setting file update flag on in Model I 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/SYS,10,83     change   C3 39 44 DD   to   C3 ED 5C DD



SYS6/SYS,15,B7     change 00 00 00 00 00 00 00 00 00 00 00 00 00 00   to 3A 82

42 CB 6F 28 04 DD CB 02 EE C3 39 44



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









******** ZAP 027 ******** 09/10/81 ******** V2M3 ********



Mandatory zap to correct error in SUPERZAP during the DM function and during

the  F,  find function.



SUPERZAP/CMD,00,11     change 00 00 00 00 00 00 00   to   6B 63 4B 22 C3 54 C9



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











******** ZAP 028 ******** 09/11/81 ******** V2M3 ********



Mandatory zap to the Ryan-McFarland Corp's COBOL version 1.3B distributed by

Radio Shack 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 025).



RSCOBOL/CMD,99,7D   change   44 24 3E 40 49   to   44 82 27 44 49



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



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



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









******** ZAP 029 ******** 09/13/81 ******** V2M3 ********



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 FDE slot

in a directory sector.  This error was missed during BETA testing as it was

caused by a late adjustment to handle the TRSDOS Model III diskettes.  A few

persons were complaining about directories being clobbered, but only on

September 12th was an error report made that lead to the discovery.  Though the

problem would appear to affect many users, apparently to date it has not.



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









******** ZAP 030 ******** 09/13/81 ******** V2M3 ********



Information zap.



1.  Documentation correction for EDTASM.  Tape I/O is NOT available for the

Model III.  If it is attempted, BAD PARAMETER(S) error will be given.





1.  Place in the outside margin of the "2.  L T=nnnnnn" paragraph of page 6-15

the following restriction:  "Model I only"



2.  Place in the outside margin of the 2nd line of page 6-16 of page 6-16 the

following restriction:  "Model I only"





2.  Correct the "A list of all" paragraph on page 1-3 to read  "NWD80V2/ILF and

NWD80V2/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

"memory location of a user".











******** ZAP 031 ******** 09/29/81 ******** V2M3 ********



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 name/ext on the diskette.



SYS2/SYS,01,CB    change   FE CD 28   to   FE CC 28











******** ZAP 032 ******** 09/29/81 ******** V2M3 ********



Information and manual corrections.



1.  A number of users have had trouble with tape I/O 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 as 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 retai

ler/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.



1.  Page 2-43, 3rd paragraph, 3rd line, change  "12"   to   "16". 2.  Same

paragraph, 5th line, change   "13th"   to   "17th". 3.  Page 2-44, top line,

change     "0FE8CH"   to   "0FE90H".





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 "O" and multi-dimensional arrays, a few users have asked for

clarification of term REN used in the documentation for on pages 7-14 through

7-17.  CMD"O" does not care whether an array is single or multi-dimensional as

CMD"O" 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 "O" 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 R1, R2, R3, X1,

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=0TOR3: FOR X2=0TOR2: FOR

X1=0TOR1  '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+1: 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 HAVE BEEN CHANGED. 70 FOR X3=0TOR3:

FOR X2=0TOR2: FOR X1=0TOR1   '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 1st 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.  ZAP 025 has in its 7th, 10th, 11th and 12 paragraphs, references to ZAP 031

which must be changed to refer to ZAP 025.







******** ZAP 033 ******** 09/30/81 ******** V2M3 ********



Mandatory zap to correct error in BASIC's RENUM function giving SEQ # OVERFLOW

when large programs, say over 26,000 bytes of text, are renumbered.  Though a

number of users called on this problem, it wasn't until a user sent us a

written error report with the problem program on a system diskette that we

finally had enough to go on.



SYS11/SYS,03,BB     change   0F ED 42 DF 38   to   0F CD 9D 51 38



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











******** ZAP 034 ******** 10/07/81 ******** V2M3 ********



Mandatory zap to DOS to correct omision from ZAP 015 (ROUTE) which caused

SYSTEM option BA to cause hang on reset.



SYS0/SYS,00,B9     change   FF 00 00 00   to   FF A1 4C 00









******** ZAP 035 ******** 10/07/81 ******** V2M3 ********



Mandatory zap to DOS to disable SYSTEM option BM.  SYSTEM option BM=N 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 BM=N will not detect the error whereas it will with

SYSTEM option BM=Y.  Therefore, SYSTEM option BM 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 035".



SYS6/SYS,10,35     change E1 3A 8D 42 CB 5F C8 3E   to   E1 00 00 00 00 00 00

3E



SYS17/SYS,02,55     change   FE 31 FE   to   FE FE FE











******** ZAP 036 ******** 10/07/81 ******** V2M3 ********



Mandatory zap to correct BASIC function REF$ to (1) avoid occasional misses of

printer line advance and (2) disable printer operations after the function.



SYS12/SYS,04,BA     change   FE 38 30   to   FE 35 30



SYS18/SYS,03,2F     change   D2 B5 57 3D   to   D2 31 55 3D



SYS18/SYS,03,41     change   00 00 00 00 00   to   11 1E 64 D5 EF









******* ZAP 037 ******** 10/09/81 ******** V2M3 ********



Optional zap to DOS to allow 'JKL' to print graphics on the EPSON printers that

use graphic codes 0A0H - 0DFH.  This is done by converting hex codes 80H

through 0BFH to 0A0H through 0DFH.



SYS3/SYS,04,9A     change   30 02 3E   to   30 07 3E



SYS3/SYS,04,A3     change 00 00 00 00 00 00 00 00   to   FE 80 38 F7 C6 20 18

F3



Use next zap if 0BFH rather than SYSTEM option AX is to govern as high ASCII

for JKL. SYS3/SYS,04,94     change   47 3A 90 42 B8   to   47 00 3E BF B8









******** ZAP 038 ******** 10/21/81 ******** V2M3 ********



Mandatory zap to remove a part of a unreleased zap that inadvertently was

placed on some master diskettes.  If the 'before' contents do not exist on your

master diskette, ignore this zap.  If the 'before' contents do exist, then this

zap must be done before zap 039 as 039 uses some of the affected area.  Please

note that 4 bytes of loader control information remain unchanged by this zap.



SYS0/SYS,09,87    change

DD E5 E1 11 E5 41 DF 28 0A 1E ED DF 01 00 B0 4C 28 07 0E 0C 3E E3 EF 3C 4F DD

77 03 79 C9

to

00 00 00 00 00 00 00 00 00 00 00 00 01 00 B0 4C 00 00 00 00 00 00 00 00 00 00

00 00 00 00







******** ZAP 039 ******** 10/21/81 ******** V2M3 ********



Mandatory zap to DOS to correct an error where disk write precompensation was

not being done for high numbered tracks if the PDRIVE TC parameter was an odd,

vice even, number (i.e., TC=35)



SYS0/SYS,02,FE     change   FE 3A   to   FE CD



SYS0/SYS,03,00     change   83 42 0F BA   to   A4 4C 00 BA



SYS0/SYS,09,87     change   00 00 00 00 00 00   to   3A 83 42 CB 3F C9



SYS6/SYS,29,63     change   4F 3A 83 42 0F B9   to   4F CD A4 4C 00 B9







******** ZAP 040 ******** 10/21/81 ******** V2M3 ********



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 SPT 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; for now we know of no Model III's that can, but 8 inch double

density support was included in anticapation that eventually some would.



SYS6/SYS,27,C9     change   E6 41 DD   to   E6 C1 DD



SYS6/SYS,31,FF     change   34   TO   13



SYS6/SYS,32,00     change 0A 26 0A 86 01 9C 27 44 00   to   0A 14 0A 53 01 BA

27 26 00



SYS16/SYS,04,1E    change   12 1A 24 34 82   to   12 1E 24 3C 82









******** ZAP 041 ******** 10/21/81 ******** V2M3 ********



Mandatory zap to EDTASM to correct error occurring when shift-left-arrow is

used to erase a filespec response.



EDTASM/CMD,30,EC     change 58 C5 CD 2F 59 E1 E5 3A AA 53 F5 0E 01 CD 47 5B F1

32 AA   to 58 D5 C5 CD 2F 59 E1 06 1F CD 40 00 DA D7 58 D1 7E C9 AA









******** ZAP 042 ******** 11/09/81 ******** V2M3 ********


Mandatory zap to Version 3.1 of SCRIPSIT for TRSDOS 1.1 or 1.2 to run with

NEWDOS/80.                                   SCRIPSIT/CMD,11,43     change   01

05 4F   to   01 00 4F



SCRIPSIT/CMD,11,CE     change B7 C4 BE 5E 79 32 E2 7C 11   to   B7 32 DF 7C C4

BE 5E 00 11









******** ZAP 043 ******** 11/09/81 ******** V2M3 ********



Correction to ZAP 001, in the SCRIPSIT/CMD,11,C9 zap, change the 3rd byte of

the 'to' part from FC to F9 if it not already F9.  This was not a fatal error.



Correction to ZAP 042, the 3rd byte of the 'to' part of the SCRIPSIT/CMD,11,43

zap is to be changed from 45 to 4F if not already 4F.  This was a fatal error

not allowing SCRIPSIT to run.



Correction to ZAP 042, the 3rd byte of the 'to' part of the SCRIPSIT/CMD,11,CE

zap is to be changed from E2 to DF if not already DF.  This was not a fatal

error.









******** ZAP 044 ******** 11/09/81 ******** V2M3 ********



Mandatory zap to DOS to correct error in  DIR $  or DIR $0  command where DOS

hangs if any response other than ENTER is given to the diskette mount requests.



SYS8/SYS,02,B8   change   20 FC C9   to   20 F9 C9









******** ZAP 045 ******** 11/09/81 ******** V2M3 ********



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 0D (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.



SYS14/SYS,04,6C     change   20 D0 FE   to   20 C9 FE









******** ZAP 046 ******** 09/11/81 ******** V2M3 ********



Mandatory zap for PROFILE Version 3.0 being issued to run with TRSDOS 1.3. 

This zap disables some of the error checking being done to determine if a drive

is available.



INIT,00,65     change FE 02 28 19 FE 1B 28 1F C3 47 52 38   to FE 1B 28 23 18

17 00 00 00 00 00 38



Note, during some testing, PROFILE did not have enough space on drive 0 to

initialize the files.  You may find that some files must be deleted from drive

0 to have enough room.









******** ZAP 047 ******** 11/09/81 ******** V2M3 ********



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 NEWDOS21 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 047, part 2" in the outside

margin at the following places in the manual.



1.  Page 2-7, the "CHAINING is discussed" paragraph.



2.  Page 2-29, the "In NEWDOS/80" paragraph.



3.  Page 2-47, the "AJ=yn" paragraph.



4.  Page 4-9, the "If a DOS recognized" paragraph.





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 047, part 3" in the

outside margin in the following places in the manual.



1.  Page 2-7, the "When the system" paragraph.



2.  Page 4-8, the "Chain file creators" paragraph.











******** ZAP 048 ******** 11/09/81 ******** V2M3 ********



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,A1     change   66 11 2D 01 7E   to   66 CD AF 65 7E



BASIC/CMD,14,B8     change   00 00 00 00 00   to   ED 5B 9E 64 C9







******** ZAP 049 ******** 11/09/81 ******** V2M3 ********



Mandatory zap to DOS to extend ZAP 039.  After that zap, we found that

precompensation was going on all of the time during diskette format.  Some

users were complaining about this, but our test routines were just not seeing

it.



SYS6/SYS,29,60     change   3A 74 6C 4F   to   3A 24 6B 4F









******** ZAP 050 ******** 11/09/81 ******** V2M3 ********



Part mandatory and part optional zap to MICROSOFT's BASIC compilier Version

5.23 for the Model I (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 Version 2 on the Model III.  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 TRSDOS!!!  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 befor

e 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.  Lastly, remember it is the model I compilier that

is being zapped.



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



BASCOM/CMD,00,08     change   32 15 43 2A 13 43   to   00 00 00 2A 79 44



BASCOM/CMD,00,14     change   22 13 43   to   22 79 44



BASCOM/CMD,31,C0     change   95 5B A0   to   95 5E A0



BASCOM/CMD,62,9E     change   2A 49 40   to   2A 11 44



BASCOM/CMD,66,15     change   32 15 43   to   00 00 00



BASCOM/CMD,66,1B     change   22 13 43   to   22 79 44



L80/CMD,00,07     change AF 32 15 43 2A 13 43 22   to   AF 00 00 00 2A 79 44 22



L80/CMD,00,13     change   6D 22 13 43 C3   to   6D 22 79 44 C3



L80/CMD,00,2A     change   44 2A 49 40 F9   to   44 2A 11 44 F9



L80/CMD,07,0D     change C3 32 15 43 2A A0 6D 22 13 43 E1   to   C3 00 00 00 2A

A0 6D 22 79 44 E1



BRUN/CMD,00,04     change   EB 2A 49 40 F9   to   EB 2A 11 44 F9



BRUN/CMD,01,13     change 52 32 15 43 2A 13 43 22   to   52 00 00 00 2A 79 44

22



BRUN/CMD,01,1F     change 52 22 13 43 2A 49 40 2B   to   52 22 79 44 2A 11 44

2B



BRUN/CMD,01,F1     change C3 32 15 43 2A 00 53 22 13 43 C3   to   C3 00 00 00

2A 00 53 22 79 44 C3



BRUN/CMD,02,0C     change   52 11 46 40 CD   to   52 11 1C 42 CD



BRUN/CMD,02,A9     change   56 21 46 40 06   to   56 21 1C 42 06



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



BRUN/CMD,40,DC     change

E1CA 537A FE1C CA46 7AFE 1DC2 6955 3A81 7DB7 CA65 7ACD 3944 C35D 7A3A 817D B7C2

to

E1C2 6955 3A81 7DB7 2805 CD39 4418 03CD 3644 2814 FE1D 2810 FE1C C269 5518 09C2





Note, in the above zap both the before and after portions contain a CD 39 44

sequence, which is a sector-write-without-verify-read.  If the sequence is CD

3C 44, then it is really a sector-write-with-verify-read (which uses an extra

disk revolution (200 ms) per sector write).  Thus the old contents may have the

3C and you may optionally use the 3C in the new sequence if you want the verify

read.







BRUN/CMD,41,D8     change   E1 3A 0F 43 E6   to   E1 C3 44 7B E6



BRUN/CMD,42,16     change   B7 CA 7F   to   B7 C3 7F





******* 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 21 0C 00 09 5E 23 56 EB D1 C1 C9 CD   to DD 21 6E 8A

CB 23 DD 19 C3 2E 8A CD



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



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



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



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



BRUN/CMD,56,84     change   02 02 00 52  (the rest is 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

0ADD 660E DD5E 0FDD 4E0B AFB9 281D AF06 18ED 6ACB 1317 9130 0181 3F10 F4ED 6AB7

2801 23D1 C1CB 7CC8 C39A 7D6C 6318 F402 0200 52



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



Note, the above zap to L80/CMD changes the default data address for compilied

BASIC programs from 8A00H to 8B00H to allow an extra 256 bytes for BASIC system

use.  If the -R switch is issued during the linking process, the -D switch must

be reset to 8B00 instead of 8A00 as mentioned in the compilier manual.









******** ZAP 051 ******** 11/29/81 ******** V2M3 ********



Mandatory zap to DOS to allow COPY with CBF option to allocate space on Model

III TRSDOS diskettes beyond track 23.



SYS6/SYS,25,FB     change   CD 57 4C DD   to   CD FB 5C DD



SYS6/SYS,15,C5     change 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

to DD CB 02 6E 28 04 DD CB 07 46 CA 57 4C 3E 03 C3 59 4C







******** ZAP 052 ******** 11/29/81 ******** V2M3 ********



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/80 Version 2, in order to allow a maximum of C0H (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 FMT option to copy the contents of the bad diskette onto

another diskette.  You can then use either format 5 or 6 COPY with FMT option

to copy it back.



This zap is large as part of SYS6/SYS is being moved to SYS17/SYS to make more

patch area available in SYS6/SYS.



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



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



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



SYS17/SYS,03,3C   through  AE  was all zeroes, change to

CD 35 55 ED 5B C1 59 CD 84 57 ED 4B 94 59 CB 49 20 5E CD F9 56 1E 61 3A C6 59

BB 38 0E 3A B8 59 BB 30 08 1D 6B 36 FF 1D 23 20 FA CB 68 28 06 2A 81 59 22 CE 

43 79 E6 0C 01 10 00 11 D0 43 21 83 59 20 07 21 8B 59 1E D8 0E 08 ED B0 2A D1

59 ED 5B C3 59 B7 ED 52 EB 38 11 28 0F 2A C3 59 3A BC 59 CD 59 4C 26 43 4F CD

62 57 CD C4 48 C2 CB 54 C3 2D 55







******** ZAP 053 ******** 12/01/81 ******** V2M3 ********



Mandatory zap to LMOFFSET to correct error occuring when a object code block's

load point is in the range 3F00 to 3FFFH.



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









******** ZAP 054 ******** 12/28/81 ******** V2M3 ********



Mandatory zap to DOS to correct I/O timing loop found to be too long to support

8 inch disk operations on the Model III.



SYS0/SYS,02,C3     change   01 97 A3   to   01 40 A3



************ On 03/15/82 it was observed that AM disk controllers have a

CPU-hold-for-DRQ one shot delay interval that is shorter than the Radio Shack

standard of 1000 microseconds, and this zap causes LOST DATA DURING WRITE

errors.  If you have this type of controller, do not apply the above zap, and

if it is applied, back it off.







******** ZAP 055 ******** 12/28/81 ******** V2M3 ********



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.  NEWDOS/80 was not designed to be run

from remote terminals and at many places in its code looks directly at the

keyboard matrix rather than actually accepting an input key when looking for

BREAK, ENTER, UP or RIGHT ARROW.  This zap changes only one of these

situations, but a number of users have said they would be happy with that.



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



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

00 3D CA 2D 40 FE 0C 20 F5 3E





******** ZAP 056 ******** 01/12/82 ******** V2M3 ********



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,07,F2     change   38 31 2B 18 1D CD   to   38 10 2B 18 0D CD





******** ZAP 057 ******** 01/18/82 ******** V2M3 ********



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/80 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's

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 or pre-sorting the text

files, and since leading zeroes are suppressed from line numbers (causing line

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 #1,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 #1,CD$(X):

Y=LEN(CD$(X)): Z=1: W=0: SN!=0: K=K+1 100 IFY=0 THEN 160 110 IF Z>Y THEN 130

ELSE J=ASC(MID$(CD$(X),Z,1)): Z=Z+1: IF J=32 THEN 110 120 IF J>=48 AND J<58

THEN W=W+1: SN!=10*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-1: GOTO 80 170 CLOSE: IF NR=0 THEN PRINT"NO RECORDS TO SORT": END 180

CMD"O",NR,*IX(1),SN(1) 190 PRINT"SORTED OUTPUT FILESPEC?  ";: LINEINPUT FS$

200 OPEN"O",1,FS$

210 FOR X=1 TO NR: PRINT #1,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:





1.  XXXXXX     This DOS command causeu@kMII=I5BuiT
$],Yloaded

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

(0DH) since there are no parameters following the program's filespec.  Note, in

absence of a name-extension for the filespec XXXXXX, /CMD was substituted. 

Also, since no drive number was given, the drives were searched, starting with

the drive 0, looking for the first occurrence of XXXXXX/CMD.



2.  YYYY/OBJ:1,5,JJJ:1   This DOS command causes user program YYYY/OBJ:1 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 (0DH) indicating the end of parameters.



3.  ZZZ,Y,N,MYFILE   This DOS command causes user program ZZZ/CMD to be loaded

into main memory and execution started at its entry location with 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.





1.  In the DOS main memory region, 4000H thru 51FFH, NEWDOS/80 has 256 bytes

less resident (always in memory) code/data than other DOS's have as it uses

this 256 bytes to make the DOS overlay programs (i.e., SYS1/SYS) bigger.



2.  Some DOS's have taken part of their resident code/data into high memory in

order to gain more resident memory for DOS.  For NEWDOS/80 Version 2, it was

decided to remain out of high main memory, with the exception of the spooler,

which was already there.                                    

3.  NEWDOS/80 has MINI-DOS which most oe"ujUR.H2o 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/80 entirely

within the 4D00-51FFH DOS overlay region.  This complicates the effort to

extend the capabilities of any given DOS command.





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





******** ZAP 058 ******** 01/21/82 ******** V2M3 ********



Mandatory zap to DOS if and only if the following two verifies exist.



SYS18/SYS,02,A9   59 00 0F 30 06 SYS18/SYS,02,FC   54 5B 5B 5B



If these two conditions do not exist, then ignore this entire ZAP.  During

production of the NEWDOS/80 Version 2 diskettes for the Model III, the master

diskettes, dated 01/12/82, were found to be bad on 01/21/82, after some 100 to

300 NEWDOS/80 diskettes had been created and shipped with the bad sector.  We

don't understand how this alteration of the master diskette appeared, but it

did, must be corrected , and we apologize.



SYS18/SYS,02,A9   change

59 000F 3006 CDE4 2BCD F81A C1E1 D12B C3A7 1A52 454E 4557 C001 0152 454E 554D

C04F 0152 4546 C02E 0144 49A1 0000 4455 A000 0041 80F5 5444 80EE 5445 80E9 544C

80E3 5400 044C 4953 540D 0445 4449 5406 4445 4C45 545B 5B5B

to

59 C1D5 3E00 0F30 06CD E42B CDF8 1AC1 E1D1 2BC3 A71A 5245 4E45 57C0 0101 5245

4E55 4DC0 4F01 5245 46C0 2E01 4449 A100 0044 55A0 0000 4180 F554 4480 EE54 4580

E954 4C80 E354 0004 4C49 5354 0D04 4544 4954 0644 454C 4554







******** ZAP 059 ******** 02/15/82 ******** V2M3 ********



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,8E     change   42 B7 20 06 CB   to   42 CD 1B 51 CB



SYS9/SYS,04,2F     change 00 00 00 00 00 00 00 00 00 00 00 00 00   to B7 C2 90

4E 78 E6 50 FE 40 CA 2D 40 C9







******** ZAP 060 ******** 02/15/82 ******** V2M3 ********



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)

SYS0/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 the directory, some file aboves 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 directory 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 NEWDOS80, we

will try to add more capabilities to allow for graphics, but for now we simply

apologize that the capability is not there.



4.  ZAP 054 causes Model III's with AM disk controllers to malfunction with

LOST DATA DURING WRITE.  This is because the AM controller CPU-hold-for-DRQ

interval is too short compared with the standard Radio Shack interval, which is

specified at 1000 microseconds.  If you have this type of disk controller, back

off ZAP 054.







******** ZAP 061 ******** 07/22/82 ******** V2M3 ********



Non-existent ZAP.  Never created or issued.









******** ZAP 062 ******** 03/16/82 ******** V2M3 ********



Mandatory zap to BASIC to correct error in dynamic MERGE occuring when the old

text has lines within the range of the merging text (though not matching line

numbers, which is not allowed).  This is an unusual condition but nevertheless

legal. This error was causing string variables whose strings are in the text

area to not be properly repointed into the resulting text.



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



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



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



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

41 56 21 00 00 09 CD 49 56 AF



SYS19/SYS,04,34     change

0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

0000 0000 0000 0000 0000 0000 0000 0000 00

to



2100 0022 4256 213E 54C9 2A42 56ED 5B7A 5519 2242 56D1 E1C9 474F ED43 4256 C3F2

5401 0000 09ED 5218 03ED 523F D0F1 C399 55









******** ZAP 063 ******** 03/25/82 ******** V2M3 ********



Mandatory zap to allow the TRSDOS 1.2 Model III VISICALC Version VC-150Y0-T83

to operate with Model III NEWDOS/80 Version 2.  This zap disables VISICALC's

directory search feature.



The directory search capability of VISICALC is disabled as NEWDOS/80 does not

have the RAMDIR facility that Model III TRSDOS does.  However, it is possible

to use MINI-DOS to search the directory by (1) typing in the /SL command, (2)

pressing DFG to enter MINI-DOS, (3) perform the MINI-DOS functions, (4) clear

the display, (5) exit from MINI-DOS, (6) back in VISICALC, press three or more

CLEARs to clear the command state, (7) execution one of the /T commands to

restore the VISICALC display.



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



******** ZAP 064 ******** 04/13/82 ******** V2M3 ********



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=0 parameter spec'ed or defaulted

to.



SYS14/SYS,03,14     change   28 47 78   to   28 41 78









******** ZAP 065 ******** 04/13/82 ******** V2M3 ********



Mandatory zap to DOS to correct error in the DMDB function of SUPERZAP where

the F, function was not displaying the correct dump location.



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



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











******** ZAP 066 ******** 04/23/82 ******** V2M3 ********



Mandatory zap to BASIC to correct an error in CMD"O" sort of floating point

values and, to a much lesser degree, of characters strings.  It is astonishing

that this error was finally reported 8 months after Version 2 release; we

simply refused to believe it as this meant virtually no one is using the

floating point sort feature.  The reporting user was persistent, however,

sending in a very detailed problem report even so far as providing the zap! 

Well done!!!  We thank this user and all others that persist in proving their

point.



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









******** ZAP 067 ******** 05/04/82 ******** V2M3 ********



Mandatory zap to VISICALC Version VC-160Y0-T83 for Model III TRSDOS 1.3 to

operate with Model III NEWDOS/80 Version 2.  Refer to ZAP 063 as this zap

performs the same functions as that zap did for the TRSDOS 1.2 version.



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









******** ZAP 068 ******** 05/04/82 ******** V2M3 ********



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.



Most programs generated for Model III TRSDOS will operate under NEWDOS/80

Version 2.  Try each program out using replacable data before using valued

data.  If in doubt, ask your program vendor.



Realizing that data files and 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 TRSDOS 1.3 type diskettes (see

zap 008 for TRSDOS 1.2 or 1.1 diskettes; see zap 025 for Model I TRSDOS 2.3B

diskettes).  For the remainder of this discussion, we will assume PDRIVE

specification 4 contains the following values:





TI=AM,TD=E,TC=40,SPT=18,TSR=3,GPL=6,DDSL=17,DDGA=2





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.





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,1,,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:1,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,1,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,1=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 069 ******** 05/04/82 ******** V2M3 ********



Information zap on Model I TRSDOS 2.3B and higher diskettes.  Refer also to ZAP

025.



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 TRSDOS

will continue with the implementation of RBA format in the FCBs 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 includes TI flag

M.  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 070 ******** 05/12/82 ******** V2M3 ********



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 071 ******** 05/12/82 ******** V2M3 ********



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,14     change 36 20 23 DF 38 FA 2B 36 FF 18 3A EB   to 36 FF 23 DF

30 3F 36 20 23 18 F8 EB









******** ZAP 072 ******** 06/13/82 ******** V2M3 ********



Mandatory zap to Microsoft's FORTRAN sold by Radio Shack as Catalog # 26-2200 

(EDIT/CMD version 2.02, L80/CMD version 3.43, F80/CMD version not specified) to

run with NEWDOS/80 Version 2 on the Model III (and no longer with TRSDOS 1.3). 

This change deals with the insert-default-extension vector being 4473 in NEWDOS

as opposed to being 444B in TRSDOS.  User having other versions can search the

EDIT/CMD, F80/CMD and L80/CMD modules using the SUPERZAP display mode command

L,CD,4B,44 to find the occurences of this call.





EDIT/CMD,22,36     change   CD 4B 44   to   CD 73 44



F80/CMD,42,6D     change   CD 4B 44   to   CD 73 44



F80/CMD,42,90     change   CD 4B 44   to   CD 73 44



F80/CMD,42,AE     change   CD 4B 44   to   CD 73 44



F80/CMD,46,99     change   CD 4B 44   to   CD 73 44



L80/CMD,14,91     change   CD 4B 44   to   CD 73 44







******** ZAP 073 ******** 06/18/82 ******** V2M3 ********



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 = A for the standard Radio Shack disk controller, and D for Apparat's disk

controller. 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 008 is applied to the diskette receiving this

zap, ZAP 008 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 TRSDOS 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 files

to/from TRSDOS diskettes; formats 1 through 4 do, however.



Users must be aware that Model I TRSDOS 2.7DD double density diskettes are

written with track 0 in single density and all other tracks in double density;

the directory information assumes track 0 is in double density and counts its

information from track 0's 1st sector.  Note, that track 0 is allocated on all

diskettes to BOOT, a file that contains 10 sectors, not 18.



SYS6/SYS,14,25     change 00 E8 45 01 A8 EC 45 01 A9 E7 46 03 C3 0B 5C DC 47 01

0D 1C 48 03 C3   to 00 4A 48 01 3E 93 48 01 00 98 48 07 ED 5B B9 42 CD 0B 5C 8A

5B 00 C3



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



SYS6/SYS,14,76     change   00 7B 4F 01 1A AF   to   00 38 50 01 C9 AF



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

D6



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

01 00 55 51 04 21 CD 40 C9



SYS6/SYS,14,A2     change   00 3E 4E 01 0D 49   to   00 6C 4E 01 80 49



SYS6/SYS,14,B1     change 5B 18 CC 4E 02 35 56 B7 4E 01 2F 68 4E 01 18 4F   to 

5B 28 CC 4E 02 35 56 C6 4F 02 36 00 00 5C 00 4F



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

12 C9 E6



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



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



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



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



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









******** ZAP 074 ******** 06/27/82 ******** V2M3 ********



Mandatory zap to DOS to correct error occurring when a file with EOF = 0 is

copied (via single file COPY) to a NEWDOS/80 diskette from TRSDOS diskette

other than the old TRSDOS 2.3 (or as now being called TRSDOS 2.3A) diskettes.



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

14 53 B7 C8 2A









******** ZAP 075 ******** 07/19/82 ******** V2M3 ********



Mandatory zap to NEWDOS/80's ASPOOL program to correct error in the *ASP,S

function where the computer is forced to DOS READY after the remaining spooled

print completes printing.  Instead, the delayed completion of the function

should simply continue the interrupted program.  To make room for this

correction, the SPOOL PURGED message is no longer displayed.  To determine that

the spooler is gone, simply execute the *ASP command asking for spooler status.

If the response is FILE NOT IN DIRECTORY, the spooler is gone.



ASPOOL/MAS,02,E8     change 44 C2 09 44 21 8A 58 CD 67 44 C3 2D 40 01   to 44

C1 21 08 44 B7 ED 42 C8 C3 15 55 00 01







******** ZAP 076 ******** 08/17/82 ******** V2M3 ********



Mandatory zap to LMOFFSET to correct error where the first program is stored

with a disable-DOS appendage and the second program is stored with an appendage

that does not disable DOS.  This error causes the 2nd stored program to have a

bad appendage.



LMOFFSET/CMD,00,34     change   53 21 40 5A CD   to   53 CD 17 5D CD



LMOFFSET/CMD,09,91     change 00 00 00 00 00 00 00 00 00   to   3E 50 32 C5 58

21 40 5A C9







******** ZAP 077 ******** 09/02/82 ******** V2M3 ********



Mandatory zap to Radio Shack's Model III SuperSCRIPSIT to enable it to work

with the Model III NEWDOS/80 Version 2:





1.  Allow the Main Menu Directory function to work with NEWDOS/80.  An actual

NEWDOS/80 directory is executed via DOS-CALL; so the display will look

different from that for TRSDOS.



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 O 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 III.



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 disastorous to your document file.



SCRIPSIT/CMD,09,06     change

AB47 0EFF 219B ACCD 9042 C023 2346 2103 00CD 7166 0604 CD51 667D 3222 7EAF 0102

005B C900 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

0000 0000 0000 0000 0000 0000

to

ABC6 3032 225B 211E 5BCD 1944 C006 0411 333C 21DC AC1A 7713 D630 FE0A 3001 0102

005B 2310 F436 84CD B268 0605 CD71 6606 04CD 5166 7D24 2528 023E FF32 227E AFC9

4449 5220 302C 2F51 3951 0D00



SCR17/CTL,02,3A     change 69 FE 30 38 F9 FE 34 30 F5 CD E5 75 0E 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 C0 CD 09 44 18 06 44 49 52 20 30 0D 21









******** ZAP 078 ******** 09/03/82 ******** V2M3 ********



Mandatory zap to Model III SCRIPSIT Version 3.2 to enable it to run with

NEWDOS/80 Version 2.



SCRIPSIT/CMD,11,4A     change   5E 13 30   to   5E 00 30



SCRIPSIT/CMD,11,DE     change   FE 13 38   to   FE 00 38











******** ZAP 079 ******** 09/17/82 ******** V2M3 ********



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 32.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 "O" 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,0)  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).





1.  For a single dimension array whose DIM statement is  DIM A(R1)  and for

array element  A(X1):



X1 = REN





2.  For a two dimension array whose DIM statement is  DIM A(R1,R2)  and for

array element  A(X1,X2):



REN/(R1+1)  gives a quotient that is X2 and a remainder that is X1.





3.  For a three dimension array whose DIM statement is  DIM A(R1,R2,R3)  and

for array element  A(X1,X2,X3):



REN/((R1+1)*(R2+1))  gives a quotient that is X3 and remainder M2 such that 

M2/(R1+1)  gives a quotient that is X2 and a remainder that is X1.





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=len1  exists, allowing the user to alter the

Logical Record Length of the file to the value len1 ( 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 080 ******** 11/29/82 ******** V2M3 ********



Mandatory zap to DOS to correct error that was allowing a format 5 COPY to

occur when both diskettes had the same number of sectors but different GPL

values.



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











******** ZAP 081 ******** 12/17/82 ******** V2M3 ********



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,5F   change   CA F8 01 CD   to   CA 08 57 CD



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









******** ZAP 082 ******** 12/21/82 ******** V2M3 ********



Mandatory zap to BASIC to correct error in CMD"O" direct sort where an array is

specified twice in the command sequence (i.e., two parts of a string supply

independent sorting criteria.



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



SYS21/SYS,01,7F     change   DF C2 4A 1E F1   to   DF CD B9 65 F1



SYS21/SYS,01,8E     change   01 32 02 4F F1   to   01 CD EB 65 F1



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



SYS21/SYS,03,EE     change   C9 DD 5E 13 DD   to   C9 CD F4 65 DD



SYS21/SYS,04,2C     change   14 19 10 FD C9   to   14 C3 FF 65 C9



SYS21/SYS,04,B5     change 0C 28 05 2B 1B ED B8 13 DD 73 09 DD 72 0A DD   to 0C

EB B7 ED 42 DD 75 09 CD 08 66 20 22 00 DD



BASIC/CMD,14,BD     change

00 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

to

DD CB04 FEC9 C24A 1E3A 0251 B7FD 2100 4328 04FD 2117 43E5 DD6E 05DD 6606 FD5E

05FD 5606 DF20 04DD CB04 F611 1700 FD19 FD7E 00B9 38E8 E1C9 DDCB 0476 C032 024F

C9DD 5E13



BASIC/CMD,15,00     change 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

0000 0000 0000 0000 0000 0000 0000 0000 00

to DDCB 0476 C8F1 09C9 DDCB 0476 C019 10FD C9DD 740A 09EB DDCB 0476 C078 B128

042B 1BED B8AF C9









******** ZAP 083 ******** 02/26/83 ******** V2M3 ********



Mandatory zap to EDTASM to disable a faulty attempt to keep the drives rotating

which was actually causing the drive motors to stop.  A number of users had

complained of this, and finally a user from Australia showed us a disassembly

of exactly what was wrong.



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













******** ZAP 084 ******** 04/25/83 ******** V2M3 ********



Mandatory zap to Radio Shack's Model III SuperScripsit Version 1.1 to enable it

to work with the Model III NEWDOS/80 Version 2.  This zap is identical in

function to ZAP 077 for SuperScripsit 1.0.



SCRIPSIT/CMD,09,0A      change

AB47 0EFF 219B ACCD 9042 C023 2346 2103 00CD 5166 0604 CD31 667D 3222 7EAF C900

0000 0000 0000 0000 0000 0000 0000 0000 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 2310

F436 84CD B468 0605 CD51 6606 04CD 3166 7D24 2528 023E FF32 227E AFC9 4449 5220

302C 2F51 3951 0D00



SCR17/CTL,00,2F      change

7D 69FE 3038 F9FE 3430 F5CD 8975 0E00 3271 42CD 1944 3E0F CD33 0021

to

7D 6932 728D 216E 8DCD 1944 2805 F6C0 CD09 4418 0644 4952 2030 0D21



Following is an optional zap which will correct the SuperScripsit display to

read NEWDOS instead of TRSDOS.



SCR17/CTL,02,61      change   20 5452 5344   to   20 4E45 5744











******** ZAP 085 ******** 05/03/83 ******** V2M3 ********



Mandatory zap to BASIC to (1) correct error where an RBA exceeds 8,388,607

(uses the 24th bit) and (2) to extend the allowable range for record numbers

from 1 - 32767 to 1 - 16777215 (even though the file itself is limited to 16

million bytes).  The extension of the record number range was needed as FF and

MF processing using RBAs was generating bad record number errors when BASIC

converts the RBA to record number to assure that the RBA was on a record

boundary and the resulting record number was greater than 32767.  This zap is

especially important to NEWDOS/80 2.5 users.



BASIC/CMD,07,C8     change

0620 0FCD EF0A 7C55 5906 9821 5763 E5C3 6909 DDCB 0056 CAA9 5DCD E95E 2157 63E5

6069 C39A 0AAF 456C 67ED 5B02 573E 1118 07B7 ED52 3001 193F

to

06C4 3466 C4E1 5ECD EF0A 594C 5506 0021 2441 3698 2336 80CD 6507 C357 63EB 2100

0079 ED4B 0257 083E 1808 87EB ED6A EBED 6A38 06B7 ED42 0938



BASIC/CMD,08,00     change CB11 CB10 CB15 CB14 380B 3D20 EC7C B528 0103 CB78

C8C3

to 04B7 ED42 3C08 3D20 E808 EB4F 7AB3 C80C C023 7CB5 C0C3



BASIC/CMD,15,25     change

00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

00

to

CD 2366 E5C3 174E CD90 61E1 E3E5 C3E4 4DB5 B1CA B25D 79B7 C9DD CB00 56CA A95D

C9



SYS10/SYS,00,E4     change   C5 CD 90 61 28   to   C5 C3 1C 66 28



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



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



SYS10/SYS,01,26     change   CD E9 5E 7C B5 20   to   CD E1 5E 00 00 20



SYS10/SYS,01,68     change

CD90 6128 A1CD 7F0A EB7A B7FA B25D B3CA B25D 1BDD CB00 56CA A95D ED4B 0257 7821

0000 0611 CB3C CB1D 1FCB 1930 0119 10F4 2425 C2B2 5D65 6FC3

to

CD23 667C CD2C 6620 012B 0DDD CB00 56CA A95D EB79 ED4B 0257 2100 0008 3E19 08CB

3CCB 1DCB 1ACB 1B1F 3001 0908 3D20 EF7C B5C2 B25D 08EB 4FC3









******** ZAP 086 ******** 06/02/83 ******** V2M3 ********



Information zap.  For those users with the Hard Disk Operating System NEWDOS/80

Version 2.5, be sure to apply zaps separately to each of NEWDOS/80 Version 2.0

and to NEWDOS/80 Version 2.5.  Do NOT just apply the patch to one of the two

systems and copy the module over to the other as you may eliminate some 2.5

zaps or end up applying some 2.5 zaps to 2.0, which can be disastorous.



A separate series of ZAPs will be issued for Version 2.5 and if a zap therein

also applies to 2.0, the corresponding Version 2 zap number will be stated.













******** ZAP 087 ******** 07/31/83 ******** V2M3 ********



Mandatory zap to Radio Shack's Model III SuperSCRIPSIT Version 1.2 to enable it

to work with Model III NEWDOS/80 Version 2.  The first two patches for this zap

are identical to the first two of ZAP 084 (so apply those 2) and the 3rd patch

is:



SCR17/CTL,02,68     change   20 54 52 53 44   to   20 4E 45 57 44









********  ZAP 088  ******** 09/08/83 ******** V2M3 ********



Mandatory zap to DOS DEBUG to correct error I and C functions handling of OUTI,

OTIR, OUTD and OTDR Z-80 instructions.  This zap should be applied to the hard

disk version, NEWDOS/80 Version 2.5, if you have it.



SYS5/SYS,04,B3    change  E6 07 FE   to   E6 87 FE

