Int 2F/AX=4A10h/BX=0003h

Prev Next Ralf Interrups Categories Contents

------

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.

See Also: AX=4A10h/BX=0000h

Bitfields for SMARTDRV status: Bit(s) Description (Table 02801) 7 not cached (no read-caching) 6 write-through (not write-cached) 0-5 real drive number (0=A, 1=B...)

Notes: The "real" drive number is always set to 00h for RAM disks and to 3Fh for CD-ROMs; unfortunately, the latter means that an uncached CD-ROM has status FFh, just as a nonexistent drive does. Also supported by Novell DOS 7 - Caldera/Lineo DR-DOS 7.03 NWCACHE

Category: Caches/Spoolers - Int 2Fh - S

------

Prev Next Ralf Interrups Categories Contents