-
Notifications
You must be signed in to change notification settings - Fork 2
/
symbols_wram.asm
2059 lines (1753 loc) · 51.1 KB
/
symbols_wram.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
; Has OAM pointer things in bank06
UNKNOWN_7E0000 = $7E0000
UNKNOWN_7E0040 = $7E0040
;---------------------------------------------------------------------------------------------------
; Pretty much everything here is scratch space or unused
; Often used for indirect reads
; Not really worth giving everything symbols
;---------------------------------------------------------------------------------------------------
; $80..$8E Scratch space
; $8F Unused
; $90..$92 Scratch space
; $93 Unused
; $94..$9A Scratch space
; $9B..$9D Unused
; $9E..$9F Scratch space
; $A0..$AF Unused
; $B0..$B2 Scratch space
; $B3 Unused
; $B4..$B5 Scratch space
; $B6 Unused
; $C0..$CE Scratch space
; $CF Unused
; $D0..$D7 Scratch space
; $D8..$DF Unused
; $E0..$EF Scratch space
; $F0..$FF Unused
;---------------------------------------------------------------------------------------------------
;===================================================================================================
;---------------------------------------------------------------------------------------------------
; Arbitrary DMA data
; TODO reformat comment
; Number of DMAs to do (bit 15 flags vertical RLE)
; Chunked:
; 2 bytes for VRAM address
; 2 bytes for number of 16-bit words to transfer
; RLE:
; $0102[0x02] - VRAM address (incremented in the loop)
; $0104[0x02] - Number of words to write (transfer size is x2 of this)
;---------------------------------------------------------------------------------------------------
ARBDMACNTL = $7E0100
ARBDMACNTH = $7E0101
ARBDMALOCL = $7E0102
ARBDMALOCH = $7E0103
ARBDMASIZEL = $7E0104
ARBDMASIZEH = $7E0105
ARBDMADATA = $7E0106
;---------------------------------------------------------------------------------------------------
; SRAM buffer; see «symbols_sram.asm»
;---------------------------------------------------------------------------------------------------
SRAMX700COPY = $7E0400
;---------------------------------------------------------------------------------------------------
; TODO index when choosing combat actions
UNKNOWN_7E0500 = $7E0500
; TODO demon stats index at $1000?
UNKNOWN_7E0502 = $7E0502
UNKNOWN_7E0504 = $7E0504
UNKNOWN_7E0506 = $7E0506
UNKNOWN_7E0508 = $7E0508
; Enemy demon IDs for slots 0 and 1
FOEID0 = $7E050A
FOEID1 = $7E050C
; Enemy demon counts for slots 0 and 1
FOEMAX0 = $7E050E
FOEMAX1 = $7E0510
; Enemy combatants remaining
FOECT0 = $7E0512
FOECT1 = $7E0514
UNKNOWN_7E0516 = $7E0516
; Caster index
CSIND = $7E0518
; Target index
TGIND = $7E051A
; TODO unused?
UNKNOWN_7E051C = $7E051C
UNKNOWN_7E051D = $7E051D
; Money, magnetite, and magic stones gained in battle
YENWIN = $7E051E
MAGWIN = $7E0520
ORBWIN = $7E0522
; Flags which enemy slots are occupied
; ab.. ....
; a - slot 0 TODO verify
; b - slot 1
FOEHERE = $7E0524
; TODO Something with demons in battle
UNKNOWN_7E0526 = $7E0526
UNKNOWN_7E0528 = $7E0528
; TODO Some sort of battle flags?
; 0x2000 when escaping?
; abcd efgh ijkl mnop
;
; b - skips messaging?
; e - flashes hud
;
; combat
; ab set during auto fight
; talking
; ad set when talking
; h demons won't talk
; victory
; c|f loot eligibility (0: guaranteed | 1: check for remaining enemies)
UNKNOWN_7E052A = $7E052A
; TODO some table
UNKNOWN_7E052C = $7E052C
UNKNOWN_7E0548 = $7E0548
UNKNOWN_7E054A = $7E054A
UNKNOWN_7E054C = $7E054C
UNKNOWN_7E054E = $7E054E
UNKNOWN_7E0550 = $7E0550
; TODO some array
UNKNOWN_7E0552 = $7E0552
; TODO something with demon loading
UNKNOWN_7E0564 = $7E0564
UNKNOWN_7E0565 = $7E0565
UNKNOWN_7E0566 = $7E0566
UNKNOWN_7E0567 = $7E0567
; Enemy drops
DROPWIN = $7E0568
; Max number of stat points
MAXPTS = $7E0578
; If nonzero, demons are unwilling to talk
RILED = $7E057A
; If nonzero, these items are in effect
PENTAGRAM = $7E057C
NYORAI = $7E057E
AMIDABEADS = $7E0580
ROSARY = $7E0582
AMULET = $7E0584
TALISMAN = $7E0586
CORESHIELD = $7E0588
; Player and enemy team stat buffs
ATTACKBUFF = $7E058A
ATTACKBUFFENEMY = $7E058C
DEFBUFF = $7E058E
DEFBUFFENEMY = $7E0590
ACCBUFF = $7E0592
ACCBUFFENEMY = $7E0594
MAGDMGBUFF = $7E0596
MAGDMGBUFFENEMY = $7E0597
; Player and enemy team blocks
DRAINBLOCK = $7E059A
DRAINBLOCKENEMY = $7E059C
MAGICBLOCK = $7E059E
MAGICBLOCKENEMY = $7E05A0
PHSYBLOCK = $7E05A2
PHSYBLOCKENEMY = $7E05A4
; If non zero, these spells are active
ESTOMA = $7E05A6
; TODO some bit field
UNKNOWN_7E05A8 = $7E05A8
; General purpose scratch for battle
BTSCR = $7E05AA
; Player and enemy team active walls
WATERWALL = $7E05AC
FIREWALL = $7E05B0
; TODO
UNKNOWN_7E05B4 = $7E05B4
UNKNOWN_7E05B6 = $7E05B6
UNKNOWN_7E05B8 = $7E05B8
UNKNOWN_7E05BA = $7E05BA
UNKNOWN_7E05BC = $7E05BC
UNKNOWN_7E05BE = $7E05BE
; TODO unused?
; [7E05C0..7E05CF]
UNKNOWN_7E05D0 = $7E05D0
UNKNOWN_7E05D2 = $7E05D2
UNKNOWN_7E05D4 = $7E05D4
; Experience gained in battle
XPWIN = $7E05D6
UNKNOWN_7E05D8 = $7E05D8
UNKNOWN_7E05DA = $7E05DA
UNKNOWN_7E05DC = $7E05DC
UNKNOWN_7E05DE = $7E05DE
; TODO copies stuff
UNKNOWN_7E05E0 = $7E05E0
;---------------------------------------------------------------------------------------------------
UNKNOWN_7E0600 = $7E0600
UNKNOWN_7E0620 = $7E0620
UNKNOWN_7E0640 = $7E0640
UNKNOWN_7E0641 = $7E0641
UNKNOWN_7E0642 = $7E0642
UNKNOWN_7E0643 = $7E0643
UNKNOWN_7E0644 = $7E0644
UNKNOWN_7E0645 = $7E0645
UNKNOWN_7E0646 = $7E0646
UNKNOWN_7E0647 = $7E0647
UNKNOWN_7E0648 = $7E0648
UNKNOWN_7E0649 = $7E0649
UNKNOWN_7E064A = $7E064A
UNKNOWN_7E064B = $7E064B
UNKNOWN_7E064C = $7E064C
UNKNOWN_7E064D = $7E064D
UNKNOWN_7E064E = $7E064E
UNKNOWN_7E064F = $7E064F
UNKNOWN_7E0650 = $7E0650
UNKNOWN_7E0651 = $7E0651
UNKNOWN_7E0652 = $7E0652
UNKNOWN_7E0653 = $7E0653
UNKNOWN_7E0654 = $7E0654
UNKNOWN_7E0655 = $7E0655
UNKNOWN_7E0656 = $7E0656
; TODO unsued?
; [7E0657..7E067F]
;---------------------------------------------------------------------------------------------------
; Inventory stuff? TODO does it start here?
;---------------------------------------------------------------------------------------------------
UNKNOWN_7E0680 = $7E0680
UNKNOWN_7E0681 = $7E0681
UNKNOWN_7E0682 = $7E0682
UNKNOWN_7E0683 = $7E0683
UNKNOWN_7E0684 = $7E0684
UNKNOWN_7E0685 = $7E0685
UNKNOWN_7E0686 = $7E0686
UNKNOWN_7E0687 = $7E0687
BAGPAGE = $7E0688
UNKNOWN_7E0689 = $7E0689
BAGBUFFERPOS = $7E068A
UNKNOWN_7E068B = $7E068B
UNKNOWN_7E068C = $7E068C
UNKNOWN_7E068D = $7E068D
UNKNOWN_7E068E = $7E068E
UNKNOWN_7E068F = $7E068F
; TODO used for jumps but also compared against things???
UNKNOWN_7E0690 = $7E0690
UNKNOWN_7E0691 = $7E0691
UNKNOWN_7E0692 = $7E0692
UNKNOWN_7E0693 = $7E0693
UNKNOWN_7E0694 = $7E0694
UNKNOWN_7E0695 = $7E0695
UNKNOWN_7E0696 = $7E0696
UNKNOWN_7E0697 = $7E0697
UNKNOWN_7E0698 = $7E0698
UNKNOWN_7E0699 = $7E0699
UNKNOWN_7E069A = $7E069A
UNKNOWN_7E069B = $7E069B
UNKNOWN_7E069C = $7E069C
UNKNOWN_7E069D = $7E069D
UNKNOWN_7E069E = $7E069E
UNKNOWN_7E069F = $7E069F
BAGLISTBUFFER = $7E06A0
UNKNOWN_7E06E0 = $7E06E0
UNKNOWN_7E06E1 = $7E06E1
UNKNOWN_7E06E2 = $7E06E2
UNKNOWN_7E06E3 = $7E06E3
; TODO holds cursor row at least once
UNKNOWN_7E06E4 = $7E06E4
UNKNOWN_7E06E5 = $7E06E5
; TODO unused?
; [7E06E6..7E06E7]
UNKNOWN_7E06E8 = $7E06E8
UNKNOWN_7E06E9 = $7E06E9
; TODO unused?
; [7E06EA..7E06FF]
;---------------------------------------------------------------------------------------------------
; SRAM buffer; see «symbols_sram.asm»
;---------------------------------------------------------------------------------------------------
SRAMX000COPY = $7E0700
;---------------------------------------------------------------------------------------------------
; TODO unused?
; [7E0800..7E08FF]
;---------------------------------------------------------------------------------------------------
; TODO character buffers?
UNKNOWN_7E0900 = $7E0900
UNKNOWN_7E0940 = $7E0940
; TODO caches something at least once
UNKNOWN_7E0980 = $7E0980
; TODO unused?
; [7E0982..7E098B]
; Seems to be a buffer for rearranging items
BAGSORTBUFFER = $7E098C
; TODO inventory buffer offset?
UNKNOWN_7E09F0 = $7E09F0
BAGOFFSET = $7E09F1
; Menu cursor stuff
MENUCOL = $7E09F2
MENUROW = $7E09F3
;---------------------------------------------------------------------------------------------------
; TODO verify?
; 0x8B character selection
; 0x8C stat selection
; 0x8D spell/item selection
;---------------------------------------------------------------------------------------------------
MENUID = $7E09F4
UNKNOWN_7E09F5 = $7E09F5
UNKNOWN_7E09F6 = $7E09F6
UNKNOWN_7E09F7 = $7E09F7
UNKNOWN_7E09F8 = $7E09F8
UNKNOWN_7E09F9 = $7E09F9
UNKNOWN_7E09FA = $7E09FA
; TODO max menu position?
UNKNOWN_7E09FB = $7E09FB
UNKNOWN_7E09FC = $7E09FC
UNKNOWN_7E09FD = $7E09FD
UNKNOWN_7E09FE = $7E09FE
UNKNOWN_7E09FF = $7E09FF
;---------------------------------------------------------------------------------------------------
UNKNOWN_7E0A00 = $7E0A00
UNKNOWN_7E0A01 = $7E0A01
UNKNOWN_7E0A02 = $7E0A02
UNKNOWN_7E0A03 = $7E0A03
UNKNOWN_7E0A04 = $7E0A04
UNKNOWN_7E0A05 = $7E0A05
UNKNOWN_7E0A06 = $7E0A06
UNKNOWN_7E0A07 = $7E0A07
UNKNOWN_7E0A08 = $7E0A08
UNKNOWN_7E0A09 = $7E0A09
UNKNOWN_7E0A0A = $7E0A0A
UNKNOWN_7E0A0B = $7E0A0B
UNKNOWN_7E0A0C = $7E0A0C
UNKNOWN_7E0A0D = $7E0A0D
UNKNOWN_7E0A0E = $7E0A0E
UNKNOWN_7E0A0F = $7E0A0F
UNKNOWN_7E0A10 = $7E0A10
UNKNOWN_7E0A11 = $7E0A11
UNKNOWN_7E0A12 = $7E0A12
UNKNOWN_7E0A13 = $7E0A13
UNKNOWN_7E0A14 = $7E0A14
UNKNOWN_7E0A15 = $7E0A15
UNKNOWN_7E0A16 = $7E0A16
UNKNOWN_7E0A17 = $7E0A17
UNKNOWN_7E0A18 = $7E0A18
UNKNOWN_7E0A19 = $7E0A19
UNKNOWN_7E0A1A = $7E0A1A
UNKNOWN_7E0A1B = $7E0A1B
UNKNOWN_7E0A1C = $7E0A1C
UNKNOWN_7E0A1D = $7E0A1D
UNKNOWN_7E0A1E = $7E0A1E
UNKNOWN_7E0A1F = $7E0A1F
UNKNOWN_7E0A20 = $7E0A20
UNKNOWN_7E0A21 = $7E0A21
UNKNOWN_7E0A22 = $7E0A22
UNKNOWN_7E0A23 = $7E0A23
; TODO reanalyze and reverify
; $0A24[0x2] - holds index for which sub bank to look at
; $0A26[0x2] - holds info for findings pointers in banks 8,9,A,B
; $0A28[0x2] - text line being written
; $0A2A[0x2] - text box height
; $0A2C[0x1] - top byte of tile value for writing text?
; $0A33[0x2] - flag for whether to call 039653 in some cases; text?
; $0A33[0x1] - position counter for text?
; $0A3C[0x1] - if 1, text commands are +0x60
; $0A3E[0x2] - caches spell offsets at one point
UNKNOWN_7E0A24 = $7E0A24
UNKNOWN_7E0A25 = $7E0A25
UNKNOWN_7E0A26 = $7E0A26
UNKNOWN_7E0A27 = $7E0A27
UNKNOWN_7E0A28 = $7E0A28
UNKNOWN_7E0A29 = $7E0A29
UNKNOWN_7E0A2A = $7E0A2A
UNKNOWN_7E0A2B = $7E0A2B
UNKNOWN_7E0A2C = $7E0A2C
UNKNOWN_7E0A2D = $7E0A2D
UNKNOWN_7E0A2E = $7E0A2E
UNKNOWN_7E0A2F = $7E0A2F
UNKNOWN_7E0A30 = $7E0A30
UNKNOWN_7E0A31 = $7E0A31
UNKNOWN_7E0A32 = $7E0A32
UNKNOWN_7E0A33 = $7E0A33
UNKNOWN_7E0A34 = $7E0A34
UNKNOWN_7E0A35 = $7E0A35
UNKNOWN_7E0A36 = $7E0A36
UNKNOWN_7E0A37 = $7E0A37
UNKNOWN_7E0A38 = $7E0A38
UNKNOWN_7E0A39 = $7E0A39
UNKNOWN_7E0A3A = $7E0A3A
UNKNOWN_7E0A3B = $7E0A3B
UNKNOWN_7E0A3C = $7E0A3C
UNKNOWN_7E0A3D = $7E0A3D
UNKNOWN_7E0A3E = $7E0A3E
UNKNOWN_7E0A3F = $7E0A3F
UNKNOWN_7E0A40 = $7E0A40
UNKNOWN_7E0A41 = $7E0A41
UNKNOWN_7E0A42 = $7E0A42
UNKNOWN_7E0A43 = $7E0A43
UNKNOWN_7E0A44 = $7E0A44
UNKNOWN_7E0A45 = $7E0A45
UNKNOWN_7E0A46 = $7E0A46
UNKNOWN_7E0A47 = $7E0A47
UNKNOWN_7E0A48 = $7E0A48
UNKNOWN_7E0A49 = $7E0A49
UNKNOWN_7E0A4A = $7E0A4A
UNKNOWN_7E0A4B = $7E0A4B
UNKNOWN_7E0A4C = $7E0A4C
UNKNOWN_7E0A4D = $7E0A4D
UNKNOWN_7E0A4E = $7E0A4E
UNKNOWN_7E0A4F = $7E0A4F
; ID of item to reference in text
ITEMREF = $7E0A50
; Used when removing an item
; 0x00 search inventory
; 0x01-0x7F take from slot
; 0x80-0xFF search specific character's equipment
ITEMACT = $7E0A51
; Spell ID cache
SPELL = $7E0A52
UNKNOWN_7E0A53 = $7E0A53
UNKNOWN_7E0A54 = $7E0A54
UNKNOWN_7E0A55 = $7E0A55
UNKNOWN_7E0A56 = $7E0A56
UNKNOWN_7E0A57 = $7E0A57
; TODO Flag for adding/removing items to/from inventory; FF = failure
UNKNOWN_7E0A58 = $7E0A58
UNKNOWN_7E0A59 = $7E0A59
UNKNOWN_7E0A5A = $7E0A5A
UNKNOWN_7E0A5B = $7E0A5B
UNKNOWN_7E0A5C = $7E0A5C
UNKNOWN_7E0A5D = $7E0A5D
UNKNOWN_7E0A5E = $7E0A5E
UNKNOWN_7E0A5F = $7E0A5F
UNKNOWN_7E0A60 = $7E0A60
UNKNOWN_7E0A61 = $7E0A61
UNKNOWN_7E0A62 = $7E0A62
UNKNOWN_7E0A63 = $7E0A63
UNKNOWN_7E0A64 = $7E0A64
UNKNOWN_7E0A65 = $7E0A65
UNKNOWN_7E0A66 = $7E0A66
UNKNOWN_7E0A67 = $7E0A67
UNKNOWN_7E0A68 = $7E0A68
UNKNOWN_7E0A69 = $7E0A69
UNKNOWN_7E0A6A = $7E0A6A
UNKNOWN_7E0A6B = $7E0A6B
UNKNOWN_7E0A6C = $7E0A6C
UNKNOWN_7E0A6D = $7E0A6D
UNKNOWN_7E0A6E = $7E0A6E
UNKNOWN_7E0A6F = $7E0A6F
UNKNOWN_7E0A70 = $7E0A70
UNKNOWN_7E0A71 = $7E0A71
UNKNOWN_7E0A72 = $7E0A72
UNKNOWN_7E0A73 = $7E0A73
UNKNOWN_7E0A74 = $7E0A74
UNKNOWN_7E0A75 = $7E0A75
UNKNOWN_7E0A76 = $7E0A76
UNKNOWN_7E0A77 = $7E0A77
UNKNOWN_7E0A78 = $7E0A78
UNKNOWN_7E0A79 = $7E0A79
UNKNOWN_7E0A7A = $7E0A7A
UNKNOWN_7E0A7B = $7E0A7B
UNKNOWN_7E0A7C = $7E0A7C
UNKNOWN_7E0A7D = $7E0A7D
UNKNOWN_7E0A7E = $7E0A7E
UNKNOWN_7E0A7F = $7E0A7F
UNKNOWN_7E0A80 = $7E0A80
UNKNOWN_7E0A81 = $7E0A81
UNKNOWN_7E0A82 = $7E0A82
UNKNOWN_7E0A83 = $7E0A83
UNKNOWN_7E0A84 = $7E0A84
UNKNOWN_7E0A85 = $7E0A85
UNKNOWN_7E0A86 = $7E0A86
UNKNOWN_7E0A87 = $7E0A87
UNKNOWN_7E0A88 = $7E0A88
UNKNOWN_7E0A89 = $7E0A89
UNKNOWN_7E0A8A = $7E0A8A
UNKNOWN_7E0A8B = $7E0A8B
UNKNOWN_7E0A8C = $7E0A8C
UNKNOWN_7E0A8D = $7E0A8D
UNKNOWN_7E0A8E = $7E0A8E
UNKNOWN_7E0A8F = $7E0A8F
UNKNOWN_7E0A90 = $7E0A90
UNKNOWN_7E0A91 = $7E0A91
UNKNOWN_7E0A92 = $7E0A92
UNKNOWN_7E0A93 = $7E0A93
UNKNOWN_7E0A94 = $7E0A94
UNKNOWN_7E0A95 = $7E0A95
UNKNOWN_7E0A96 = $7E0A96
UNKNOWN_7E0A97 = $7E0A97
UNKNOWN_7E0A98 = $7E0A98
UNKNOWN_7E0A99 = $7E0A99
UNKNOWN_7E0A9A = $7E0A9A
UNKNOWN_7E0A9B = $7E0A9B
UNKNOWN_7E0A9C = $7E0A9C
UNKNOWN_7E0A9D = $7E0A9D
UNKNOWN_7E0A9E = $7E0A9E
UNKNOWN_7E0A9F = $7E0A9F
UNKNOWN_7E0AA0 = $7E0AA0
UNKNOWN_7E0AA1 = $7E0AA1
UNKNOWN_7E0AA2 = $7E0AA2
UNKNOWN_7E0AA3 = $7E0AA3
UNKNOWN_7E0AA4 = $7E0AA4
UNKNOWN_7E0AA5 = $7E0AA5
UNKNOWN_7E0AA6 = $7E0AA6
UNKNOWN_7E0AA7 = $7E0AA7
UNKNOWN_7E0AA8 = $7E0AA8
UNKNOWN_7E0AA9 = $7E0AA9
UNKNOWN_7E0AAA = $7E0AAA
; TODO
UNKNOWN_7E0AAB = $7E0AAB
; TODO unused?
; [7E0AB3..7E0AFF]
;---------------------------------------------------------------------------------------------------
; OAM coordinate of OW pin
PINX = $7E0B00
PINY = $7E0B02
; OW coordinates (distinct from SRAM; steps of 2)
OWCOORDX = $7E0B04
OWCOORDY = $7E0B06
; OW camera stuff TODO
OWCMX = $7E0B08
OWCMY = $7E0B0A
OWCLX = $7E0B0C
OWCLY = $7E0B0E
UNKNOWN_7E0B10 = $7E0B10
UNKNOWN_7E0B11 = $7E0B11
UNKNOWN_7E0B12 = $7E0B12
UNKNOWN_7E0B13 = $7E0B13
; TODO overworld input related
UNKNOWN_7E0B14 = $7E0B14
UNKNOWN_7E0B15 = $7E0B15
; TODO overworld movement related
UNKNOWN_7E0B16 = $7E0B16
UNKNOWN_7E0B17 = $7E0B17
UNKNOWN_7E0B18 = $7E0B18
; OW camera caches
OWCHX = $7E0B19
OWCHY = $7E0B1B
UNKNOWN_7E0B1D = $7E0B1D
UNKNOWN_7E0B1E = $7E0B1E
UNKNOWN_7E0B1F = $7E0B1F
UNKNOWN_7E0B20 = $7E0B20
; TODO something with overworld tile types
UNKNOWN_7E0B21 = $7E0B21
; TODO something with above
UNKNOWN_7E0B2A = $7E0B2A
UNKNOWN_7E0B2B = $7E0B2B
UNKNOWN_7E0B2C = $7E0B2C
; TODO some frame counter
UNKNOWN_7E0B2D = $7E0B2D
UNKNOWN_7E0B2E = $7E0B2E
UNKNOWN_7E0B2F = $7E0B2F
UNKNOWN_7E0B30 = $7E0B30
UNKNOWN_7E0B31 = $7E0B31
; TODO copy of $04B0?
UNKNOWN_7E0B32 = $7E0B32
; TODO something with moon phase in overworld
UNKNOWN_7E0B34 = $7E0B34
UNKNOWN_7E0B35 = $7E0B35
UNKNOWN_7E0B36 = $7E0B36
UNKNOWN_7E0B37 = $7E0B37
; TODO cycle 0, 2, 4, 6
UNKNOWN_7E0B38 = $7E0B38
; Counts 0-7 for above
UNKNOWN_7E0B39 = $7E0B39
; Idle behavior of hud
; 0xFF - nothing
; 0x01 - drop and draw money
; 0x02 - draw MAG and done
HUDIDLE = $7E0B3A
; Counts up to 0x77
HUDIDLETIMER = $7E0B3B
UNKNOWN_7E0B3C = $7E0B3C
UNKNOWN_7E0B3D = $7E0B3D
UNKNOWN_7E0B3E = $7E0B3E
; TODO scratch space arrays?
UNKNOWN_7E0B3F = $7E0B3F
UNKNOWN_7E0B4F = $7E0B4F
UNKNOWN_7E0B5F = $7E0B5F
; TODO overlapping scratch space tables?
UNKNOWN_7E0B61 = $7E0B61
UNKNOWN_7E0B63 = $7E0B63
UNKNOWN_7E0B7C = $7E0B7C
UNKNOWN_7E0B7D = $7E0B7D
UNKNOWN_7E0B7E = $7E0B7E
UNKNOWN_7E0B7F = $7E0B7F
UNKNOWN_7E0B80 = $7E0B80
UNKNOWN_7E0B81 = $7E0B81
UNKNOWN_7E0B82 = $7E0B82
UNKNOWN_7E0B83 = $7E0B83
UNKNOWN_7E0B84 = $7E0B84
UNKNOWN_7E0B85 = $7E0B85
UNKNOWN_7E0B86 = $7E0B86
UNKNOWN_7E0B87 = $7E0B87
UNKNOWN_7E0B88 = $7E0B88
UNKNOWN_7E0B89 = $7E0B89
UNKNOWN_7E0B8A = $7E0B8A
UNKNOWN_7E0B8B = $7E0B8B
UNKNOWN_7E0B8C = $7E0B8C
UNKNOWN_7E0B8D = $7E0B8D
UNKNOWN_7E0B8E = $7E0B8E
UNKNOWN_7E0B8F = $7E0B8F
UNKNOWN_7E0B90 = $7E0B90
UNKNOWN_7E0B91 = $7E0B91
UNKNOWN_7E0B92 = $7E0B92
UNKNOWN_7E0B93 = $7E0B93
UNKNOWN_7E0B94 = $7E0B94
UNKNOWN_7E0B95 = $7E0B95
UNKNOWN_7E0B96 = $7E0B96
UNKNOWN_7E0B97 = $7E0B97
UNKNOWN_7E0B98 = $7E0B98
UNKNOWN_7E0B99 = $7E0B99
UNKNOWN_7E0B9A = $7E0B9A
UNKNOWN_7E0B9B = $7E0B9B
UNKNOWN_7E0B9C = $7E0B9C
UNKNOWN_7E0B9D = $7E0B9D
UNKNOWN_7E0B9E = $7E0B9E
UNKNOWN_7E0B9F = $7E0B9F
UNKNOWN_7E0BA0 = $7E0BA0
; TODO holds stats index at least once
UNKNOWN_7E0BA1 = $7E0BA1
UNKNOWN_7E0BA2 = $7E0BA2
UNKNOWN_7E0BA3 = $7E0BA3
UNKNOWN_7E0BA4 = $7E0BA4
UNKNOWN_7E0BA5 = $7E0BA5
UNKNOWN_7E0BA6 = $7E0BA6
UNKNOWN_7E0BA7 = $7E0BA7
UNKNOWN_7E0BA8 = $7E0BA8
UNKNOWN_7E0BA9 = $7E0BA9
UNKNOWN_7E0BAA = $7E0BAA
UNKNOWN_7E0BAB = $7E0BAB
UNKNOWN_7E0BAC = $7E0BAC
UNKNOWN_7E0BAD = $7E0BAD
UNKNOWN_7E0BAE = $7E0BAE
UNKNOWN_7E0BAF = $7E0BAF
UNKNOWN_7E0BB0 = $7E0BB0
UNKNOWN_7E0BB1 = $7E0BB1
UNKNOWN_7E0BB2 = $7E0BB2
UNKNOWN_7E0BB3 = $7E0BB3
UNKNOWN_7E0BB4 = $7E0BB4
UNKNOWN_7E0BB5 = $7E0BB5
UNKNOWN_7E0BB6 = $7E0BB6
UNKNOWN_7E0BB7 = $7E0BB7
UNKNOWN_7E0BB8 = $7E0BB8
UNKNOWN_7E0BB9 = $7E0BB9
UNKNOWN_7E0BBA = $7E0BBA
UNKNOWN_7E0BBB = $7E0BBB
UNKNOWN_7E0BBC = $7E0BBC
UNKNOWN_7E0BBD = $7E0BBD
UNKNOWN_7E0BBE = $7E0BBE
UNKNOWN_7E0BBF = $7E0BBF
UNKNOWN_7E0BC0 = $7E0BC0
UNKNOWN_7E0BC1 = $7E0BC1
UNKNOWN_7E0BC2 = $7E0BC2
UNKNOWN_7E0BC3 = $7E0BC3
UNKNOWN_7E0BC4 = $7E0BC4
UNKNOWN_7E0BC5 = $7E0BC5
UNKNOWN_7E0BC6 = $7E0BC6
UNKNOWN_7E0BC7 = $7E0BC7
UNKNOWN_7E0BC8 = $7E0BC8
UNKNOWN_7E0BC9 = $7E0BC9
UNKNOWN_7E0BCA = $7E0BCA
UNKNOWN_7E0BCB = $7E0BCB
UNKNOWN_7E0BCC = $7E0BCC
UNKNOWN_7E0BCD = $7E0BCD
UNKNOWN_7E0BCE = $7E0BCE
UNKNOWN_7E0BCF = $7E0BCF
UNKNOWN_7E0BD0 = $7E0BD0
UNKNOWN_7E0BD1 = $7E0BD1
UNKNOWN_7E0BD2 = $7E0BD2
UNKNOWN_7E0BD3 = $7E0BD3
UNKNOWN_7E0BD4 = $7E0BD4
UNKNOWN_7E0BD5 = $7E0BD5
UNKNOWN_7E0BD6 = $7E0BD6
UNKNOWN_7E0BD7 = $7E0BD7
UNKNOWN_7E0BD8 = $7E0BD8
UNKNOWN_7E0BD9 = $7E0BD9
UNKNOWN_7E0BDA = $7E0BDA
UNKNOWN_7E0BDB = $7E0BDB
UNKNOWN_7E0BDC = $7E0BDC
UNKNOWN_7E0BDD = $7E0BDD
UNKNOWN_7E0BDE = $7E0BDE
UNKNOWN_7E0BDF = $7E0BDF
UNKNOWN_7E0BE0 = $7E0BE0
UNKNOWN_7E0BE1 = $7E0BE1
; TODO last/current save/terminal
UNKNOWN_7E0BE2 = $7E0BE2
UNKNOWN_7E0BE3 = $7E0BE3
UNKNOWN_7E0BE4 = $7E0BE4
UNKNOWN_7E0BE5 = $7E0BE5
UNKNOWN_7E0BE6 = $7E0BE6
UNKNOWN_7E0BE7 = $7E0BE7
UNKNOWN_7E0BE8 = $7E0BE8
UNKNOWN_7E0BE9 = $7E0BE9
UNKNOWN_7E0BEA = $7E0BEA
UNKNOWN_7E0BEB = $7E0BEB
UNKNOWN_7E0BEC = $7E0BEC
; TODO holds item ids at one point for fusion
UNKNOWN_7E0BED = $7E0BED
UNKNOWN_7E0BEE = $7E0BEE
; TODO Hold demons ids at one point for fusion
UNKNOWN_7E0BEF = $7E0BEF
UNKNOWN_7E0BF0 = $7E0BF0
UNKNOWN_7E0BF1 = $7E0BF1
UNKNOWN_7E0BF2 = $7E0BF2
UNKNOWN_7E0BF3 = $7E0BF3
UNKNOWN_7E0BF4 = $7E0BF4
UNKNOWN_7E0BF5 = $7E0BF5
UNKNOWN_7E0BF6 = $7E0BF6
UNKNOWN_7E0BF7 = $7E0BF7
UNKNOWN_7E0BF8 = $7E0BF8
UNKNOWN_7E0BF9 = $7E0BF9
UNKNOWN_7E0BFA = $7E0BFA
UNKNOWN_7E0BFB = $7E0BFB
UNKNOWN_7E0BFC = $7E0BFC
UNKNOWN_7E0BFD = $7E0BFD
UNKNOWN_7E0BFE = $7E0BFE
UNKNOWN_7E0BFF = $7E0BFF
;---------------------------------------------------------------------------------------------------
UNKNOWN_7E0C00 = $7E0C00
UNKNOWN_7E0C01 = $7E0C01
UNKNOWN_7E0C02 = $7E0C02
UNKNOWN_7E0C03 = $7E0C03
UNKNOWN_7E0C04 = $7E0C04
UNKNOWN_7E0C05 = $7E0C05
UNKNOWN_7E0C06 = $7E0C06
UNKNOWN_7E0C07 = $7E0C07
UNKNOWN_7E0C08 = $7E0C08
UNKNOWN_7E0C09 = $7E0C09
UNKNOWN_7E0C0A = $7E0C0A
UNKNOWN_7E0C0B = $7E0C0B
UNKNOWN_7E0C0C = $7E0C0C
UNKNOWN_7E0C0D = $7E0C0D
UNKNOWN_7E0C0E = $7E0C0E
UNKNOWN_7E0C0F = $7E0C0F
UNKNOWN_7E0C10 = $7E0C10
UNKNOWN_7E0C11 = $7E0C11
UNKNOWN_7E0C12 = $7E0C12
UNKNOWN_7E0C13 = $7E0C13
UNKNOWN_7E0C14 = $7E0C14
UNKNOWN_7E0C15 = $7E0C15
UNKNOWN_7E0C16 = $7E0C16
UNKNOWN_7E0C17 = $7E0C17
UNKNOWN_7E0C18 = $7E0C18
UNKNOWN_7E0C19 = $7E0C19
UNKNOWN_7E0C1A = $7E0C1A
UNKNOWN_7E0C1B = $7E0C1B
UNKNOWN_7E0C1C = $7E0C1C
UNKNOWN_7E0C1D = $7E0C1D
UNKNOWN_7E0C1E = $7E0C1E
UNKNOWN_7E0C1F = $7E0C1F
UNKNOWN_7E0C20 = $7E0C20
UNKNOWN_7E0C21 = $7E0C21
UNKNOWN_7E0C22 = $7E0C22
UNKNOWN_7E0C23 = $7E0C23
UNKNOWN_7E0C24 = $7E0C24
UNKNOWN_7E0C25 = $7E0C25
UNKNOWN_7E0C26 = $7E0C26
UNKNOWN_7E0C27 = $7E0C27
UNKNOWN_7E0C28 = $7E0C28
UNKNOWN_7E0C29 = $7E0C29
UNKNOWN_7E0C2A = $7E0C2A
UNKNOWN_7E0C2B = $7E0C2B
UNKNOWN_7E0C2C = $7E0C2C
UNKNOWN_7E0C2D = $7E0C2D
UNKNOWN_7E0C2E = $7E0C2E
UNKNOWN_7E0C2F = $7E0C2F
UNKNOWN_7E0C30 = $7E0C30
UNKNOWN_7E0C31 = $7E0C31
UNKNOWN_7E0C32 = $7E0C32
UNKNOWN_7E0C33 = $7E0C33
UNKNOWN_7E0C34 = $7E0C34
UNKNOWN_7E0C35 = $7E0C35
UNKNOWN_7E0C36 = $7E0C36
UNKNOWN_7E0C37 = $7E0C37
UNKNOWN_7E0C38 = $7E0C38
UNKNOWN_7E0C39 = $7E0C39
UNKNOWN_7E0C3A = $7E0C3A
UNKNOWN_7E0C3B = $7E0C3B
UNKNOWN_7E0C3C = $7E0C3C
UNKNOWN_7E0C3D = $7E0C3D
UNKNOWN_7E0C3E = $7E0C3E
UNKNOWN_7E0C3F = $7E0C3F
UNKNOWN_7E0C40 = $7E0C40
UNKNOWN_7E0C41 = $7E0C41
UNKNOWN_7E0C42 = $7E0C42
UNKNOWN_7E0C43 = $7E0C43
UNKNOWN_7E0C44 = $7E0C44
UNKNOWN_7E0C45 = $7E0C45
UNKNOWN_7E0C46 = $7E0C46
UNKNOWN_7E0C47 = $7E0C47
UNKNOWN_7E0C48 = $7E0C48
UNKNOWN_7E0C49 = $7E0C49
UNKNOWN_7E0C4A = $7E0C4A
UNKNOWN_7E0C4B = $7E0C4B
UNKNOWN_7E0C4C = $7E0C4C
UNKNOWN_7E0C4D = $7E0C4D
UNKNOWN_7E0C4E = $7E0C4E
; TODO if negative, exits menu
UNKNOWN_7E0C4F = $7E0C4F
UNKNOWN_7E0C50 = $7E0C50
UNKNOWN_7E0C51 = $7E0C51
UNKNOWN_7E0C52 = $7E0C52
UNKNOWN_7E0C53 = $7E0C53
UNKNOWN_7E0C54 = $7E0C54
UNKNOWN_7E0C55 = $7E0C55
UNKNOWN_7E0C56 = $7E0C56
UNKNOWN_7E0C57 = $7E0C57
UNKNOWN_7E0C58 = $7E0C58
UNKNOWN_7E0C59 = $7E0C59
UNKNOWN_7E0C5A = $7E0C5A
UNKNOWN_7E0C5B = $7E0C5B
; TODO HUD VRAM target?
UNKNOWN_7E0C5C = $7E0C5C
UNKNOWN_7E0C5D = $7E0C5D
UNKNOWN_7E0C5E = $7E0C5E
UNKNOWN_7E0C5F = $7E0C5F
UNKNOWN_7E0C60 = $7E0C60
UNKNOWN_7E0C61 = $7E0C61
UNKNOWN_7E0C62 = $7E0C62
UNKNOWN_7E0C63 = $7E0C63
UNKNOWN_7E0C64 = $7E0C64
UNKNOWN_7E0C65 = $7E0C65
UNKNOWN_7E0C66 = $7E0C66
UNKNOWN_7E0C67 = $7E0C67
UNKNOWN_7E0C68 = $7E0C68
UNKNOWN_7E0C69 = $7E0C69
UNKNOWN_7E0C6A = $7E0C6A
UNKNOWN_7E0C6B = $7E0C6B
UNKNOWN_7E0C6C = $7E0C6C
UNKNOWN_7E0C6D = $7E0C6D
UNKNOWN_7E0C6E = $7E0C6E
UNKNOWN_7E0C6F = $7E0C6F
UNKNOWN_7E0C70 = $7E0C70
UNKNOWN_7E0C71 = $7E0C71
UNKNOWN_7E0C72 = $7E0C72
UNKNOWN_7E0C73 = $7E0C73
UNKNOWN_7E0C74 = $7E0C74
UNKNOWN_7E0C75 = $7E0C75
UNKNOWN_7E0C76 = $7E0C76
UNKNOWN_7E0C77 = $7E0C77
UNKNOWN_7E0C78 = $7E0C78
UNKNOWN_7E0C79 = $7E0C79
UNKNOWN_7E0C7A = $7E0C7A
UNKNOWN_7E0C7B = $7E0C7B
UNKNOWN_7E0C7C = $7E0C7C
UNKNOWN_7E0C7D = $7E0C7D
UNKNOWN_7E0C7E = $7E0C7E
UNKNOWN_7E0C7F = $7E0C7F
UNKNOWN_7E0C80 = $7E0C80
UNKNOWN_7E0C81 = $7E0C81
UNKNOWN_7E0C82 = $7E0C82
UNKNOWN_7E0C83 = $7E0C83
UNKNOWN_7E0C84 = $7E0C84
UNKNOWN_7E0C85 = $7E0C85
UNKNOWN_7E0C86 = $7E0C86
UNKNOWN_7E0C87 = $7E0C87
UNKNOWN_7E0C88 = $7E0C88
UNKNOWN_7E0C89 = $7E0C89
UNKNOWN_7E0C8A = $7E0C8A
UNKNOWN_7E0C8B = $7E0C8B
UNKNOWN_7E0C8C = $7E0C8C
UNKNOWN_7E0C8D = $7E0C8D
UNKNOWN_7E0C8E = $7E0C8E
UNKNOWN_7E0C8F = $7E0C8F
UNKNOWN_7E0C90 = $7E0C90
UNKNOWN_7E0C91 = $7E0C91
UNKNOWN_7E0C92 = $7E0C92
UNKNOWN_7E0C93 = $7E0C93
UNKNOWN_7E0C94 = $7E0C94
UNKNOWN_7E0C95 = $7E0C95
UNKNOWN_7E0C96 = $7E0C96
UNKNOWN_7E0C97 = $7E0C97
UNKNOWN_7E0C98 = $7E0C98
UNKNOWN_7E0C99 = $7E0C99
UNKNOWN_7E0C9A = $7E0C9A
UNKNOWN_7E0C9B = $7E0C9B
UNKNOWN_7E0C9C = $7E0C9C
UNKNOWN_7E0C9D = $7E0C9D
UNKNOWN_7E0C9E = $7E0C9E
UNKNOWN_7E0C9F = $7E0C9F
UNKNOWN_7E0CA0 = $7E0CA0
UNKNOWN_7E0CA1 = $7E0CA1
UNKNOWN_7E0CA2 = $7E0CA2
UNKNOWN_7E0CA3 = $7E0CA3
UNKNOWN_7E0CA4 = $7E0CA4
UNKNOWN_7E0CA5 = $7E0CA5
; TODO some text buffer on hud?
UNKNOWN_7E0CA6 = $7E0CA6
UNKNOWN_7E0CA7 = $7E0CA7
UNKNOWN_7E0CA8 = $7E0CA8
UNKNOWN_7E0CA9 = $7E0CA9
UNKNOWN_7E0CAA = $7E0CAA
UNKNOWN_7E0CAB = $7E0CAB
UNKNOWN_7E0CAC = $7E0CAC
UNKNOWN_7E0CAD = $7E0CAD