DEV
Systémová zařízení
Jména systémových zařízení:
Při otevření zařízení funkcí OpenDevice se jméno zařízení neukončuje dvojtečkou :, tak jak je tomu u souborových funkcí. Na velikosti písmen ve jménu zařízení nezáleží.
INPUT:
CL = length of device name
SI = device name (without ":")
DI = pointer to destination FILE structure
OUTPUT:
CY = error, invalid device
DevCheck - device check
INPUT:
BL = bit 0..3: device
type (bit 3: 0=block/1=char
device), bit 4..7: device index (0..15)
OUTPUT:
CY = invalid device
DevSize - get device media size
INPUT:
BL = bit 0..3: device
type (bit 3: 0=block/1=char
device), bit 4..7: device index (0..15)
OUTPUT:
DX:AX = media size (0 on error)
CY = invalid device (or character device, DX:AX = 0 on error)
DevRead - device read
INPUT:
DX:AX = current byte offset (only block device)
BL = bit 0..3: device
type (bit 3: 0=block/1=char
device), bit 4..7: device index (0..15)
CX = number of bytes
DI = destination buffer
OUTPUT:
CY = error (CX > 0)
CX = remaining bytes (or CX = 0 if no error NC)
NOTES: Block device is limited to 4 GB.
DevWrite - device write
INPUT:
DX:AX = current byte offset (only block device)
BL = bit 0..3: device
type (bit 3: 0=block/1=char
device), bit 4..7: device index (0..15)
CX = number of bytes
DI = source buffer
OUTPUT:
CY = error (CX > 0)
CX = remaining bytes (or CX = 0 if no error NC)
NOTES: Block device is limited to 4 GB.
Device type (0..7: block device, 8..15: character device):
FILEDEV_SYS: (=0) system disk (A:, B:, C:,
... P:)
FILEDEV_FD: (=1) floppy disk drive (FD1, FD2)
FILEDEV_HD: (=2) hard disk drive (HD1, ... HD4)
FILEDEV_RAM (=3) memory disk (RAM)
FILEDEV_RD (=4) RAM disk drive (RD1)
FILEDEV_NUL (=8) nul device
FILEDEV_CON (=9) con console
FILEDEV_COM (=10) com port (index 0=COM1/AUX, 1=COM2, ... 3=COM4)
FILEDEV_LPT (=11) lpt port (index 0=LPT1/PRN, 1=LPT2, 2=LPT3)
FILEDEV_MASKTYPE: (=0Fh) mask device type
FILEDEV_MASKINX: (=0F0h) mask device index
FILEDEV_SHIFT (=4) shift device index