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