-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathZelda_3_ROM.log
1626 lines (965 loc) · 45.5 KB
/
Zelda_3_ROM.log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
!!! These addresses are understood to be from a
!!! ROM with no 0x200 byte header at the beginning
!!! Please take this into consideration
Continuguous Mappings:
$0 - $1395 : size = 1395h
$14813 - $1787E : size = 281Eh
***********************************
-----------------------------------
BANK 00
-----------------------------------
$0 - $489 Code
***********************************
$48A - $493
size = Ah
1 word each.
offsets for reading from SRAM. Based on an index stored at $70:1FFE, it will load the value
$0000, $0500, $0A00, or (possibly) $0F00. The last value seems sketchy b/c that is an offset for the mirror of the first save slot.
***********************************
DMA offsets for bank $7E (usage undetermined as of yet. Probably pointers to font tiles)
$494 - $5FB
size = 168h
1 word each.
$494 - $49B: Used in DMA transfers as local addresses in bank $7E. See $0AD8 in ZeldaFlow.rtf
$49C - $4AB: Used in DMA transfers as local addresses in bank $7E. See $0AC0 and $0AC2 in ZeldaFlow.rtf
$4AC - $4B1: Used in DMA transfers as local addresses in bank $7E. See $0AC4 and $0AC6 in ZeldaFlow.rtf
$4B2 - $5B1: Used in DMA transfers as local addresses in bank $7E. See $0AC8 in ZeldaFlow.rtf
$5B2 - $5D1: Used in DMA transfers as local addresses in bank $7E. See $0ACA in ZeldaFlow.rtf
$5D2 - $5DD: Stored to $7EC013. The value stored is indexed by $7EC015.
$5DE - $5FB: Used in DMA transfers as local addresses in bank $7E. See $0AE0 and $0AE2 in ZeldaFlow.rtf
***********************************
$5FC - $E4B Code
***********************************
$E4C - $E53
size = 9h
????
***********************************
$E54 - $110E Code
***********************************
$110F - $113E
size = 30h
????
***********************************
$137B - $1395
size = 1Ch
????
***********************************
$1396 - $15F3
size = 25Eh
1 word each.
Pointers to ROM Addresses used in DMA transfers. While these are local addresses,
The DMA transfers generally use Bank $10. See $0ACC and $0ACE in ZeldaFlow.rtf
***********************************
$15F4 - $1851
size = 25Eh
1 word each.
Pointers to ROM Addresses used in DMA transfers. While these are local addresses,
The DMA transfers generally use Bank $10. See $0AD0 and $0AD2 in ZeldaFlow.rtf
!**********************************
$1852 - $1887
size = 36h
1 word each.
Pointers to ROM Addresses used in DMA transfers. While these are local addresses,
The DMA transfers generally use Bank $10. See $0AD4 and $0AD6 in ZeldaFlow.rtf
!**********************************
$1888 - $18AA
size = 23h
1 byte each.
Upper byte of a series of VRAM Target addresses, that are used depending on the situation.
Table is indexed by $7E0116
!**********************************
$18AB-$18BF NULL
***********************************
$18C0 - $18DF
***********************************
$1B52 - $
***********************************
$4FF3-$528F - indexed (long) table to compressed graphics packets
size = 29Dh
Each of these packets is treated differently:
$0A - Dungeon sprite
***********************************
$5B57 - $????
?????
***********************************
$6073 - graphics data? Appears to come in 8 byte chunks.
***********************************
$7C9C -
***********************************
-----------------------------------
BANK 01
-----------------------------------
***********************************
$C6FC - Falling Item Data
size = Dh
Use the entrance number of the dungeon, divided by two to obtain an index into this array.
The possible values are 00 - nothing, 01 - pendant of courage, 02 - pendant of widsom,
03 - pendant of power, or 06 - crystal. 1 byte per dungeon value. See data in $48D90 as it is
related to this table.
***********************************
$DB69 - $DDE8 Dungeon Secrets Data
size = 280h
This is a pointer table that uses references local addresses assumed to be in bank $01.
Since there are 320 rooms in the game there are naturally 320 different pointer entries
here. In the game's original state, however, the rooms past room 295 just contain null data.
Secrets Contents:
Data comes in 3 byte chunks and is terminated by an instance of $FFFF
First two bytes: A word that denotes the VRAM address that the item is found at.
This identifies the item as belonging to that part of the screen.
Third byte: identifies the type of item that is hiding there. e.g. $08 is a key
***********************************
$E96E - $EB65 Array of chest information in 3 byte chunks. 168 entries in all (0xA8)
First word - Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)
Last byte - index of the type of item contained in the chest.
Note: For rooms with two keys, 5 is the chest limit, technically. You will have conflicts in what you can grab.
Normal rooms will have a limit of 6 chests, though it might be possible to create a workaround.
I'm probably going to move this array out to extended areas so we can have more chests.
***********************************
-----------------------------------
BANK 02
-----------------------------------
***********************************
$12475-$1252C - Code
***********************************
$1252D-$1253B
***********************************
$1253C-$125EB - Code
***********************************
$125EC-$129C3
$125EC-$1262B - (0x40 entries, 1 byte each) - actual OW location to use for conglomerated OW areas
$1262C-$12633 - (0x04 entries, 2 bytes each) - adjustment for $84
$12634-$12833 - (0x100 entries, 2 bytes each) -
$12834-$1283B - (0x04 entries, 2 bytes each)
$1283C-$12843 - (0x04 entries, 2 bytes each)
$12844-$12883 - (0x40 entries, 1 byte each) - Size of overworld areas (0x00 = 512x512 pixel map, 0x20 = 1024x1024 pixel map) All other values are not considered.
$12884-$128C3 - (0x40 entries, 1 byte each) - ???? Gets written to $0717, whatever that does.
Note that the following two arrays overlap in the middle (by a range of 0x80 entries)
$12884-$128C3 - (0x80 entries, 1 byte each) - Y / X?
$128C4-$129C3 - (0x80 entries, 1 byte each) - Y / X? fill in later
***********************************
$129C4-$12CD9 - Code
!***********************************
$12CDA-$12D49
size = 70h
1 word each
Tile Type listings for use in drawing dungeons
***********************************
$12D4A-$135AB Code
***********************************
$135AC-$135DB - (0x30 entries, 1 byte each) unknown data indexed by $7E00A8
***********************************
$135DC-$139CB - Code
***********************************
$139CC-$139DB - unknown data
***********************************
$139DC-$13B87 - Code
***********************************
$13B88-$13B8F - Bitmasks for the routine below it
***********************************
$13B90-$13DBF - Code
***********************************
$13DC0-$13DC7 - Data used for setting $0614-$061B
***********************************
***********************************
Normal Entrances: 0h - 84h
Pointers to rooms for each entrance. So entrance number one points to the first word value in this array.
$14813 - $1491C (word values)
size = 10Ah
Recall, room numbers are 16 bits, typically ranging from 0-295. Expansion will hopefully bump that up to 320 total rooms (0-319)
!**********************************
Scroll Edges - unsure about what these do exactly
$1491D-$14D44
size = 428h
Each entry is 8 bytes long.
Format: 1 byte each. Corresponds to hyrule magic values in the "More" aka Entrance Properties dialog box.
HU, FU, HD, FD, HL, FL, HR, FR
!**********************************
Normal Entrance Y Scroll
$14D45 - $14E4E
size = 10Ah
2 bytes each
!**********************************
Normal entrance X Scroll
$14E4F - $14F58
size = 10Ah
2 bytes each
!**********************************
Normal entrance Y Coordinates
; This is where Link starts off at in the dungeon when he enters
$14F59 - $15062
size = 10Ah
2 bytes each
!**********************************
Normal entrance X Coordinates
$15063 - $1516C
size = 10Ah
2 bytes each
!**********************************
Normal entrance X Camera Coordinates
$1516D - $15276
Lower bounds for scrolling (upper bounds = this plus 2)
size = 10Ah
2 bytes each
!**********************************
Normal entrance Y Camera Coordinates
$15277 - $15380
Lower bounds for scrolling (upper bounds = this plus 2)
size = 10Ah
2 bytes each
!**********************************
Normal entrance Blocksets
$15381 - $15405
size = 85h
1 byte each
!**********************************
Normal entrance Floor values
This tells us what kind of properties the floor has.
If 1, then it has floors that you can fall through to the next level
If 0, I think it means it can be fallen down to
If -1, has no pits
If -2, ????
$15406 - $1548A
size = 85h
1 Byte each
!**********************************
Normal entrance Dungeon Values
Dungeons actually in the game are numbered like so 0, 2, 4, ..., 18, 1A
1C and 1E are unused (and hence could potentially be added.) Notice they are all even numbers.
In asm routines these values are divided by two sometimes to provide an index into other arrays.
That's why. The definition of a "dungeon" is something with a key, compass, and map.
$1548B - $1550F
size = 85h
1 Byte each
FF = -1 denotes it doesn't belong to a dungeon.
!**********************************
Normal Entrance Doorway Type Data
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.
$15510 - $15594
1 Byte each
size = 85h
0 = no doorway when exiting
1 = draws a door frame upon exiting
2 = ???? HM says vertical doorframe. But in the original game, no doorway is vertical. It appears the designers may have intended doorways where you enter from the left or right... fits in well with my idea to implement that.
And technically, I believe it should be the other way around. 1 should be vertical and 2 should be horizontal.
!**********************************
Normal Entrance Ladder and BG Settings
$15595 - $15619
size = 85h
1 byte each, with the following 2 bit layout
xxxaxxxb
x - unimportant
a - if set, then Link enters on the lower level (BG2)
b - if set... not sure what happens exactly. Check the game engine to be sure.
!**********************************
Normal Entrance Horizontal and Vertical Scroll Properties
$1561A - $1569E
size = 85h
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.
1 byte each, with the following layout:
xxaxxxbx
a - Horizontal flag
b - Vertical flag
!**********************************
$1569F - $15723
size = 85h
Normal Entrance Scroll Quandrant
1 byte each
has four different expected values
0h, 2h, 10h, 12h
Whether the HM interpretation of this is correct, I need to check.
!**********************************
$15724 - $1582D
size = 10Ah
Normal Entrance EXIT Door location
1 word each. Denotes, um X and Y coordinates for overworld?
!**********************************
$1582E - $158B2
size = 85h
Normal Entrance Dungeon Music
1 byte each
FF - same
See ZeldaFlow for more information on values under $012C
!**********************************
$158B3-$15B6D Code
!**********************************
$15B6E - $15B7B
size = Eh
Starting Location Entrances: 85h - 8Bh. Note there are 7 Starting locations all in all.
1 word each
Pointers to rooms for each starting location entrance.
!**********************************
$15B7C - $15BB3
size = 38h
Starting Location Scroll Ranges (still not sure how they work totally)
Each entry is 8 bytes long.
Format: 1 byte each. Corresponds to hyrule magic values in the "More" aka Entrance Properties dialog box.
HU, FU, HD, FD, HL, FL, HR, FR
!**********************************
$15BB4 - $15BC1
size = Eh
Starting Location X Scroll Data
1 word each
!**********************************
$15BC2 - $15BCF
size = Eh
Starting Location Y Scroll Data
1 word each
!**********************************
$15BD0 - $15BDD
size = Eh
Starting Location Link X Coordinate
1 word each
!**********************************
$15BDE - $15BEB
size = Eh
Starting Location Link Y Coordinate
1 word each
!**********************************
$15BEC - $15BF9
size = Eh
Starting Location Camera Y Coordinate
1 word each
!**********************************
$15BFA - $15C07
size = Eh
Starting Location Camera X Coordinate
1 word each
!**********************************
$15C08 - $15C0E
size = 7h
Starting Location Blockset Type
1 byte each
see Normal Entrance description
!**********************************
$15C0F - $15C15
size = 7h
Starting Location Floor Type
1 byte each
see Normal Entrance description
!**********************************
$15C16 - $15C1C
size = 7h
Starting Location Dungeon Designation
1 byte each
see Normal Entrance description
!**********************************
$15C1D - $15C23
size = 7h
Starting Location Ladder and BG Settings
1 byte each, with the following 2 bit layout
xxxaxxxb
x - unimportant
a - if set, then Link enters on the lower level (BG2)
b - if set... not sure what happens exactly. Check the game engine to be sure.
!**********************************
$15C24 - $15C2A
size = 85h
Starting Location Horizontal and Vertical Scroll Properties
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.
1 byte each, with the following layout:
xxaxxxbx
a - Horizontal flag
b - Vertical flag
!**********************************
$15C2B - $15C31
Starting Location Doorway Type Data
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.
1 Byte each
0 = no doorway when exiting
1 = draws a door frame upon exiting
2 = ???? HM says vertical doorframe. But in the original game, no doorway is vertical. It appears the designers may have intended doorways where you enter from the left or right... fits in well with my idea to implement that.
And technically, I believe it should be the other way around. 1 should be vertical and 2 should be horizontal.
!**********************************
$15C32 - $15C3F
Starting Location Overworld Exit Location
1 word each. Denotes, um X and Y coordinates for overworld?
!**********************************
$15C40 - $15C4D
Starting Location Entrance Values
1 word each. Since the starting locations have to reference an entrance, this is necessary.
!**********************************
$15C4E - $15C54
Starting Location Music Values
1 byte each. See ZeldaFlow.rtf for more info.
!**********************************
$15C55 - $15D89 Code
!**********************************
$15D8A-$164A2 - Exit Data (Note that some of these are fake "rooms" used in the ending sequence.)
This is not the complete listing of exit data that HM gives access to in its dialog. See _____
$15D8A-$15E27 - (0x4F entries, 2 bytes each) - Rooms that exit to overworld Areas ("Room" in HM)
$15E28-$15E76 - (0x4F entries, 1 byte each) - Overworld area that the exit leads to. ("Map" in HM)
$15E77-$15F14 - (0x4F entries, 2 bytes each) - VRAM locations to place Link at. Gets fed to $7E0084 (???? in HM)
$15F15-$15FB2 - (0x4F entries, 2 bytes each) - Y Scroll Data
$15FB3-$16050 - (0x4F entries, 2 bytes each) - X Scroll Data
$16051-$160EE - (0x4F entries, 2 bytes each) - Link's Y Coordinate
$160EF-$1618C - (0x4F entries, 2 bytes each) - Link's X Coordinate
$1618D-$1622A - (0x4F entries, 2 bytes each) - Camera Y Coordinate
$1622B-$162C8 - (0x4F entries, 2 bytes each) - Camera X Coordinate
$162C9-$16317 - (0x4F entries, 1 byte each) - I assume these are sequencing variables to tell the camera where to go? Writes to $0624 and $0625 (Ukn1 in HM)
$16318-$16366 - (0x4F entries, 1 byte each) - I assume these are sequencing variables to tell the camera where to go? Writes to $0628 and $0629 (Ukn2 in HM)
$16367-$16404 - (0x4F entries, 2 bytes each) - Door type setting 1. Writes to $0696 (See Zelda_RAM.log for in-depth description)
0x0000: no change
bmmmmmmm mmmmmmmm: (bit pattern)
b - if set, it's a bombable exit, otherwise it's a wooden exit.
m - (15-bit number) map16 address of the exit
$16405-$164A2 - (0x4F entries, 2 bytes each) - Door type setting 2. Write to $0698.
0x0000: no change
smmmmmmm mmmmmmmm: (bit pattern)
s - if set, it's a palace exit, otherwise it's a sanctuary exit.
m - (15-bit number) map16 address of the exit
!**********************************
$164A3 - $166E0 Code
!**********************************
$166E1 - $167E0
Size = 100h
thingamajig with scroll ranges but for ending sequence too tired right now to do.
0x20 bytes per section. 1 byte per entry in each section.
The sections are interlaced and are written like so:
Section -> Address
$166E1, Y -> $0600
$16701, Y -> $0602
$16721, Y -> $0604
$16741, Y -> $0606
$16761, Y -> $0610
$167A1, Y -> $0612
$16781, Y -> $0614
$167C1, Y -> $0616
!**********************************
$167E1 - $16800?
??????
1 word each
Gets written to $0708
!**********************************
$16801-$16850 Exit Data (the ones that warp between overworld areas)
$16801-$16810 - Direction Link is facing when entering
$16811-$16820 - Sprite graphics index for the new area.
$16821-$16830 - Graphics index for the new area
$16831-$16840 -
!**********************************
$16851 - $16AE4 Code
!**********************************
$16AE5 - $16C38
Size = 154h
Ending Sequence (again?)
Each entry in all arrays is 1 word long.
$16AE5 - $16B06
Ending Sequence Overworld Areas to load.
$16B07 - $16B28
Ending Sequence VRAM locations for link.
$16B29 - $16B4A
Ending Sequence Y Scroll Data
$16B4B - $16B6C
Ending Sequence X Scroll Data
$16B6D - $16B8E
Ending Sequence Link Y Coordinate
$16B8F - $16BB0
Ending Sequence Link X Coordinate
$16BB1 - $16BD2
Ending Sequence Camera Y Coordinate
$16BD3 - $16BF4
Ending Sequence Camera X Coordinate
$16BF5 - $16C16
Ending Sequence ?????
Gets stored to $0624
$16C17 - $16C38
Ending Sequence ?????
Gets stored to $0628
!**********************************
$16C39 - $16CF7 Code
!**********************************
$16CF8 - $16D07
Size = 10h
Overworld Whirlpool Locations
1 word each
!**********************************
$16D08 - $16DC4 Code
!**********************************
$16DC5 - $16EC4
Overworld Bombable Wall Locations
1 word each for each overworld area
I guess array contains info on which part of the tile map to look to draw the "opened" door overlay and all that.
So, once you bomb a wall, the 2nd bit of the $7EF280, X array is set, and it will remember to use this array to draw
that overlay.
!**********************************
$16EC5 - $1700C Code
!**********************************
$1700D - $17030 Jump Tables
!**********************************
$17031 - $171FB Code
!**********************************
$171FC - $1720D Jump Table
!**********************************
$1720E - $17252 Code
!**********************************
$17253 - $17272 Jump Table
!**********************************
$17273 - $1787E Code
***********************************
$1787F - $17884
***********************************
$17885 - $17888
size = 4h
Tile Position Offset, probably used in decompression routine.
1 word each, 2 entries.
!**********************************
$17889 - $1788C
#$0000. Used for decompression and graphics routines. Don't ask.
#$0020. same
!**********************************
$1788D - $1794C
Size = C0h
Flags for loading tiles or graphics. Not sure on the exact usage.
1 byte each.
Although there are only about 82h areas in the overworld, the rest of this array is zeroes so I can't make heads or tails of it. So we're going to assume they planned more outdoor areas. for now (C0h)
***********************************
$1794D - $17D0C
Size = 3C0h
Overworld Map Data
$1794D-$17B2C - Compressed Map32 Data (the high bytes of each word of map32 data)
$17B2D-$17D0C - Compressed Map32 Data (the low bytes of each word of map32 data)
referenced at locations 0x1759E and 0x175C9 in the rom by means of a LDA $......, X
!**********************************
$17D0D - $17F6D Code
***********************************
$18000-$1B3FF - Map32 to Map16 conversion values (upper left corners)
$1B400-$1E7FF - Map32 to Map16 conversion values (upper right corners)
See $20000 as well.
!***********************************
$1E800-$1EB04? - Compressed data that will be written to $7F6000.
***********************************
$20000-$233FF - Map32 to map16 conversion values (lower left corners)
$23400-$267EF - Map32 to Map16 conversion values (lower right corners)
See $18000 as well.
***********************************
$26CC0-$26F2E - Pointers to dungeon overlays + data (e.g. pits that appear)
$26CC0-$26CF8 - The 3 byte pointers to the data (see below)