CDVD S Commands

The results of an S command can be read one at a time from 1F402017h. All units are in bytes.

03h Subcommand

Params:

  • 0 Subcommand number

This is a prefix byte. Subcommands are listed below in the format of 03h:XXh.

03h:00h MechaconVersion

Params: None.

Result:

  • 0-3 MECHACON version

Unknown what the bytes mean. Newer versions of CDVDMAN do checks on them of some sort. PCSX2 uses 00020603h as the version.

05h UpdateStickyFlags

Params: None.

Result:

  • 0 Update status (0=successful, 1=busy)

Sets 1F40200Bh to the value of 1F40200Ah. Used internally by CDVDMAN for detecting if a disk has been inserted.

08h ReadRTC

Params: None.

Result:

  • 0 Zero
  • 1 Second
  • 2 Minute
  • 3 Hour
  • 4 Zero
  • 5 Day
  • 6 Month
  • 7 Year Returns the current time stored on the RTC, in BCD format.

The RTC is mostly just used by the BIOS. Notably, Metal Gear Solid 3 requires the RTC to boot. This is likely an anti-piracy feature.

09h WriteRTC

Params:

  • 0 Ignored
  • 1 Second
  • 2 Minute
  • 3 Hour
  • 4 Ignored
  • 5 Day
  • 6 Month
  • 7 Year Overwrites the RTC's time in BCD format.

05h UpdateStickyFlags

Params: None.

Result:

  • 0 Update status (0=successful, 1=busy)

Sets 1F40200Bh to the value of 1F40200Ah. Used internally by CDVDMAN for detecting if a disk has been inserted.

15h ForbidDVD

Params: None.

Blocks access to the DVD drive. PCSX2 writes 0x5 to result

40h OpenConfig

Params: None.

Opens the DVD drive configuration. Dobiestation returns zero

41h ReadConfig

Params: None.

Reads the previously opened configuration file. Output is four 32bit words

43h CloseConfig

Params: None.

Closes the opened config file