This The Symbiface 2 operates the ATA/IDE device in 16-bit data transfer mode. 16-bits of data is buffered at a time within the documentation about Symbiface 2 and read/written via the Data port I/O address 8 bits at a time. The device was designed when devices didn'''IDE registers''' t support ATA CFA command set and 8-bit PIO data transfer so this is why it buffers 16-bit of the [[SYMBiFACE II]] expansion carddata. For more information about IDE please check for general specifications in (16-bits is the internet ''(can anyone provide good links here?"native" data transfer of an ATA device)''.
<pre>The I/O ports operate in a "pass-through" like mode where the registers directly reflect those of the connected ATA device. The [[X-Mass]] is a more modern ATA/IDE device which is compatible with the Symbiface 2 IDE registers and uses the same I/O ports. This is the documentation about the '''IDE registers''' of the [[SYMBiFACE II]] expansion card. {|{{Prettytable|width: 700px; font-size: 2em;}}|'''Port ''' || '''Read ''' || '''Write'''-----------------------------------------------|-|'''#FD06 ''' || Alternate Status || Digital Output|-|'''#FD07 ''' || Drive Address || ''(Not Used)''|-|'''#FD08 ''' || Data Register || Data Register|-|'''#FD09 ''' || Error Register || Features Register/''(Write Precomp Reg.)''|-|'''#FD0A ''' || Sector Count (0=256) || Sector Count(0=256)|-|'''#FD0B ''' || Sector Number for CHS or LBA bits 0-7 || Sector Numberfor CHS or LBA bits 0-7 |-|'''#FD0C ''' || Cylinder Low for CHS or LBA bits 8-15 || Cylinder Lowfor CHS or LBA bits 8-15|-|'''#FD0D ''' || Cylinder High for CHS or LBA bits 16-23 || Cylinder Highfor CHS or LBA bits 16-23|-|'''#FD0E SDH ''' || Device/Head Register SDH (Bit 6=0 CHS, Bit 6=1 LBA) (Bit 4 = 0 Master, Bit 4 = 1 Slave) (Bits 3..0 Head for CHS or LBA bits 24-27) || Device/Head Register(Bit 6=0 CHS, Bit 6=1 LBA) (Bit 4 = 0 Master, Bit 4 = 1 Slave) (Bits 3..0 Head for CHS or LBA bits 24-27) |-|'''#FD0F ''' || Status Register || Command Register<|} {| class="wikitable"|+ Mandatory ATA1 Commands! Command !! Code !! FR !! SC !! SN !! CY !! DH|-| Execute drive diagnostic || 90h || || || || || D*|-| Format track || 50h || * || y || y || y || |-| Initialize drive parameters || 91h || || y || || || y|-| Read long (w/pre>retry) || 22h || || y || y || y || y|-| Read long (w/o retry) || 23h || || y || y || y || y|-| Read sector(s) (w/retry) || 20h || || y || y || y || y|-| Read sector(s) (w/o retry) || 21h || || y || y || y || y|-| Read verify sector(s) (w/retry) || 40h || || y || y || y || y|-| Read verify sector(s) (w/o retry) || 41h || || y || y || y || y|-| Recalibrate || 1xh || || || || || D|-| Seek || 7xh || || || y || y || y|-| Write long (w/retry) || 32h || * || y || y || y || y|-| Write long (w/o retry) || 33h || * || y || y || y || y|-| Write sector(s) (w/retry) || 30h || * || y || y || y || y|-| Write sector(s) (w/o retry) || 31h || * || y || y || y || y|} '''Legend:'''* '''FR:''' Features register used* '''SC:''' Sector count register used* '''SN:''' Sector number register used* '''CY:''' Cylinder registers used* '''DH:''' Drive/head register used** '''y:''' The register contains a valid parameter for this command. For DH, 'y' means both drive and head parameters are used.** '''D:''' Only the drive parameter is valid (head parameter ignored).** '''D*:''' Addressed to drive 0 but both drives execute it.** '''*:''' Maintained for compatibility. == See also == * [[SYMBiFACE II:IDE routines|Low level IDE routines]]* [[Programming:SYMBiFACE_II|SYMBiFACE II documentations]]* [https://hddguru.com/documentation/ Official ATA1 (1994) to ATA8 (2006) specifications][[Category:Programming]]