Uploaded January 2014 | Updated September 2026, 2 weeks ago
Somewhat of a part two to youtube.com/watch?v=TgcIOJfDxwA
As we saw in the other video, the routine at 0xB5 copies N bytes of data from hl to de. The first instruction loads the first byte into register a and increments the pointer, so that the next time it's the second byte what is loaded, and so on until there are no more bytes to copy. Then, the data is loaded into register de from register a.
But what if I nopped the instruction that makes the data be loaded into a? The result is crazy; I'm not sure if I have ever saw a game look so glitched!
Alternatively, the second part of the video (from 5:04 on) shows the result of making data be loaded into a, but without incrementing the pointer, which means that it's always the first byte of data what's being copied. Notice how, for example, Pidgey's name shows as PPPPPPPP...
Address: 0xB5
Values: 0x00, 0x7E
Somewhat of a part two to youtube.com/watch?v=TgcIOJfDxwA
As we saw in the other video, the routine at 0xB5 copies N bytes of data from hl to de. The first instruction loads the first byte into register a and increments the pointer, so that the next time it's the second byte what is loaded, and so on until there are no more bytes to copy. Then, the data is loaded into register de from register a.
But what if I nopped the instruction that makes the data be loaded into a? The result is crazy; I'm not sure if I have ever saw a game look so glitched!
Alternatively, the second part of the video (from 5:04 on) shows the result of making data be loaded into a, but without incrementing the pointer, which means that it's always the first byte of data what's being copied. Notice how, for example, Pidgey's name shows as PPPPPPPP...
Address: 0xB5
Values: 0x00, 0x7E










