hi.
when i disassemble 3.52 systimer.prx with prxtool (built yesterday from svn) I don't got sceSTimerAlloc! Also, the .text section doesn't start with module_start or a function, but with pure mips code! in this module (and also in other modules) there is a strange function, which simply returns. the strange fact is that those functions contain data (also ascii strings) interpreted as MIPS assembly! like this:
Most assembly code has embedded data of some sort in it. The smarter the disassembly program, the better it is at finding embedded data and NOT showing it as code. Prxtool is pretty simple, and just shows all the data as hex, ascii, and code, leaving you to sort out the real code from the data.
Disassembling code is more than running a tool and getting perfect code back. This is were you as the programmer use that thing called a brain to figure out what is going on.
prxtool wont display everything as disasm and hex. It only disassembles (unless you force it) the .text sections. Seems that prx has the module info/imports rammed into the .text section which is what causes the data to be disassembled.
As for missing sceSTimerAlloc, that is probably a bug in the annotation code. I probably never say an exported function at address 0 (it is the start of the code) so never saw the bug :) I doubt I can be arsed to fit it tbh :P
TyRaNiD wrote:prxtool wont display everything as disasm and hex. It only disassembles (unless you force it) the .text sections. Seems that prx has the module info/imports rammed into the .text section which is what causes the data to be disassembled.
As for missing sceSTimerAlloc, that is probably a bug in the annotation code. I probably never say an exported function at address 0 (it is the start of the code) so never saw the bug :) I doubt I can be arsed to fit it tbh :P
so, the pure mips code before the first exported funtion is the code of sceSTimerAlloc?