For some reason half the posts in this thread were deleted. I haven't tracked down the OP yet to determine why, but it's on my todo list.
https://www.romhacking.net/forum/index.php?topic=18596.msg266131#msg266131How do you find these LBA tables? Well you need to run pSX with logging enabled and you need to log all CDROM IO. now just play the game as normal and save the log. Any time you see a line in the log such as
[015b009c] cdrom: setloc 00000000:00000002:00000005
it will be closely followed by lines such as these
[015b00a4] cdrom: read byte 07801800 = 09 (800584dc)
[015b00a4] cdrom: write byte 07801800 = 01 (800584ec)
Those address in the brackets
(800584dc)
(800584ec)
Are a part of the function "setloc". mark the entry point of that function in your disassembly.
There are three functions listed in the bit of code listed above - cdrom: setloc, read byte, and write byte. Are they built into the PS1, or are they implemented via other assembly instructions?
If they are built in, where can I find more info about them and other functions?
You need special emulator with debugger built-in like no$psx or ePSXe debug edition.
From what I understand, emulator memory can be accessed using something like Cheat Engine or a hex editor that can view and edit processes. How could I view memory on an emulator without a debugger?