I was playing Disney's Aladdin for Genesis and I thought about moving the HUD around. After reading about Genesis VDP, I discovered there is a
Sprite Table located in VRAM.
For this game, the table is located at 0xF400. Watching it on Hex Editor, during the title screen, we can clearly see the addresses 0xF406 and 0xF40E (16-bit integers) changing, corresponding to the X position of the "sword" in the main menu. Similarly, 0xF400 and 0xF408 correspond to the Y position.
Then I tried poking that value, and freezing that value, but no luck. The sprite was still drawn the way the game intended. I also tried using Lua scripting to write a fixed value to VRAM, and again no luck.
So, is there any way to poke/write/freeze values in VRAM? Any way to edit the data used by VDP before the frame gets drawn?