Okay dude, here ya go!
The sprites you are looking for are located in:
0x291FB - 0x29206
The Bytes at that Range:
99 00 98 00 92 00 9C 00 98 00 97 00
Just change those non-zero numbers to whatever sprite tile ID you want to test it.
This is what I made:
I have never heard of this game before, and honestly playing it in Japanese is extremely difficult, since I haven't the slightest idea of what I'm doing. But it does look like a very interesting game! I like the music, the graphics, and the First-Person mode looks pretty cool.
I'm glad you are translating this. I'd play it if you complete the translation.
Good luck to you!
Incase you are interested in how I found what I was looking for:
I used both the RAM Viewer of the hex editor, to look at both the stack ($100 - $1FF) and sprite ($200 - $2FF) addresses.
I found out that the sprite data was being pushed to $1F1 of the stack, and then pulled to be written to the sprite addresses. I followed the code in the Debugger to find the LDA that preceded the PHA (Push Accumulator onto Stack). I then went to that address, and found what I was looking for.
I shouldn't have told you to look for 4 sprite bytes, since from my past experience, most sprite data is stored as 2 bytes, the sprite tile ID number and the palette/rotation value. However, those 4 bytes ARE the correct format for sprites, as I stated in my previous post above. It's just that the X and Y values are handled elsewhere. I'm very hands on, so I'm not able to really tell you much unless I actually take a look at it for myself.
0F:F25B:B1 11 LDA ($11),Y @ $91EC = #$00
0F:F25D:D0 05 BNE $F264
This is the block of code that I looked at to find what I was looking for. I set a breakpoint of write to $225 (where the "P" is located), and when the debugger snapped, I had to find out how it was writing to that $225. The value was being pulled from the stack (PLA), as it was said, but then you had to find out how it was getting on the stack to begin with. It is done with a PHA, but in order to push it onto the stack, it had to be read from somewhere first. That $91EB address is where it was being read from.
1. Load the Accumulator.
2. Push it on the stack
3. Pull it from the stack.
4. Write it to the Sprite address.
That is what happened here.
That LDA ($11), Y is an indirect way of reading an address. I can explain indirect reading to you some other time.