It will extract files from a UMD ISO and will help you put a file you modified back into a UMD ISO.
We PSP Romhackers have to improve the PSP section on data crystal so everyone who's interested will know this.
Disassembly tool PPSSPP, just put that one into Google.
You need a Windows machine for that one I am pretty sure.
PPSSPP is a user-focused emulator. All you have to do though is:
1) Be running your target game
2) Be running in windowed mode. This WILL NOT WORK in fullscreen mode
3) press CTRL+D while the game is running to open the disassembly view
While in disassembly view click "pause" to stop execution. The current instruction will be highlighted. Click "go" to resume.
Double-click an instruction to set an execution breakpoint.
At this point you can navigate using the disassembler controls. "Step into" to go to the next instruction taking subroutines. "Step over" goes to the next instruction, but won't enter subroutines. Step out runs until the next return.
You can see register values on the left. There are a lot of registers, I'm not sure why that is. There are even more registers than initially displayed. GPR is the general-purpose registers. The coprocessor has its own registers you can see by clicking the buttons.
You can click "FUNCS." I am not sure how this works, but the basic idea is PPSSPP debugger will try to identify function boundaries, and you can go to any of these functions. "Built-in" functions called syscalls appear at the bottom and ask the device firmware to perform some function, such as read control input, wait for the GPU to push the next frame, or load data from the UMD (are just some examples). There are some utility functions here too like memcpy and memset are the big ones.
The disassembly view includes a memory viewer. Here's what to do to set a memory breakpoint.
1) Click in the memory view area
The memory view area has two sides. The left side shows hex and the right side shows ASCII. When your cursor is on the left side, you can type hex to change the memory. When your cursor is on the right side you can type ASCII to change the memory. For typing non-ASCII you have to type in the hex.
2) CTRL+F to search. Only hex searching is supported OR
2) CTRL+G to "go to." Type in the address to go to in hex.
Note: Finding addresses to go to is outside the scope of this tutorial.
3) Right-click in the memory view and select copy address
4) Go to the breakpoints pane, right-click and select add breakpoint
5) Paste in the address and then click OK
Your memory breakpoint is now set. Execution will stop when that address is about to be read or written to.
Just mess around with it and you'll eventually get it.
It's also helpful to read the MIPS manual. Search MIPS IV to find it.