Differences
This shows you the differences between two versions of the page.
| en:docs:dos:api:int26 [2021/08/06 07:39] – created prokushev | en:docs:dos:api:int26 [2026/05/04 07:51] (current) – prokushev | ||
|---|---|---|---|
| Line 16: | Line 16: | ||
| ===== Input ===== | ===== Input ===== | ||
| - | AL = drive number (00h = A:, 01h = B:, etc) | + | |
| - | CX = number of sectors to write (not FFFFh) | + | |
| - | DX = starting logical sector number (0000h - highest sector on drive) | + | |
| - | DS:BX -> data to write | + | |
| ===== Return ===== | ===== Return ===== | ||
| - | CF clear if successful | + | * CF clear if successful |
| - | CF set on error | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | may destroy all other registers except segment registers | + | |
| ===== Macro ===== | ===== Macro ===== | ||
| Line 35: | Line 35: | ||
| ===== Notes ===== | ===== Notes ===== | ||
| - | original flags are left on stack, and must be popped by caller | + | Function not supported for Win16 applications in protected mode |
| - | this call bypasses the DOS filesystem, though DOS 5+ invalidates any | + | |
| - | | + | original flags are left on stack, and must be popped by caller |
| - | examination of CPWIN386.CPL indicates that if this call fails with | + | |
| - | | + | this call bypasses the DOS filesystem, though DOS 5+ invalidates any disk buffers referencing sectors which are written with this call |
| - | | + | |
| - | Novell DOS 7 decides whether the old-style or new-style (>32M) version | + | examination of CPWIN386.CPL indicates that if this call fails with error 0408h on an old-style (<32M) call, one should retry the call with the high bit of the drive number in AL set |
| - | | + | |
| - | | + | Novell DOS 7 decides whether the old-style or new-style (>32M) version of INT 26 must be used solely on the basis of the partition' |
| - | | + | |
| - | Windows98 will display an error message and deliberately hang the | + | Windows98 will display an error message and deliberately hang the system on attempted write to any hard disk if neither bit 7 of the Extended Drive Info byte nor bit 6 of " |
| - | | + | |
| - | | + | Although all registers except segment registers may be destroyed some software depends on some of the registers being preserved. For example some Flash disk drivers requires that DX is not trashed. DR-DOS 7.03 takes care of this. |
| - | | + | |
| - | Although all registers except segment registers may be destroyed | + | BUGS: DOS 3.1 through 3.3 set the word at ES:[BP+1Eh] to FFFFh if AL is an invalid drive number |
| - | some software depends on some of the registers being preserved. | + | |
| - | For example some Flash disk drivers requires that DX is not trashed. | + | DR DOS 3.41 will return with a jump instead of RETF, leaving the wrong number of bytes on the stack; use the huge-partition version (INT 26/ |
| - | DR-DOS 7.03 takes care of this. | + | |
| - | BUGS: DOS 3.1 through 3.3 set the word at ES:[BP+1Eh] to FFFFh if AL is an | + | DR DOS 6.0 original releases 05/1991 & 08/1991 reported wrong error codes for "drive not ready" and "write protect" |
| - | | + | |
| - | DR DOS 3.41 will return with a jump instead of RETF, leaving the | + | |
| - | | + | |
| - | | + | |
| - | DR DOS 6.0 original releases 05/1991 & 08/1991 reported wrong error | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| ===== See Also ===== | ===== See Also ===== | ||




