Custom player sprite
|This article is incomplete. Please feel free to add any missing information about the subject. It is missing: Sprite encoding. This guide is useful, but only for copying VRAM data e.g. from other Game Boy games or the same game but different locations.|
Using arbitrary code execution, it is possible to create a custom player sprite.
Using a memory editor, write the desired sprite data (to be injected directly into the VRAM) at regions DA80-DC84 and then run the following at D53A (to run via jp D53A instruction) for an arbitrary code execution glitch item. Once run, the game will continue to constantly write the same data to VRAM and bypass VRAM inaccessibility once the menu is closed.
The player sprite is composed of four 'chunks', each size 0x80 (128). DA80 corresponds with 8000. DB01 corresponds with 8080. DB82 corresponds with 8800. DC03 corresponds with 8880.
ld hl,D36E ld a,43 ldi [hl],a ld a,D5 ldi [hl],a ld de,8000 ld hl,DA80 ld bc,0080 call 00B5 ld de,8080 ld hl,DB01 ld bc,0080 call 00B5 ld de, 8800 ld hl,DB82 ld bc,0080 call 00B5 ld de,8880 ld hl,DC03 ld bc,0080 call 00B5 ret