Contributor: EDDY THILLEMAN FUNCTION ReadSector(drive, head, track, sector : Byte; buff: Pointer): Byte; { drive = 0 for drive A:, 1 = B:, } { 80h = first hard drive. } ASSEMBLER; ASM mov ax, 0201h { read 1 sector } les bx, [buff] { es:bx -> buffer } mov ch, [track] mov cl, [sector] mov dh, [head] mov dl, [drive] int 13h mov al, ah { status result in al } END; FUNCTION WriteSector(drive, head, track, sector : Byte; buff: Pointer): Byte; { drive = 0 for drive A:, 1 = B:, } { 80h = first hard drive. } ASSEMBLER; ASM mov ax, 0301h { read 1 sector } les bx, [buff] { es:bx -> buffer } mov ch, [track] mov cl, [sector] mov dh, [head] mov dl, [drive] int 13h mov al, ah { status result in al } END;