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
- 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
- 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
- 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
- Application ID: 0
- Used fields: none
Subcommand 10: Switch Interface
Subcommand 11: Get Leaf ID
Subcommand 20: Load Audio TOC
- Application ID: 1 or 2
- Used fields: none
Subcommand 21: Pause Audio
- Application ID: 1 or 2
- Used fields: none
Subcommand 22: Play Audio
- Application ID: 1 or 2
- Used fields: none
Subcommand 23: Scan Audio
- Application ID: 1 or 2
- Used fields: flags.
- Bit 7: unknown function
Subcommand 24: Search Audio
Subcommand 25: Seek Audio
Subcommand 26: Stop Audio
Subcommand 40: Read Defect List
Subcommand 41: Read Zone List
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