Talk:Silph Co. PC glitch: Difference between revisions

From Glitch City Wiki
Jump to navigation Jump to search
Content added Content deleted
>Torchickens
No edit summary
>Bbbbbbbbba
No edit summary
 
Line 1: Line 1:
I wonder whether this really a hidden [[buffer overflow|buffer overflow technique]] which somehow gets the data from the Hall of Fame summary? Could we create custom map block layouts without having to modify the D35E-D35F pointers through another means? Is it restricted to map corruption? <span style="color:#FF00FF><font face="Blackadder ITC"><span style="font-size:150%">[[User talk:Torchickens|<span style="color:#FF00FF;">From Evie (Torchickens) ✿</span>]]</font></span> 17:47, 27 October 2019 (-06)
I wonder whether this really a hidden [[buffer overflow|buffer overflow technique]] which somehow gets the data from the Hall of Fame summary? Could we create custom map block layouts without having to modify the D35E-D35F pointers through another means? Is it restricted to map corruption? <span style="color:#FF00FF><font face="Blackadder ITC"><span style="font-size:150%">[[User talk:Torchickens|<span style="color:#FF00FF;">From Evie (Torchickens) ✿</span>]]</font></span> 17:47, 27 October 2019 (-06)
:Well, strictly speaking this buffer overflow doesn't get the data from HoF; it just needs an unterminated name from HoF to be copied to $CD6D (the copy itself is byte-limited), to later trigger a screen buffer overflow from there. Therefore the actual data will be whatever comes after $CD6D (passed through the text engine), and the bulk of it is <code>wTileMapBackup2</code> at $CD81, which stores the tiles on screen before opening the PC (i.e. map tiles). This is why this glitch only happens with the Silph Co. PC: Every other place where a PC could be used has a 0x00 tile early on the screen to kill the text engine, while the Silph Co. PC spot not only has no visible 0x00 tiles, but actually has a few control characters to be expanded by the text engine, causing the corruption to reach far enough into the tile ''block'' map. [[User:Bbbbbbbbba|Bbbbbbbbba]] ([[User talk:Bbbbbbbbba|talk]]) 03:50, 28 October 2019 (-06)

Latest revision as of 09:51, 28 October 2019

I wonder whether this really a hidden buffer overflow technique which somehow gets the data from the Hall of Fame summary? Could we create custom map block layouts without having to modify the D35E-D35F pointers through another means? Is it restricted to map corruption? From Evie (Torchickens) ✿ 17:47, 27 October 2019 (-06)

Well, strictly speaking this buffer overflow doesn't get the data from HoF; it just needs an unterminated name from HoF to be copied to $CD6D (the copy itself is byte-limited), to later trigger a screen buffer overflow from there. Therefore the actual data will be whatever comes after $CD6D (passed through the text engine), and the bulk of it is wTileMapBackup2 at $CD81, which stores the tiles on screen before opening the PC (i.e. map tiles). This is why this glitch only happens with the Silph Co. PC: Every other place where a PC could be used has a 0x00 tile early on the screen to kill the text engine, while the Silph Co. PC spot not only has no visible 0x00 tiles, but actually has a few control characters to be expanded by the text engine, causing the corruption to reach far enough into the tile block map. Bbbbbbbbba (talk) 03:50, 28 October 2019 (-06)