Skip to content

Latest commit

 

History

History
776 lines (712 loc) · 44 KB

Zip_drives.md

File metadata and controls

776 lines (712 loc) · 44 KB

Zip Drives

Different Types Of IDE Zip Drives

There are at least four different kinds of IDE Zip drives - the original ATA version, the ATAPI version which replaced it, an ATAPI2 version which seems to have replaced the original ATAPI Zip, and an ATAPI3 version which will probably replace the ATAPI2 . The various types of IDE Zip drives can be differentiated in the following ways:

  • The OG ATA Zip has a separate access light and eject button in addition to a manual eject hook on the front of the drive.
  • All ATAPI Zip's have an eject button which doubles as the access light, and they lack the manual eject hook (they have a hole in the back of the drive for this purpose, so you would have to open up the computer to use it).

To identify an ATAPI2 or ATAPI3 Zip drive, view the label on top of the drive. Beneath the diagram of jumper settings, you should see a part number which begins with P/N. Following that number, it will say ATAPI2 or ATAPI3 if it is one (and if it's an ATAPI2, it may not show all of the available jumper settings on that diagram).

Important

Different types of IDE Zip drives use different jumper settings, so it's important to know which type you have.


Tip

  • The firmware revisions for the ATA Zip are in the form of B.29 (letter before number).
  • For the ATAPI Zip drives, they should be in the form of 23.D or 14.A (number before letter).

The ATAPI2 Zip has some special configuration issues - especially when it's set for drive A: mode. You can find some ATAPI2-specific information here.

I'm told that the ATAPI3 Zip no longer supports drive A: mode as the ATAPI2 model did. Apparently, Iomega decided that it was more trouble than it was worth.

Connecting The Drive I think it's usually best to connect an IDE Zip drive as master on the secondary port. Slaving a Zip drive to a CD drive may cause problems because some CD drives don't support a slave drive properly (among other things, it seems that this can cause the hard disk access light to remain steadily lit). While an IDE Zip may work OK on some systems when slaved to a CD drive, there are times when it won't. The configuration with the least potential for trouble would be to make the Zip master on the secondary port.

Since Zip drives are jumpered for slave by default, you will need to move the jumper(s) to the master setting when connecting one as such.

This follwing information came from Iomega's ATAPI Drive A: Installation & Configuration manual which was intended for OEMs. The manual which is included in the retail package with the ATAPI2 Zip does not contain most of this information - perhaps because of the problems which could arise if the average consumer tried to use the drive A: jumper settings.

To identify an ATAPI2 Zip drive, view the label on top of the drive. Beneath the diagram of jumper settings, you should see a part number which begins with P/N. Following that number, it will say ATAPI2 if it is one.


The ATAPI (ATA Packet Interface) Zip drive is a type of removable storage device that follows the ATAPI protocol, which is an extension of the ATA (Advanced Technology Attachment) standard. The Zip drive was developed by Iomega Corporation and gained popularity as a high-capacity storage solution in the late 1990s and early 2000s.

  1. Interface: The ATAPI Zip drive connects to the host computer using an IDE (Integrated Drive Electronics) interface, also known as ATA. It typically utilizes a 40-pin IDE connector for data and control signals.

  2. Physical Media: The Zip drive uses removable Zip disks as the storage medium. Zip disks were available in various capacities, most commonly 100MB, 250MB, and later 750MB. These disks are similar in appearance to floppy disks but housed in a more robust and durable cartridge.

  3. Command Set: The ATAPI Zip drive implements a command set that is compatible with the ATAPI specification. It utilizes various commands such as read, write, seek, format, eject, and others to perform operations on the Zip disks.

  4. Capacity and Block Size: The capacity of an ATAPI Zip drive depends on the type of Zip disk used. The most common capacity was 100MB, but later models supported larger capacities such as 250MB and 750MB. The block size used for data transfer is typically 512 bytes.

  5. Transfer Modes: The ATAPI Zip drive supports various transfer modes defined by the ATA/ATAPI standards, including PIO (Programmed Input/Output) modes and DMA (Direct Memory Access) modes. These modes determine the data transfer rates and the method by which data is exchanged between the drive and the host.

  6. Plug-and-Play: The ATAPI Zip drive follows the Plug-and-Play standard, which allows the drive to be automatically detected and configured by the host operating system without the need for manual configuration or driver installation.

  7. Compatibility: ATAPI Zip drives are designed to be compatible with a wide range of operating systems, including Windows, Macintosh, and Linux. They can be used as removable storage devices for data backup, file transfer, and archiving purposes.

Overall, the ATAPI Zip drive provided a convenient and high-capacity storage solution for personal computers during its prime. While it has become less prevalent in recent years, it remains a part of computing history and a notable example of removable storage technology.


The device identity as reported by hdparm for windows is:

ATAPI Direct-access device, with removable media
Model Number: IOMEGA ZIP 250 ATAPI
Serial Number: 00304881E6961127
Firmware Revision: 25.Q
Standards:
Supported: 4
Likely used: 4
Configuration:
DRQ response: <=10ms with INTRQ
Packet size: 12 bytes
Capabilities:
LBA, IORDY(can be disabled)
DMA: mdma0 mdma1 udma0 udma1 *udma2
Cycle time: min=150ns recommended=150ns
PIO: pio0 pio1 pio2 pio3
Cycle time: no flow control=180ns IORDY flow control=180ns
Commands/features:
Enabled Supported:
* Power Management feature set
* PACKET command feature set
* DEVICE_RESET command
* NOP cmd
* Removable Media Status Notification feature set
Removable Media Status Notification feature set supported

40 pin IDE connector

_ _ _ _ _ _ _ _ _ # # _ _ _ _ _ _ _ _ _
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39
2 4 6 8 10 12 14 16 18 X 22 24 26 28 30 32 34 36 38 40

Pinout

Pin Function
Pin 1 Reset
Pin 2 Ground
Pin 3 Data 7
Pin 4 Data 8
Pin 5 Data 6
Pin 6 Data 9
Pin 7 Data 5
Pin 8 Data 10
Pin 9 Data 4
Pin 10 Data 11
Pin 11 Data 3
Pin 12 Data 12
Pin 13 Data 2
Pin 14 Data 13
Pin 15 Data 1
Pin 16 Data 14
Pin 17 Data 0
Pin 18 Data 15
Pin 19 Ground
Pin 20 Key.
Pin 21 DDRQ
Pin 22 Ground
Pin 23 I/O write
Pin 24 Ground
Pin 25 I/O read
Pin 26 Ground
Pin 27 IOCHRDY
Pin 28 Cable select
Pin 29 DDACK
Pin 30 Ground
Pin 31 IRQ
Pin 32 No connect
Pin 33 Addr 1
Pin 34 GPIO_DMA66_Detect
Pin 35 Addr 0
Pin 36 Addr 2
Pin 37 Chip select 1P
Pin 38 Chip select 3P
Pin 39 Activity
Pin 40 Ground

ASPI Commands

Opcode Name Iomega Zip
00h Test Unit Ready
01h Rewind
02h Rezero Unit TRUE
03h Request Sense
04h FormatUnit
05h ReadBlkLimits
05h ReadSectorIDs TRUE
06h NonSenseData TRUE
07h ReassignBlocks TRUE
08h Read
0Ah Write
0Bh Seek
0Ch CartProtect TRUE
10h WriteFilemarks
11h Space
12h Inquiry
15h ModeSelect
16h ReserveUnit
17h ReleaseUnit
19h Erase
1Ah ModeSense
1Bh LoadUnload
1Bh StartStopUnit TRUE
1Dh SendDiagnostic
1Eh PreventAllow TRUE
22h TranslateLBA TRUE
24h FormatTest TRUE
25h ReadCapacity
28h ReadMany TRUE
2Ah WriteMany TRUE
2Bh Locate
2Bh SeekMany TRUE
2Fh Verify TRUE
34h ReadPosition
35h SynchCache TRUE
37h ReadDefectData TRUE
3Bh WriteBuffer TRUE
3Ch ReadBuffer TRUE
3Eh ReadLong TRUE
3Fh WriteLong TRUE
43h ReadToc
E3h WriteFieldFormat TRUE

Iomega Zip Drive Inquiry (12h) Data

The Iomega Zip drive is a SCSI direct access device with removable media. The data returned from an Inquiry command is shown in below:

Byte # Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 Peripheral qualifier (0) Device type code (0)
1 RMB (1) Device type modifier (0)
2 ISO version (0) ECMA version (0) ANSI approved version (2)
3 AENC (0) TrmiOP (0) Reserved Response Data Format (2)
4 Additional data length (117)
5 Reserved
6 Reserved
7 RelAdr (0) WBus32 (0) WBus16 (0) Sync (0) Linked (0) Reserved CmdQue (0) SftRe (0)
8-15 Vendor identification string ("IOMEGA")
16-31 Product identification string ("ZIP 100")
32-35 Product revision level string ("N.38")
36-55 Vendor-specific information string ("05/09/96")
56-95 Reserved
95-end Vendor-specific data ("(c) Copyright IOMEGA 1995")

The inquiry data returned (shown in parenthesises above) tells us that this is a direct access device with removable media. It conforms to the ANSI standard for SCSI-2, and the data format also conforms to SCSI-2. It does not support 32-bit or 16-bit Wide SCSI, synchronous data transfer, linked commands, or command queumg. The Vendor and Product identification fields confi1m the make and model, and the revision string reveals the product revision level. The vendor-specific fields contain a manufacture date and a copyright notice. An inquiry with the EVPD flag set and a page code of OOH should return a list of vital product information code pages the drive supports. However, the command fails with error codes indicating an illegal request. This device does not support the vital product data feature.


Iomega Mode Page (1Ah)

Let's revisit the Iomega Zip drive for a simple example of mode page information. We 'll use the 6-byte Mode Sense command to query the drive for default information, requesting all available mode pages. The CDB looks like this:

Byte # Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 Op Code (1Ah)
1 Logical Unit Number (0) Reserved DBD (1) Reserved
2 PC (2) Page Code (3Fh)
3 Reserved
4 Allocation Length
5 Control Field

The command returns the following data:

Byte # Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 Mode Data Length (0x25)
1 Medium Type (0)
2 Device Specific Parameters (0)
3 Block descriptor length (8)

The Data length field tells us that 37 (0x25) bytes follow. The 0 in the Medium type field tells us the information is for the default medium type (a zip disk). The block descriptor length tells us that a single 8-byte block descriptor follows . For the Zip drive, a direct access device, the device-specific parameter consists of coded bit fields.

Zip Drive Device-Specific Parameter

Bit 7 Bits 5-6 Bit 4 Bits 0-3
WP Reserved DPO/FUA Reserved

The WP flag in Bit 7 indicates whether the medium is write-protected. The DPO/FUA flag indicates whether the unit supports certain caching options for read requests. A block descriptor follows the header:

Byte # Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 Density code (0)
1-3 Number of blocks (0)
4 Reserved
5-6 Block length (0x200)

The Density code is not defined for direct access devices, so it contains no useful information. Because the Number of blocks field is 0, we know that the information in this descriptor applies to all the remaining blocks on the medium. The Block length is 512 (0x200) bytes, according to this descriptor. Note This field appears in big-endian order, as 0x20 0xOO in bytes 5 and 6. A common pitfall in SCSI programming on Intel platforms is forgetting to correct byte order when reading data fields. Three mode pages follow the descriptor. The first is an error recovery page (01h), followed by a disconnect-reconnect page (02h) and a vendor specific page (2Fh).

Let's look at the error recovery page.

Byte # Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 PS (0) Reserved Page Code (01h)
1 Page Length (6)
2 AWRE (1) ARRE (1) TB (0) RC (0) EER (1) PER (0) DTE (0) DCR (0)
3 Read retry count (0)
4 Correction span (0)
5 Head offset count (0)
6 Data strobe offset count (0)
7 Reserved

The PS field value of 0 tells us this page cannot be saved in non-volatile memory. The Zip drive does not support saved pages, therefore a Mode Sense query requesting saved pages will return an error. The normal page length for error recovery data is 10 bytes. Note that the length returned by the Zip driv is only 6 bytes. The third byte in this page contains an assortment of bit flags for error recovery options. Automatic read and write real location (AWRE and ARRE) is supported for defective data blocks. The Enable Early Recovery (EER) flag indicates that the device will use the most expedient error recovery method available. The other fields tell us that this device does not report recovered errors, terminate a data phase when an error occurs, or use error correction codes for recovery.

From a programmer's perspective, this is important information. Knowing how a device deals with errors drives the kinds of error handling code you build into your software.


ATA Commands

Opcode Name Transfer Parameters Standard
00 NOP none 8-bit ATA-1 to present
01
02
03 CFA REQUEST EXTENDED ERROR CODE none 8-bit ATA-4 to present
04
05
06 DATA SET MANAGEMENT DMA 16-bit ACS-2 to present
07 DATA SET MANAGEMENT XL DMA 16-bit ACS-4 to present
08 DEVICE RESET none 8-bit ATA-3 to ACS-3
09
0A
0B REQUEST SENSE DATA EXT none 16-bit ACS-2 to present
0C
0D
0E
0F
10 RECALIBRATE none 8-bit IBM PC/AT to ATA-3
11 RECALIBRATE none 8-bit IBM PC/AT to ATA-2
12 GET PHYSICAL ELEMENT STATUS DMA 16-bit ACS-4 to present
12 RECALIBRATE none 8-bit IBM PC/AT to ATA-2
13 RECALIBRATE none 8-bit IBM PC/AT to ATA-2
14 RECALIBRATE none 8-bit IBM PC/AT to ATA-2
15 RECALIBRATE none 8-bit IBM PC/AT to ATA-2
16 RECALIBRATE none 8-bit IBM PC/AT to ATA-2
17 RECALIBRATE none 8-bit IBM PC/AT to ATA-2
18 RECALIBRATE none 8-bit IBM PC/AT to ATA-2
19 RECALIBRATE none 8-bit IBM PC/AT to ATA-2
1A RECALIBRATE none 8-bit IBM PC/AT to ATA-2
1B RECALIBRATE none 8-bit IBM PC/AT to ATA-2
1C RECALIBRATE none 8-bit IBM PC/AT to ATA-2
1D RECALIBRATE none 8-bit IBM PC/AT to ATA-2
1E RECALIBRATE none 8-bit IBM PC/AT to ATA-2
1F RECALIBRATE none 8-bit IBM PC/AT to ATA-2
20 READ SECTOR(S) PIO 8-bit IBM PC/AT to present
21 READ SECTOR(S) (without retry) PIO 8-bit IBM PC/AT to ATA-4
22 READ LONG PIO 8-bit IBM PC/AT to ATA-3
23 READ LONG (without retry) PIO 8-bit IBM PC/AT to ATA-3
24 READ SECTOR(S) EXT PIO 16-bit ATA-6 to present
25 READ DMA EXT DMA 16-bit ATA-6 to present
26 READ DMA QUEUED EXT queued DMA 16-bit ATA-6 to ATA8-ACS
27 READ NATIVE MAX ADDRESS EXT none 16-bit ATA-6 to ACS-2
28
29 READ MULTIPLE EXT PIO 16-bit ATA-6 to ACS-3
2A READ STREAM DMA EXT DMA 16-bit ATA-7 to present
2B READ STREAM EXT PIO 16-bit ATA-7 to present
2C
2D
2E
2F READ LOG EXT PIO 16-bit ATA-6 to present
30 WRITE SECTOR(S) PIO 8-bit IBM PC/AT to present
31 WRITE SECTOR(S) (without retry) PIO 8-bit IBM PC/AT to ATA-4
32 WRITE LONG PIO 8-bit IBM PC/AT to ATA-3
33 WRITE LONG (without retry) PIO 8-bit IBM PC/AT to ATA-3
34 WRITE SECTOR(S) EXT PIO 16-bit ATA-6 to present
35 WRITE DMA EXT DMA 16-bit ATA-6 to present
36 WRITE DMA QUEUED EXT queued DMA 16-bit ATA-6 to ATA8-ACS
37 SET MAX ADDRESS EXT none 16-bit ATA-6 to ACS-2
38 CFA WRITE SECTORS WITHOUT ERASE PIO 8-bit ATA-4 to present
39 WRITE MULTIPLE EXT PIO 16-bit ATA-6 to ACS-3
3A WRITE STREAM DMA EXT DMA 16-bit ATA-7 to present
3B WRITE STREAM EXT PIO 16-bit ATA-7 to present
3C WRITE VERIFY PIO 8-bit ATA-1 to ATA-3
3D WRITE DMA FUA EXT DMA 16-bit ATA-7 to present
3E WRITE DMA QUEUED FUA EXT queued DMA 16-bit ATA-7 to ATA8-ACS
3F WRITE LOG EXT PIO 16-bit ATA-6 to present
40 READ VERIFY SECTOR(S) none 8-bit IBM PC/AT to present
41 READ VERIFY SECTOR(S) (without retry) none 8-bit IBM PC/AT to ATA-4
42 READ VERIFY SECTOR(S) EXT none 16-bit ATA-6 to present
43
44 ZERO EXT none 16-bit ACS-4 to present
45 WRITE UNCORRECTABLE EXT none 16-bit ATA8-ACS to present
46
47 READ LOG DMA EXT DMA 16-bit ATA8-ACS to present
48
49
4A ZAC Management In DMA 16-bit ACS-4 to present
4B
4C
4D
4E
4F
50 FORMAT TRACK PIO 8-bit IBM PC/AT to ATA-3
51 CONFIGURE STREAM none 16-bit ATA-7 to present
52
53
54
55
56
57 WRITE LOG DMA EXT DMA 16-bit ATA8-ACS to present
58
59
5A
5B TRUSTED NON-DATA none 8-bit ACS-2 to present
5C TRUSTED RECEIVE PIO 8-bit ATA8-ACS to present
5D TRUSTED RECEIVE DMA DMA 8-bit ATA8-ACS to present
5E TRUSTED SEND PIO 8-bit ATA8-ACS to present
5F TRUSTED SEND DMA DMA 8-bit ATA8-ACS to present
60 READ FPDMA QUEUED queued DMA 16-bit ATA8-ACS to present
61 WRITE FPDMA QUEUED queued DMA 16-bit ATA8-ACS to present
62
63 NCQ NON-DATA none 16-bit ACS-3 to present
64 SEND FPDMA QUEUED queued DMA 16-bit ACS-3 to present
65 RECEIVE FPDMA QUEUED queued DMA 16-bit ACS-3 to present
66
67
68
69
6A
6B
6C
6D
6E
6F
70 SEEK none 8-bit IBM PC/AT to ATA-6
71 SEEK none 8-bit IBM PC/AT to ATA-2
72 SEEK none 8-bit IBM PC/AT to ATA-2
73 SEEK none 8-bit IBM PC/AT to ATA-2
74 SEEK none 8-bit IBM PC/AT to ATA-2
75 SEEK none 8-bit IBM PC/AT to ATA-2
76 SEEK none 8-bit IBM PC/AT to ATA-2
77 SET DATE & TIME EXT none 16-bit ACS-3 to present
77 SEEK none 8-bit IBM PC/AT to ATA-2
78 ACCESSIBLE MAX ADDRESS CONFIGURATION none 16-bit ACS-3 to present
78 SEEK none 8-bit IBM PC/AT to ATA-2
79 SEEK none 8-bit IBM PC/AT to ATA-2
7A SEEK none 8-bit IBM PC/AT to ATA-2
7B SEEK none 8-bit IBM PC/AT to ATA-2
7C REMOVE ELEMENT AND TRUNCATE none 16-bit ACS-4 to present
7C SEEK none 8-bit IBM PC/AT to ATA-2
7D RESTORE ELEMENTS AND REBUILD none 16-bit ACS-5 to present
7D SEEK none 8-bit IBM PC/AT to ATA-2
7E REMOVE ELEMENT AND MODIFY ZONES none 16-bit ACS-5 to present
7E SEEK none 8-bit IBM PC/AT to ATA-2
7F SEEK none 8-bit IBM PC/AT to ATA-2
80 Vendor Specific
81 Vendor Specific
82 Vendor Specific
83 Vendor Specific
84 Vendor Specific
85 Vendor Specific
86 Vendor Specific
87 CFA TRANSLATE SECTOR PIO 8-bit ATA-4 to present
88 Vendor Specific
89 Vendor Specific
8A Vendor Specific
8B Vendor Specific
8C Vendor Specific
8D Vendor Specific
8E Vendor Specific
8F Vendor Specific
90 EXECUTE DEVICE DIAGNOSTIC none 8-bit IBM PC/AT to present
91 INITIALIZE DEVICE PARAMETERS none 8-bit IBM PC/AT to ATA-5
92 DOWNLOAD MICROCODE PIO 8-bit ATA-2 to present
93 DOWNLOAD MICROCODE DMA DMA 8-bit ACS-2 to present
94 STANDBY IMMEDIATE none 8-bit ATA-1 to ATA-3
95 IDLE IMMEDIATE none 8-bit ATA-1 to ATA-3
96 MUTATE EXT none 16-bit ACS-5 to present
96 STANDBY none 8-bit ATA-1 to ATA-3
97 IDLE none 8-bit ATA-1 to ATA-3
98 CHECK POWER MODE none 8-bit ATA-1 to ATA-3
99 SLEEP none 8-bit ATA-1 to ATA-3
9A Vendor Specific
9B
9C
9D
9E
9F ZAC Management Out DMA 16-bit ACS-4 to present
A0 PACKET packet 8-bit ATA-3 to ACS-3
A1 IDENTIFY PACKET DEVICE PIO 8-bit ATA-3 to ACS-3
A2 SERVICE varies 8-bit ATA-3 to ATA8-ACS
A3
A4
A5
A6
A7
A8
A9
AA
AB
AC
AD
AE
AF
B0 SMART PIO 8-bit ATA-3 to present
B1 Device Configuration Overlay PIO 8-bit ATA-6 to ACS-2
B2 SET SECTOR CONFIGURATON EXT none 16-bit ACS-4 to present
B3
B4 Sanitize Device none 16-bit ACS-2 to present
B5
B6 NV Cache DMA 16-bit ATA8-ACS to ACS-2
B7 Reserved for CFA
B8 Reserved for CFA
B9 Reserved for CFA
BA Reserved for CFA
BB Reserved for CFA
BC
BD
BE
BF
C0 CFA ERASE SECTORS none 8-bit ATA-4 to ACS-2
C1 Vendor Specific
C2 Vendor Specific
C3 Vendor Specific
C4 READ MULTIPLE PIO 8-bit ATA-1 to ACS-3
C5 WRITE MULTIPLE PIO 8-bit ATA-1 to ACS-3
C6 SET MULTIPLE MODE none 8-bit ATA-1 to ACS-3
C7 READ DMA QUEUED queued DMA 8-bit ATA-4 to ATA8-ACS
C8 READ DMA DMA 8-bit ATA-1 to present
C9 READ DMA (without retry) DMA 8-bit ATA-1 to ATA-4
CA WRITE DMA DMA 8-bit ATA-1 to present
CB WRITE DMA (without retry) DMA 8-bit ATA-1 to ATA-4
CC WRITE DMA QUEUED queued DMA 8-bit ATA-4 to ATA8-ACS
CD CFA WRITE MULTIPLE WITHOUT ERASE PIO 8-bit ATA-4 to present
CE WRITE MULTIPLE FUA EXT PIO 16-bit ATA-7 to ACS-3
CF
D0
D1 CHECK MEDIA CARD TYPE none 8-bit ATA-6 to ACS-2
D2
D3
D4
D5
D6
D7
D8
D9
DA GET MEDIA STATUS none 8-bit ATA-3 to ATA-7
DB ACKNOWLEDGE MEDIA CHANGE none 8-bit ATA-1 to ATA-2
DC BOOT - POST-BOOT none 8-bit ATA-1 to ATA-2
DD BOOT - PRE-BOOT none 8-bit ATA-1 to ATA-2
DE MEDIA LOCK none 8-bit ATA-1 to ATA-7
DF MEDIA UNLOCK none 8-bit ATA-1 to ATA-7
E0 STANDBY IMMEDIATE none 8-bit ATA-1 to present
E1 IDLE IMMEDIATE none 8-bit ATA-1 to present
E2 STANDBY none 8-bit ATA-1 to present
E3 IDLE none 8-bit ATA-1 to present
E4 READ BUFFER PIO 8-bit ATA-1 to present
E5 CHECK POWER MODE none 8-bit ATA-1 to present
E6 SLEEP none 8-bit ATA-1 to present
E7 FLUSH CACHE none 8-bit ATA-4 to present
E8 WRITE BUFFER PIO 8-bit ATA-1 to present
E9 READ BUFFER DMA DMA 8-bit ACS-2 to present
E9 WRITE SAME 8-bit ATA-1 to ATA-2
EA FLUSH CACHE EXT none 8-bit ATA-6 to present
EB WRITE BUFFER DMA DMA 8-bit ACS-2 to present
EC IDENTIFY DEVICE PIO 8-bit ATA-1 to present
ED MEDIA EJECT none 8-bit ATA-1 to ATA-7
EE IDENTIFY DEVICE DMA DMA 8-bit ATA-3
EF SET FEATURES none 8-bit ATA-1 to present
F0 Vendor Specific
F1 SECURITY SET PASSWORD PIO 8-bit ATA-3 to present
F2 SECURITY UNLOCK PIO 8-bit ATA-3 to present
F3 SECURITY ERASE PREPARE none 8-bit ATA-3 to present
F4 SECURITY ERASE UNIT PIO 8-bit ATA-3 to present
F5 SECURITY FREEZE LOCK none 8-bit ATA-3 to present
F6 SECURITY DISABLE PASSWORD PIO 8-bit ATA-3 to present
F7 Vendor Specific
F8 READ NATIVE MAX ADDRESS none 8-bit ATA-4 to ACS-2
F9 SET MAX ADDRESS none 8-bit ATA-4 to ACS-2
FA Vendor Specific
FB Vendor Specific
FC Vendor Specific
FD Vendor Specific
FE Vendor Specific
FF Vendor Specific