Another small tip: In the PPU Viewer window, you check the box "Sprites 8x16 mode". That will arrange the tiles into 8x16 pixel groups and make the letters easier to see.
These steps so far were a workaround for the lack of a Sprite Viewer. The results so far have helped show the game is using sprites to put the letters on the screen.
As a reminder, as tepples said, because the game uses sprites to display the letters, this means it can only put 8 letters in the same horizontal row:
tepples wrote: Sat May 10, 2025 6:58 am
If you see the "GAME OVER" letters [are made out of sprites], you won't be able to make "END OF GAME" [...] because the text is written with sprites, and only 8 sprites can be displayed on the same scanline.
What are the next steps? Now that we have compensated for the lack of a Sprite Viewer, I think the rest of tepples's post is a good overview of the kind of steps that will be needed next:
tepples wrote: Sat May 10, 2025 6:58 am
Methods that game engines use to draw sprites differ more than how they draw text to the nametable. You'll probably need to do a lot more reverse engineering of the program code, working backward from the output (sprites on screen) to the input (metasprite tables in ROM). First you'll need to figure out where in RAM the game stores its 256-byte "shadow OAM" (display list where the CPU builds sprite positions). Put a write breakpoint on $4014; any value written is the high byte of the starting address of shadow OAM. For example, many games write $02, which causes the CPU to copy 512 bytes from $0200-$02FF to object attribute memory (OAM) on the PPU. Then by correlating PPU Viewer, Sprite Viewer, and Hex Editor, you can find where in RAM it writes the sprites. By putting a write breakpoint on addresses in shadow OAM, you can find what code is writing to shadow OAM and what table it's reading in ROM.
If you want to learn how to set a breakpoint, the FCEUX manual might be helpful. In FCEUX, you can go to the Help menu and select the Help command to bring up the help manual. In the manual you can open the book for "Debug", click on the page "Debugger", then scroll down to the section for "Breakpoints".
(You can also read the manual online:
FCEUX Help, but be aware the online manual is for the most recent version.)