User Tools

Site Tools


himd_device_control

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

Subcommand 60: Read Audio Status

Subcommand 90: Set Time

Subcommand A0: Play audio parts

himd_device_control.txt · Last modified: 2010/06/27 10:20 by megadiscman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki