sp193
Developer
I have made a pull request to the OPL repository, to submit patches that will reinstate the built-in DECI2 debugging functionality for CEX consoles. The bundled DECI2 modules have been updated as well.
So with this, it should be once again somewhat possible (but still agonizingly difficult) to debug some retail games. Still with the restrictions of the RDB project too, but yeah.
It's not going to be as good as the functionality offered by a TOOL, but this should at least make it more doable for people who don't own a TOOL, to debug games on their own.
As for debugging capabilities: the DECI2 modules have been updated to the modules from RDB v0.9.5.
The EE kernel will be the stock version, which means no EE thread extension (cannot use commands like dt to monitor threads).
As before, dsidb cannot be used to trap exceptions or to set breakpoints (as attempting to break into the IOP debugger will cause a deadlock within this DECI2 setup).
As of now, there is no facility for loading the TDB startup card's kernel. You could perhaps load it in by booting RDB first, but it seems like that kernel is not compatible with OPL.
While I have also changed how OPL handled LoadExecPS2() in the other pull request, I have observed that OPL was already incompatible with RDB even before that...
Debug output from CDVDMAN is now disabledby default for DECI2 debugging. Until the PC is connected, things seem vulnerable.
Sometimes the waves of lines from all those debugging messages are also overwhelming, so less is also more at times like this.
What is DECI2?
DECI2 is the Host <-> Target communication environment for the PlayStation 2, used by Sony to provide access to the debuggers on the targets (EE and IOP) on the PS2.
Usually, licensed developers would debug and develop software with a PlayStation 2 development TOOL, model DTL-T10000(H).
But those are rare and were only available to licensed developers. However, Sony also released a memory card (TDB Startup Card) that contained some code that would give a later-model DEX (The DebugStation, or the PS2 with "TEST" printed on it) some debugging capabilities. Even though those consoles don't seem to have been initially intended for that role.
Since DEX are similar to the normal CEX consoles, it is possible to achieve the same capabilities with the right software.
The modules used were from the RDB project, which had some materials contributed from Kermit ODEM's author.
So with this, it should be once again somewhat possible (but still agonizingly difficult) to debug some retail games. Still with the restrictions of the RDB project too, but yeah.
Code:
dsedb R> dr
at=00000000 v0-1=00000000,00000000 a0-3=00000000,00000000,00000000,00000000
t0-7=00000000,00000000,00000000,00000000, 00000000,00000000,00000000,00000000
s0-7=00000000,00000000,00000000,00000000, 00000000,00000000,00000000,00000000
t8=00000000 t9=00000000 k0=00000080 k1=00000000 gp=00000000 sp=00000000
fp=00000000 ra=00000000 lo=00000474 hi=00000000 sa=00000000 PC=0010cbf8
badvaddr=4fffb0b7 badpaddr=eff7a5f0
$cause = 0x70008800 [ BD2 CE3 EXC2=Reset IP7 IP3 EXC="External Interrupt" ]
$status = 0x70030c13 [ Cu210 EDI EIE IM3 IM2 KSU=User EXL IE ]
0x0010cbf0: 0x24030029 li $v1,0x29
0x0010cbf4: 0x0000000c syscall 0x0
->0x0010cbf8: 0x03e00008 jr $ra
0x0010cbfc| 0x00000000 nop
0x0010cc00: 0x2403ffd6 li $v1,-0x2a
0x0010cc04: 0x0000000c syscall 0x0
0x0010cc08: 0x03e00008 jr $ra
It's not going to be as good as the functionality offered by a TOOL, but this should at least make it more doable for people who don't own a TOOL, to debug games on their own.
As for debugging capabilities: the DECI2 modules have been updated to the modules from RDB v0.9.5.
The EE kernel will be the stock version, which means no EE thread extension (cannot use commands like dt to monitor threads).
As before, dsidb cannot be used to trap exceptions or to set breakpoints (as attempting to break into the IOP debugger will cause a deadlock within this DECI2 setup).
As of now, there is no facility for loading the TDB startup card's kernel. You could perhaps load it in by booting RDB first, but it seems like that kernel is not compatible with OPL.
While I have also changed how OPL handled LoadExecPS2() in the other pull request, I have observed that OPL was already incompatible with RDB even before that...
Debug output from CDVDMAN is now disabledby default for DECI2 debugging. Until the PC is connected, things seem vulnerable.
Sometimes the waves of lines from all those debugging messages are also overwhelming, so less is also more at times like this.
What is DECI2?
DECI2 is the Host <-> Target communication environment for the PlayStation 2, used by Sony to provide access to the debuggers on the targets (EE and IOP) on the PS2.
Usually, licensed developers would debug and develop software with a PlayStation 2 development TOOL, model DTL-T10000(H).
But those are rare and were only available to licensed developers. However, Sony also released a memory card (TDB Startup Card) that contained some code that would give a later-model DEX (The DebugStation, or the PS2 with "TEST" printed on it) some debugging capabilities. Even though those consoles don't seem to have been initially intended for that role.
Since DEX are similar to the normal CEX consoles, it is possible to achieve the same capabilities with the right software.
The modules used were from the RDB project, which had some materials contributed from Kermit ODEM's author.