                                       Joe Johnson
                                       P.O. Box 654
                                      Middlefield, OH 44062

Guy Omer 
SYSOP - 8/1/N #001
904-377-1200

Dear Guy,

       Per our computer chat I am sending the patch to DOSPLUS 4a which will enable the system to run XT167/CMD.  The following is some explanation for the patch and a ZAP to XT167/CMD which must be made in conjunction with the patch.

       XT167/CMD makes two SVC's which DOSPLUS does not have. SVC 105 clears the screen and  SVC 106 checks for the BREAK key. The patch adds the missing SVC's to DOSPLUS 4a and adjusts the LLOW$ memory pointer called by the SYSTEM command.
 
        During initialization XT167/CMD installs an interrupt task, but due to differences between DOSPLUS and TRSDOS the interrupt task does not get installed and the only way to correct this is to PATCH XT167 with the following command:

PATCH XT4/CMD
*A=4453H,F=28 05 0E 08,C=00 00 0E 08 00 00 00 <ENTER>
*<BREAK>

       The above changes can also be made using the DISKDUMP command by Modifying the bytes starting at 4453H.

      Also due to keyboard differences between DOSPLUS and TRSDOS the SHIFT+CLEAR key will not return to the terminal mode with the screen cleared, however CTRL+4($) works fine.


;XT4PAT/ASM
;This patch will install SVC'S 105 & 106 in DOSPLUS 4a.
;It also adjusts the LLOW$ memory pointer.
;The installation of this patch will allow XT4, v. 1.6.7, to
;run under DOSPLUS 4a with a minor patch to the program's
;initialization sequence. (See below)

               ORG     18A0H

        CLS    LD      A,1CH            ;START OF SVC #105
               CALL    DSP
               RET     NZ
               LD      A,1FH
        DSP    PUSH    DE
               CALL    0393H            ;@DSP
               POP     DE
               RET
        DCTL   PUSH    HL               ;START OF SVC #106
               LD      HL,0074H
               BIT     0,(HL)
               JR      Z,EXIT0
               PUSH    AF
               PUSH    BC
               PUSH    DE
        LOOP0  RES     0,(HL)
               LD      BC,0B00H
               CALL    1124H            ;@PAUSE
               BIT     0,(HL)
               JR      NZ,LOOP0
               LD      DE,028DH         ;KI DCB
               LD      A,03H
               CALL    03ABH            ;@CTL
               POP     DE
               POP     BC
               POP     AF
        EXIT0  POP     HL
        LOW    RET
        MEMSET LD      HL,CLS           ;INSTALL SVC CALLS
               LD      (01D2H),HL
               LD      HL,DCTL
               LD      (01D4H),HL
               LD      A,101            ;ADJUST LLOW$ POINTER
               RST     28H
               LD      HL,LOW+1
               LD      (IY+51),L
               LD      (IY+52),H
               LD      A,22             ;@EXIT
               RST     28H
               END     MEMSET


;SVC's to @CKTSK and @RMTSK alter BC in DOSPLUS 4a.
;At address 445DH where @ADTSK is called the value in "B"
;has been altered by the previous calls and therefore must be
;reloaded with the value 8 before the SVC is called.
;NOTE:I removed the @RMTSK to make room to reload "B" and the
;programm appears to function OK, but my testing has not been
;extensive.

        I hope this has been of some help!!

                                Sincerely yours,
                                Joe Johnson

P.S.  The following Patch will let XTERM ver. 1.3.A run under DOSPLUS 3.5, Model III only.  Model I is OK.:

PATCH XTERM/CMD
*A=6023H,F=F1,C=00 <ENTER>
*<BREAK>
                               JLJ
                                                    