|
|
| version 1.2, 2005/02/07 14:46:08 | version 1.3, 2005/03/05 06:02:28 |
|---|---|
| Line 13 | Line 13 |
| #include "sxsi.h" | #include "sxsi.h" |
| // INQUIRY | |
| static const UINT8 cdrom_inquiry[] = { | static const UINT8 cdrom_inquiry[] = { |
| 0x05,0x80,0x00,0x21,0x1f,0x00,0x00,0x00, | 0x05, // CD-ROM |
| 'N', 'E', 'C', 0x20,0x20,0x20,0x20,0x20, | 0x80, // bit7: Removable Medium Bit, other: Reserved |
| 'C', 'D', '-', 'R', 'O', 'M', ' ', 'D', | 0x00, // version [7-6: ISO, ECMA: 5-3, 2-0: ANSI(00)] |
| 'R', 'I', 'V', 'E', 0x20,0x20,0x20,0x20, | 0x21, // 7-4: ATAPI version, 3-0: Response Data Format |
| '1', '.', '0', ' '}; | 0x1f, // Additional length |
| 0x00,0x00,0x00, // Reserved | |
| 'N', 'E', 'C', ' ', ' ', ' ', ' ', ' ', // Vendor ID | |
| 'C', 'D', '-', 'R', 'O', 'M', ' ', 'D', // Product ID | |
| 'R', 'I', 'V', 'E', ' ', ' ', ' ', ' ', // Product ID | |
| '1', '.', '0', ' ' // Product Revision Level | |
| }; | |
| static void senddata(IDEDRV drv, UINT size, UINT limit) { | static void senddata(IDEDRV drv, UINT size, UINT limit) { |
| Line 37 static void senddata(IDEDRV drv, UINT si | Line 44 static void senddata(IDEDRV drv, UINT si |
| } | } |
| // ----- ATAPI packet command | |
| void atapicmd_a0(IDEDRV drv) { | void atapicmd_a0(IDEDRV drv) { |
| UINT8 cmd; | UINT8 cmd; |
| Line 45 void atapicmd_a0(IDEDRV drv) { | Line 54 void atapicmd_a0(IDEDRV drv) { |
| cmd = drv->buf[0]; | cmd = drv->buf[0]; |
| switch(cmd) { | switch(cmd) { |
| case 0x12: // inquiry | case 0x12: // inquiry |
| TRACEOUT(("atapicmd: inquiry")); | |
| leng = drv->buf[4]; | leng = drv->buf[4]; |
| CopyMemory(drv->buf, cdrom_inquiry, sizeof(cdrom_inquiry)); | CopyMemory(drv->buf, cdrom_inquiry, sizeof(cdrom_inquiry)); |
| senddata(drv, sizeof(cdrom_inquiry), leng); | senddata(drv, sizeof(cdrom_inquiry), leng); |
| break; | break; |
| case 0x5a: // mode sense(10) | // case 0x5a: // mode sense(10) |
| // break; | |
| default: | |
| TRACEOUT(("atapicmd: unknown command = %.2x", cmd)); | |
| // sendabort(drv); | |
| break; | break; |
| } | } |
| } | } |
| #endif | #endif /* SUPPORT_IDEIO */ |