MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / cdvdWrite16

Function cdvdWrite16

pcsx2/CDVD/CDVD.cpp:2416–3080  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2414}
2415
2416static void cdvdWrite16(u8 rt) // SCOMMAND
2417{
2418 {
2419 // cdvdTN diskInfo;
2420 // cdvdTD trackInfo;
2421 // int i, lbn, type, min, sec, frm, address;
2422 int address;
2423 u8 tmp;
2424
2425 CDVD_LOG("cdvdWrite16: SCMD %s (%x) (ParamP = %x)", sCmdName[rt], rt, cdvd.SCMDParamPos);
2426
2427 cdvd.sCommand = rt;
2428 std::memset(&cdvd.SCMDResultBuff[0], 0, sizeof(cdvd.SCMDResultBuff));
2429
2430 switch (rt)
2431 {
2432 // case 0x01: // GetDiscType - from cdvdman (0:1)
2433 // SetResultSize(1);
2434 // cdvd.Result[0] = 0;
2435 // break;
2436
2437 case 0x02: // CdReadSubQ (0:11)
2438 SetSCMDResultSize(11);
2439 cdvd.SCMDResultBuff[0] = cdvdReadSubQ(cdvd.CurrentSector, (cdvdSubQ*)&cdvd.SCMDResultBuff[1]);
2440 break;
2441
2442 case 0x03: // Mecacon-command
2443 switch (cdvd.SCMDParamBuff[0])
2444 {
2445 case 0x00: // get mecha version (1:4)
2446 SetSCMDResultSize(4);
2447 std::memcpy(&cdvd.SCMDResultBuff[0], &s_mecha_version, sizeof(u32));
2448 break;
2449 case 0x30:
2450 SetSCMDResultSize(2);
2451 cdvd.SCMDResultBuff[0] = cdvd.Status;
2452 cdvd.SCMDResultBuff[1] = (cdvd.Status & 0x1) ? 8 : 0;
2453 //Console.Warning("Tray check param[1]=%02X", cdvd.Param[1]);
2454 break;
2455 case 0x44: // write console ID (9:1)
2456 SetSCMDResultSize(1);
2457 cdvdWriteConsoleID(&cdvd.SCMDParamBuff[1]);
2458 break;
2459
2460 case 0x45: // read console ID (1:9)
2461 SetSCMDResultSize(9);
2462 cdvdReadConsoleID(&cdvd.SCMDResultBuff[1]);
2463 break;
2464
2465 case 0xFD: // _sceCdReadRenewalDate (1:6) BCD
2466 SetSCMDResultSize(6);
2467 cdvd.SCMDResultBuff[0] = 0;
2468 cdvd.SCMDResultBuff[1] = 0x04; //year
2469 cdvd.SCMDResultBuff[2] = 0x12; //month
2470 cdvd.SCMDResultBuff[3] = 0x10; //day
2471 cdvd.SCMDResultBuff[4] = 0x01; //hour
2472 cdvd.SCMDResultBuff[5] = 0x30; //min
2473 break;

Callers 1

cdvdWriteFunction · 0.85

Calls 15

SetSCMDResultSizeFunction · 0.85
cdvdReadSubQFunction · 0.85
cdvdWriteConsoleIDFunction · 0.85
cdvdReadConsoleIDFunction · 0.85
cdvdCtrlTrayOpenFunction · 0.85
cdvdCtrlTrayCloseFunction · 0.85
cdvdReadNVMFunction · 0.85
cdvdWriteNVMFunction · 0.85
cdvdReadILinkIDFunction · 0.85
cdvdWriteILinkIDFunction · 0.85
cdvdReadModelNumberFunction · 0.85
cdvdWriteModelNumberFunction · 0.85

Tested by

no test coverage detected