Difference between revisions of "SYMBiFACE II:IDE registers"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
 
 
(19 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This is the documentation about the '''IDE registers''' of the [[SYMBiFACE II]] expansion card. For more information about IDE please check for general specifications in the internet ''(can anyone provide good links here?)''.
+
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 Symbiface 2 and read/written via the Data port I/O address 8 bits at a time. The device was designed when devices didn't support ATA CFA command set and 8-bit PIO data transfer so this is why it buffers 16-bit of data. (16-bits is the "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.
Port         Read               Write
+
 
------------------------------------------------
+
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.
#FD06         Alternate Status   Digital Output
+
 
#FD07         Drive Address       Not Used
+
This is the documentation about the '''IDE registers''' of the [[SYMBiFACE II]] expansion card.
#FD08         Data Register       Data Register
+
 
#FD09         Error Register     (Write Precomp Reg.)
+
{|{{Prettytable|width: 700px; font-size: 2em;}}
#FD0A         Sector Count       Sector Count
+
|'''Port''' || '''Read''' || '''Write'''
#FD0B         Sector Number       Sector Number
+
|-
#FD0C         Cylinder Low       Cylinder Low
+
|'''#FD06''' || Alternate Status || Digital Output
#FD0D         Cylinder High       Cylinder High
+
|-
#FD0E         SDH Register       SDH Register
+
|'''#FD07''' || Drive Address || ''(Not Used)''
#FD0F         Status Register     Command Register
+
|-
</pre>
+
|'''#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 Number for CHS or LBA bits 0-7
 +
|-
 +
|'''#FD0C''' || Cylinder Low for CHS or LBA bits 8-15 || Cylinder Low for CHS or LBA bits 8-15
 +
|-
 +
|'''#FD0D''' || Cylinder High for CHS or LBA bits 16-23 || Cylinder High for CHS or LBA bits 16-23
 +
|-
 +
|'''#FD0E''' || 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) ||  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
 +
|}
 +
 
 +
== See also ==
 +
 
 +
* [[SYMBiFACE II:IDE routines|Low level IDE routines]]
 +
* [[Programming:SYMBiFACE_II|SYMBiFACE II documentations]]
 +
* [http://www.t13.org/documents/UploadedDocuments/project/d1153r18-ATA-ATAPI-4.pdf ATA/IDE-specification]
 +
[[Category:Programming]]

Latest revision as of 03:52, 15 January 2018

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 Symbiface 2 and read/written via the Data port I/O address 8 bits at a time. The device was designed when devices didn't support ATA CFA command set and 8-bit PIO data transfer so this is why it buffers 16-bit of data. (16-bits is the "native" data transfer of an ATA device).

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.

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 Number for CHS or LBA bits 0-7
#FD0C Cylinder Low for CHS or LBA bits 8-15 Cylinder Low for CHS or LBA bits 8-15
#FD0D Cylinder High for CHS or LBA bits 16-23 Cylinder High for CHS or LBA bits 16-23
#FD0E 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) 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

See also