« on: March 03, 2020, 11:02:36 pm »
I'd think the first solution would be too much overkill to be practical. The 6 tables in Bank 6 are ubiquitous, they are used everywhere in the code. Also, most of the time, the tables are referred to directly, not through pointers.
The relevant code is around $16ABF, bank 5. I'll have to revise my docs because it's been some since I worked with Zelda 1, but I have a fairly good idea on how to proceed. From the original Tile Codes in Column Definitions, Codes E5 to EA represent a secret tile (wall, tree, Armos, etc.), which should either be replaced by its "found" equivalent (staircase for tree, cave for wall, etc.) if the secret has been found already, or to the same tile visually, but with a different Tile Code, to finally be processed and mached to its Tile Mappings. The table at $16976 does that. What we need to do is to check whether we are currently in Quest 1 or 2, compare it to the relevant bits in Screen Attributes Table 5, and if it matches, select an alternate Tile Code (wall with crack, for example) from a custom table. If it doesn't match, use the regular Tile Code.
I will conjure some code and let you know if I can find a solution. Do we have unused Tile Codes for the 6 new Secret Tiles? Because if we don't, we have a problem.