forked from aerinon/z3randomizer
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbonktreemaps.asm
1024 lines (955 loc) · 28.1 KB
/
bonktreemaps.asm
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
Overworld_LoadBonkTiles:
{
SEP #$30
LDA.l OWFlags+1 : AND.b #$02 : BEQ .return
PHB
; Set the data bank to $7E.
LDA.b #$7E : PHA : PLB
REP #$30
; Use it as an index into a jump table.
LDA.b OverworldIndex : CMP.w #$0080 : !BGE .noData
ASL A : TAX : JSR (Overworld_BonkTilesTable, X)
.noData
PLB
.return
REP #$30
RTL
}
Overworld_BonkTilesTable:
{
;LW
;00 01 02 03 04 05 06 07
dw map00, return, return, return, return, return, return, return
;08 09 10 11 12 13 14 15
dw return, return, map0a, return, return, return, return, return
;16 17 18 19 20 21 22 23
dw map10, return, map12, map13, return, map15, map16, return
;24 25 26 27 28 29 30 31
dw map18, return, map1a, map1b, return, map1d, map1e, return
;32 33 34 35 36 37 38 39
dw return, return, return, return, return, return, return, return
;40 41 42 43 44 45 46 47
dw return, return, map2a, map2b, return, return, map2e, return
;48 49 50 51 52 53 54 55
dw return, return, map32, return, return, return, return, return
;56 57 58 59 60 61 62 63
dw return, return, return, return, return, return, return, return
;DW
;64 65 66 67 68 69 70 71
dw return, return, map42, return, return, return, return, return
;72 73 74 75 76 77 78 79
dw return, return, return, return, return, return, return, return
;80 81 82 83 84 85 86 87
dw return, return, return, map53, return, map55, map56, return
;88 89 90 91 92 93 94 95
dw map58, return, return, map5b, return, return, map5e, return
;96 97 98 99 100 101 102 103
dw return, return, return, return, return, return, return, return
;104 105 106 107 108 109 110 111
dw return, return, return, return, return, return, map6e, return
;112 113 114 115 116 117 118 119
dw return, return, return, return, return, return, return, return
;120 121 122 123 124 125 126 127
dw return, return, return, return, return, return, return, return
}
return:
RTS
map00: ; Map00/Map01/Map08/Map09
{
LDA.l OverworldEventDataWRAM+$00 : BIT.w #$0010 : BNE +
LDA.w #$0364 : STA.w $31D0
LDA.w #$0365 : STA.w $31D2
LDA.w #$0366 : STA.w $31D4
LDA.w #$0367 : STA.w $31D6
LDA.w #$0368 : STA.w $3250
LDA.w #$0369 : STA.w $3252
LDA.w #$036A : STA.w $3254
LDA.w #$036B : STA.w $3256
LDA.w #$036E : STA.w $32D0
LDA.w #$036F : STA.w $32D2
LDA.w #$0370 : STA.w $32D4
LDA.w #$0371 : STA.w $32D6
LDA.w #$0375 : STA.w $3350
LDA.w #$0376 : STA.w $3352
LDA.w #$0377 : STA.w $3354
LDA.w #$0378 : STA.w $3356
+ RTS
}
map0a: ; Map10
{
LDA.l OverworldEventDataWRAM+$0a : BIT.w #$0010 : BNE +
; north tree
PHA
LDA.w #$0364 : STA.w $2118
LDA.w #$0365 : STA.w $211A
LDA.w #$0366 : STA.w $211C
LDA.w #$0367 : STA.w $211E
LDA.w #$0368 : STA.w $2198
LDA.w #$0369 : STA.w $219A
LDA.w #$036A : STA.w $219C
LDA.w #$036B : STA.w $219E
LDA.w #$036E : STA.w $2218
LDA.w #$036F : STA.w $221A
LDA.w #$0370 : STA.w $221C
LDA.w #$0371 : STA.w $221E
LDA.w #$0375 : STA.w $2298
LDA.w #$0376 : STA.w $229A
LDA.w #$0377 : STA.w $229C
LDA.w #$0378 : STA.w $229E
PLA
+ BIT.w #$0008 : BNE +
; south tree
LDA.w #$0364 : STA.w $2C30
LDA.w #$0365 : STA.w $2C32
LDA.w #$0366 : STA.w $2C34
LDA.w #$0367 : STA.w $2C36
LDA.w #$0368 : STA.w $2CB0
LDA.w #$0369 : STA.w $2CB2
LDA.w #$036A : STA.w $2CB4
LDA.w #$036B : STA.w $2CB6
LDA.w #$036E : STA.w $2D30
LDA.w #$036F : STA.w $2D32
LDA.w #$0370 : STA.w $2D34
LDA.w #$0371 : STA.w $2D36
LDA.w #$0375 : STA.w $2DB0
LDA.w #$0376 : STA.w $2DB2
LDA.w #$0377 : STA.w $2DB4
LDA.w #$0378 : STA.w $2DB6
+ RTS
}
map10: ; Map16
{
LDA.l OverworldEventDataWRAM+$10 : BIT.w #$0010 : BNE +
; west tree
PHA
LDA.w #$0364 : STA.w $250C
LDA.w #$0365 : STA.w $250E
LDA.w #$0366 : STA.w $2510
LDA.w #$0367 : STA.w $2512
LDA.w #$0368 : STA.w $258C
LDA.w #$0369 : STA.w $258E
LDA.w #$036A : STA.w $2590
LDA.w #$036B : STA.w $2592
LDA.w #$036E : STA.w $260C
LDA.w #$036F : STA.w $260E
LDA.w #$0370 : STA.w $2610
LDA.w #$0371 : STA.w $2612
LDA.w #$0375 : STA.w $268C
LDA.w #$0376 : STA.w $268E
LDA.w #$0377 : STA.w $2690
LDA.w #$0378 : STA.w $2692
PLA
+ BIT.w #$0008 : BNE +
; east tree
LDA.w #$0364 : STA.w $26AC
LDA.w #$0365 : STA.w $26AE
LDA.w #$0366 : STA.w $26B0
LDA.w #$0367 : STA.w $26B2
LDA.w #$0368 : STA.w $272C
LDA.w #$0369 : STA.w $272E
LDA.w #$036A : STA.w $2730
LDA.w #$036B : STA.w $2732
LDA.w #$036E : STA.w $27AC
LDA.w #$036F : STA.w $27AE
LDA.w #$0370 : STA.w $27B0
LDA.w #$0371 : STA.w $27B2
LDA.w #$0375 : STA.w $282C
LDA.w #$0376 : STA.w $282E
LDA.w #$0377 : STA.w $2830
LDA.w #$0378 : STA.w $2832
+ RTS
}
map12: ; Map18
{
LDA.l OverworldEventDataWRAM+$12 : BIT.w #$0010 : BNE +
LDA.w #$0364 : STA.w $2426
LDA.w #$0365 : STA.w $2428
LDA.w #$064F : STA.w $242A
LDA.w #$0652 : STA.w $242C
LDA.w #$0368 : STA.w $24A6
LDA.w #$0369 : STA.w $24A8
LDA.w #$036A : STA.w $24AA
LDA.w #$0655 : STA.w $24AC
LDA.w #$036E : STA.w $2526
LDA.w #$036F : STA.w $2528
LDA.w #$0370 : STA.w $252A
LDA.w #$0371 : STA.w $252C
LDA.w #$0375 : STA.w $25A6
LDA.w #$0376 : STA.w $25A8
LDA.w #$0377 : STA.w $25AA
LDA.w #$0378 : STA.w $25AC
+ RTS
}
map13: ; Map19
{
LDA.l OverworldEventDataWRAM+$13 : BIT.w #$0010 : BNE +
; ledge tree
PHA
LDA.w #$0364 : STA.w $250C
LDA.w #$0365 : STA.w $250E
LDA.w #$0366 : STA.w $2510
LDA.w #$0367 : STA.w $2512
LDA.w #$0368 : STA.w $258C
LDA.w #$0369 : STA.w $258E
LDA.w #$036A : STA.w $2590
LDA.w #$036B : STA.w $2592
LDA.w #$036E : STA.w $260C
LDA.w #$036F : STA.w $260E
LDA.w #$0370 : STA.w $2610
LDA.w #$0371 : STA.w $2612
LDA.w #$0375 : STA.w $268C
LDA.w #$0376 : STA.w $268E
LDA.w #$0377 : STA.w $2690
LDA.w #$0378 : STA.w $2692
PLA
+ BIT.w #$0008 : BEQ + ; BEQ because tree is already colored
; east tree
LDA.w #$00AE : STA.w $23AE
LDA.w #$00AF : STA.w $23B0
LDA.w #$007E : STA.w $23B2
LDA.w #$007F : STA.w $23B4
LDA.w #$00B0 : STA.w $242E
LDA.w #$0014 : STA.w $2430
LDA.w #$0015 : STA.w $2432
LDA.w #$00A8 : STA.w $2434
LDA.w #$0089 : STA.w $24AE
LDA.w #$001C : STA.w $24B0
LDA.w #$001D : STA.w $24B2
LDA.w #$0076 : STA.w $24B4
LDA.w #$00F1 : STA.w $252E
LDA.w #$004E : STA.w $2530
LDA.w #$004F : STA.w $2532
LDA.w #$00D9 : STA.w $2534
+
; west tree
LDA.w #$00AE : STA.w $23A2
LDA.w #$00AF : STA.w $23A4
LDA.w #$007E : STA.w $23A6
LDA.w #$007F : STA.w $23A8
LDA.w #$00B0 : STA.w $2422
LDA.w #$0014 : STA.w $2424
LDA.w #$0015 : STA.w $2426
LDA.w #$00A8 : STA.w $2428
LDA.w #$0089 : STA.w $24A2
LDA.w #$001C : STA.w $24A4
LDA.w #$001D : STA.w $24A6
LDA.w #$0076 : STA.w $24A8
LDA.w #$00F1 : STA.w $2522
LDA.w #$004E : STA.w $2524
LDA.w #$004F : STA.w $2526
LDA.w #$00D9 : STA.w $2528
RTS
}
map15: ; Map21
{
LDA.l OverworldEventDataWRAM+$15 : BIT.w #$0010 : BNE +
; southwest tree
PHA
LDA.w #$0364 : STA.w $2C06
LDA.w #$0365 : STA.w $2C08
LDA.w #$0366 : STA.w $2C0A
LDA.w #$0367 : STA.w $2C0C
LDA.w #$0368 : STA.w $2C86
LDA.w #$0369 : STA.w $2C88
LDA.w #$036A : STA.w $2C8A
LDA.w #$036B : STA.w $2C8C
LDA.w #$036E : STA.w $2D06
LDA.w #$036F : STA.w $2D08
LDA.w #$0370 : STA.w $2D0A
LDA.w #$0371 : STA.w $2D0C
LDA.w #$0375 : STA.w $2D86
LDA.w #$0376 : STA.w $2D88
LDA.w #$0377 : STA.w $2D8A
LDA.w #$0378 : STA.w $2D8C
PLA
+ BIT.w #$0008 : BNE +
; east bank tree
LDA.w #$0364 : STA.w $26B4
LDA.w #$0365 : STA.w $26B6
LDA.w #$0366 : STA.w $26B8
LDA.w #$0367 : STA.w $26BA
LDA.w #$0368 : STA.w $2734
LDA.w #$0369 : STA.w $2736
LDA.w #$036A : STA.w $2738
LDA.w #$036B : STA.w $273A
LDA.w #$036E : STA.w $27B4
LDA.w #$036F : STA.w $27B6
LDA.w #$0370 : STA.w $27B8
LDA.w #$0371 : STA.w $27BA
LDA.w #$0375 : STA.w $2834
LDA.w #$0376 : STA.w $2836
LDA.w #$0377 : STA.w $2838
LDA.w #$0378 : STA.w $283A
+ RTS
}
map16: ; Map22
{
LDA.w #$00AE : STA.w $281E
LDA.w #$00AF : STA.w $2820
LDA.w #$007E : STA.w $2822
LDA.w #$007F : STA.w $2824
LDA.w #$00B0 : STA.w $289E
LDA.w #$0014 : STA.w $28A0
LDA.w #$0015 : STA.w $28A2
LDA.w #$00A8 : STA.w $28A4
LDA.w #$0089 : STA.w $291E
LDA.w #$001C : STA.w $2920
LDA.w #$001D : STA.w $2922
LDA.w #$0076 : STA.w $2924
LDA.w #$00F1 : STA.w $299E
LDA.w #$004E : STA.w $29A0
LDA.w #$004F : STA.w $29A2
LDA.w #$00D9 : STA.w $29A4
RTS
}
map18: ; Map24/Map25/Map32/Map33
{
LDA.l OverworldEventDataWRAM+$18 : BIT.w #$0010 : BNE +
; northwest tree
PHA
LDA.w #$0364 : STA.w $242C
LDA.w #$0365 : STA.w $242E
LDA.w #$0366 : STA.w $2430
LDA.w #$0367 : STA.w $2432
LDA.w #$0368 : STA.w $24AC
LDA.w #$0369 : STA.w $24AE
LDA.w #$036A : STA.w $24B0
LDA.w #$036B : STA.w $24B2
LDA.w #$036E : STA.w $252C
LDA.w #$036F : STA.w $252E
LDA.w #$0370 : STA.w $2530
LDA.w #$0371 : STA.w $2532
LDA.w #$0375 : STA.w $25AC
LDA.w #$0376 : STA.w $25AE
LDA.w #$0377 : STA.w $25B0
LDA.w #$0378 : STA.w $25B2
PLA
+ BIT.w #$0008 : BNE +
; southeast tree
LDA.w #$0364 : STA.w $38EA
LDA.w #$0365 : STA.w $38EC
LDA.w #$0366 : STA.w $38EE
LDA.w #$0367 : STA.w $38F0
LDA.w #$0368 : STA.w $396A
LDA.w #$0369 : STA.w $396C
LDA.w #$036A : STA.w $396E
LDA.w #$036B : STA.w $3970
LDA.w #$036E : STA.w $39EA
LDA.w #$036F : STA.w $39EC
LDA.w #$0370 : STA.w $39EE
LDA.w #$0371 : STA.w $39F0
LDA.w #$0375 : STA.w $3A6A
LDA.w #$0376 : STA.w $3A6C
LDA.w #$0377 : STA.w $3A6E
LDA.w #$0378 : STA.w $3A70
+ RTS
}
map1a: ; Map26
{
LDA.l OverworldEventDataWRAM+$1a : BIT.w #$0010 : BNE +
; southwest tree
PHA
LDA.w #$0364 : STA.w $2B10
LDA.w #$0365 : STA.w $2B12
LDA.w #$0366 : STA.w $2B14
LDA.w #$0367 : STA.w $2B16
LDA.w #$0368 : STA.w $2B90
LDA.w #$0369 : STA.w $2B92
LDA.w #$036A : STA.w $2B94
LDA.w #$036B : STA.w $2B96
LDA.w #$036E : STA.w $2C10
LDA.w #$036F : STA.w $2C12
LDA.w #$0370 : STA.w $2C14
LDA.w #$0371 : STA.w $2C16
LDA.w #$0375 : STA.w $2C90
LDA.w #$0376 : STA.w $2C92
LDA.w #$0377 : STA.w $2C94
LDA.w #$0378 : STA.w $2C96
PLA
+ BIT.w #$0008 : BNE +
; central tree
LDA.w #$0364 : STA.w $2798
LDA.w #$0365 : STA.w $279A
LDA.w #$0366 : STA.w $279C
LDA.w #$0367 : STA.w $279E
LDA.w #$0368 : STA.w $2818
LDA.w #$0369 : STA.w $281A
LDA.w #$036A : STA.w $281C
LDA.w #$036B : STA.w $281E
LDA.w #$036E : STA.w $2898
LDA.w #$036F : STA.w $289A
LDA.w #$0370 : STA.w $289C
LDA.w #$0371 : STA.w $289E
LDA.w #$0375 : STA.w $2918
LDA.w #$0376 : STA.w $291A
LDA.w #$0377 : STA.w $291C
LDA.w #$0378 : STA.w $291E
+ RTS
}
map1b: ; Map27/Map28/Map35/Map36
{
LDA.l OverworldEventDataWRAM+$1b : BIT.w #$0010 : BNE +
LDA.w #$0364 : STA.w $29AA
LDA.w #$0365 : STA.w $29AC
LDA.w #$0366 : STA.w $29AE
LDA.w #$0367 : STA.w $29B0
LDA.w #$0368 : STA.w $2A2A
LDA.w #$0369 : STA.w $2A2C
LDA.w #$036A : STA.w $2A2E
LDA.w #$036B : STA.w $2A30
LDA.w #$036E : STA.w $2AAA
LDA.w #$036F : STA.w $2AAC
LDA.w #$0370 : STA.w $2AAE
LDA.w #$0371 : STA.w $2AB0
LDA.w #$0375 : STA.w $2B2A
LDA.w #$0376 : STA.w $2B2C
LDA.w #$0377 : STA.w $2B2E
LDA.w #$0378 : STA.w $2B30
+ RTS
}
map1d: ; Map29
{
LDA.l OverworldEventDataWRAM+$1d : BIT.w #$0010 : BNE +
LDA.w #$0364 : STA.w $2212
LDA.w #$0365 : STA.w $2214
LDA.w #$0366 : STA.w $2216
LDA.w #$0367 : STA.w $2218
LDA.w #$0368 : STA.w $2292
LDA.w #$0369 : STA.w $2294
LDA.w #$036A : STA.w $2296
LDA.w #$036B : STA.w $2298
LDA.w #$036E : STA.w $2312
LDA.w #$036F : STA.w $2314
LDA.w #$0370 : STA.w $2316
LDA.w #$0371 : STA.w $2318
LDA.w #$0375 : STA.w $2392
LDA.w #$0376 : STA.w $2394
LDA.w #$0377 : STA.w $2396
LDA.w #$0378 : STA.w $2398
+ RTS
}
map1e: ; Map30/Map31/Map38/Map39
{
; two northeast trees
LDA.w #$00AE : STA.w $36E6 : STA.w $375E
LDA.w #$00AF : STA.w $36E8 : STA.w $3760
LDA.w #$007E : STA.w $36EA : STA.w $3762
LDA.w #$007F : STA.w $36EC : STA.w $3764
LDA.w #$00B0 : STA.w $3766 : STA.w $37DE
LDA.w #$0014 : STA.w $3768 : STA.w $37E0
LDA.w #$0015 : STA.w $376A : STA.w $37E2
LDA.w #$00A8 : STA.w $376C : STA.w $37E4
LDA.w #$0089 : STA.w $37E6 : STA.w $385E
LDA.w #$001C : STA.w $37E8 : STA.w $3860
LDA.w #$001D : STA.w $37EA : STA.w $3862
LDA.w #$0076 : STA.w $37EC : STA.w $3864
LDA.w #$00F1 : STA.w $3866 : STA.w $38DE
LDA.w #$004E : STA.w $3868 : STA.w $38E0
LDA.w #$004F : STA.w $386A : STA.w $38E2
LDA.w #$00D9 : STA.w $386C : STA.w $38E4
; tree cluster
LDA.w #$0000 : STA.w $3954 : STA.w $395A : STA.w $3C54
LDA.w #$0001 : STA.w $3950 : STA.w $3956 : STA.w $3C50
LDA.w #$0002 : STA.w $3952 : STA.w $3958 : STA.w $3C52
LDA.w #$0006 : STA.w $3B4E
LDA.w #$0007 : STA.w $3B50
LDA.w #$0009 : STA.w $3B54
LDA.w #$000A : STA.w $39D4
LDA.w #$000B : STA.w $39D0 : STA.w $39D6
LDA.w #$000C : STA.w $39D2
LDA.w #$000D : STA.w $39D8
LDA.w #$0011 : STA.w $38D0 : STA.w $38D6 : STA.w $3BD0
LDA.w #$0012 : STA.w $38D2 : STA.w $38D8 : STA.w $3BD2
LDA.w #$0013 : STA.w $38D4 : STA.w $38DA : STA.w $3BD4
LDA.w #$0014 : STA.w $3A4E : STA.w $3A54
LDA.w #$0015 : STA.w $3A50 : STA.w $3A56
LDA.w #$0016 : STA.w $3A52
LDA.w #$001C : STA.w $3ACE : STA.w $3AD4
LDA.w #$001D : STA.w $3AD0 : STA.w $3AD6
LDA.w #$001E : STA.w $3AD2
LDA.w #$0025 : STA.w $3CD2
LDA.w #$0026 : STA.w $3852 : STA.w $3858 : STA.w $3B52
LDA.w #$0031 : STA.w $3B56
LDA.w #$0076 : STA.w $3AD8
LDA.w #$0078 : STA.w $3854 : STA.w $385A
LDA.w #$0079 : STA.w $385C
LDA.w #$007B : STA.w $38DC
LDA.w #$007C : STA.w $395C : STA.w $3C56
LDA.w #$0082 : STA.w $39DA : STA.w $3CD4
LDA.w #$0083 : STA.w $3CD0
LDA.w #$0089 : STA.w $3ACC
LDA.w #$0094 : STA.w $3BD6
LDA.w #$00A8 : STA.w $3A58
LDA.w #$00AE : STA.w $39CC
LDA.w #$00AF : STA.w $39CE
LDA.w #$00B0 : STA.w $3A4C
LDA.w #$00B5 : STA.w $384E
LDA.w #$00B6 : STA.w $3850 : STA.w $3856
LDA.w #$00B9 : STA.w $38CE
LDA.w #$00BE : STA.w $394E : STA.w $3C4E
LDA.w #$00D9 : STA.w $3B58
LDA.w #$00DE : STA.w $3BCE
LDA.w #$00F1 : STA.w $3B4C
LDA.l OverworldEventDataWRAM+$1e : BIT.w #$0010 : BEQ + ; BEQ because tree is already colored
; bonk tree
LDA.w #$00AE : STA.w $3AC2
LDA.w #$00AF : STA.w $3AC4
LDA.w #$007E : STA.w $3AC6
LDA.w #$007F : STA.w $3AC8
LDA.w #$00B0 : STA.w $3B42
LDA.w #$0014 : STA.w $3B44
LDA.w #$0015 : STA.w $3B46
LDA.w #$00A8 : STA.w $3B48
LDA.w #$0089 : STA.w $3BC2
LDA.w #$001C : STA.w $3BC4
LDA.w #$001D : STA.w $3BC6
LDA.w #$0076 : STA.w $3BC8
LDA.w #$00F1 : STA.w $3C42
LDA.w #$004E : STA.w $3C44
LDA.w #$004F : STA.w $3C46
LDA.w #$00D9 : STA.w $3C48
+ RTS
}
map2a: ; Map42
{
LDA.l OverworldEventDataWRAM+$2a : BIT.w #$0010 : BNE +
; south tree
PHA
LDA.w #$0364 : STA.w $2B1C
LDA.w #$0365 : STA.w $2B1E
LDA.w #$0366 : STA.w $2B20
LDA.w #$0367 : STA.w $2B22
LDA.w #$0368 : STA.w $2B9C
LDA.w #$0369 : STA.w $2B9E
LDA.w #$036A : STA.w $2BA0
LDA.w #$036B : STA.w $2BA2
LDA.w #$036E : STA.w $2C1C
LDA.w #$036F : STA.w $2C1E
LDA.w #$0370 : STA.w $2C20
LDA.w #$0371 : STA.w $2C22
LDA.w #$0375 : STA.w $2C9C
LDA.w #$0376 : STA.w $2C9E
LDA.w #$0377 : STA.w $2CA0
LDA.w #$0378 : STA.w $2CA2
PLA
+ BIT.w #$0008 : BNE +
; southeast tree
LDA.w #$0364 : STA.w $2928
LDA.w #$0365 : STA.w $292A
LDA.w #$0366 : STA.w $292C
LDA.w #$0367 : STA.w $292E
LDA.w #$0368 : STA.w $29A8
LDA.w #$0369 : STA.w $29AA
LDA.w #$036A : STA.w $29AC
LDA.w #$036B : STA.w $29AE
LDA.w #$036E : STA.w $2A28
LDA.w #$036F : STA.w $2A2A
LDA.w #$0370 : STA.w $2A2C
LDA.w #$0371 : STA.w $2A2E
LDA.w #$0375 : STA.w $2AA8
LDA.w #$0376 : STA.w $2AAA
LDA.w #$0377 : STA.w $2AAC
LDA.w #$0378 : STA.w $2AAE
+ RTS
}
map2b: ; Map43
{
LDA.l OverworldEventDataWRAM+$2b : BIT.w #$0010 : BNE +
LDA.w #$0364 : STA.w $25AA
LDA.w #$0365 : STA.w $25AC
LDA.w #$0366 : STA.w $25AE
LDA.w #$0367 : STA.w $25B0
LDA.w #$0368 : STA.w $262A
LDA.w #$0369 : STA.w $262C
LDA.w #$036A : STA.w $262E
LDA.w #$036B : STA.w $2630
LDA.w #$036E : STA.w $26AA
LDA.w #$036F : STA.w $26AC
LDA.w #$0370 : STA.w $26AE
LDA.w #$0371 : STA.w $26B0
LDA.w #$0375 : STA.w $272A
LDA.w #$0376 : STA.w $272C
LDA.w #$0377 : STA.w $272E
LDA.w #$0378 : STA.w $2730
+ RTS
}
map2e: ; Map46
{
LDA.l OverworldEventDataWRAM+$2e : BIT.w #$0010 : BNE +
; tree 2
PHA
LDA.w #$0364 : STA.w $2396
LDA.w #$0365 : STA.w $2398
LDA.w #$0366 : STA.w $239A
LDA.w #$0367 : STA.w $239C
LDA.w #$0368 : STA.w $2416
LDA.w #$0369 : STA.w $2418
LDA.w #$036A : STA.w $241A
LDA.w #$036B : STA.w $241C
LDA.w #$036E : STA.w $2496
LDA.w #$036F : STA.w $2498
LDA.w #$0370 : STA.w $249A
LDA.w #$0371 : STA.w $249C
LDA.w #$0375 : STA.w $2516
LDA.w #$0376 : STA.w $2518
LDA.w #$0377 : STA.w $251A
LDA.w #$0378 : STA.w $251C
PLA
+ BIT.w #$0008 : BNE +
; tree 4
LDA.w #$0364 : STA.w $24A6
LDA.w #$0365 : STA.w $24A8
LDA.w #$0366 : STA.w $24AA
LDA.w #$0367 : STA.w $24AC
LDA.w #$0368 : STA.w $2526
LDA.w #$0369 : STA.w $2528
LDA.w #$036A : STA.w $252A
LDA.w #$036B : STA.w $252C
LDA.w #$036E : STA.w $25A6
LDA.w #$036F : STA.w $25A8
LDA.w #$0370 : STA.w $25AA
LDA.w #$0371 : STA.w $25AC
LDA.w #$0375 : STA.w $2626
LDA.w #$0376 : STA.w $2628
LDA.w #$0377 : STA.w $262A
LDA.w #$0378 : STA.w $262C
+ RTS
}
map32: ; Map50
{
LDA.l OverworldEventDataWRAM+$32 : BIT.w #$0010 : BNE +
; southeast tree
PHA
LDA.w #$0364 : STA.w $2830
LDA.w #$0365 : STA.w $2832
LDA.w #$0366 : STA.w $2834
LDA.w #$0367 : STA.w $2836
LDA.w #$0368 : STA.w $28B0
LDA.w #$0369 : STA.w $28B2
LDA.w #$036A : STA.w $28B4
LDA.w #$036B : STA.w $28B6
LDA.w #$036E : STA.w $2930
LDA.w #$036F : STA.w $2932
LDA.w #$0370 : STA.w $2934
LDA.w #$0371 : STA.w $2936
LDA.w #$0375 : STA.w $29B0
LDA.w #$0376 : STA.w $29B2
LDA.w #$0377 : STA.w $29B4
LDA.w #$0378 : STA.w $29B6
PLA
+ BIT.w #$0008 : BNE +
; northeast tree
LDA.w #$0364 : STA.w $23B2
LDA.w #$0365 : STA.w $23B4
LDA.w #$0366 : STA.w $23B6
LDA.w #$0367 : STA.w $23B8
LDA.w #$0368 : STA.w $2432
LDA.w #$0369 : STA.w $2434
LDA.w #$036A : STA.w $2436
LDA.w #$036B : STA.w $2438
LDA.w #$036E : STA.w $24B2
LDA.w #$036F : STA.w $24B4
LDA.w #$0370 : STA.w $24B6
LDA.w #$0371 : STA.w $24B8
LDA.w #$0375 : STA.w $2532
LDA.w #$0376 : STA.w $2534
LDA.w #$0377 : STA.w $2536
LDA.w #$0378 : STA.w $2538
+ RTS
}
map42: ; Map02
{
LDA.l OverworldEventDataWRAM+$42 : BIT.w #$0010 : BNE +
LDA.w #$0364 : STA.w $2A0A
LDA.w #$0365 : STA.w $2A0C
LDA.w #$0366 : STA.w $2A0E
LDA.w #$0367 : STA.w $2A10
LDA.w #$0368 : STA.w $2A8A
LDA.w #$0369 : STA.w $2A8C
LDA.w #$036A : STA.w $2A8E
LDA.w #$036B : STA.w $2A90
LDA.w #$036E : STA.w $2B0A
LDA.w #$036F : STA.w $2B0C
LDA.w #$0370 : STA.w $2B0E
LDA.w #$0371 : STA.w $2B10
LDA.w #$0375 : STA.w $2B8A
LDA.w #$0376 : STA.w $2B8C
LDA.w #$0377 : STA.w $2B8E
LDA.w #$0378 : STA.w $2B90
+ RTS
}
map53: ; Map19
{
LDA.w #$00AE : STA.w $2422 : STA.w $242E
LDA.w #$00AF : STA.w $2424 : STA.w $2430
LDA.w #$007E : STA.w $2426 : STA.w $2432
LDA.w #$007F : STA.w $2428 : STA.w $2434
LDA.w #$00B0 : STA.w $24A2 : STA.w $24AE
LDA.w #$0014 : STA.w $24A4 : STA.w $24B0
LDA.w #$0015 : STA.w $24A6 : STA.w $24B2
LDA.w #$00A8 : STA.w $24A8 : STA.w $24B4
LDA.w #$0089 : STA.w $2522 : STA.w $252E
LDA.w #$001C : STA.w $2524 : STA.w $2530
LDA.w #$001D : STA.w $2526 : STA.w $2532
LDA.w #$0076 : STA.w $2528 : STA.w $2534
LDA.w #$00F1 : STA.w $25A2 : STA.w $25AE
LDA.w #$004E : STA.w $25A4 : STA.w $25B0
LDA.w #$004F : STA.w $25A6 : STA.w $25B2
LDA.w #$00D9 : STA.w $25A8 : STA.w $25B4
RTS
}
map55: ; Map21
{
LDA.l OverworldEventDataWRAM+$55 : BIT.w #$0010 : BNE +
; west bank tree
PHA
LDA.w #$0364 : STA.w $2C12
LDA.w #$0365 : STA.w $2C14
LDA.w #$0366 : STA.w $2C16
LDA.w #$0367 : STA.w $2C18
LDA.w #$0368 : STA.w $2C92
LDA.w #$0369 : STA.w $2C94
LDA.w #$036A : STA.w $2C96
LDA.w #$036B : STA.w $2C98
LDA.w #$036E : STA.w $2D12
LDA.w #$036F : STA.w $2D14
LDA.w #$0370 : STA.w $2D16
LDA.w #$0371 : STA.w $2D18
LDA.w #$0375 : STA.w $2D92
LDA.w #$0376 : STA.w $2D94
LDA.w #$0377 : STA.w $2D96
LDA.w #$0378 : STA.w $2D98
PLA
+ BIT.w #$0008 : BNE +
; east bank tree
LDA.w #$0364 : STA.w $26B4
LDA.w #$0365 : STA.w $26B6
LDA.w #$0366 : STA.w $26B8
LDA.w #$0367 : STA.w $26BA
LDA.w #$0368 : STA.w $2734
LDA.w #$0369 : STA.w $2736
LDA.w #$036A : STA.w $2738
LDA.w #$036B : STA.w $273A
LDA.w #$036E : STA.w $27B4
LDA.w #$036F : STA.w $27B6
LDA.w #$0370 : STA.w $27B8
LDA.w #$0371 : STA.w $27BA
LDA.w #$0375 : STA.w $2834
LDA.w #$0376 : STA.w $2836
LDA.w #$0377 : STA.w $2838
LDA.w #$0378 : STA.w $283A
+ RTS
}
map56: ; Map22
{
LDA.l OverworldEventDataWRAM+$56 : BIT.w #$0010 : BNE +
LDA.w #$0640 : STA.w $2604
LDA.w #$0641 : STA.w $2606
LDA.w #$0642 : STA.w $2608
LDA.w #$0643 : STA.w $260A
LDA.w #$0644 : STA.w $260C
LDA.w #$0645 : STA.w $2684
LDA.w #$0646 : STA.w $2686
LDA.w #$0647 : STA.w $2688
LDA.w #$0648 : STA.w $268A
LDA.w #$0649 : STA.w $268C
LDA.w #$064A : STA.w $2704
LDA.w #$064B : STA.w $2706
LDA.w #$064C : STA.w $2708
LDA.w #$064D : STA.w $270A
LDA.w #$064E : STA.w $270C
LDA.w #$0662 : STA.w $2786
LDA.w #$0663 : STA.w $2788
LDA.w #$0653 : STA.w $278A
+ RTS
}
map58: ; Map24/Map25/Map32/Map33
{
LDA.w #$00AE : STA.w $242C : STA.w $38EA
LDA.w #$00AF : STA.w $242E : STA.w $38EC
LDA.w #$007E : STA.w $2430 : STA.w $38EE
LDA.w #$007F : STA.w $2432 : STA.w $38F0
LDA.w #$00B0 : STA.w $24AC : STA.w $396A
LDA.w #$0014 : STA.w $24AE : STA.w $396C
LDA.w #$0015 : STA.w $24B0 : STA.w $396E
LDA.w #$00A8 : STA.w $24B2 : STA.w $3970
LDA.w #$0089 : STA.w $252C : STA.w $39EA
LDA.w #$001C : STA.w $252E : STA.w $39EC
LDA.w #$001D : STA.w $2530 : STA.w $39EE
LDA.w #$0076 : STA.w $2532 : STA.w $39F0
LDA.w #$00F1 : STA.w $25AC : STA.w $3A6A
LDA.w #$004E : STA.w $25AE : STA.w $3A6C
LDA.w #$004F : STA.w $25B0 : STA.w $3A6E
LDA.w #$00D9 : STA.w $25B2 : STA.w $3A70
RTS
}
map5b: ; Map27/Map28/Map35/Map36
{
; east tree
LDA.w #$00AE : STA.w $344C
LDA.w #$00AF : STA.w $344E
LDA.w #$007E : STA.w $3450
LDA.w #$007F : STA.w $3452
LDA.w #$00B0 : STA.w $34CC
LDA.w #$0014 : STA.w $34CE
LDA.w #$0015 : STA.w $34D0
LDA.w #$00A8 : STA.w $34D2
LDA.w #$0089 : STA.w $354C
LDA.w #$001C : STA.w $354E
LDA.w #$001D : STA.w $3550
LDA.w #$0076 : STA.w $3552
LDA.w #$00F1 : STA.w $35CC
LDA.w #$004E : STA.w $35CE
LDA.w #$004F : STA.w $35D0
LDA.w #$00D9 : STA.w $35D2
LDA.l OverworldEventDataWRAM+$5b : BIT.w #$0010 : BEQ + ; BEQ because tree is already colored
; west tree
LDA.w #$00AE : STA.w $342C
LDA.w #$00AF : STA.w $342E
LDA.w #$007E : STA.w $3430
LDA.w #$007F : STA.w $3432
LDA.w #$00B0 : STA.w $34AC
LDA.w #$0014 : STA.w $34AE
LDA.w #$0015 : STA.w $34B0
LDA.w #$00A8 : STA.w $34B2
LDA.w #$0089 : STA.w $352C
LDA.w #$001C : STA.w $352E
LDA.w #$001D : STA.w $3530
LDA.w #$0076 : STA.w $3532
LDA.w #$00F1 : STA.w $35AC
LDA.w #$004E : STA.w $35AE
LDA.w #$004F : STA.w $35B0
LDA.w #$00D9 : STA.w $35B2
+ RTS
}
map5e: ; Map30/Map31/Map38/Map39
{
; non-bonk trees
LDA.w #$0000 : STA.w $3954 : STA.w $395A : STA.w $3C54
LDA.w #$0001 : STA.w $3950 : STA.w $3956 : STA.w $3C50
LDA.w #$0002 : STA.w $3952 : STA.w $3958 : STA.w $3C52
LDA.w #$0006 : STA.w $3B4E
LDA.w #$0007 : STA.w $3B50
LDA.w #$0009 : STA.w $3B54
LDA.w #$000A : STA.w $39D4
LDA.w #$000B : STA.w $39D0 : STA.w $39D6
LDA.w #$000C : STA.w $39D2
LDA.w #$000D : STA.w $39D8
LDA.w #$0011 : STA.w $38D0 : STA.w $38D6 : STA.w $3BD0
LDA.w #$0012 : STA.w $38D2 : STA.w $38D8 : STA.w $3BD2
LDA.w #$0013 : STA.w $38D4 : STA.w $38DA : STA.w $3BD4
LDA.w #$0014 : STA.w $3768 : STA.w $3A4E : STA.w $3A54 : STA.w $3B44
LDA.w #$0015 : STA.w $376A : STA.w $3A50 : STA.w $3A56 : STA.w $3B46
LDA.w #$0016 : STA.w $3A52
LDA.w #$001C : STA.w $37E8 : STA.w $3ACE : STA.w $3AD4 : STA.w $3BC4
LDA.w #$001D : STA.w $37EA : STA.w $3AD0 : STA.w $3AD6 : STA.w $3BC6
LDA.w #$001E : STA.w $3AD2
LDA.w #$0025 : STA.w $3CD2
LDA.w #$0026 : STA.w $3852 : STA.w $3858 : STA.w $3B52
LDA.w #$0031 : STA.w $3B56
LDA.w #$004E : STA.w $3868 : STA.w $3C44
LDA.w #$004F : STA.w $386A : STA.w $3C46
LDA.w #$0076 : STA.w $37EC : STA.w $3AD8 : STA.w $3BC8
LDA.w #$0078 : STA.w $3854 : STA.w $385A
LDA.w #$0079 : STA.w $385C
LDA.w #$007B : STA.w $38DC
LDA.w #$007C : STA.w $395C : STA.w $3C56
LDA.w #$007E : STA.w $36EA : STA.w $3AC6
LDA.w #$007F : STA.w $36EC : STA.w $3AC8
LDA.w #$0082 : STA.w $39DA : STA.w $3CD4
LDA.w #$0083 : STA.w $3CD0
LDA.w #$0089 : STA.w $37E6 : STA.w $3ACC : STA.w $3BC2
LDA.w #$0094 : STA.w $3BD6
LDA.w #$00A8 : STA.w $376C : STA.w $3A58 : STA.w $3B48
LDA.w #$00AE : STA.w $36E6 : STA.w $39CC : STA.w $3AC2
LDA.w #$00AF : STA.w $36E8 : STA.w $39CE : STA.w $3AC4
LDA.w #$00B0 : STA.w $3766 : STA.w $3A4C : STA.w $3B42
LDA.w #$00B5 : STA.w $384E
LDA.w #$00B6 : STA.w $3850 : STA.w $3856
LDA.w #$00B9 : STA.w $38CE
LDA.w #$00BE : STA.w $394E : STA.w $3C4E
LDA.w #$00D9 : STA.w $386C : STA.w $3B58 : STA.w $3C48
LDA.w #$00DE : STA.w $3BCE
LDA.w #$00F1 : STA.w $3866 : STA.w $3B4C : STA.w $3C42
LDA.l OverworldEventDataWRAM+$5e : BIT.w #$0010 : BEQ + ; BEQ because tree is already colored
; bonk tree
LDA.w #$00AE : STA.w $375E
LDA.w #$00AF : STA.w $3760
LDA.w #$007E : STA.w $3762
LDA.w #$007F : STA.w $3764
LDA.w #$00B0 : STA.w $37DE
LDA.w #$0014 : STA.w $37E0
LDA.w #$0015 : STA.w $37E2
LDA.w #$00A8 : STA.w $37E4
LDA.w #$0089 : STA.w $385E
LDA.w #$001C : STA.w $3860
LDA.w #$001D : STA.w $3862
LDA.w #$0076 : STA.w $3864
LDA.w #$00F1 : STA.w $38DE
LDA.w #$004E : STA.w $38E0
LDA.w #$004F : STA.w $38E2
LDA.w #$00D9 : STA.w $38E4
+ RTS
}
map6e: ; Map46
{
LDA.l OverworldEventDataWRAM+$6e : BIT.w #$0010 : BNE +
; tree 2
PHA
LDA.w #$0364 : STA.w $2396
LDA.w #$0365 : STA.w $2398
LDA.w #$0366 : STA.w $239A
LDA.w #$0367 : STA.w $239C
LDA.w #$0368 : STA.w $2416
LDA.w #$0369 : STA.w $2418
LDA.w #$036A : STA.w $241A
LDA.w #$036B : STA.w $241C
LDA.w #$036E : STA.w $2496
LDA.w #$036F : STA.w $2498
LDA.w #$0370 : STA.w $249A
LDA.w #$0371 : STA.w $249C
LDA.w #$0375 : STA.w $2516
LDA.w #$0376 : STA.w $2518
LDA.w #$0377 : STA.w $251A
LDA.w #$0378 : STA.w $251C
PLA
+ BIT.w #$0008 : BNE +
; tree 3
PHA
LDA.w #$0364 : STA.w $241E
LDA.w #$0365 : STA.w $2420
LDA.w #$0366 : STA.w $2422
LDA.w #$0367 : STA.w $2424
LDA.w #$0368 : STA.w $249E
LDA.w #$0369 : STA.w $24A0
LDA.w #$036A : STA.w $24A2
LDA.w #$036B : STA.w $24A4
LDA.w #$036E : STA.w $251E
LDA.w #$036F : STA.w $2520
LDA.w #$0370 : STA.w $2522
LDA.w #$0371 : STA.w $2524
LDA.w #$0375 : STA.w $259E
LDA.w #$0376 : STA.w $25A0
LDA.w #$0377 : STA.w $25A2