Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations TouchToneTommy on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Write Hard Disk Sector

Status
Not open for further replies.

chiefdruid

Technical User
Sep 1, 2008
1
GB
Hi All,

Can anyone please advise? I have a QBasic set of routines one of which allows me to read a Hard Disk sector via interrupt 13h, information found from Ralph Browns interrupts, - this works without error:

snipett:

InRegs.CX = &H1 ' Get sector 1 of track zero
InRegs.DX = (Head% * 256) + Disk% ' of selected drive
InRegs.AX = &H201 ' Read one full sector
InRegs.BX = VARPTR(Sector) ' Offset of read buffer
InRegs.ES = VARSEG(Sector) ' Segment of read buffer

CALL INTERRUPTX(&H13, InRegs, OutRegs) ' Read sector

but I would like to be able to write back the sector, again using interrupt 13h I use the same notation as the above snoppet but this fails, (I use InRegs.AX = &H301 which according to Ralph Browns Interrupt list should write back the sector read)

Either I have the AX register value wrong or clearly something else so I'm wondering if anyone may be able to guide me in the right direction to a resolution?

I have seen the QBasic FAQ which talks about disk access but this seems only pertinent to floppy drives and I'm dubious to try the cod on a hard disk!

Many thanks for your time
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top