Mechacon, DECKARD and DVD emulator

Discussion in 'Sony Programming and Development' started by Myria, May 15, 2019.

  1. Myria

    Myria Peppy Member

    Joined:
    Aug 21, 2012
    Messages:
    341
    Likes Received:
    14
    I've wished for a while that we could get a dump of the Mechacon firmware in order to search for back doors and such.

    Does the PowerPC DECKARD code of SCPH-75000+ emulate the Mechacon, or is there still a Mechacon on the board that DECKARD simply defers to?

    Does the DVD emulation board for the DTL-T10000 have its own fake Mechacon?
     
    pool7 likes this.
  2. wisi

    wisi Rising Member

    Joined:
    Apr 16, 2016
    Messages:
    51
    Likes Received:
    73
    DECKARD on the PPC-IOP CPU of the SCPH-75000 and above, only emulates some IO devices, mapping and timings, especially in PS1 mode. In fact, the actual "emulation" of MIPS R3000 instructions is done by an on-chip APU to the PPC, which gets sent instructions and it executes them. So it is somewhat like two CPUs working together, - like the MIPS APU is a coprocessor to the PPC core. http://psx-scene.com/forums/f19/deckard-ppc-iop-discussion-157416/index2.html explained on the second page.

    The mechacon (AFAIK) has always been a separate small CPU outside the IOP ASIC, which is made so to increase the protection, and guarantee stable work, not affected by programs running on the IOP. So it is completely unrelated to the IOP. It is just like any other peripheral device.
    The CDVD DSP does the uniform CDVD processing, under the control of the MechaCon, which does the "smart" part of the processing. The DSP also acts as an interface between the MechaCon and the IOP. The same basic structure is used on the PS1 but only much simpler. The PS2 CDVD DSP and MechaCon also have a PS1 mode, in which they emulate their PS1 counterparts.

    This is an interesting question. The CDVD DSP has an input line that can disable its interface to the IOP (SSBUS) so that another device can communicate with the IOP on the same channel. This is how the SN Systems DVD Emulator connects to the IOP. Although I don't know for sure, I suspect that this line does not change the state of the CDVD DSP or the MecahCon, so after disabling it, it can be enabled back with no change in its state, so the IOP can, for example, read the current time from the MechaCon (SysCon) Real-Time Clock. I suspect that the DVD Emulator checks the command sent and for operations like reading the RTC enables the CDVD DSP, while for disc access responds in the place of the CDVD DSP.
    This would still mean that the DVD Emulator has to emulate the responses of the commands sent to the DSP, but perhaps this is not too complex...? I don't know for sure. Maybe for MG Encr. the MechaCon is still used, but for CDVD reading, it is emulated.

    The DVD Emulator is comprised of a CPLD connecting the PCI to a MCU, and an FPGA connecting the MCU to the CDVD DSP SSBUS channel. The FPGA is programmed with one of three different configurations, based on the mode selected (maybe CD / DVD / DVD_DL?).
    The driver that runs on the Linux SBC of the tool is available, and it contains the FPGA configurations.
    However the code that runs on the MCU is unknown. Perhaps it emulates the MechaCon, along with all the other tasks it does.
    The communication of the PCI with the MCU is by a three-byte commands.
    This is as far as I know.

    Even if the DVD Emulator emulates the MechaCon to some extent, it is highly doubtful that can help in any way to learn anything more about the MechaCon. All-in-all, even if the MechaCon has some way of debugging/reading its code (like that of the PS1), it is probably not worth it spending any effort on that, as there are much better and more flexible ways to load data/games on the PS2, than through using a CD/DVD.
     

Share This Page