home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / BEEHIVE / OS / CPM86INF.ARC / CPM86.PAT next >
Text File  |  1990-07-21  |  42KB  |  1,563 lines

  1.                                      CP/M-86  V1.1
  2.                                 Patch 01, BDOS, 3/03/82
  3.  
  4.                           Copyright   1982 by Digital Research
  5.                  CP/M-86 is a registered trademark of Digital Research.
  6.                        DDT-86 is a trademark of Digital Research.
  7.  
  8.  
  9.           Program:  CPM.SYS, CPM.H86
  10.           Products and Serial Numbers Affected:  CP/M-86   V1.1  C86-000-00746 
  11.           through C86-000-00900
  12.  
  13.  
  14.           Change Description:
  15.  
  16.                The following  patch  procedure  modifies  CPM.SYS  for  proper 
  17.           execution of the Chain Command Function.  (Function 47)
  18.  
  19.  
  20.           Patch Procedure:
  21.  
  22.                Make a back-up copy of CPM.SYS before using  DDT-86    to  make 
  23.           the following changes:
  24.  
  25.  
  26.                   A>ddt86
  27.                   -rcpm.sys
  28.                     START         END
  29.                   nnnn:0000        nnnn:397F
  30.                   -xcs
  31.                   CS 0000 nnnn+8  ;The effect of the register
  32.                   DS 0000 nnnn+8  ;change is to set all segment
  33.                   SS 0040 nnnn+8  ;registers to the beginning of
  34.                   ES 0000 nnnn+8  ;the program. (above the base page)
  35.                   IP 0000
  36.                   -a21e6
  37.                   nnnn+8 21E6 stosb
  38.                   nnnn+8 21E7 or al,al
  39.                   nnnn+8 21E9 jz 21ed
  40.                   nnnn+8 21EB .
  41.                   -a21f1
  42.                   nnnn+8 21F1 pop ds
  43.                   nnnn+8 21F2 mov [000a],al
  44.                   nnnn+8 21F5 .
  45.                   -wcpm.sys
  46.                   -^c
  47.                   A>
  48.  
  49.  
  50.                Or, you can assemble  the  following  code  file  (F47.A86)  to 
  51.           create  F47.H86.  Then,  concatenate CPM.H86, TBIOS.H86, and F47.H86 
  52.           using the following PIP command:
  53.  
  54.                   A>PIP CPMX.H86=CPM.H86,TBIOS.H86,F47.H86
  55.  
  56.  
  57.  
  58.           All Information Presented Here is Proprietary to Digital Research
  59.  
  60.                                           1
  61.  
  62.  
  63.  
  64.           CP/M-86 V1.1                                             Patch 01
  65.  
  66.  
  67.                Next, create a new command  (.CMD)  file  using  the  following 
  68.           GENCMD command line:
  69.  
  70.                   A>GENCMD CPMX 8080 code[a40].
  71.  
  72.                Then, rename the new CPMX.CMD file CPM.SYS using the  following 
  73.           commands:
  74.  
  75.                   ERA CPM.SYS
  76.                   REN CPM.SYS=CPMX.CMD
  77.  
  78.  
  79.           F47.A86 Code File
  80.  
  81.  
  82.                   Title   'F47 - Patch for CPM-86 Function'
  83.  
  84.                   Patch_1 Equ     21E6H           ; Location of first patch
  85.                   Patch_2 Equ     21F1H           ; Location of second patch
  86.  
  87.                   F472    Equ 21EDH
  88.                                   
  89.                   CCp_buff_len    Equ     Byte ptr .0AH
  90.  
  91.                           Cseg    $
  92.                           Org     F472
  93.                   Func472:
  94.                           Org     Patch_1
  95.  
  96.                           Stosb
  97.                           Or      Al, Al
  98.                           Jz      Func472
  99.  
  100.  
  101.                           Org     Patch_2
  102.  
  103.                           Pop     Ds
  104.                           Mov     CCp_Buff_len, Al
  105.  
  106.                           End
  107.  
  108.  
  109.           Function 47 TEST
  110.  
  111.                The following program can be used  to  test  the  patch.   DDT-
  112.           86.CMD and ED.CMD must be on your default drive to run the test.
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.           All Information Presented Here is Proprietary to Digital Research
  125.  
  126.                                           2
  127.  
  128.  
  129.  
  130.           CP/M-86 V1.1                                             Patch 01
  131.  
  132.  
  133.           Title   'Function 47 test'
  134.           Cseg
  135.           ;
  136.           ; This routine causes a chain to DDT-86
  137.  
  138.           Chain   Equ     2FH                           ; Function 47
  139.           Bdos    Equ     0E0H                          ; Bdos entry
  140.           Dseg
  141.                   Org     80H
  142.           Default_Dma_buffer      Rb 80H
  143.  
  144.           File_name       Db      'DDT86 Ed', 0H
  145.  
  146.           Cseg    $
  147.  
  148.                   Cld
  149.                   Mov     Si, Offset File_name          ; Mov File name into
  150.                   Mov     Di, Offset Default_Dma_Buffer ; Default dma buffer
  151.                   Mov     Cx, Length File_name + 1
  152.                   Push    ES
  153.                   Mov     Ax, Ds
  154.                   Mov     Es, Ax
  155.  
  156.                   Rep     Movsb
  157.  
  158.                   Pop     Es
  159.                   Mov     Cl, Chain                     ; Chain to program
  160.                   Int     Bdos
  161.                   End
  162.  
  163.  
  164.                Licensed users are granted the right to include  these  changes 
  165.           in CP/M-86 V1.1 software.
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.           All Information Presented Here is Proprietary to Digital Research
  191.  
  192.                                           3
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.                                     CP/M-86   V1.1 
  200.                                Patch 02, LDCOPY, 3/08/82
  201.  
  202.                           Copyright   1982 by Digital Research
  203.                  CP/M-86 is a registered trademark of Digital Research.
  204.  
  205.  
  206.           Program:  LDCOPY.A86
  207.           Products and Serial Numbers Affected:  CP/M-86   V1.1  C86-000-00746 
  208.           through C86-000-00900
  209.  
  210.  
  211.           Error Description:
  212.  
  213.                LDCOPY does not write the loader to the destination disk with a 
  214.           track buffered BIOS.
  215.  
  216.  
  217.           Patch Procedure:
  218.  
  219.                Change the distributed assembly file of the load  copy  program 
  220.           according  to the following procedure.  Instructions are modified in 
  221.           the Write routine.
  222.  
  223.  
  224.                1) Locate the label trysec:.
  225.                2) Locate the instruction just after the label jz tryread.
  226.                3) Add the following code:
  227.  
  228.  
  229.                        mov        cl, 00
  230.                        mov        ax, track
  231.                        inc        ax
  232.                        cmp        ax, nlt
  233.                        jne        normal_write
  234.  
  235.                        mov        ax, sector
  236.                        inc        ax
  237.                        cmp        ax, spt 
  238.                        jne        normal_write
  239.                        mov        cl, 01
  240.                   Normal_Write:
  241.                           .
  242.                           .
  243.                           .
  244.  
  245.  
  246.                4) Locate the beginning of the code segment, for example, Cseg.  
  247.                5) Locate the copyright notice: (copyright  (c)  1981,  Digital 
  248.                   Research).
  249.                6) Just after the copyright, add:
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.           All Information Presented Here is Proprietary to Digital Research
  257.  
  258.                                           1
  259.  
  260.  
  261.  
  262.           CP/M-86 V1.1                                             Patch 02
  263.  
  264.  
  265.                   rs      100H                    ;emergency patch area
  266.                   .
  267.                   .
  268.                   .
  269.  
  270.  
  271.  
  272.                Licensed users are granted the right to include  these  changes 
  273.           in CP/M-86 V1.1 software.
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.           All Information Presented Here is Proprietary to Digital Research
  323.  
  324.                                           2
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.                                     CP/M-86   V1.1 
  332.                                 Patch 03, GENDEF, 4/8/82
  333.  
  334.                           Copyright   1982 by Digital Research
  335.                  CP/M-86 is a registered trademark of Digital Research.
  336.                        DDT-86 is a trademark of Digital Research.
  337.  
  338.  
  339.           Program:  GENDEF.CMD
  340.           Products and Serial Numbers Affected:  CP/M-86   V1.1  C86-000-00746 
  341.           through C86-000-01001
  342.  
  343.  
  344.           Error Description:
  345.  
  346.                This  patch  corrects  the  GENDEF.CMD  program  to  parse  the 
  347.           parameters in the command tail.
  348.  
  349.  
  350.           Patch Procedure:
  351.  
  352.                Make a back-up copy of GENDEF.CMD before using DDT-86   to make 
  353.           the following changes:
  354.  
  355.  
  356.                   A>ddt86
  357.                   DDT86 1.1
  358.                   -rgendef.cmd
  359.                     START      END
  360.                   NNNN:0000 NNNN:25FF
  361.                   -xcs
  362.                   CS 0000 nnnn+8     ; The effect of the register
  363.                   DS 0000 nnnn+8     ; change is to set all segment
  364.                   SS 0040 nnnn+8     ; registers to the beginning of
  365.                   ES 0000 nnnn+8     ; the program. ( above the base page)
  366.                   IP 0000 .
  367.                   -aede
  368.                   NNNN+8:0EDE mov bx, 06d
  369.                   NNNN+8:0EE1 cmp byte [bx], 24
  370.                   NNNN+8:0EE4 nop
  371.                   NNNN+8:0EE5 nop
  372.                   NNNN+8:0EE6 .
  373.                   -aefb
  374.                   NNNN+8:0EFB mov bx, 06d
  375.                   NNNN+8:0EFE mov al, [bx+si]
  376.                   NNNN+8:0F00 nop
  377.                   NNNN+8:0F01 nop
  378.                   NNNN+8:0F02 .
  379.                   -wgendef.cmd
  380.                   -^c
  381.  
  382.  
  383.                Licensed users are granted the right to include  these  changes 
  384.           in CP/M-86 V1.1 software.
  385.  
  386.  
  387.  
  388.           All Information Presented Here is Proprietary to Digital Research
  389.  
  390.                                           1
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.                                     CP/M-86   V1.1 
  398.                                  Patch 04, ED, 04/08/82
  399.  
  400.                           Copyright   1982 by Digital Research
  401.                  CP/M-86 is a registered trademark of Digital Research.
  402.                        DDT-86 is a trademark of Digital Research.
  403.  
  404.  
  405.           Program:  ED.CMD
  406.           Products and Serial Numbers Affected:  CP/M-86   V1.1  C86-000-00746 
  407.           through C86-000-01001
  408.  
  409.  
  410.           Change Description:
  411.  
  412.                Usually, you press CTRL-C to  interrupt  ED  commands.   If  ED 
  413.          g  the  command  before the CTRL-C is pressed, ED 
  414.           aborts causing termination of the edit session.  The following patch 
  415.           procedure modifies ED to allow interruption of commands using CTRL-Y 
  416.           instead of CTRL-C.
  417.  
  418.  
  419.           Patch Procedure:
  420.  
  421.                Make a back-up copy of ED.CMD before using DDT-86   to make the 
  422.           following changes:
  423.  
  424.  
  425.                   A>ddt86
  426.                   -red.cmd
  427.                     START          END
  428.                   nnnn:0000     nnnn:23ff
  429.                   -xcs
  430.                   CS 0000 nnnn+8
  431.                   DS 0000 nnnn+8
  432.                   SS 0000 nnnn+8
  433.                   ES 0000 nnnn+8
  434.                   -lbd1,bd3
  435.                   yyyy:0BD1 CMP    AL,03
  436.                   yyyy:0BD3 JNZ    0BD9
  437.                   -sbd2
  438.                   yyyy:0BD2 03 19
  439.                   yyyy:0BD3 75 .
  440.                   -s79
  441.                   yyyy:0079 30 31
  442.                   yyyy:007A 36 .
  443.                   -wed.cmd
  444.                   -^c
  445.                   A>
  446.  
  447.  
  448.                Licensed users are granted the right to include  these  changes 
  449.           in CP/M-86 V1.1 software.
  450.  
  451.  
  452.  
  453.  
  454.           All Information Presented Here is Proprietary to Digital Research
  455.  
  456.                                           1
  457.  
  458.  
  459.  
  460.  
  461.  
  462.                                      CP/M-86   V1.1 
  463.                                  Patch 05, ED, 04/08/82
  464.  
  465.                           Copyright   1982 by Digital Research
  466.                  CP/M-86 is a registered trademark of Digital Research.
  467.                        DDT-86 is a trademark of Digital Research.
  468.  
  469.  
  470.           Program:  ED.CMD
  471.           Products and Serial Numbers Affected:  CP/M-86    V1.1  C86-000-00746 
  472.           through C86-000-01001
  473.  
  474.  
  475.           Change Description:
  476.  
  477.                Use the ED command,  0X<filename>,  to  delete  files.   If  the 
  478.           command  is  used  with  a  filename that does not exist, however, ED 
  479.           prints the message, BREAK "O" AT ^Z, and interrupts any macro command 
  480.           being  processed.  The  following patch procedure modifies ED to omit 
  481.           the interruption of macro commands and the error message display.
  482.  
  483.  
  484.           Patch Procedure:
  485.  
  486.                Make a back-up copy of ED.CMD before using DDT-86   to make  the 
  487.           following changes:
  488.  
  489.                   A>ddt86
  490.                   -red.cmd
  491.                     START          END
  492.                   nnnn:0000     nnnn:23ff
  493.                   -xcs
  494.                   CS 0000 nnnn+8
  495.                   DS 0000 nnnn+8
  496.                   SS 0000 nnnn+8
  497.                   ES 0000 nnnn+8
  498.                   -l8e9,8f7
  499.                   yyyy:08E9 CMP    BYTE [0259],FF
  500.                   yyyy:08EE JNZ    08BA
  501.                   yyyy:08F0 MOV    BYTE [03C6],4F
  502.                   yyyy:08F5 JMP    01F7
  503.                   -a8e9
  504.                   yyyy:08E9 jmp 8ba
  505.                   yyyy:08EC .
  506.                   -f8ec,8f7,90
  507.                   -s79
  508.                   yyyy:0079 30 32
  509.                   yyyy:007A 36 .
  510.                   -wed.cmd
  511.                   -^c
  512.                   A>
  513.  
  514.                Licensed users are granted the right to include these changes in 
  515.           CP/M-86 V1.1 software.
  516.  
  517.  
  518.  
  519.  
  520.           All Information Presented Here is Proprietary to Digital Research
  521.  
  522.                                           1
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.                                     CP/M-86   V1.1 
  530.                                 Patch 06, BDOS, 4/23/82
  531.  
  532.                           Copyright   1982 by Digital Research
  533.                  CP/M-86 is a registered trademark of Digital Research.
  534.                  ASM-86 and DDT-86 are trademarks of Digital Research.
  535.  
  536.  
  537.           Program:  CPM.SYS and CPM.H86
  538.           Products and Serial Numbers Affected:  CP/M-86   V1.1  C86-000-00746 
  539.           through C86-000-01001
  540.  
  541.  
  542.           Error Description:
  543.  
  544.                This patch modifies Functions  17  and  18  (Search  First  and 
  545.           Search  Next)  to  return  the  directory record in the DMA address.  
  546.           Usually, the data segment contains the  address  segment  attribute.  
  547.           However,  in  the  following patch procedure, it is assumed that the 
  548.           DMA buffer segment set by Function 51 (Set DMA  Base)  contains  the 
  549.           address segment attribute.
  550.  
  551.  
  552.           Patch Procedure:
  553.  
  554.                Make a back-up copy of CPM.H86 and CPM.SYS  before  making  the 
  555.           following  changes.  Assemble  the  following  program  using ASM-86 
  556.             .  Concatenate the program to the end of CPM.H86  and  the  TBIOS.  
  557.           Refer  to the CP/M-86 Microcomputer Control Program System Guide for 
  558.           concatenation instructions.  Include all previous  patches  in  this 
  559.           concatenation.
  560.  
  561.  
  562.                   Title   'Dmapatch 4/23/82'
  563.  
  564.                   Dmabase         Equ     Word ptr 24A2H
  565.                   Patch_Area      Equ     1896H
  566.  
  567.                           Cseg
  568.                           Org     Patch_Area
  569.  
  570.                           Mov     Es, .Dmabase
  571.  
  572.                           End
  573.  
  574.  
  575.                Or, you can use DDT-86   to patch  the  CPM.SYS  file  directly 
  576.           with the following commands:
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.           All Information Presented Here is Proprietary to Digital Research
  587.  
  588.                                           1
  589.  
  590.  
  591.  
  592.           CP/M-86 V1.1                                             Patch 06
  593.  
  594.  
  595.                   A>ddt86
  596.                   DDT86
  597.                   -rcpm.sys
  598.                     START     END
  599.                   NNNN:0000 NNNN:397F
  600.                   -s1918
  601.                   NNNN:1918 9D a2
  602.                   NNNN:1919 24 .
  603.                   -wcpm.sys
  604.                   -^c
  605.                   A>
  606.  
  607.  
  608.                Licensed users are granted the right to include  these  changes 
  609.           in CP/M-86 V1.1 software.
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.           All Information Presented Here is Proprietary to Digital Research
  653.  
  654.                                           2
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.                                      CP/M-86   V1.1
  662.                                 Patch 07, BDOS, 4/21/82
  663.  
  664.                           Copyright   1982 by Digital Research
  665.                  CP/M-86 is a registered trademark of Digital Research.
  666.                  ASM-86 and DDT-86 are trademarks of Digital Research.
  667.  
  668.  
  669.           Program:  CPM.SYS / CPM.H86
  670.           Products and Serial Numbers Affected:  CP/M-86   V1.1  C86-000-00746 
  671.           through C86-000-01001
  672.  
  673.  
  674.           Error Description:
  675.  
  676.                Register BH contains random data upon return from Function  12.  
  677.           This patch forces the BDOS to return 0.
  678.  
  679.  
  680.           Patch Procedure:
  681.  
  682.                Make a back-up copy of CPM.SYS and CPM.H86  before  making  the 
  683.           following  changes.  Assemble the following program using ASM-86   .   
  684.           Concatenate the program to the end of CPM.H86 and the TBIOS.   Refer 
  685.           to  the  CP/M-86  Microcomputer  Control  Program  System  Guide for 
  686.           concatenation instructions.  Include all previous  patches  in  this 
  687.           concatenation.
  688.  
  689.  
  690.                  Title    'Func12 4/21/82'
  691.                  ;This patch sets BH to 0 when bdos returns from function 12
  692.  
  693.                   Cseg
  694.  
  695.                  Patch_Area       Equ     0B77H
  696.  
  697.                   Org     Patch_Area
  698.  
  699.                   Xor     Ax, Ax
  700.  
  701.                   End
  702.  
  703.  
  704.                Or, you can use DDT-86   to patch  the  CPM.SYS  file  directly 
  705.           using the following commands:
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.           All Information Presented Here is Proprietary to Digital Research
  719.  
  720.                                           1
  721.  
  722.  
  723.  
  724.           CP/M-86 V1.1                                             Patch 07
  725.  
  726.  
  727.                   A>ddt86
  728.                   DDT86
  729.                   -rcpm.sys
  730.                     START     END
  731.                   NNNN:0000 NNNN:397F
  732.                   -sbf7
  733.                   NNNN:0BF7 32 33
  734.                   NNNN:0BF8 C0 .
  735.                   -wcpm.sys
  736.                   -^c
  737.                   A>
  738.  
  739.  
  740.                Licensed users are granted the right to include  these  changes 
  741.           in CP/M-86 V1.1 software.
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.           All Information Presented Here is Proprietary to Digital Research
  785.  
  786.                                           2
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.                                     CP/M-86   V1.1 
  794.                                 Patch 08, BDOS, 5/12/82
  795.  
  796.                           Copyright   1982 by Digital Research
  797.                  CP/M-86 is a registered trademark of Digital Research.
  798.                  DDT-86 and SID-86 are trademarks of Digital Research.
  799.  
  800.  
  801.           Program:  CPM.SYS and CPM.H86
  802.           Products and Serial Numbers Affected:  CP/M-86   V1.1  C86-000-00746 
  803.           through C86-000-01001
  804.  
  805.  
  806.           Error Description:
  807.  
  808.                The E command (Program Load)  in  DDT-86    or  SID-86    might 
  809.           overwrite  part  of  DDT-86,  SID-86  or other memory locations if a 
  810.           drive specification is part of the filespec used in the  E  command.  
  811.           This  error  might  also  occur  if you use Function 59 with a drive 
  812.           specification in the FCB.
  813.  
  814.  
  815.           Patch Procedure:
  816.  
  817.                There are two ways to patch  the  system.  The  first  requires 
  818.           assembly  of  the  program stub titled FUNC59P, which appears below.  
  819.           Concatenate the assembled FUNC59P to the CPMX.H86 file,  CPMX.H86  = 
  820.           CPM.H86   +   CBIOS.H86.   The   command   to   concatenate  is  PIP       
  821.           CPM.H86=CPMX.H86,FUNC59P.H86.  Then, use  GENCMD  with  the  command 
  822.           GENCMD CPMX 8080 code[a40] and rename the CPMX.CMD to CPM.SYS.
  823.  
  824.  
  825.                Title      'FUNC59P'
  826.  
  827.                ;
  828.                ; This program restores the ES reg after a call to Function 59
  829.  
  830.                   Cseg
  831.                   Org     0E23H
  832.                   Push    Es
  833.                   Nop
  834.                   Mov     .22DCH, Dx
  835.  
  836.                   Org     0F1AH
  837.                   Jmp     Patch_area
  838.                   Nop
  839.  
  840.                   Org     0A20H
  841.                Patch_area:
  842.                   Mov     .2496H, Ax
  843.                   Pop     Es
  844.                   Ret
  845.  
  846.                   End
  847.  
  848.  
  849.  
  850.           All Information Presented Here is Proprietary to Digital Research
  851.  
  852.                                           1
  853.  
  854.  
  855.  
  856.           CP/M-86 V1.1                                             Patch 08
  857.  
  858.  
  859.  
  860.                Or, you can apply the following patch using DDT-86.  The  patch 
  861.           is  applied  below the FUNC59P program stub.  Make a back-up copy of 
  862.           CPM.SYS before using DDT-86 to make the following changes:
  863.  
  864.  
  865.                   A>ddt86
  866.                     rcpm.sys
  867.                       START      END
  868.                     NNNN:0000 NNNN:397F
  869.                    -saa0
  870.                     NNNN:0AA0 00 a3
  871.                     NNNN:0AA1 00 96
  872.                     NNNN:0AA2 00 24
  873.                     NNNN:0AA3 00 07
  874.                     NNNN:0AA4 00 c3
  875.                     NNNN:0AA4 00 .
  876.                    -sea3
  877.                     NNNN:0EA3 A1 06
  878.                     NNNN:03A4 99 90
  879.                     NNNN:0EA5 24 89
  880.                     NNNN:0EA6 A3 16
  881.                     NNNN:0EA7 DC .
  882.                    -sf9a
  883.                     NNNN:0F9A A3 e9
  884.                     NNNN:0F9B 96 03
  885.                     NNNN:0F9C 24 fb
  886.                     NNNN:0F9D C3 90
  887.                     NNNN:0F9E E9 .
  888.                    -wcpm.sys
  889.                    -^c
  890.                   A>
  891.  
  892.  
  893.                Licensed users are granted the right to include  these  changes 
  894.           in CP/M-86 V1.1 software.
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.           All Information Presented Here is Proprietary to Digital Research
  917.  
  918.                                           2
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.                                     CP/M-86   V1.1 
  926.                                 Patch 09, PIP, 05/14/82
  927.  
  928.                           Copyright   1982 by Digital Research
  929.                  CP/M-86 is a registered trademark of Digital Research.
  930.                        DDT-86 is a trademark of Digital Research.
  931.  
  932.  
  933.           Program:  PIP.CMD
  934.           Products and Serial Numbers Affected:  CP/M-86   V1.1  C86-000-00746 
  935.           through C86-000-01001
  936.  
  937.  
  938.           Error Description:
  939.  
  940.                A problem  occurs  using  PIP  to  ambiguously  copy  archived, 
  941.           multiextent files.  PIP copies only the last extent.
  942.  
  943.  
  944.           Patch Procedure:
  945.  
  946.                Make a back-up copy of PIP.CMD before using  DDT-86    to  make 
  947.           the following changes:
  948.  
  949.  
  950.                   A>ddt86
  951.                   DDT86 1.1
  952.                   -rpip.cmd
  953.                     START      END
  954.                   nnnn:0000 nnnn:1D7F
  955.                   -xcs
  956.                   CS 0000 nnnn+8
  957.                   DS 0000 nnnn+8
  958.                   SS 0040 nnnn+8
  959.                   ES 0000 nnnn+8          ; YYYY = nnnn+8
  960.                   -l132A
  961.                     YYYY:132A MOV     CL,[02B9]
  962.                     YYYY:132E NOT     CL
  963.                     YYYY:1330 PUSH    CX
  964.                     YYYY:1331 CALL    13B6
  965.                     YYYY:1334 POP     CX
  966.                     YYYY:1335 OR      AL,CL
  967.                     YYYY:1337 RCR     AL,1
  968.                     YYYY:1339 JNB     1375
  969.                     YYYY:133B MOV     BYTE [01E4],00
  970.                   -a132a
  971.                     YYYY:132a test byte [02b9],01
  972.                     YYYY:132f jz 1338
  973.                     YYYY:1331 call 13b6
  974.                     YYYY:1334 rcr al,1
  975.                     YYYY:1336 jnb 1375
  976.                     YYYY:1338 xor al,al
  977.  
  978.  
  979.  
  980.  
  981.  
  982.           All Information Presented Here is Proprietary to Digital Research
  983.  
  984.                                           1
  985.  
  986.  
  987.  
  988.           CP/M-86 V1.1                                             Patch 09
  989.  
  990.  
  991.                     YYYY:133a mov [0198],al
  992.                     YYYY:133d mov [01e4],al
  993.                     YYYY:1340 .
  994.                   -wpip.cmd
  995.                   -^c
  996.  
  997.  
  998.                Licensed users are granted the right to include  these  changes 
  999.           in CP/M-86 V1.1 software.
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.           All Information Presented Here is Proprietary to Digital Research
  1049.  
  1050.                                           2
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.                                      CP/M 86   V1.1
  1058.                                 Patch 10, BDOS, 5/20/82
  1059.  
  1060.                           Copyright   1982 by Digital Research
  1061.                  CP/M-86 is a registered trademark of Digital Research.
  1062.                  ASM-86 and DDT-86 are trademarks of Digital Research.
  1063.  
  1064.  
  1065.           Program:  CPM.SYS and CPM.H86
  1066.           Products and Serial Numbers Affected:  CP/M-86   V1.1  C86-000-00746 
  1067.           through C86-000-01001
  1068.  
  1069.  
  1070.           Error Description:
  1071.  
  1072.                CP/M-86 does not return an error indication code for an invalid 
  1073.           function  code.  This  patch  forces the BDOS to return 0FFFFH in AX 
  1074.           and BX if a function code is out of range.
  1075.  
  1076.  
  1077.           Patch Procedure:
  1078.  
  1079.                To patch the CPM.H86 file, assemble the following program  stub 
  1080.           with  ASM-86    and name it BADFUNC.H86.  Concatenate BADFUNC.H86 to 
  1081.           the end of the CPM.H86 file using the PIP command:
  1082.  
  1083.                   A>PIP CPM.H86=CPM.H86,BADFUNC.H86
  1084.  
  1085.           The modified CPM.H86 file replaces the original.  You  can  use  the 
  1086.           modified  CPM.H86  file with your CBIOS to build a system.  Refer to 
  1087.           the  CP/M-86  Microcomputer  Control  Program   System   Guide   for 
  1088.           information  on the organization of CPM.SYS.  Make a back-up copy of 
  1089.           CPM.SYS and CPM.H86 before making the following changes:
  1090.  
  1091.  
  1092.                   Title   'BAD FUNC NUMB 5/20/82'
  1093.  
  1094.                   ;
  1095.                   ; This program patches CPM86 V1.1 so it returns an 0FFFFH
  1096.                   ; in BX and AX.
  1097.                   ;
  1098.                           CSeg
  1099.                           Org     0A50H
  1100.                   Label_0:
  1101.                           Jb      OK
  1102.                           Mov     Word ptr .249bH, 0FFFFH
  1103.                           Ret
  1104.                   Ok:
  1105.                           Jmp     Label_1
  1106.  
  1107.                           Org     0B94H
  1108.                           Jmp     Label_0
  1109.  
  1110.                           Org     0B97H
  1111.                   Label_1:
  1112.  
  1113.  
  1114.           All Information Presented Here is Proprietary to Digital Research
  1115.  
  1116.                                           1
  1117.  
  1118.  
  1119.  
  1120.           CP/M-86 V1.1                                             Patch 10
  1121.  
  1122.  
  1123.                           End
  1124.  
  1125.  
  1126.                Or, you can patch the CPM.SYS file directly  using  DDT-86    .  
  1127.           Make a back-up copy of CPM.SYS before making the following changes:
  1128.  
  1129.  
  1130.                   A>ddt86
  1131.                   DDT86 1.1
  1132.  
  1133.                    -rcpm.sys
  1134.                       START      END
  1135.                     NNNN:0000 NNNN:397f
  1136.                    -s0ad0
  1137.                     NNNN:0AD0 44 72
  1138.                     NNNN:0AD1 65 07
  1139.                     NNNN:0AD2 63 c7
  1140.                     NNNN:0AD3 65 06
  1141.                   NNNN:0AD4 6D 9b
  1142.                     NNNN:0AD5 62 24
  1143.                     NNNN:0AD6 65 ff
  1144.                     NNNN:0AD7 72 ff
  1145.                     NNNN:0AD8 20 c3
  1146.                     NNNN:0AD9 32 e9
  1147.                     NNNN:0ADA 38 3b
  1148.                     NNNN:0ADB 20 01
  1149.                     NNNN:0ADC 38 .
  1150.                    -s0c14
  1151.                     NNNN:0C14 72 e9
  1152.                     NNNN:0C15 01 b9
  1153.                     NNNN:0C16 C3 fe
  1154.                     NNNN:0C17 8A .
  1155.                    -wcpm.sys
  1156.                   -^c
  1157.  
  1158.  
  1159.                Licensed users are granted the right to include  these  changes 
  1160.           in CP/M-86 V1.1 software.
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.           All Information Presented Here is Proprietary to Digital Research
  1181.  
  1182.                                           2
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.                                      CP/M-86   V1.1
  1190.                                 Patch 11, BDOS, 5/20/82
  1191.  
  1192.                           Copyright   1982 by Digital Research
  1193.                  CP/M-86 is a registered trademark of Digital Research.
  1194.                  ASM-86 and DDT-86 are trademarks of Digital Research.
  1195.  
  1196.  
  1197.           Program:  CPM.SYS and CPM.H86
  1198.           Products and Serial Numbers Affected:  CP/M-86   V1.1  C86-000-00746 
  1199.           through C86-000-01001
  1200.  
  1201.  
  1202.           Error Description:
  1203.  
  1204.                If the system denies an absolute  memory  request,  the  system 
  1205.           does not return an error-indication code.  This patch returns 0FFFFH 
  1206.           in AX if the system denies a memory request.
  1207.  
  1208.  
  1209.           Patch Procedure:
  1210.  
  1211.                To patch the CPM.H86 file, assemble the following program  stub 
  1212.           using   ASM-86     and   name   the  file  PATCH11.A86.  Concatenate     
  1213.           PATCH11.A86 to the end of the CPM.H86 file using the  following  PIP 
  1214.           command:
  1215.  
  1216.                   A>PIP CPM.H86=CPM.H86,PATCH11.H86
  1217.  
  1218.           The modified CPM.H86 file replaces the original.  Use  CPM.H86  with 
  1219.           your  CBIOS  to  build a system.  Refer to the CP/M-86 Microcomputer 
  1220.           Control Program System Guide for information on the organization  of W 
  1221.           the CPM.SYS file.
  1222.  
  1223.  
  1224.               Title 'Patch11 5/20/82'
  1225.  
  1226.               Loaderr_loc Equ    0F1EH   ;Addr of load error routine
  1227.               Load59_Ret  Equ    0F06H   ;Exit from load error routine
  1228.               Pat_offset  Equ    0A30H   ;Patch area
  1229.  
  1230.               User_Parm_Seg       Equ    02323H  ;User's data segment
  1231.               Aret                Equ    0249BH  ;Return value
  1232.               Param_Seg   Equ    0249DH  ;User's data segment at entry
  1233.  
  1234.                   Cseg
  1235.  
  1236.                   Org     Pat_Offset
  1237.  
  1238.               Patch:
  1239.                   Mov     Ax, .User_Parm_Seg
  1240.                   Mov     .Param_seg, Ax
  1241.                   Mov     Word ptr .Aret, 0FFFFH
  1242.                       Jmp     loadret
  1243.  
  1244.  
  1245.  
  1246.           All Information Presented Here is Proprietary to Digital Research
  1247.  
  1248.                                           1
  1249.  
  1250.  
  1251.  
  1252.           CP/M-86 V1.1                                             Patch 11
  1253.  
  1254.  
  1255.                   Org     Load59_ret
  1256.               loadret:
  1257.                   Org     Loaderr_loc
  1258.                   Jmp     Patch
  1259.  
  1260.                   End
  1261.  
  1262.  
  1263.                Or,  you  can  patch  your  CPM.SYS  file  directly  using  the 
  1264.           following  DDT-86   commands.  Make a back-up copy of CPM.SYS before 
  1265.           making the following changes:
  1266.  
  1267.  
  1268.                   A>ddt86
  1269.                     DDT86 1.1
  1270.                    -rcpm.sys
  1271.                       START      END
  1272.                     NNNN:0000  NNNN:397F
  1273.                    -sab0
  1274.                     NNNN:0AB0 00 a1
  1275.                     NNNN:0AB1 00 23
  1276.                     NNNN:0AB2 00 23
  1277.                     NNNN:0AB3 00 a3
  1278.                     NNNN:0AB4 00 9d
  1279.  
  1280.                                      CP/M-86   V1.1
  1281.                                Patch 12, SUBMIT, 5/24/82
  1282.  
  1283.                           Copyright   1982 by Digital Research
  1284.                  CP/M-86 is a registered trademark of Digital Research.
  1285.                        DDT-86 is a trademark of Digital Research.
  1286.  
  1287.  
  1288.           Program:  SUBMIT.COM
  1289.           Products and Serial Numbers Affected:  CP/M-86   V1.1  C86-000-00746      This patch modifies the SUBMIT utility to enable execution fromtch Procedure:
  1290.  
  1291.                Make a back-up copy of SUBMIT.COM before using DDT-86   to makees:
  1292.  
  1293.  
  1294.                   A>ddt86
  1295.                     DDT86 1.1
  1296.                    -rsubmit.cmd
  1297.                        START    END
  1298.                     nnnn:0000 nnnn:0F7F
  1299.                    -aa2
  1300.                     nnnn:00A2 mov dl,ff     ;instruction was mov dx,00h
  1301.                     nnnn:00A4 nop
  1302.                     nnnn:00A5 .
  1303.                    -wsubmit.cmd
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.                                      CP/M-86   V1.1
  1310.                                 Patch 13, BDOS, 06/08/82
  1311.  
  1312.                           Copyright   1982 by Digital Research
  1313.                  CP/M-86 is a registered trademark of Digital Research.
  1314.                  ASM-86 and DDT-86 are trademarks of Digital Research.
  1315.  
  1316.  
  1317.           Program:  CPM.H86 and CPM.SYS
  1318.           Products and Serial Numbers Affected:   CP/M-86    V1.1  0-000-00000
  1319.  
  1320.                An area of memory  can  be  overwritten  when  a  user  programram Load).
  1321.  
  1322.  
  1323.           Patch Procedure:
  1324.  
  1325.                To patch the  CPM.H86  file,  type  the  program  stub  on  the         following  page into a file named PATCH13.A86.  Assemble PATCH13.A86  Concatenate  PATCH13.H86  toIP CPM.H86=CPM.H86,PATCH13.H86
  1326.  
  1327.                The newly modified CPM.H86 file replaces the original  and  can used  with  your  CBIOS to build a system.  Refer to the CP/M-86formation  on  they modifications.
  1328.  
  1329.  
  1330.                   Title   'PATCH13 6/8/82'
  1331.                   ;
  1332.                   ; An area of memory may be overwritten when a
  1333.                   ; user program executes a Function 59 (program load).
  1334.  
  1335.                   Patch_Area      Equ     0A00H
  1336.                   Bdos            Equ     00E0H
  1337.  
  1338.                           Cseg
  1339.  
  1340.                           Org     Patch_Area
  1341.  
  1342.                   Start_Patch:
  1343.  
  1344.                           Mov     Cs:byte ptr .2498H, 01
  1345.  
  1346.                           Push    Ax
  1347.                           Mov     Ah, Cs:.2327H
  1348.                           Mov     Al, Cs:.2313H
  1349.                           Push    Ax
  1350.                           Int     Bdos
  1351.  
  1352.                           Pop     Ax
  1353.                           Mov     Cs:.2313H, Al
  1354.                           Mov     Cs:.2327H, Ah
  1355.                           Pop     Ax
  1356.  
  1357.                           Ret
  1358.                           Nop
  1359.  
  1360.                           Org     0C42H
  1361.  
  1362.                           Jmp     Start_Patch
  1363.  
  1364.                           Nop
  1365.                           Nop
  1366.                           Nop
  1367.                           Nop
  1368.                           Nop
  1369.                           Nop
  1370.  
  1371.                           End
  1372.  
  1373.  
  1374.                Or, you can patch your CPM.SYS file directly using DDT-86    . ng the following changes:
  1375.  
  1376.  
  1377.                   A>ddt86
  1378.                     DDT86 1.1
  1379.                    -rcpm.sys
  1380.                      START       END
  1381.                     NNNN:0000   NNNN:397F
  1382.                    -aa80
  1383.                     NNNN:0A80 cs: mov byte [2498], 01
  1384.                     NNNN:0A86 push ax
  1385.                     NNNN:0A87 cs: mov ah, [2327]
  1386.                     NNNN:0A8C cs: mov al, [2313]
  1387.                     NNNN:0A90 push ax
  1388.                     NNNN:0A91 int 0e0
  1389.                     NNNN:0A93 pop ax
  1390.                     NNNN:0A94 cs: mov [2313], al
  1391.                     NNNN:0A98 cs: mov [2327], ah
  1392.                     NNNN:0A9D pop ax
  1393.                     NNNN:0A9E ret
  1394.                     NNNN:0A9F nop
  1395.                     NNNN:0AA0 .
  1396.                    -acc2
  1397.                     NNNN:0CC2 jmp 0A80
  1398.                     NNNN:0CC5 nop
  1399.                     NNNN:0CC6 nop
  1400.                     NNNN:0CC7 nop
  1401.                     NNNN:0CC8 nop
  1402.                     NNNN:0CC9 nop
  1403.                     NNNN:0CCA nop
  1404.                     NNNN:0CCB .
  1405.                    -wcpm.sys
  1406.                    -^c
  1407.  
  1408.  
  1409.                                      CP/M-86   V1.1
  1410.                               Patch 14, TRACK.A86, 8/1/82
  1411.  
  1412.                           Copyright   1982 by Digital Research
  1413.                  CP/M-86 is a registered trademark of Digital Research.
  1414.                        ASM-86 is a trademark of Digital Research.
  1415.                                  Compiled October 1982
  1416.  
  1417.  
  1418.           Program:  TRACK.A86
  1419.           Products and Serial Numbers Affected:  CP/M-86   V1.1  C86-000-007460
  1420.  
  1421.  
  1422.           Error Description:
  1423.  
  1424.                Assembling TRACK.A86 produces a  syntax  error  because  of  an  improper ASM-86   directive.
  1425.  
  1426.  
  1427.           Patch Procedure:
  1428.  
  1429.                Make a back-up copy of  TRACK.A86.   Install  this  patch  with          : *#a <cr>
  1430.                       1: *214:15t <cr>
  1431.                     214:          dseg
  1432.                     215:
  1433.                     216:  cpm_disk        rb      1
  1434.                     217:  cpm_track       rw      1
  1435.                     218:  cpm_sec         rw      1
  1436.                     219:
  1437.                     220:  dma_longword    rd      1
  1438.                     221:                  org     dma_longword
  1439.                     222:  dma_offset      rw      1
  1440.                     223:  dma_segment     rw      1
  1441.                     224:
  1442.                     225:  cur_disk        rb      1
  1443.                     226:  cur_sec         rw      1
  1444.                     227:  cur_track       rw      1
  1445.                     228:  cur_dma         rw      1
  1446.                     214: *220:2k <cr>
  1447.                     220: *222:i <cr>
  1448.                     222:  dma_longword    equ dword ptr dma_offset
  1449.                     223: ^z <cr>
  1450.                     224: *214:15t <cr>
  1451.                     214:        dseg
  1452.                     215:
  1453.                     216:  cpm_disk        rb      1
  1454.                     217:  cpm_track       rw      1
  1455.                     218:  cpm_sec         rw      1
  1456.                     219:  
  1457.                     220:  dma_offset      rw      1
  1458.                     221:  dma_segment     rw      1
  1459.                     222:  dma_longword    equ dword ptr dma_offset
  1460.                     223:
  1461.                     224:  cur_disk        rb      1
  1462.                     225:  cur_sec         rw      1
  1463.                     226:  cur_track       rw      1
  1464.                     227:  cur_dma         rw      1
  1465.                     228:
  1466.                     214: *e <cr>
  1467.                   A>
  1468.            
  1469.  
  1470.  
  1471.                                      CP/M-86   V1.1
  1472.                                 Patch 15, BDOS, 11/19/82
  1473.  
  1474.                           Copyright   1982 by Digital Research
  1475.                  CP/M-86 is a registered trademark of Digital Research.
  1476.                        DDT-86 is a trademark of Digital Research.
  1477.                                  Compiled December 1982
  1478.  
  1479.  
  1480.           Program:  CPM.SYS, CPM.H86
  1481.           Products and Serial Numbers Affected:  CP/M-86   V1.1  C86-000-00746scription:
  1482.  
  1483.                The BDOS does not load a file with  absolute  requirements  forRA or STACK segments.
  1484.  
  1485.  
  1486.           Patch Procedure:
  1487.  
  1488.                Make a back-up copy of CPM.SYS before you use DDT-86   to  makeWm.sys
  1489.                     START      END
  1490.                   nnnn:0000  nnnn:xxxx             (note the value of nnnn)
  1491.                   -hnnnn,8
  1492.                   nnnn+8 nnnn-8                  (note the value of nnnn+8)
  1493.  
  1494.                   -xcs
  1495.                   CS 0000 nnnn+8
  1496.                   DS 0000 nnnn+8
  1497.                   SS 0040 nnnn+8
  1498.                   ES 0000 nnnn+8
  1499.                   IP 0000 .
  1500.                   -add4
  1501.                   nnnn+8:0DD4 jmp 24e2
  1502.                   nnnn+8:0DD7 .
  1503.                   -a24e2
  1504.                   nnnn+8:24E2 cmp word 03[si],0000
  1505.                   nnnn+8:24E6 jz 24f2
  1506.                   nnnn+8:24E8 push ax
  1507.                   nnnn+8:24E9 mov ax,03[si]
  1508.                   nnnn+8:24EC mov [22d4],ax
  1509.                   nnnn+8:24EF pop ax
  1510.                   nnnn+8:24FO jmps 24f5
  1511.                   nnnn+8:24F2 mov [22d4],ax
  1512.                   nnnn+8:24F5 jmp 0dd7
  1513.                   nnnn+8:24F8 .
  1514.                   -wcpm.sys
  1515.                   -^C
  1516.                   A>
  1517.  
  1518.                Or, you can assemble the following code file  (PATCH15.A86)  tooncatenate PATCH15.H86 to the end of theM.H86=CPM.H86,PATCH15.H86
  1519.  
  1520.                The newly modified CPM.H86 file replaces the original  and  can with your CBIOS to build a system.  Refer to Section 7.2 into study  theodifications.
  1521.  
  1522.  
  1523.                   ;
  1524.                   ;  The BDOS does not properly load a CMD file with absolute
  1525.                   ;  load addresses specified in the header record for EXTRA
  1526.                   ;  and/or STACK segments.
  1527.  
  1528.                   Patch_area          equ       24E2h
  1529.                   Jmp_point           equ       0DD4h
  1530.                   Patch_return        equ       0DD7h
  1531.                   Pag0                equ       word ptr .22D4h
  1532.                   Abs                 equ       word ptr 3
  1533.  
  1534.                            CSEG
  1535.  
  1536.                            org        jmp_point
  1537.                            jmp        patch
  1538.  
  1539.                            CSEG
  1540.  
  1541.                            org        patch_return
  1542.                   Patch_ret:
  1543.  
  1544.                            CSEG
  1545.  
  1546.                            org        patch_area
  1547.                   Patch:
  1548.                            cmp        abs[si],0 ! jz from_ax
  1549.                            push       ax
  1550.                            mov        ax,abs[si]
  1551.                            mov        pag0,ax
  1552.                            pop        ax
  1553.                            jmps       end_patch
  1554.                   From_ax:
  1555.                            mov        pag0,ax
  1556.                   End_patch:
  1557.                            jmp        patch_ret
  1558.  
  1559.                            end
  1560.  
  1561.  
  1562.                Licensed users are granted the right to include  these  changesed Here is Proprietary to Digital Research
  1563.