User Tools

Site Tools


himd_device_control

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
himd_device_control [2010/05/21 15:39] – created megadiscmanhimd_device_control [2010/06/27 10:20] (current) – Fix time bit numbers megadiscman
Line 1: Line 1:
 ====== HiMD device control command (0xC2) ====== ====== HiMD device control command (0xC2) ======
 +
 +The device control command is 12 bytes (0x0C), and depending on subcommand, intiates a data transfer from or to the device. The layout of the command block is
 +
 +  Byte 00: Command (0xC2)
 +  Byte 01: Unknown, sent as zero (maybe LUN?)
 +  Byte 02: For some subcommands: Application ID (0 == General?, 1 == MD Audio?, 2 == UMD Audio?)
 +  Byte 03: subcommand
 +  Byte 04: For some subcommands: Flag bits
 +  Byte 05: For the switch interface command: Delay
 +  Byte 06: unused, sent as zero
 +  Byte 07: Set explicitly to zero for Get Leaf ID - Some Index?
 +  Byte 08: Byte count of data transfer
 +  Bytes 09-0B: unused
 +
 === Subcommand 00: Erase HiMD === === Subcommand 00: Erase HiMD ===
 +  * Application ID: 0
 +  * Used fields: flags.
 +    * Bit 0: IMMED ("immediate": finish SCSI handling before command finishes - must be set on RH-1)
 +    * Bit 1: FUA ("force unit access": write now, don't cache)
 +
 +This command completely blanks the medium. This is not possible with Hi-MD 1GB media, as the Disc ID is read-only. Standard MD media completely blanked are usable in standard MD devices. This is the only way getting rid of Hi-MD format on a standard MD medium.
 +
 === Subcommand 01: Format HiMD === === Subcommand 01: Format HiMD ===
 +  * Application ID: 0
 +  * Used fields: flags.
 +    * Bit 0: IMMED ("immediate": finish SCSI handling before command finishes - must be set on RH-1)
 +    * Bit 1: FUA ("force unit access": write now, don't cache)
 +    * Bit 2: NOFS (Don't generate FAT FS? - must be cleared on RH-1)
 +
 +This command just reinitializes the Hi-MD data structures on the Medium, but it doesn't remove the Hi-MD layout from it. It generally keeps the Disc ID, as this data is stored *outside* of the area accessible using normal read/write instructions, and only this area is reinitialized.
 +
 === Subcommand 0E: Begin ICV Transaction === === Subcommand 0E: Begin ICV Transaction ===
 +  * Application ID: 0
 +  * Used fields: none
 +
 +If the command is correctly understood, it starts a transaction that updates FAT, directory and the master ICV all at the same time, or none at all. See [[HiMDDownload]], at timestampe 84.6. The transaction is committed by the new ICV at timestamp 93.2
 +
 === Subcommand 0F: Recommend Synchronize Cache === === Subcommand 0F: Recommend Synchronize Cache ===
 +  * Application ID: 0
 +  * Used fields: none
 +
 === Subcommand 10: Switch Interface === === Subcommand 10: Switch Interface ===
 === Subcommand 11: Get Leaf ID === === Subcommand 11: Get Leaf ID ===
 === Subcommand 20: Load Audio TOC === === Subcommand 20: Load Audio TOC ===
 +  * Application ID: 1 or 2
 +  * Used fields: none
 +
 === Subcommand 21: Pause Audio === === Subcommand 21: Pause Audio ===
 +  * Application ID: 1 or 2
 +  * Used fields: none
 +
 === Subcommand 22: Play Audio === === Subcommand 22: Play Audio ===
 +  * Application ID: 1 or 2
 +  * Used fields: none
 +
 === Subcommand 23: Scan Audio === === Subcommand 23: Scan Audio ===
 +  * Application ID: 1 or 2
 +  * Used fields: flags.
 +    * Bit 7: unknown function
 +
 === Subcommand 24: Search Audio === === Subcommand 24: Search Audio ===
 === Subcommand 25: Seek Audio === === Subcommand 25: Seek Audio ===
Line 16: Line 66:
 === Subcommand 41: Read Zone List === === Subcommand 41: Read Zone List ===
 === Subcommand 50: Get Time === === Subcommand 50: Get Time ===
 +  * Application ID: 0
 +  * Used fields: data size, should be 7
 +Reads a 7-byte data packet from the Hi-MD unit with the following layout:
 +
 +  Byte 00: Flags. Bit 7 = Ex; Bit 6 = Ef; Bit 5 = WP (write protect?)
 +  Byte 01: second
 +  Byte 02: minute
 +  Byte 03: hour
 +  Byte 04: day
 +  Byte 05: month
 +  Byte 06: year
 +
 === Subcommand 60: Read Audio Status === === Subcommand 60: Read Audio Status ===
 === Subcommand 90: Set Time === === Subcommand 90: Set Time ===
-=== Subcommand A0: Play audio part ===+=== Subcommand A0: Play audio parts === 
himd_device_control.1274456378.txt.gz · Last modified: 2010/05/21 15:39 by megadiscman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki