; Program:      WordStar Shell Modification Patches
; Author:       Jay Sage
; Date:         August 7, 1988

;--------------------------------------------------------
;
;         PATCHES TO WS.OVR
;
;--------------------------------------------------------

3CBF  1E 24               ld      e,24h
3CC1  CD A40A             call    envoff
3CC4  E5                  push    hl
3CC5  11 0D00             ld      de,0dh
3CC8  19                  add     hl,de
3CC9  46                  ld      b,(hl)
3CCA  23                  inc     hl
3CCB  7E                  ld      a,(hl)
3CCC  C6 40               add     a,'A'-1
3CCE  21 CB04             ld      hl,namebuf
3CD1  36 3B               ld      (hl),'
3CD3  23                  inc     hl
3CD4  77                  ld      (hl),a
3CD5  23                  inc     hl
3CD6  78                  ld      a,b
3CD7  0E 2F               ld      c,'0'-1
3CD9              tens:
3CD9  0C                  inc     c
3CDA  D6 0A               sub     10
3CDC  30 FB               jr      nc,tens
3CDE  C6 3A               add     10+'0'
3CE0  71                  ld      (hl),c
3CE1  23                  inc     hl
3CE2  77                  ld      (hl),a
3CE3  23                  inc     hl
3CE4  36 3A               ld      (hl),':'
3CE6  23                  inc     hl
3CE7  D1                  pop     de
3CE8  06 08               ld      b,8
3CEA              copyname:
3CEA  13                  inc     de
3CEB  1A                  ld      a,(de)
3CEC  FE 20               cp      ' '
3CEE  28 05               jr      z,copydone
3CF0  77                  ld      (hl),a
3CF1  23                  inc     hl
3CF2  05                  dec     b
3CF3  20 F5               jr      nz,copyname
3CF5              copydone:
3CF5  36 20               ld      (hl),' '
3CF7  23                  inc     hl
3CF8  36 2C               ld      (hl),','
3CFA  23                  inc     hl
3CFB  36 00               ld      (hl),0
3CFD  3E FF               ld      a,0ffh
3CFF  32 0022             ld      (zflag),a
3D02  C3 AA60             jp      60aah

;--------------------------------------------------------

67B2  21 381F             ld      hl,rcmdbuf
67B5  4E                  ld      c,(hl)
67B6  06 00               ld      b,0
67B8  23                  inc     hl
67B9  11 00A0             ld      de,scratch
67BC  ED B0               ldir
67BE  21 CB04             ld      hl,namebuf
67C1  CD D113             call    cpy2nul
67C4  C3 5B04             jp      morpat

;--------------------------------------------------------
;
;         PATCHES TO WS.COM
;
;--------------------------------------------------------

045B  D5                  push    de
045C  1E 18               ld      e,18h
045E  CD A40A             call    envoff
0461  5E                  ld      e,(hl)
0462  23                  inc     hl
0463  56                  ld      d,(hl)
0464  EB                  ex      de,hl
0465  D1                  pop     de
0466  CD D113             call    cpy2nul
0469  21 8603             ld      hl,clrscr
046C  CD C717             call    scrnfn
046F  1E 18               ld      e,18h
0471  CD A40A             call    envoff
0474  11 00A0             ld      de,scratch
0477  47                  ld      b,a
0478              lenloop:
0478  1A                  ld      a,(de)
0479  B7                  or      a
047A  28 11               jr      z,oklength
047C  13                  inc     de
047D  10 F9               djnz    lenloop
047F  11 9F04             ld      de,errmsg
0482  0E 09               ld      c,9
0484  CD 0500             call    0005h
0487  CD 491A             call    sak
048A  C3 4E7F             jp      7f4eh
048D              oklength:
048D  11 0400             ld      de,4
0490  EB                  ex      de,hl
0491  19                  add     hl,de
0492  EB                  ex      de,hl
0493  73                  ld      (hl),e
0494  23                  inc     hl
0495  72                  ld      (hl),d
0496  21 00A0             ld      hl,scratch
0499  CD D113             call    cpy2nul
049C  C3 F613             jp      13f6h
049F              errmsg:
049F  07 4D 43 4C         db      bell,'MCL Ovfl - press any key...$'
04A3  20 4F 76 66
04A7  6C 20 2D 20
04AB  70 72 65 73
04AF  73 20 61 6E
04B3  79 20 6B 65
04B7  79 2E 2E 2E
04BB  24

;--------------------------------------------------------

0F5F  CD D913             call    setpath
0F62  00                  nop
0F63  00                  nop

;--------------------------------------------------------

13CE  C3 F613             jp      13f6h
13D1              cpy2nul:
13D1  7E                  ld      a,(hl)
13D2  12                  ld      (de),a
13D3  B7                  or      a
13D4  C8                  ret     z
13D5  23                  inc     hl
13D6  13                  inc     de
13D7  18 F8               jr      cpy2nul
13D9              setpath:
13D9  21 E013             ld      hl,path0
13DC  7E                  ld      a,(hl)
13DD  23                  inc     hl
13DE  B7                  or      a
13DF  C9                  ret
13E0  02          path0:  db      2
13E1  02                  db      2
13E2  04                  db      4
13E3  00 00               db      0,0
13E5  00                  db      0

;--------------------------------------------------------

1A2F  21 8000             ld      hl,80h
1A32  6E                  ld      l,(hl)
1A33  CB FD               set     7,l
1A35  7E                  ld      a,(hl)
1A36  FE 2C               cp      ','
1A38  20 25               jr      nz,1a5fh
1A3A  36 20               ld      (hl),' '
1A3C  11 101B             ld      de,1b10h
1A3F  0E 09               ld      c,9
1A41  CD 0500             call    0005
1A44  CD 491A             call    sak
1A47  18 16               jr      1a5fh
1A49              sak:
1A49  1E FF               ld      e,0ffh
1A4B  0E 06               ld      c,6
1A4D  CD 0500             call    0005
1A50  B7                  or      a
1A51  28 F6               jr      z,sak
1A53  1E 0D               ld      e,0dh
1A55  0E 06               ld      c,6
1A57  C3 0500             jp      0005