Pokemon Red – Progressively glitching the game (ASM hack)



A lot of the game’s data passes through the routine at 0xB5 when it needs to be moved between registers. But we can easily apply a small hack to this routine so that each byte of each “chunk” of data has a predetermined chance of being overwritten by a completely random number. Obviously, the higher the chance we make it be, the more glitched the game will look, but the randomness of the process makes it so fun and unpredictable!

HEX (insert this at address 00B5): CD 5C 3E FE XX* 38 07 CD 5C 3E 23 12 18 02 2A 12 13 0B 79 B0 20 EA C9
0x100 – 0xXX out of 0x100 bytes get glitched

ASM:

GlitchedCopyData: ; 00B5

call GenRandom ; call 3E5C (generates random 8-bit number in a)
cp XX ; 0x100 – 0xXX out of 0x100 bytes get glitched
jr c, dontGlitch

.glitchByte
call GenRandom
inc hl
ld (de),a
jr, doneGlitching

.dontGlitch
ldi a,(hl)
ld (de),a

.doneGlitching
inc de
dec bc
ld a,c
or a,b
jr nz,GlitchedCopyData
ret

If you enjoyed this video, you won’t regret having a look at my Youtube channel for more! –

https://citybussimulator.com/

30 Comments

  1. 4:56. Wow. I actually like the look at that glitched border! I want someone to imple- WHAT THE FUCK JUST HAPPENED?

Leave a Reply

Your email address will not be published. Required fields are marked *