Category: caches/spoolers

INT 2F - SMARTDRV v4.00+ - STATUS

	AX = 4A10h
	BX = 0003h
	BP = drive number (0=A, 1=B, etc.)
		FFFFh = all drives (NWCACHE only)
	DL = subfunction
	    00h only get information
	    01h turn on read cache
	    02h turn off read cache
	    03h turn on write cache
	    04h turn off write cache
	    ---NWCACHE---
	    05h reduce cache size
		CX = number of KB to reduce (can't shrink below min size)
	    06h increase cache size
		CX = number of KB to increase (can't grow above max size)
Return: AX = BABEh if OK
	DL = status (see #02801)
	DL = FFh if drive does not exist
Notes:	If the read cache is off, reads will not be cached, but writes will
	  continue to be cached if the write-cache is enabled.
	this function is also supported by PC-Cache v8.0.
	SMARTDRV flushes the cache if sub-functions 02h or 04h have been
	  called to disable read or write caching.
	On calling this function, NWCACHE flushes any delayed writes,
	  but you should not rely on this, since this behavior may vanish
	  in future versions.
BUG:	The MS-DOS 6.20+ SCANDISK disables a SMARTDRV 4+ compatible cache
	  for the drive it is about to process.  However, at least when the
	  cache loaded is NWCACHE, the cache will still remain disabled for
	  this drive after SCANDISK has finished.  The reason for this behavior
	  is not yet known. The workaround is to re-enable with the
	  NWCACHE d:+ syntax afterwards, where d: is the corresponding
	  drive letter.
SeeAlso: AX=4A10h/BX=0000h