radad wrote:Are there any tools for dumping the dependencies for an irx?
I have written a program that prints out the exported and imported functions. Function names are detected by using header files from PS2SDK.
http://freenet-homepage.de/ps2dev/irxtool.tgz
I also called it IRX tool. ;)
Example:
irxtool /usr/local/ps2dev/ps2sdk/iop/irx/usbd.irx
loadcore 1.01
0x00004634 6 RegisterLibraryEntries()
stdio 1.02
0x00004658 4 printf()
sysmem 1.01
0x0000467c 4 AllocSysMemory()
sysclib 1.01
0x000046a0 12 memcpy()
0x000046a8 14 memset()
0x000046b0 36 strtol()
intrman 1.02
0x000046d4 7 DisableIntr()
0x000046dc 6 EnableIntr()
0x000046e4 4 RegisterIntrHandler()
0x000046ec 17 CpuSuspendIntr()
0x000046f4 18 CpuResumeIntr()
thsemap 1.02
0x00004718 4 CreateSema()
0x00004720 8 WaitSema()
0x00004728 6 SignalSema()
0x00004730 5 DeleteSema()
thevent 1.01
0x00004754 4 CreateEventFlag()
0x0000475c 6 SetEventFlag()
0x00004764 7 iSetEventFlag()
0x0000476c 10 WaitEventFlag()
thbase 1.01
0x00004790 4 CreateThread()
0x00004798 6 StartThread()
0x000047a0 5 DeleteThread()
0x000047a8 33 DelayThread()
module usbd 1.01 exported functions:
0x000047d4 0 usbd_start() at 0x0000373c
0x000047d8 1 at 0x0000481c
0x000047dc 2 at 0x0000481c
0x000047e0 3 at 0x0000481c
0x000047e4 4 UsbRegisterDriver() at 0x00002470
0x000047e8 5 UsbUnregisterDriver() at 0x000024c4
0x000047ec 6 UsbGetDeviceStaticDescriptor() at 0x00002514
0x000047f0 7 UsbSetDevicePrivateData() at 0x000025f4
0x000047f4 8 UsbGetDevicePrivateData() at 0x00002668
0x000047f8 9 UsbOpenEndpoint() at 0x000026c8
0x000047fc 10 UsbCloseEndpoint() at 0x0000274c
0x00004800 11 UsbTransfer() at 0x000027ac
0x00004804 12 UsbOpenEndpointAligned() at 0x000029a4
0x00004808 13 at 0x00002584
0x0000480c 14 at 0x00002a28
0x00004810 15 at 0x00002a30
0x00004814 16 at 0x00002a38