Vimes: To search RAM, I use pec with ePSXe. pec has a feature they call “chu”, or “cheat hacking unit” which can search some/all RAM for any value you give it. To get to chu, hit Ctrl+H while in ePSXe with pec running in the background. Tell it how many consecutive bytes you want to search for, whether the value you’re inputing is dec or hex, and the value itself. It offers several ranges of memory addresses you can choose to search (I believe all the item/ability data so far has been in what they call the “code segment”). Click “Search” and it’ll quickly return all the addresses in the selected range that have the desired value. Obviously, the larger the string you input, and the smaller the range you search, the less results you’ll get, making it easier to find what you’re actually looking for.
If you’re searching for more than one consecutive byte, it’s helpful to know that, by default, chu takes your input value as “higher address to lower address”. I can’t speak for you, but I prefer to input in the order “lower address to higher address”. For instance, if you know:
Byte:__01 02 03 04
Value:_8C C8 09 FF
and you want to search for this string of values by inputting 8CC809FF instead of FF09C88C, then your mind works the way mine does. chu defaults to the other way, but by checking the box for “Reversed Bytes”, you can switch it to my way of thinking. The address returned in this case will be that of the lowest byte; in my example, inputting 8CC809FF with Reversed Bytes will return the address whose value = 8C. The remaining three bytes’ values’ addresses then would obviously be +1, +2, and +3.
Hope that helps! I can’t speak much to pSX because, unfortunately, that emulator hates me. It hangs every time I try to do a memcard save/load in SF, so I quickly abandoned it, which is a real shame, since it has a built-in debugger that could probably be immensely helpful.