INT 13H (0x13) Function 23H (0x23 or 35) Set Controller Features Register (PS and PS/2, Hard Disk) 24H (0x24 or 36) Set Multiple – Transfer Mode (Hard Disk, PS and PS/2) 24H (0x24 or 36) Set Sectors (QuickCache II v4.20) 25H (0x25 or 37) Identify Drive (Hard Disk, PS and PS/2)

Files Recovery Software
Home Contact Details Customer Support Download Demo Products  

 
 

INT 13H (0x13)

Function 23H (0x23 or 35) --> Set Controller Features Register (PS and PS/2, Hard Disk)

Call with: AH = 23H
AL = feature number
DL = drive number

Return: If Function Successful,
Carry Flag = Clear

If Function Unsuccessful,
Carry Flag = Set
AH = Status

Comments:

This Function is used to set the controller feature register. If the function is successful the carry flag is clear and if unsuccessful carry flag is set and AH register returns the status.

INT 13H (0x13)

Function 24H (0x24 or 36) --> Set Multiple – Transfer Mode (Hard Disk, PS and PS/2)

Call with: AH = 24H
AL = number of sectors per block
DL = drive number

Return: If Function Successful,
Carry Flag = Clear

If Function Unsuccessful,
Carry Flag = Set
AH = Status

Comments:

This Function is used to set Multiple – Transfer Mode. If you want to disable the Multiple – Transfer Mode, set the number of sectors to 0. The maximum value for the block size (Such as 2,4,6,8 and 16 etc.) depends on the fixed disk drive type.

The value is stored in byte 15H of the fixed disk drive parameter table that is created by POST (Power On Self-Test). The byte at address 0040H:0074H is set to status of operation. The Values for PS/1 hard disk feature number have been listed in the following table:

Value

Description

01H

Select 8-bit data transfers instead of 16-bit

02H

Enable write cache

22H

Write Same, user-specified area

33H

Disable retries

44H

Set number of ECC bytes for read long/write long

54H

Set cache segments

55H

Disable look ahead

66H

Disable reverting to power-on defaults

77H

Disable error correction

81H

Select 16-bit data transfers (default)

82H

Disable write cache

88H

Enable error correction (default)

99H

Enable retries (default)

AAH

Enable look ahead

BBH

Set ECC length for read long/write long to four bytes

CCH

Enable reverting to power-on defaults

DDH

Write Same, entire disk

INT 13H (0x13)

Function 24H (0x24 or 36) --> Set Sectors (QuickCache II v4.20)

Call with: AX = 24H

BX = New number of sector buffers in
cache

Return: If Function Successful,
AX = 0000H

If Function Unsuccessful,
AX = Status

Comments:

This Function is used to set the Sectors. If the function is successful AX register is 0000H else AX returns the Status.

INT 13H (0x13)

Function 25H (0x25 or 37) --> Identify Drive (Hard Disk, PS and PS/2)

Call with: AH = 25H
DL = Drive number
ES:BX = Buffer of 512 bytes for reply packet

Return: If Function Successful,
Carry Flag = Clear

Buffer filled with drive information block

If Function Unsuccessful,
Carry Flag = Set
AH = Status

Comments:

This Function is used to identify the Drive. The byte at address 0040h:0074h is set to the status of the operation. IBM officially classifies this function as optional. The Bit fields for general drive configuration have been given in the following table:

Bit(s)

Description

0

Reserved (0)

1

Hard sectored

2

Soft sectored

3

Not MFM encoded

4

Head switch time greater than 15msec

5

Spindle motor control option implemented

6

Fixed drive

7

Removable cartridge drive

8

Disk transfer rate is less than or equal to 5Mbs

9

Disk transfer rate is greater than 5Mbs but  less than or equal to 10Mbs

10

Disk transfer rate is greater than 10Mbs

11

Rotational speed tolerance is greater than 0.5%

12

Data strobe offset option available

13

Track offset option available

14

Format speed tolerance gap required

15

Reserved for non-magnetic drives (0)

The description of Format of Drive information block as given in the ATA (AT Attachment) Specification has been given in the next table:

Offset

Size

Description

00H

WORD

General drive configuration

02H

WORD

Number of cylinders

04H

WORD

Reserved

06H

WORD

Number of heads

08H

WORD

Number of unformatted bytes per track

0AH

WORD

Number of unformatted bytes per sector

0CH

WORD

Number of sectors per track

0EH

6 BYTES

Vendor unique

14H

20 BYTES

Serial number in ASCII, (0000H=not specified)

28H

WORD

Buffer type

2AH

WORD

Buffer size in 512 byte increments (0000H=not specified)

2CH

WORD

Number of ECC bytes passed on Read/Write Long commands 0000H = not specified

2EH

8 BYTES

Firmware revision in ASCII, 0000H=not specified

36H

40 BYTES

Model number in ASCII, 0000H=not specified

5EH

 

WORD

 

 

Bits 15-8  Vendor Unique, bits 7-0, (if 00H = Read/Write Multiple commands not Implemented, else xxH = Maximum number of sectors that can be transferred per interrupt on Read and Write Multiple Commands)

60H

WORD

0000H = Cannot perform Doubleword I/O,
0001H = Can perform Doubleword I/O.

62H

WORD

Bit 15-9  (0=reserved),
bit 8 (1=DMA Supported),
Bit 7-0 Vendor Unique.

64H

WORD

Reserved

66H

WORD

Bits 15-8 PIO data transfer cycle timing mode, Bits 7-0  Vendor Unique

68H

WORD

Bits 15-8 DMA data transfer cycle timing mode, Bits 7-0 Vendor Unique

6AH

 

WORD

 

Bits 15-1 reserved,
bit 0 (1=the fields reported in translation mode are valid,
0=the fields reported in translation mode may be valid)

6CH

WORD

Number of current cylinders

6EH

WORD

Number of current heads

70H

WORD

Number of current sectors per track

72H

DWORD

Current capacity in sectors

76H

WORD

Reserved

78H

136 BYTES

Not defined

100H

64 BYTES

Vendor unique

140H

96 BYTES

Reserved


Previous page

page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20

Next page
 
 
Data Recovery Book
 
Chapter 1 An Overview of Data Recovery
Chapter 2 Introduction of Hard Disks
Chapter 3 Logical Approach to Disks and OS
Chapter 4 Number Systems
Chapter 5 Introduction of C Programming
Chapter 6 Introduction to Computer Basics
Chapter 7 Necessary DOS Commands
Chapter 8 Disk-BIOS Functions and Interrupts Handling With C
Chapter 9 Handling Large Hard Disks
Chapter 10 Data Recovery From Corrupted Floppy
Chapter 11 Making Backups
Chapter 12 Reading and Modifying MBR with Programming
Chapter 13 Reading and Modifying DBR with Programming
Chapter 14 Programming for “Raw File” Recovery
Chapter 15 Programming for Data Wipers
Chapter 16 Developing more Utilities for Disks
Appendix Glossary of Data Recovery Terms
 
 
Pro Data Doctor

Home

Products

Contact Details

Customer Support

Download Demo

Terms and Conditions

 
Pro Data Doctor