TOOL PS2 Curiosities

Discussion in 'Sony Programming and Development' started by ilikelinux, Jun 15, 2014.

  1. ilikelinux

    ilikelinux Member

    Joined:
    Jun 12, 2014
    Messages:
    6
    Likes Received:
    0
    Hey, everybody. I have a TEST PS2 (30K Series) and a TOOL PS2 (T10K)... Both units confuse me with their behaviors versus retail units. I use ProdG to send elfs over for testing, often yielding unusual results. I get that often errors will occur when using elfs compiled on homebrewn SDKs... But I'd like to know more about errors I've witnessed, such as "DBGP command failed" and any information anyone can provide regarding the "boot parameters" section in ProdG. I'm guessing that changing these values would have some effect on whether an elf boots up or whether it sits on a blank screen or errors out. I've looked through the official SDK documents pretty thoroughly, but I've found no mention of any parameters I can adjust or what effect they'd have. I'm not a n00b to the hacking and dev scene, but definitely new to any sort of real programming. The default EE and IOP boot parameters ProdG offers is "0xffffffffffffffff" for both. Unfortunately, I have no significant understanding of what this really means or how to adjust it properly to offer better compatibility. Even if you point me to where I can find out more, I'll be happy.
     
  2. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    What sort of errors are you talking about? I mean, you can't be possibly getting "DBGP command failed" while running homebrew software on a debugstation/TOOL unit, right?

    So far, I've never seen "DBGP command failed" before. I've never used ProdG because I don't have access to it, so I use the basic Sony DSNET tools instead. The only problems that I've been battling are related to the fact that the homebrew PS2SDK is equivalent to the Sony SDK v1.x.x's standards.

    For the DTL-T10000, homebrew software are generally incompatible because of the existence of the newer IOP kernel modules in the unit's boot ROM. The most critical one would be FILEIO, which has incompatible semantics with the homebrew FILEIO EE RPC client.

    A LOT of homebrew software tend to assume that some mainboard-specific files will exist and are of the right version, leading to problems. Such files include rom0:FONTM, rom0:LIBSD, rom0:XSIO2MAN, rom0:XMCMAN, rom0:XPADMAN, rom0:XMCSERV, rom0:SIO2MAN, rom0:MCMAN, rom0:pADMAN, rom0:MCSERV.

    There's also a problem with the crt0 stub of homebrew software, since it uses a hack that determines whether the program was started from a "loader" like PS2Link, which would pass arguments to the program through $a0 instead. Since $a0 seems to be undefined when ExecPS2() is run, sometimes arguments won't get passed properly to the homebrew program, leading to crashes when argv[0] is accessed.

    As for the boot parameters, they are explained in the libdsnet documentation, within the Sony PS2SDK. I think that the only useful ones would be the debug features disabling option for the EE (since homebrew software generally follow the early Sony SDK standards, which will cause the bug checks within the newer EE kernels to get triggered off), and the TEST mode option (to get rid of the newer IOP kernel modules, if the IOP is reset with at least the rom0:UDNL module) for the IOP.

    EDIT: The EE and IOP boot parameter bit definitions are in the EE kernel overview documentation, under the "debugging functions" section.
     
    Last edited: Jun 24, 2014
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page