delorie.com/archives/browse.cgi   search  
Mail Archives: opendos/2000/11/24/03:24:47

X-Apparently-From: <pmoran22 AT yahoo DOT com>
Message-ID: <001301c05594$ab2df350$a28a1004@dbcooper>
From: "Patrick Moran" <pmoran22 AT yahoo DOT com>
To: <opendos AT delorie DOT com>
References: <819A5186A6F AT reze-1 DOT rz DOT rwth-aachen DOT de>
Subject: Re: Optimizing CONFIG.SYS...
Date: Thu, 23 Nov 2000 14:12:15 -0700
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.00.3018.1300
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.3018.1300
Reply-To: opendos AT delorie DOT com

----- Original Message -----
From: "Matthias Paul" <PAUL-MA AT reze-1 DOT rz DOT rwth-aachen DOT de>
To: <opendos AT delorie DOT com>
Sent: Wednesday, November 22, 2000 9:08 AM
Subject: Optimizing CONFIG.SYS...


> Hi,
>
> Since Florian has sent an example CONFIG.SYS file and it has been
> quite a while since the last time we studied a CONFIG.SYS example,
> I'll take the opportunity to optimize it a little. I only apply
> general purpose optimization, nothing special for use with LFN
> or MP3. Not everything may apply to all systems.
>
> Hope this is still useful to some of you (especially those who might
> be new to DR-DOS and this list) - if not, just skip this posting...
>
> Matthias

> > DEVICE=C:\DRDOS\SETVER.EXE
>
> To save memory, it might be useful to delete all the pre-defined
> SETVER entries not needed (run SETVER /? from the prompt to
> get help on how to achieve this), or completely remove the driver
> from CONFIG.SYS when not needed by applications. The SETVER list
> can also be loaded high using DEVICEHIGH=.

It only uses 496 bytes as is. I do use DEVICEHIGH+ to gain 1/2k of
conventional
memory.


> > DEVICEHIGH=c:\drdos\NWCACHE.exe 7670 7670 /LEND=OFF /DELAY=OFF ...
> >           ... /FLUSH=OFF
>
> I would use:
>
>  VERIFY off
>  DEVICEHIGH=... /LEND=ON /DELAY=5000 /FLUSH=ON

I do not recommend using DELAY unless you have a UPS power supply. You can
clobber the FAT and DIRCTORY structure if you should lose power. I have not
noticed that much increase in speed. Also from many docs and messages from
many users, it has been found that using more than 2MB of either software
cache or
hardware cache can actually slow the system down. You can, however, use 2MB
of
each and get even more improvement than with either one alone. Strange, but
many
people have experimented with caching and this seems to be a conseses of
those
people experimenting with caching.


> > INSTALLHIGH=c:\drdos\nwcdex.exe /D:MTMIDE02
>
> Usually it is not possible to loadhigh NWCDEX in CONFIG.SYS.
> A possible solution to still achieve this is to use my INSTCDEX
> utility available from my web-page (see footer).

I have tried it both ways and seems to work, but it still used 7248 bytes
plus
environment if done this way. I use it in the AUTOEXEC file and use no
conventional memory.

Here is a copy of my CONFIG.SYS, AUTOEXEC.BAT and a copy of what MEM
shows: I have added comments in the files to show why I load things they way
I do.
-------------

AUTOEXEC.BAT:

@ECHO Off
C:\DRDOS\DRMOUSE
^
I normally do not load this in the AUTOEXEC. It will interfere with using
communications with TASK MANAGER. I load the mouse driver within a TASK
window when it is needed. The only reason I loaded it now is for
demonstartion purposes.

NWCACHE 2048 1024 /LEND=ON /DELAY=OFF
^
Load these and any others that do not use any environment space.

LH C:\DRDOS\NWCDEX.EXE /D:PROCD01
LH C:\B\UNIVESA.EXE
^
These use environment space so they are loaded after those that do not.

This helps to keep upper memory from being fragmented.

Load all drivers before any enviroment settings (PATH=, SET, etc.) because
the environment used by those TSRs/DRIVERs that do use environment space
will use less.

NOTE: Notice that I use the LoadHigh before I load the CDROM extentions.
      This will remove all of NWCDEX out of low memory. Otherwise I have
      7248 bytes plus whatever environment may be use low.

SHARE /L:20
^
This can be loaded anytime. If you keep buffers fairly low, it will
automatically load into HMA.

PATH
C:\NWC;C:\DRDOS;C:\SYQ;C:\B;C:\A;C:\1;C:\PCT;C:\RAR;C:\NORT;C:\SB16;C:\;C:\D
OSFAX;C:\SCAN;F:\SH40;F:\WP61;

VERIFY OFF
PROMPT [DRDOS] $P$G
^
These can be loaded anytime. I did not notice any difference if I loaded
them first.

SET PCTOOLS=C:\PCT\DATA
SET 1DIRPLUS=C:\1
SET SOUND=C:\SB16
SET BLASTER=A220 I5 D1 H5 P330 T6
SET MIDI=SYNTH:1 MAP:E
SET DRDOSCFG=C:\DRDOS
SET TEMP=C:\TEMP
SET TMP=C:\TMP
SET GWS=F:\GWS
SET SYMANTEC=C:\SYMANTEC
SET NU=C:\NORT
SET DV=D:\DV
SET GIFLITE=C:\B
SET ZIPDEPTH=1
SET ZIPCOMNT=C:\B\COMMENT.FIL
SET DSZLOG=F:\TER500\PROTOCOL
SET GO32TMP=c:/temp
^
Use these last.

IF NOT DIREXIST %TEMP% MD %TEMP%

C:\B\STEPRATE 3
^
This does not use any memory, it modifies the BIOS to increase thr
floppy step rate from 9ms to 3ms.

C:\SB16\SB16SET /P /Q

DISKMAP C: D: E: F: G:
MIRROR C: D: E: F: G:
IMAGE C: D: E: F: G:
^
These do not use memory, they are programs that run at startup to make
images of the disk system areas for recovery purposes.

rem ?"Enable Task Manager (Y/N) ?"TASKMGR
REM TASKMGR /C LOCK /P
rem CALL E:\NWCLIENT\STARTNET.BAT
^
These I remmed out because I do them manually when I need them.
________________________________________________________

CONFIG.SYS:

DEVICE=C:\DRDOS\EMM386.EXE MULTI DPMI=ON FRAME=NONE /V I=B000-B7FF
/USE=F000-F6FF /R=AUTO DMA=64
                               ^
                               Something seems to write the 1Ah handler
here, If I use this
area, during boot I get a bunch of garbage on the screen with some exception
error
thar scrolls by too fast to read, then the stupid computer automatically
reboots! When
I look at that area of the ROM with DEBUG, all that is there is part of the
CMOS
serup routines. Also if I try including a higher area of the BIOS ROM that
is loaded
with 0000, I also get strange things happening. However, the stupid thing
will work
with USE F000-F9FF with the EMS FRAME set to: FRAME=E900!!!! Go figure!


DEVICE=C:\DRDOS\DPMS.EXE

DEVICEHIGH=C:\DRDOS\SETVER.EXE
^
This only uses 496 bytes, so if you are crampted for upper memory area,
you can use DEVICE= and have it load low.

DEVICEHIGH=C:\DRDOS\ANSI.SYS

REM DEVICEHIGH=C:\PROSCSI\DOSCAM.SYS
^
I only need this when FDISKing SCSI drives and some other special SCSI
features that I do not currently use.

DEVICEHIGH=C:\PROSCSI\MINICAM.SYS /T=5
                                  ^
                                  I need this delay for my SCSI tape
drive to be recognized. The MINICAM driver uses far less memory than
the DOSCAM driver. Also this driver gives my SCSI hard drives faster
transfer speeds than DOSCAM does, according to CORETEST results.

rem DEVICEHIGH=C:\PROSCSI\SCSIDISK.SYS
^
It seems that I do not need this loaded. I may need it for special
SCSI hard drive features that I do not currently use.

DEVICEHIGH=C:\PROSCSI\CDROM.SYS /D:PROCD01

DEVICEHIGH=C:\PROSCSI\ASPICAM.SYS
^
I need this stupid driver for SCSI CDROM and TAPE to be used.

DEVICEHIGH=C:\SYQ\SCSI\SQDRIVER.SYS /A:0
^
I need this stupid driver so that I can use utility functions with
my Syquest SCSI drive. If I am carful and not eject the Syquest
cartridge while it is being used, I can eleiminate it except when
using other Syquest utilities like it's FDISK, FORMAT, LOCK, UNLOCK,
MOUNT, FIXED, REMOVEABLE, etc. I rarely use these anyway. So I could
rem it out until needed. I left it in for demonstartion purposes.

DEVICEHIGH=C:\SB16\DRV\CSP.SYS /UNIT=0 /BLASTER=A:220 I:5 D:1 H:5
DEVICEHIGH=C:\SB16\DRV\CTSB16.SYS /UNIT=0 /BLASTER=A:220 I:5 D:1 H:5
DEVICEHIGH=C:\SB16\DRV\CTMMSYS.SYS
SHELL=C:\DRDOS\COMMAND.COM C:\DRDOS\ /E:512 /P
DOS=HIGH,UMB

COUNTRY=1,,C:\DRDOS\COUNTRY.SYS
^
I don't really need this, however, when installing Terminate comm
program it needs it. Since it does not use any memory, I just left it.

BREAK=OFF

BUFFERS=16
^
No particular reason why I chose this number of buffers. I do not
need many with NWCACHE installed. More than 10 seems to help floppy
speed and still load into HMA. This can be experimented with.

FILES=40
^
Half the networking crap I install wants to set this to 80 and even
higher. I have it set to 40 and have not yet encountered a problem
with this more conservative setting. It uses far less memory than 80.

FCBS=4,4
^
I use the 4,4 because I experiment with QEMM. QEMM likes it. This
gives me an additional 4 files, which I do not need, but some old
programs still uses FCBS and if I play with CP/M I need it.

STACKS=0,0
LASTDRIVE=Z
HISTORY=ON,512,ON
FASTOPEN=512

__________________________________________________

Next is the memory listings. You can cut this out and look at it with the
TYPE
command with the |MORE pipe and see it better. I left it unedited for this
reason.

MEM/AP:
<cut>
-------------------------------

ÚÄ Address ÄÂÄ Name ÄÄÄÂÄ Size ÄÄÄÄÄÄÄÄÄÄÄÂÄ Type
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³    0:0000 ³ -------- ³  A0000h, 655,360 ³ -------------
RAM --------------- ³
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄ´
³    0:0000 ³ -------- ³    400h,   1,024 ³ Interrupt vectors
³
³   40:0000 ³ -------- ³    100h,     256 ³ ROM BIOS data area
³
³   50:0000 ³      DOS ³    200h,     512 ³ DOS data area
³
³   70:0000 ³     BIOS ³    960h,   2,400 ³ Device drivers
³
³   70:0023 ³ CON      ³                  ³  System device driver
³
³   70:0035 ³ AUX      ³                  ³  System device driver
³
³   70:0047 ³ PRN      ³                  ³  System device driver
³
³   70:0059 ³ CLOCK$   ³                  ³  System device driver
³
³   70:006B ³ COM1     ³                  ³  System device driver
³
³   70:007D ³ COM2     ³                  ³  System device driver
³
³   70:008F ³ COM3     ³                  ³  System device driver
³
³   70:00A1 ³ COM4     ³                  ³  System device driver
³
³   70:00C7 ³ LPT1     ³                  ³  System device driver
³
³   70:00D9 ³ LPT2     ³                  ³  System device driver
³
³   70:00EB ³ LPT3     ³                  ³  System device driver
³
³   70:016E ³    A:-H: ³                  ³  System device driver
³
³  106:0000 ³      DOS ³   1440h,   5,184 ³ System
³
³  106:0048 ³ NUL      ³                  ³  System device driver
³
³  106:00CC ³      DOS ³    10Fh,     271 ³  HANDLES=, FCBS=   5 total
blocks ³
³  24A:0000 ³      DOS ³   1350h,   4,944 ³ System
³
³  24C:0000 ³      DOS ³     A5h,     165 ³  HANDLES=, FCBS=   3 total
blocks ³
³  259:0000 ³ VCPIXXX0 ³    420h,   1,056 ³  DEVICE = installed device
driver ³
³  273:0000 ³ EMMQXXX0 ³      0h,       0 ³  DEVICE = installed device
driver ³
³  287:0000 ³ DPMIXXX0 ³      0h,       0 ³  DEVICE = installed device
driver ³
³  29C:0000 ³ DPMSXXX0 ³    3B0h,     944 ³  DEVICE = installed device
driver ³
³  2D8:0000 ³      DOS ³    77Ah,   1,914 ³  HANDLES=, FCBS=  36 total
blocks ³
³  37F:0000 ³  COMMAND ³    1F0h,     496 ³ Program
³
³  39E:0000 ³  COMMAND ³    210h,     528 ³ Environment
³
³  3BF:0000 ³      MEM ³    1F0h,     496 ³ Environment
³
³  3DE:0000 ³      MEM ³  15C20h,  89,120 ³ Program
³
³ 19A0:0000 ³ -------- ³  859F0h, 547,312 ³ FREE
³
³ 9F3F:0000 ³      DOS ³  10C10h,  68,624 ³ System
³
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄ´
³ B000:0000 ³ -------- ³   8000h,  32,768 ³ ---------- Upper
RAM ------------ ³
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄ´
³ B000:0000 ³   EMM386 ³    2A0h,     672 ³ XMS Upper Memory Block
³
³ B02A:0000 ³ DRMOUSE  ³   1B60h,   7,008 ³ Program
³
³ B1E0:0000 ³  NWCACHE ³   15C0h,   5,568 ³ XMS Upper Memory Block
³
³ B33C:0000 ³  NWCACHE ³   4010h,  16,400 ³ XMS Upper Memory Block
³
³ B73D:0000 ³   NWCDEX ³     70h,     112 ³ Environment
³
³ B744:0000 ³  UNIVESA ³     70h,     112 ³ Environment
³
³ B74B:0000 ³ -------- ³    B40h,   2,880 ³ FREE
³
³ B7FF:0000 ³ EXCLUDED ³  14010h,  81,936 ³ System
³
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄ´
³ C000:0000 ³ -------- ³   C000h,  49,152 ³ ---------- Shadow
ROM ----------- ³
³ CC00:0000 ³ -------- ³  2B000h, 176,128 ³ ---------- Upper
RAM ------------ ³
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄ´
³ CC00:0000 ³      DOS ³    1A0h,     416 ³ XMS Upper Memory Block
³
³ CC1A:0000 ³      DOS ³    410h,   1,040 ³ XMS Upper Memory Block
³
³ CC5B:0000 ³      DOS ³  13BF0h,  80,880 ³ System
³
³ CC5D:0000 ³ SETVERXX ³    1F0h,     496 ³  DEVICE = installed device
driver ³
³ CC7D:0000 ³ CON      ³   10D0h,   4,304 ³  DEVICE = installed device
driver ³
³ CD8B:0000 ³ $$CAM000 ³   1CE0h,   7,392 ³  DEVICE = installed device
driver ³
³ CF5A:0000 ³ PROCD01  ³   6470h,  25,712 ³  DEVICE = installed device
driver ³
³ D5A2:0000 ³ SCSIMGR$ ³    8D0h,   2,256 ³  DEVICE = installed device
driver ³
³ D630:0000 ³ SYQ55SYS ³   1DB0h,   7,600 ³  DEVICE = installed device
driver ³
³ D630:0012 ³       I: ³                  ³  DEVICE = installed device
driver ³
³ D80C:0000 ³ CSPXXXX0 ³   1460h,   5,216 ³  DEVICE = installed device
driver ³
³ D953:0000 ³ CTSOUND0 ³   4CE0h,  19,680 ³  DEVICE = installed device
driver ³
³ DE22:0000 ³ CTMMSYS$ ³   1F80h,   8,064 ³  DEVICE = installed device
driver ³
³ E01A:0000 ³   NWCDEX ³   1C50h,   7,248 ³ Program
³
³ E1DF:0000 ³  UNIVESA ³   2260h,   8,800 ³ Program
³
³ E405:0000 ³ -------- ³  10FB0h,  69,552 ³ FREE
³
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄ´
³ FE00:0000 ³ -------- ³   1000h,   4,096 ³ ---------- Shadow
ROM ----------- ³
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄ´
³ FFFF:00E0 ³  COMMAND ³   2080h,   8,320 ³ Program
³
³ FFFF:2240 ³      DOS ³    F70h,   3,952 ³ DOS BIOS code
³
³ FFFF:31B0 ³      DOS ³   7280h,  29,312 ³ DOS kernel code
³
³ FFFF:A430 ³      DOS ³   2140h,   8,512 ³  BUFFERS=  16 disk buffers
³
³ FFFF:C570 ³ -------- ³   26F0h,   9,968 ³ FREE
³
³ FFFF:EC60 ³    SHARE ³    F98h,   3,992 ³ Program
³
ÀÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄÙ

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³     ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Conventional memory ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>     ³
³     0h   10000h  20000h  30000h  40000h  50000h  60000h  70000h          ³
³     0K      64K    128K    192K    256K    320K    384K    448K          ³
³     ÃÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄ     ³
³     ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²     ³
³     ²²²²²²²²²²²²²²²²........²²²²....°°°°°°²²²²²²²²²²²²²²²²²²²²²...±±     ³
³     ÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄ´     ³
³    512K    576K    640K    704K    768K    832K    896K    960K     1MB  ³
³  80000h  90000h  A0000h  B0000h  C0000h  D0000h  E0000h  F0000h 100000h  ³
³     >ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Upper memory ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³     ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Key:  ²=RAM  ±=ROM  °=Shadow ROM  Û=EMS

Ú Memory Type ÄÄÄÄÄÄÂÄÄ Total Bytes ( Kbytes  ) ÄÂÄÄÄ Available For Programs
Ä¿
³                   ³                            ³
³
³ Conventional      ³       652,288 (    637K )  ³       636,928 (    622K )
³
³ Upper             ³       200,688 (    196K )  ³        72,432 (     71K )
³
³ High              ³        65,520 (     64K )  ³         9,968 (     10K )
³
³ Extended          ³    49,283,072 ( 48,128K )  ³             0 (      0K )
³
³ Extended via XMS  ³          --------          ³    46,071,808 ( 44,992K )
³
³ Extended via DPMI ³    46,071,808 ( 44,992K )  ³    46,063,360 ( 44,984K )
³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄ´
³ Largest executable program:  636,912 ( 622K )
³
³ Total Free DOS memory:       709,360 ( 693K )
³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄÙ

----------------------------
<cut>
_________________________________________________________

Pat



_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019