Yu-Gi-Oh! The Sacred Cards/ROM map

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a ROM map for Yu-Gi-Oh! The Sacred Cards.

Deck management

Limited cards

0x14D9C

08014D9C B5F0     push    r4-r7,r14                               ;
08014D9E 4657     mov     r7,r10                                  ;
08014DA0 464E     mov     r6,r9                                   ;
08014DA2 4645     mov     r5,r8                                   ;
08014DA4 B4E0     push    r5-r7                                   ;
08014DA6 B081     add     sp,-4h                                  ;
08014DA8 2700     mov     r7,0h                                   ;
08014DAA 0138     lsl     r0,r7,4h                                ;
08014DAC 1BC0     sub     r0,r0,r7                                ;
08014DAE 0080     lsl     r0,r0,2h                                ;
08014DB0 49B6     ldr     r1,=8084B8Ch                            ;
08014DB2 1840     add     r0,r0,r1                                ;r0 += 0x8084B8C (array of pointers ?)
08014DB4 01B9     lsl     r1,r7,6h                                ;
08014DB6 4CB6     ldr     r4,=2007C00h                            ;
08014DB8 1909     add     r1,r1,r4                                ;r1 = 0x2007C00 + (r7 << 6)
08014DBA 4AB6     ldr     r2,=400000Fh                            ;r2 = 0x400000F
08014DBC F022FAE8 bl      8037390h                                ;call swi 0x0B, call to BIOS function CPUSet
08014DC0 1C78     add     r0,r7,1                                 ;r0 = r7 + 1
08014DC2 0600     lsl     r0,r0,18h                               ;
08014DC4 0E07     lsr     r7,r0,18h                               ;
08014DC6 2F13     cmp     r7,13h                                  ;
08014DC8 D9EF     bls     8014DAAh                                ;
08014DCA 4669     mov     r1,r13                                  ;
08014DCC 2000     mov     r0,0h                                   ;
08014DCE 8008     strh    r0,[r1]                                 ;
08014DD0 48B1     ldr     r0,=0FFFFC800h                          ;
08014DD2 1821     add     r1,r4,r0                                ;
08014DD4 4AB1     ldr     r2,=1000010h                            ;
08014DD6 4668     mov     r0,r13                                  ;
08014DD8 F022FADA bl      8037390h                                ;call swi 0x0B, call to BIOS function CPUSet
08014DDC 24F0     mov     r4,0F0h                                 ;
08014DDE 01E4     lsl     r4,r4,7h                                ;
08014DE0 2000     mov     r0,0h                                   ;
08014DE2 2102     mov     r1,2h                                   ;
08014DE4 1C22     mov     r2,r4                                   ;
08014DE6 F7EEF971 bl      80030CCh                                ;
08014DEA 0400     lsl     r0,r0,10h                               ;
08014DEC 0C00     lsr     r0,r0,10h                               ;
08014DEE 4681     mov     r9,r0                                   ;
08014DF0 2002     mov     r0,2h                                   ;
08014DF2 2102     mov     r1,2h                                   ;
08014DF4 1C22     mov     r2,r4                                   ;
08014DF6 F7EEF969 bl      80030CCh                                ;
08014DFA 21FF     mov     r1,0FFh                                 ;
08014DFC 0209     lsl     r1,r1,8h                                ;
08014DFE 4688     mov     r8,r1                                   ;
08014E00 4001     and     r1,r0                                   ;
08014E02 4688     mov     r8,r1                                   ;
08014E04 2700     mov     r7,0h                                   ;
08014E06 1C26     mov     r6,r4                                   ;
08014E08 1D3C     add     r4,r7,4                                 ;
08014E0A 0624     lsl     r4,r4,18h                               ;
08014E0C 0E24     lsr     r4,r4,18h                               ;
08014E0E 4DA4     ldr     r5,=8D396C4h                            ;
08014E10 197D     add     r5,r7,r5                                ;
08014E12 782B     ldrb    r3,[r5]                                 ;
08014E14 331D     add     r3,1Dh                                  ;
08014E16 4640     mov     r0,r8                                   ;
08014E18 4303     orr     r3,r0                                   ;
08014E1A 1C20     mov     r0,r4                                   ;
08014E1C 2106     mov     r1,6h                                   ;
08014E1E 1C32     mov     r2,r6                                   ;
08014E20 F7EEF964 bl      80030ECh                                ;
08014E24 782B     ldrb    r3,[r5]                                 ;
08014E26 331F     add     r3,1Fh                                  ;
08014E28 4641     mov     r1,r8                                   ;
08014E2A 430B     orr     r3,r1                                   ;
08014E2C 1C20     mov     r0,r4                                   ;
08014E2E 2107     mov     r1,7h                                   ;
08014E30 1C32     mov     r2,r6                                   ;
08014E32 F7EEF95B bl      80030ECh                                ;
08014E36 782B     ldrb    r3,[r5]                                 ;
08014E38 333D     add     r3,3Dh                                  ;
08014E3A 4640     mov     r0,r8                                   ;
08014E3C 4303     orr     r3,r0                                   ;
08014E3E 1C20     mov     r0,r4                                   ;
08014E40 2108     mov     r1,8h                                   ;
08014E42 1C32     mov     r2,r6                                   ;
08014E44 F7EEF952 bl      80030ECh                                ;
08014E48 782B     ldrb    r3,[r5]                                 ;
08014E4A 333F     add     r3,3Fh                                  ;
08014E4C 4641     mov     r1,r8                                   ;
08014E4E 430B     orr     r3,r1                                   ;
08014E50 1C20     mov     r0,r4                                   ;
08014E52 2109     mov     r1,9h                                   ;
08014E54 1C32     mov     r2,r6                                   ;
08014E56 F7EEF949 bl      80030ECh                                ;
08014E5A 782B     ldrb    r3,[r5]                                 ;
08014E5C 335D     add     r3,5Dh                                  ;
08014E5E 4640     mov     r0,r8                                   ;
08014E60 4303     orr     r3,r0                                   ;
08014E62 1C20     mov     r0,r4                                   ;
08014E64 210A     mov     r1,0Ah                                  ;
08014E66 1C32     mov     r2,r6                                   ;
08014E68 F7EEF940 bl      80030ECh                                ;
08014E6C 782B     ldrb    r3,[r5]                                 ;
08014E6E 335F     add     r3,5Fh                                  ;
08014E70 4641     mov     r1,r8                                   ;
08014E72 430B     orr     r3,r1                                   ;
08014E74 1C20     mov     r0,r4                                   ;
08014E76 210B     mov     r1,0Bh                                  ;
08014E78 1C32     mov     r2,r6                                   ;
08014E7A F7EEF937 bl      80030ECh                                ;
08014E7E 1C78     add     r0,r7,1                                 ;
08014E80 0600     lsl     r0,r0,18h                               ;
08014E82 0E07     lsr     r7,r0,18h                               ;
08014E84 2F05     cmp     r7,5h                                   ;
08014E86 D9BF     bls     8014E08h                                ;
08014E88 2700     mov     r7,0h                                   ;
08014E8A 20F0     mov     r0,0F0h                                 ;
08014E8C 01C0     lsl     r0,r0,7h                                ;
08014E8E 4682     mov     r10,r0                                  ;
08014E90 1D3E     add     r6,r7,4                                 ;
08014E92 0636     lsl     r6,r6,18h                               ;
08014E94 0E36     lsr     r6,r6,18h                               ;
08014E96 4D82     ldr     r5,=8D396C4h                            ;
08014E98 197D     add     r5,r7,r5                                ;
08014E9A 782B     ldrb    r3,[r5]                                 ;
08014E9C 337D     add     r3,7Dh                                  ;
08014E9E 4641     mov     r1,r8                                   ;
08014EA0 430B     orr     r3,r1                                   ;
08014EA2 1C30     mov     r0,r6                                   ;
08014EA4 210C     mov     r1,0Ch                                  ;
08014EA6 4652     mov     r2,r10                                  ;
08014EA8 F7EEF920 bl      80030ECh                                ;
08014EAC 782B     ldrb    r3,[r5]                                 ;
08014EAE 337F     add     r3,7Fh                                  ;
08014EB0 4640     mov     r0,r8                                   ;
08014EB2 4303     orr     r3,r0                                   ;
08014EB4 1C30     mov     r0,r6                                   ;
08014EB6 210D     mov     r1,0Dh                                  ;
08014EB8 4652     mov     r2,r10                                  ;
08014EBA F7EEF917 bl      80030ECh                                ;
08014EBE 1C3C     mov     r4,r7                                   ;
08014EC0 3410     add     r4,10h                                  ;
08014EC2 0624     lsl     r4,r4,18h                               ;
08014EC4 0E24     lsr     r4,r4,18h                               ;
08014EC6 782B     ldrb    r3,[r5]                                 ;
08014EC8 338D     add     r3,8Dh                                  ;
08014ECA 4641     mov     r1,r8                                   ;
08014ECC 430B     orr     r3,r1                                   ;
08014ECE 1C20     mov     r0,r4                                   ;
08014ED0 210C     mov     r1,0Ch                                  ;
08014ED2 4652     mov     r2,r10                                  ;
08014ED4 F7EEF90A bl      80030ECh                                ;
08014ED8 782B     ldrb    r3,[r5]                                 ;
08014EDA 338F     add     r3,8Fh                                  ;
08014EDC 4640     mov     r0,r8                                   ;
08014EDE 4303     orr     r3,r0                                   ;
08014EE0 1C20     mov     r0,r4                                   ;
08014EE2 210D     mov     r1,0Dh                                  ;
08014EE4 4652     mov     r2,r10                                  ;
08014EE6 F7EEF901 bl      80030ECh                                ;
08014EEA 782B     ldrb    r3,[r5]                                 ;
08014EEC 33B1     add     r3,0B1h                                 ;
08014EEE 4641     mov     r1,r8                                   ;
08014EF0 430B     orr     r3,r1                                   ;
08014EF2 1C30     mov     r0,r6                                   ;
08014EF4 2111     mov     r1,11h                                  ;
08014EF6 4652     mov     r2,r10                                  ;
08014EF8 F7EEF8F8 bl      80030ECh                                ;
08014EFC 782B     ldrb    r3,[r5]                                 ;
08014EFE 33B3     add     r3,0B3h                                 ;
08014F00 4640     mov     r0,r8                                   ;
08014F02 4303     orr     r3,r0                                   ;
08014F04 1C30     mov     r0,r6                                   ;
08014F06 2112     mov     r1,12h                                  ;
08014F08 4652     mov     r2,r10                                  ;
08014F0A F7EEF8EF bl      80030ECh                                ;
08014F0E 1C78     add     r0,r7,1                                 ;
08014F10 0600     lsl     r0,r0,18h                               ;
08014F12 0E07     lsr     r7,r0,18h                               ;
08014F14 2F07     cmp     r7,7h                                   ;
08014F16 D9BB     bls     8014E90h                                ;
08014F18 2700     mov     r7,0h                                   ;
08014F1A 25F0     mov     r5,0F0h                                 ;
08014F1C 01ED     lsl     r5,r5,7h                                ;
08014F1E 1C3C     mov     r4,r7                                   ;
08014F20 340A     add     r4,0Ah                                  ;
08014F22 0624     lsl     r4,r4,18h                               ;
08014F24 0E24     lsr     r4,r4,18h                               ;
08014F26 1C20     mov     r0,r4                                   ;
08014F28 2106     mov     r1,6h                                   ;
08014F2A 1C2A     mov     r2,r5                                   ;
08014F2C 464B     mov     r3,r9                                   ;
08014F2E F7EEF8DD bl      80030ECh                                ;
08014F32 1C20     mov     r0,r4                                   ;
08014F34 2107     mov     r1,7h                                   ;
08014F36 1C2A     mov     r2,r5                                   ;
08014F38 464B     mov     r3,r9                                   ;
08014F3A F7EEF8D7 bl      80030ECh                                ;
08014F3E 1C20     mov     r0,r4                                   ;
08014F40 2108     mov     r1,8h                                   ;
08014F42 1C2A     mov     r2,r5                                   ;
08014F44 464B     mov     r3,r9                                   ;
08014F46 F7EEF8D1 bl      80030ECh                                ;
08014F4A 1C20     mov     r0,r4                                   ;
08014F4C 2109     mov     r1,9h                                   ;
08014F4E 1C2A     mov     r2,r5                                   ;
08014F50 464B     mov     r3,r9                                   ;
08014F52 F7EEF8CB bl      80030ECh                                ;
08014F56 1C20     mov     r0,r4                                   ;
08014F58 210A     mov     r1,0Ah                                  ;
08014F5A 1C2A     mov     r2,r5                                   ;
08014F5C 464B     mov     r3,r9                                   ;
08014F5E F7EEF8C5 bl      80030ECh                                ;
08014F62 1C20     mov     r0,r4                                   ;
08014F64 210B     mov     r1,0Bh                                  ;
08014F66 1C2A     mov     r2,r5                                   ;
08014F68 464B     mov     r3,r9                                   ;
08014F6A F7EEF8BF bl      80030ECh                                ;
08014F6E 1C78     add     r0,r7,1                                 ;
08014F70 0600     lsl     r0,r0,18h                               ;
08014F72 0E07     lsr     r7,r0,18h                               ;
08014F74 2F03     cmp     r7,3h                                   ;
08014F76 D9D2     bls     8014F1Eh                                ;
08014F78 2700     mov     r7,0h                                   ;
08014F7A 25F0     mov     r5,0F0h                                 ;
08014F7C 01ED     lsl     r5,r5,7h                                ;
08014F7E 1C3C     mov     r4,r7                                   ;
08014F80 340C     add     r4,0Ch                                  ;
08014F82 0624     lsl     r4,r4,18h                               ;
08014F84 0E24     lsr     r4,r4,18h                               ;
08014F86 1C20     mov     r0,r4                                   ;
08014F88 210C     mov     r1,0Ch                                  ;
08014F8A 1C2A     mov     r2,r5                                   ;
08014F8C 464B     mov     r3,r9                                   ;
08014F8E F7EEF8AD bl      80030ECh                                ;
08014F92 1C20     mov     r0,r4                                   ;
08014F94 210D     mov     r1,0Dh                                  ;
08014F96 1C2A     mov     r2,r5                                   ;
08014F98 464B     mov     r3,r9                                   ;
08014F9A F7EEF8A7 bl      80030ECh                                ;
08014F9E 1C78     add     r0,r7,1                                 ;
08014FA0 0600     lsl     r0,r0,18h                               ;
08014FA2 0E07     lsr     r7,r0,18h                               ;
08014FA4 2F01     cmp     r7,1h                                   ;
08014FA6 D9EA     bls     8014F7Eh                                ;
08014FA8 2700     mov     r7,0h                                   ;
08014FAA 26F0     mov     r6,0F0h                                 ;
08014FAC 01F6     lsl     r6,r6,7h                                ;
08014FAE 1C3C     mov     r4,r7                                   ;
08014FB0 3410     add     r4,10h                                  ;
08014FB2 0624     lsl     r4,r4,18h                               ;
08014FB4 0E24     lsr     r4,r4,18h                               ;
08014FB6 4D3A     ldr     r5,=8D396C4h                            ;
08014FB8 197D     add     r5,r7,r5                                ;
08014FBA 782B     ldrb    r3,[r5]                                 ;
08014FBC 3329     add     r3,29h                                  ;
08014FBE 4641     mov     r1,r8                                   ;
08014FC0 430B     orr     r3,r1                                   ;
08014FC2 1C20     mov     r0,r4                                   ;
08014FC4 2106     mov     r1,6h                                   ;
08014FC6 1C32     mov     r2,r6                                   ;
08014FC8 F7EEF890 bl      80030ECh                                ;
08014FCC 782B     ldrb    r3,[r5]                                 ;
08014FCE 332B     add     r3,2Bh                                  ;
08014FD0 4640     mov     r0,r8                                   ;
08014FD2 4303     orr     r3,r0                                   ;
08014FD4 1C20     mov     r0,r4                                   ;
08014FD6 2107     mov     r1,7h                                   ;
08014FD8 1C32     mov     r2,r6                                   ;
08014FDA F7EEF887 bl      80030ECh                                ;
08014FDE 782B     ldrb    r3,[r5]                                 ;
08014FE0 3349     add     r3,49h                                  ;
08014FE2 4641     mov     r1,r8                                   ;
08014FE4 430B     orr     r3,r1                                   ;
08014FE6 1C20     mov     r0,r4                                   ;
08014FE8 2108     mov     r1,8h                                   ;
08014FEA 1C32     mov     r2,r6                                   ;
08014FEC F7EEF87E bl      80030ECh                                ;
08014FF0 782B     ldrb    r3,[r5]                                 ;
08014FF2 334B     add     r3,4Bh                                  ;
08014FF4 4640     mov     r0,r8                                   ;
08014FF6 4303     orr     r3,r0                                   ;
08014FF8 1C20     mov     r0,r4                                   ;
08014FFA 2109     mov     r1,9h                                   ;
08014FFC 1C32     mov     r2,r6                                   ;
08014FFE F7EEF875 bl      80030ECh                                ;
08015002 782B     ldrb    r3,[r5]                                 ;
08015004 3369     add     r3,69h                                  ;
08015006 4641     mov     r1,r8                                   ;
08015008 430B     orr     r3,r1                                   ;
0801500A 1C20     mov     r0,r4                                   ;
0801500C 210A     mov     r1,0Ah                                  ;
0801500E 1C32     mov     r2,r6                                   ;
08015010 F7EEF86C bl      80030ECh                                ;
08015014 782B     ldrb    r3,[r5]                                 ;
08015016 336B     add     r3,6Bh                                  ;
08015018 4640     mov     r0,r8                                   ;
0801501A 4303     orr     r3,r0                                   ;
0801501C 1C20     mov     r0,r4                                   ;
0801501E 210B     mov     r1,0Bh                                  ;
08015020 1C32     mov     r2,r6                                   ;
08015022 F7EEF863 bl      80030ECh                                ;
08015026 1C78     add     r0,r7,1                                 ;
08015028 0600     lsl     r0,r0,18h                               ;
0801502A 0E07     lsr     r7,r0,18h                               ;
0801502C 2F09     cmp     r7,9h                                   ;
0801502E D9BE     bls     8014FAEh                                ;
08015030 2700     mov     r7,0h                                   ;
08015032 26F0     mov     r6,0F0h                                 ;
08015034 01F6     lsl     r6,r6,7h                                ;
08015036 1D3D     add     r5,r7,4                                 ;
08015038 062D     lsl     r5,r5,18h                               ;
0801503A 0E2D     lsr     r5,r5,18h                               ;
0801503C 4C18     ldr     r4,=8D396C4h                            ;
0801503E 193C     add     r4,r7,r4                                ;
08015040 7823     ldrb    r3,[r4]                                 ;
08015042 339D     add     r3,9Dh                                  ;
08015044 4641     mov     r1,r8                                   ;
08015046 430B     orr     r3,r1                                   ;
08015048 1C28     mov     r0,r5                                   ;
0801504A 210E     mov     r1,0Eh                                  ;
0801504C 1C32     mov     r2,r6                                   ;
0801504E F7EEF84D bl      80030ECh                                ;
08015052 7823     ldrb    r3,[r4]                                 ;
08015054 339F     add     r3,9Fh                                  ;
08015056 4640     mov     r0,r8                                   ;
08015058 4303     orr     r3,r0                                   ;
0801505A 1C28     mov     r0,r5                                   ;
0801505C 210F     mov     r1,0Fh                                  ;
0801505E 1C32     mov     r2,r6                                   ;
08015060 F7EEF844 bl      80030ECh                                ;
08015064 1C78     add     r0,r7,1                                 ;
08015066 0600     lsl     r0,r0,18h                               ;
08015068 0E07     lsr     r7,r0,18h                               ;
0801506A 2F09     cmp     r7,9h                                   ;
0801506C D9E3     bls     8015036h                                ;
0801506E 480D     ldr     r0,=2004420h                            ;
08015070 490D     ldr     r1,=80B50F4h                            ;
08015072 2290     mov     r2,90h                                  ;
08015074 0112     lsl     r2,r2,4h                                ;
08015076 F002FB73 bl      8017760h                                ;
0801507A B001     add     sp,4h                                   ;
0801507C BC38     pop     r3-r5                                   ;
0801507E 4698     mov     r8,r3                                   ;
08015080 46A1     mov     r9,r4                                   ;
08015082 46AA     mov     r10,r5                                  ;
08015084 BCF0     pop     r4-r7                                   ;
08015086 BC01     pop     r0                                      ;
08015088 4700     bx      r0                                      ;

Check Limited and Semi-Limited cards

08015E1A 1C20     mov     r0,r4                                   ;r0 = r4
08015E1C F7FEFE5A bl      8014AD4h                                ;
08015E20 0600     lsl     r0,r0,18h                               ;
08015E22 0E05     lsr     r5,r0,18h                               ;
08015E24 1C2E     mov     r6,r5                                   ;
08015E26 4905     ldr     r1,=80B53F8h                            ;r1 = limited_cards_array
08015E28 1C20     mov     r0,r4                                   ;r0 = r4
08015E2A F000F81F bl      8015E6Ch                                ;call 08015E6C
08015E2E 0600     lsl     r0,r0,18h                               ;
08015E30 0E00     lsr     r0,r0,18h                               ;
08015E32 2801     cmp     r0,1h                                   ;
08015E34 D104     bne     8015E40h                                ;
08015E36 2D00     cmp     r5,0h                                   ;
08015E38 D114     bne     8015E64h                                ;
08015E3A E011     b       8015E60h                                ;
08015E3C 53F8     strh    r0,[r7,r7]                              ;
08015E3E 080B     lsr     r3,r1,20h                               ;
08015E40 4905     ldr     r1,=80B5410h                            ;r1 = semi_limited_cards_array
08015E42 1C20     mov     r0,r4                                   ;r0 = r4
08015E44 F000F812 bl      8015E6Ch                                ;call 08015E6C
08015E48 0600     lsl     r0,r0,18h                               ;
08015E4A 0E00     lsr     r0,r0,18h                               ;
08015E4C 2801     cmp     r0,1h                                   ;
08015E4E D105     bne     8015E5Ch                                ;
08015E50 2D01     cmp     r5,1h                                   ;
08015E52 D807     bhi     8015E64h                                ;
08015E54 E004     b       8015E60h                                ;
08015E56 0000     lsl     r0,r0,0h                                ;
08015E58 5410     strb    r0,[r2,r0]                              ;
08015E5A 080B     lsr     r3,r1,20h                               ;
08015E5C 2E02     cmp     r6,2h                                   ;
08015E5E D801     bhi     8015E64h                                ;
08015E60 2001     mov     r0,1h                                   ;
08015E62 E000     b       8015E66h                                ;pop r1 r4 r5 r6, and exit to r1
08015E64 2000     mov     r0,0h                                   ;

pop r1 r4 r5 r6, and exit to r1

08015E66 BC70     pop     r4-r6                                   ;
08015E68 BC02     pop     r1                                      ;
08015E6A 4708     bx      r1                                      ;

Checks current array of Limited/Semi-Limited cards against current card ID

08015E6C 0400     lsl     r0,r0,10h                               ;
08015E6C 0400     lsl     r0,r0,10h                               ;
08015E6E 0C03     lsr     r3,r0,10h                               ;
08015E70 2200     mov     r2,0h                                   ;
08015E72 8808     ldrh    r0,[r1]                                 ;
08015E74 2800     cmp     r0,0h                                   ;
08015E76 D00E     beq     8015E96h                                ;
08015E78 0050     lsl     r0,r2,1h                                ;start of loop
08015E7A 1840     add     r0,r0,r1                                ;
08015E7C 8800     ldrh    r0,[r0]                                 ;current_limited_card= [(r2 << 1) + r1]
08015E7E 4298     cmp     r0,r3                                   ;
08015E80 D101     bne     8015E86h                                ;if (current_limited_card ≠ current_card), branch to 08015E86
08015E82 2001     mov     r0,1h                                   ;else is_restricted_card = 1
08015E84 E008     b       8015E98h                                ;branch to 08015E98
08015E86 1C50     add     r0,r2,1                                 ;
08015E88 0400     lsl     r0,r0,10h                               ;
08015E8A 0C02     lsr     r2,r0,10h                               ;
08015E8C 0050     lsl     r0,r2,1h                                ;
08015E8E 1840     add     r0,r0,r1                                ;
08015E90 8800     ldrh    r0,[r0]                                 ;r0 = current_limited_card
08015E92 2800     cmp     r0,0h                                   ;
08015E94 D1F0     bne     8015E78h                                ;if that's not the end of the limited_cards_array, loop to 08015E78
08015E96 2000     mov     r0,0h                                   ;else is_restricted_card = 0
08015E98 4770     bx      r14                                     ;exit the function
08015E9A 0000     lsl     r0,r0,0h                                ;
08015E9C B510     push    r4,r14                                  ;
08015E9E 480F     ldr     r0,=2020C50h                            ;r0 = 0x2020C50
08015EA0 7941     ldrb    r1,[r0,5h]                              ;
08015EA2 71C1     strb    r1,[r0,7h]                              ;[0x2020C57] = [0x2020C55]
08015EA4 F7FEFF7A bl      8014D9Ch                                ;call 08014D9C
08015EA8 F000F8F8 bl      801609Ch                                ;call 0801609C
08015EAC F013F82E bl      8028F0Ch                                ;call 08028F0C
08015EB0 2037     mov     r0,37h                                  ;r0 = 0x37 [0d55]
08015EB2 F00CFB45 bl      8022540h                                ;call 08022540
08015EB6 480A     ldr     r0,=801610Dh                            ;r0 = 0801610D
08015EB8 F7EDFE34 bl      8003B24h                                ;call 08003B24
08015EBC F7EDFE68 bl      8003B90h                                ;call 08003B90
08015EC0 2401     mov     r4,1h                                   ;r4 = 1
08015EC2 F7FEF9D9 bl      8014278h                                ;call 08014278
08015EC6 2810     cmp     r0,10h                                  ;
08015EC8 D022     beq     8015F10h                                ;if (r0 == 0d16), branch to 08015F10
08015ECA 2810     cmp     r0,10h                                  ;
08015ECC DC0D     bgt     8015EEAh                                ;if (r0 > 0d16), branch to 08015EEA
08015ECE 2802     cmp     r0,2h                                   ;
08015ED0 D025     beq     8015F1Eh                                ;if (r0 == 2), branch to 08015F1E
08015ED2 2802     cmp     r0,2h                                   ;
08015ED4 DC06     bgt     8015EE4h                                ;if (r0 > 2), branch to 08015EE4
08015ED6 2801     cmp     r0,1h                                   ;
08015ED8 D01D     beq     8015F16h                                ;if (r0 == 1), branch to 08015F16
08015EDA E025     b       8015F28h                                ;else branch to 08015F28
08015EDC 0C50     lsr     r0,r2,11h                               ;
08015EDE 0202     lsl     r2,r0,8h                                ;
08015EE0 610D     str     r5,[r1,10h]                             ;
08015EE2 0801     lsr     r1,r0,20h                               ;
08015EE4 2808     cmp     r0,8h                                   ;
08015EE6 D01A     beq     8015F1Eh                                ;
08015EE8 E01E     b       8015F28h                                ;

Check if current_card_id is a God card

0801936C B510     push    r4,r14                                  ;
0801936E 0400     lsl     r0,r0,10h                               ;
08019370 0C04     lsr     r4,r0,10h                               ;r4 = current_card_id
08019372 2200     mov     r2,0h                                   ;r2 = 0
08019374 4806     ldr     r0,=8D54640h                            ;r0 = pointer_to_god_cards_ids
08019376 8801     ldrh    r1,[r0]                                 ;load current_god_card_id
08019378 1C03     mov     r3,r0                                   ;r3 = pointer_to_god_cards_ids
0801937A 2900     cmp     r1,0h                                   ;
0801937C D012     beq     80193A4h                                ;if all the God cards IDs have been read, branch to 0x80193A4
0801937E 1C19     mov     r1,r3                                   ;
08019380 0050     lsl     r0,r2,1h                                ;loop through God cards IDs starts here
08019382 1840     add     r0,r0,r1                                ;
08019384 8800     ldrh    r0,[r0]                                 ;
08019386 42A0     cmp     r0,r4                                   ;
08019388 D104     bne     8019394h                                ;if (current_card_id ≠ current_god_card_id), branch to 0x8019394
0801938A 2001     mov     r0,1h                                   ;else is_a_god_card = 1
0801938C E00B     b       80193A6h                                ;branch to 0x80193A6
0801938E 0000     lsl     r0,r0,0h                                ;
08019390 4640     mov     r0,r8                                   ;
08019392 08D5     lsr     r5,r2,3h                                ;
08019394 1C50     add     r0,r2,1                                 ;
08019396 0600     lsl     r0,r0,18h                               ;
08019398 0E02     lsr     r2,r0,18h                               ;
0801939A 0050     lsl     r0,r2,1h                                ;
0801939C 18C0     add     r0,r0,r3                                ;r0 = pointer_to_god_cards_ids + 2
0801939E 8800     ldrh    r0,[r0]                                 ;r0 = current_god_card_id
080193A0 2800     cmp     r0,0h                                   ;
080193A2 D1ED     bne     8019380h                                ;if all the God cards IDs have not yet been read, loop to 0x8019380
080193A4 2000     mov     r0,0h                                   ;else is_a_god_card  = 0
080193A6 BC10     pop     r4                                      ;
080193A8 BC02     pop     r1                                      ;
080193AA 4708     bx      r1                                      ;

0x22540

0x22540 - ?

08022540 B510     push    r4,r14                                  ;
08022542 0400     lsl     r0,r0,10h                               ;
08022544 0C04     lsr     r4,r0,10h                               ;
08022546 1C20     mov     r0,r4                                   ;r0 & 0xFFFF
08022548 F000F82A bl      80225A0h                                ;call 0x225A0 - Load value from array at 0xD1F80, with offset r0
0802254C 0600     lsl     r0,r0,18h                               ;
0802254E 0E00     lsr     r0,r0,18h                               ;r0 & 0xFF (r0 should be between 0 and 5, except if the offset submitted to subroutine 0x225A0 is out of bounds)
08022550 3801     sub     r0,1h                                   ;r0-- (can become negative)
08022552 2804     cmp     r0,4h                                   ;
08022554 D821     bhi     802259Ah                                ;if r0 either has an invalid value or was 0 before the sub 1, get out of this function
08022556 0080     lsl     r0,r0,2h                                ;
08022558 4901     ldr     r1,=8022564h                            ;
0802255A 1840     add     r0,r0,r1                                ;r0 = 0x8022564 + (r0 << 2)
0802255C 6800     ldr     r0,[r0]                                 ;load pointer to next function in r0
0802255E 4687     mov     r15,r0                                  ;
08022560 2564     mov     r5,64h                                  ;
08022562 0802     lsr     r2,r0,20h                               ;

64 25 02 08 - points to this array, it is never supposed to be called (might be used to point to this array)
78 25 02 08 - 0, continue at 0x8022578
80 25 02 08 - 1, continue at 0x8022580
80 25 02 08 - 2, continue at 0x8022580
88 25 02 08 - 3, continue at 0x8022588
94 25 02 08 - 4, continue at 0x8022594

08022578 1C20     mov     r0,r4                                   ;r0 = r4
0802257A F015FF63 bl      8038444h                                ;call 0x38444
0802257E E00C     b       802259Ah                                ;get out of this function
08022580 1C20     mov     r0,r4                                   ;r0 = r4
08022582 F015FF49 bl      8038418h                                ;call 0x38418
08022586 E008     b       802259Ah                                ;get out of this function
08022588 4801     ldr     r0,=20249F0h                            ;r0 = pointer to RAM address 0x20249F0
0802258A F016FB51 bl      8038C30h                                ;call 0x38C30
0802258E E004     b       802259Ah                                ;get out of this function

F0 49 02 02 - pointer to RAM address 20249F0

08022594 1C20     mov     r0,r4                                   ;r0 = r4
08022596 F015FF55 bl      8038444h                                ;call 0x38444
0802259A BC10     pop     r4                                      ;
0802259C BC01     pop     r0                                      ;
0802259E 4700     bx      r0                                      ;

0x225A0 - Load value from array at 0xD1F80, with offset r0

080225A0 0400     lsl     r0,r0,10h                               ;
080225A2 4902     ldr     r1,=80D1F80h                            ;
080225A4 0BC0     lsr     r0,r0,0Fh                               ;r0 & 0x7FE
080225A6 1840     add     r0,r0,r1                                ;r0 += 0x80D1F80
080225A8 7800     ldrb    r0,[r0]                                 ;load value from array at 0xD1F80, value range is [0;4]
080225AA 4770     bx      r14                                     ;

Life Points

0x23B58 : Damage calculation ?

08023B58 B500     push    r14                                     ;start of function
08023B5A 4806     ldr     r0,=2023120h                            ;
08023B5C 2100     mov     r1,0h                                   ;
08023B5E 7641     strb    r1,[r0,19h]                             ;store 0 in [2023139]
08023B60 7E00     ldrb    r0,[r0,18h]                             ;r0 = damage_type ?
08023B62 3801     sub     r0,1h                                   ;r0--
08023B64 2809     cmp     r0,9h                                   ;
08023B66 D83A     bhi     8023BDEh                                ;if damage_type > 9, branch to 08023BDE
08023B68 0080     lsl     r0,r0,2h                                ;damage_type <<= 2
08023B6A 4903     ldr     r1,=8023B7Ch                            ;
08023B6C 1840     add     r0,r0,r1                                ;r0 = 0x8023B7C + (damage_type << 2)
08023B6E 6800     ldr     r0,[r0]                                 ;r0 = pointer_to_correct_damage_type_instructions
08023B70 4687     mov     r15,r0                                  ;jump to pointer_to_correct_damage_type_instructions
-
08023BA4 F000F822 bl      8023BECh                                ;
08023BA8 E019     b       8023BDEh                                ;
08023BAA F000F869 bl      8023C80h                                ;
08023BAE E016     b       8023BDEh                                ;
08023BB0 F000F89C bl      8023CECh                                ;
08023BB4 E013     b       8023BDEh                                ;
08023BB6 F000F8CF bl      8023D58h                                ;Direct attack ?
08023BBA E010     b       8023BDEh                                ;
08023BBC F000F898 bl      8023CF0h                                ;
08023BC0 E00D     b       8023BDEh                                ;
08023BC2 F000F8E3 bl      8023D8Ch                                ;
08023BC6 E00A     b       8023BDEh                                ;
08023BC8 F000F8FA bl      8023DC0h                                ;
08023BCC E007     b       8023BDEh                                ;
08023BCE F000F907 bl      8023DE0h                                ;
08023BD2 E004     b       8023BDEh                                ;
08023BD4 F000F928 bl      8023E28h                                ;Direct damage spell ?
08023BD8 E001     b       8023BDEh                                ;
08023BDA F000F915 bl      8023E08h                                ;
08023BDE F000F937 bl      8023E50h                                ;
08023BE2 F000F961 bl      8023EA8h                                ;
08023BE6 BC01     pop     r0                                      ;
08023BE8 4700     bx      r0                                      ;

0x23E28

08023E28 B500     push    r14                                     ;
08023E2A 4A06     ldr     r2,=2023120h                            ;
08023E2C 8A51     ldrh    r1,[r2,12h]                             ;
08023E2E 89D0     ldrh    r0,[r2,0Eh]                             ;
08023E30 1A09     sub     r1,r1,r0                                ;
08023E32 2900     cmp     r1,0h                                   ;
08023E34 DC08     bgt     8023E48h                                ;
08023E36 2000     mov     r0,0h                                   ;
08023E38 8250     strh    r0,[r2,12h]                             ;
08023E3A 7ED0     ldrb    r0,[r2,1Bh]                             ;
08023E3C F7FFFE7E bl      8023B3Ch                                ;
08023E40 E003     b       8023E4Ah                                ;
08023E42 0000     lsl     r0,r0,0h                                ;
08023E44 3120     add     r1,20h                                  ;
08023E46 0202     lsl     r2,r0,8h                                ;
08023E48 8251     strh    r1,[r2,12h]                             ;
08023E4A BC01     pop     r0                                      ;
08023E4C 4700     bx      r0                                      ;

Update Player's LPs

08023E4E 0000     lsl     r0,r0,0h                                ;
08023E50 B510     push    r4,r14                                  ;
08023E52 4C0A     ldr     r4,=202347Ch                            ;r4 = pointer_to_player_lp
08023E54 4A0A     ldr     r2,=2023120h                            ;
08023E56 7E90     ldrb    r0,[r2,1Ah]                             ;
08023E58 0040     lsl     r0,r0,1h                                ;
08023E5A 1900     add     r0,r0,r4                                ;
08023E5C 88D1     ldrh    r1,[r2,6h]                              ;
08023E5E 8001     strh    r1,[r0]                                 ;Update Player's LPs
08023E60 4B08     ldr     r3,=2023140h                            ;
08023E62 88D0     ldrh    r0,[r2,6h]                              ;
08023E64 8098     strh    r0,[r3,4h]                              ;
08023E66 7ED0     ldrb    r0,[r2,1Bh]                             ;
08023E68 0040     lsl     r0,r0,1h                                ;
08023E6A 1900     add     r0,r0,r4                                ;
08023E6C 8A51     ldrh    r1,[r2,12h]                             ;
08023E6E 8001     strh    r1,[r0]                                 ;
08023E70 8A50     ldrh    r0,[r2,12h]                             ;
08023E72 8218     strh    r0,[r3,10h]                             ;
08023E74 BC10     pop     r4                                      ;
08023E76 BC01     pop     r0                                      ;
08023E78 4700     bx      r0                                      ;

Sets values for direct damage spells calculation

0802431C 4A06     ldr     r2,=2023120h                            ;Function: Retrieve data for damage calculation ?
0802431E 2300     mov     r3,0h                                   ;r3 = 0
08024320 2109     mov     r1,9h                                   ;r1 = 9 ; direct_damage_spell
08024322 7611     strb    r1,[r2,18h]                             ;store 9 in [damage_type]
08024324 7693     strb    r3,[r2,1Ah]                             ;store 0 in [202313A]
08024326 2101     mov     r1,1h                                   ;
08024328 76D1     strb    r1,[r2,1Bh]                             ;
0802432A 81D0     strh    r0,[r2,0Eh]                             ;store damage in [202312E]
0802432C 4903     ldr     r1,=202347Ch                            ;pointer_to_player_lp
0802432E 8808     ldrh    r0,[r1]                                 ;r0 = current_player_lp
08024330 80D0     strh    r0,[r2,6h]                              ;store current_player_lp in [2023126]
08024332 8848     ldrh    r0,[r1,2h]                              ;
08024334 8250     strh    r0,[r2,12h]                             ;store current_cpu_lp in [2023132]
08024336 4770     bx      r14                                     ;

0x258A0 - Display text box

080258A0 B500     push    r14                                     ;
080258A2 B081     add     sp,-4h                                  ;
080258A4 1C03     mov     r3,r0                                   ;
080258A6 1C0A     mov     r2,r1                                   ;
080258A8 041B     lsl     r3,r3,10h                               ;
080258AA 0C1B     lsr     r3,r3,10h                               ;
080258AC 0412     lsl     r2,r2,10h                               ;
080258AE 0C12     lsr     r2,r2,10h                               ;
080258B0 4906     ldr     r1,=8E4AA50h                            ;
080258B2 0098     lsl     r0,r3,2h                                ;
080258B4 1840     add     r0,r0,r1                                ;
080258B6 6800     ldr     r0,[r0]                                 ;
080258B8 2100     mov     r1,0h                                   ;
080258BA 9100     str     r1,[sp]                                 ;
080258BC 1C19     mov     r1,r3                                   ;
080258BE 2300     mov     r3,0h                                   ;
080258C0 F7FFFFD2 bl      8025868h                                ;
080258C4 B001     add     sp,4h                                   ;
080258C6 BC01     pop     r0                                      ;
080258C8 4700     bx      r0                                      ;

0x27304 - Check if current_card_id is a God card ID, then ?

08027304 B500     push    r14                                     ;
08027306 2100     mov     r1,0h                                   ;
08027308 F000F81E bl      8027348h                                ;check if current_card_id is a God card ID, then ?
0802730C 0600     lsl     r0,r0,18h                               ;
0802730E 1600     asr     r0,r0,18h                               ;r0 &= 0xFF
08027310 BC02     pop     r1                                      ;
08027312 4708     bx      r1                                      ;

0x27348

08027348 B5F0     push    r4-r7,r14                               ;
0802734A 4647     mov     r7,r8                                   ;
0802734C B480     push    r7                                      ;
0802734E 4680     mov     r8,r0                                   ;
08027350 0409     lsl     r1,r1,10h                               ;
08027352 0C0F     lsr     r7,r1,10h                               ;
08027354 2600     mov     r6,0h                                   ;r6 = 0
08027356 2500     mov     r5,0h                                   ;r5 = 0
08027358 4641     mov     r1,r8                                   ;
0802735A 3104     add     r1,4h                                   ;
0802735C 4688     mov     r8,r1                                   ;r8 += 4
0802735E 3904     sub     r1,4h                                   ;r1 = r8 - 4
08027360 C901     ldmia   [r1]!,r0                                ;load RAM pointer to r0
08027362 8804     ldrh    r4,[r0]                                 ;load the value of that RAM address in r4
08027364 1C20     mov     r0,r4                                   ;then move it to r0
08027366 F7F2F801 bl      801936Ch                                ;Check if current_card_id is a God card
0802736A 2801     cmp     r0,1h                                   ;
0802736C D100     bne     8027370h                                ;if current_card_id is not a God card, branch to 0x8027370
0802736E 2400     mov     r4,0h                                   ;else r4 = 0
08027370 42BC     cmp     r4,r7                                   ;
08027372 D104     bne     802737Eh                                ;if (r4 ≠ r7), branch to 0x802737E
08027374 0630     lsl     r0,r6,18h                               ;r0 = r6 >> 18
08027376 2180     mov     r1,80h                                  ;
08027378 0449     lsl     r1,r1,11h                               ;
0802737A 1840     add     r0,r0,r1                                ;r0 += 0x1000000
0802737C 0E06     lsr     r6,r0,18h                               ;r6 = r0 >> 18
0802737E 1C68     add     r0,r5,1                                 ;r0 = r5 + 1
08027380 0600     lsl     r0,r0,18h                               ;
08027382 0E05     lsr     r5,r0,18h                               ;r5 = r0 & 0xFF
08027384 2D04     cmp     r5,4h                                   ;
08027386 D9E7     bls     8027358h                                ;if r5 ≤ 4,loop to 0x8027358
08027388 0630     lsl     r0,r6,18h                               ;
0802738A 1600     asr     r0,r0,18h                               ;r0 = r6 & 0xFF
0802738C BC08     pop     r3                                      ;
0802738E 4698     mov     r8,r3                                   ;
08027390 BCF0     pop     r4-r7                                   ;
08027392 BC02     pop     r1                                      ;
08027394 4708     bx      r1                                      ;

0x27520

08027520 B5F0     push    r4-r7,r14                               ;
08027522 4647     mov     r7,r8                                   ;
08027524 B480     push    r7                                      ;
08027526 1C04     mov     r4,r0                                   ;
08027528 2600     mov     r6,0h                                   ;
0802752A 2700     mov     r7,0h                                   ;
0802752C 2200     mov     r2,0h                                   ;
0802752E 4816     ldr     r0,=2023250h                            ;
08027530 4680     mov     r8,r0                                   ;
08027532 6821     ldr     r1,[r4]                                 ;
08027534 8808     ldrh    r0,[r1]                                 ;
08027536 0615     lsl     r5,r2,18h                               ;
08027538 2800     cmp     r0,0h                                   ;
0802753A D015     beq     8027568h                                ;
0802753C F7F1FF16 bl      801936Ch                                ;
08027540 2800     cmp     r0,0h                                   ;
08027542 D111     bne     8027568h                                ;
08027544 4641     mov     r1,r8                                   ;
08027546 7808     ldrb    r0,[r1]                                 ;
08027548 6821     ldr     r1,[r4]                                 ;
0802754A 7889     ldrb    r1,[r1,2h]                              ;
0802754C 0609     lsl     r1,r1,18h                               ;
0802754E 1609     asr     r1,r1,18h                               ;
08027550 F7DFFBA2 bl      8006C98h                                ;
08027554 6820     ldr     r0,[r4]                                 ;
08027556 8800     ldrh    r0,[r0]                                 ;
08027558 F7DFFC10 bl      8006D7Ch                                ;
0802755C 480B     ldr     r0,=2020B00h                            ;
0802755E 8A41     ldrh    r1,[r0,12h]                             ;
08027560 428E     cmp     r6,r1                                   ;
08027562 D801     bhi     8027568h                                ;
08027564 8A46     ldrh    r6,[r0,12h]                             ;
08027566 0E2F     lsr     r7,r5,18h                               ;
08027568 3404     add     r4,4h                                   ;
0802756A 2180     mov     r1,80h                                  ;
0802756C 0449     lsl     r1,r1,11h                               ;
0802756E 1868     add     r0,r5,r1                                ;
08027570 0E02     lsr     r2,r0,18h                               ;
08027572 1600     asr     r0,r0,18h                               ;
08027574 2804     cmp     r0,4h                                   ;
08027576 DDDC     ble     8027532h                                ;
08027578 0638     lsl     r0,r7,18h                               ;
0802757A 1600     asr     r0,r0,18h                               ;
0802757C BC08     pop     r3                                      ;
0802757E 4698     mov     r8,r3                                   ;
08027580 BCF0     pop     r4-r7                                   ;
08027582 BC02     pop     r1                                      ;
08027584 4708     bx      r1                                      ;

0x27CF8

08027CF8 B510     push    r4,r14                                  ;
08027CFA 0609     lsl     r1,r1,18h                               ;
08027CFC 0E09     lsr     r1,r1,18h                               ;
08027CFE 4C09     ldr     r4,=2023390h                            ;pointer to Player's Deck
08027D00 2254     mov     r2,54h                                  ;
08027D02 1C0B     mov     r3,r1                                   ;
08027D04 4353     mul     r3,r2                                   ;
08027D06 191A     add     r2,r3,r4                                ;
08027D08 3250     add     r2,50h                                  ;r2 = 0x2023390 + r3 + 80
08027D0A 7811     ldrb    r1,[r2]                                 ;
08027D0C 3901     sub     r1,1h                                   ;
08027D0E 7011     strb    r1,[r2]                                 ;
08027D10 7811     ldrb    r1,[r2]                                 ;
08027D12 0049     lsl     r1,r1,1h                                ;
08027D14 18C9     add     r1,r1,r3                                ;
08027D16 1909     add     r1,r1,r4                                ;
08027D18 8809     ldrh    r1,[r1]                                 ;
08027D1A 8001     strh    r1,[r0]                                 ;
08027D1C BC10     pop     r4                                      ;
08027D1E BC01     pop     r0                                      ;
08027D20 4700     bx      r0                                      ;

0x27D28 - Draw a card ?

08027D28 B5F0     push    r4-r7,r14                               ;
08027D2A 0600     lsl     r0,r0,18h                               ;
08027D2C 0E02     lsr     r2,r0,18h                               ;
08027D2E 2300     mov     r3,0h                                   ;r3 = 0
08027D30 4E0D     ldr     r6,=2023160h                            ;r6 = 0x2023160
08027D32 0090     lsl     r0,r2,2h                                ;
08027D34 1880     add     r0,r0,r2                                ;
08027D36 00C4     lsl     r4,r0,3h                                ;r4 = r2 × 40
08027D38 1C37     mov     r7,r6                                   ;
08027D3A 37A0     add     r7,0A0h                                 ;r7 = 0x2023200
08027D3C 490B     ldr     r1,=2023390h                            ;r1 = 0x2023390
08027D3E 2054     mov     r0,54h                                  ;
08027D40 4350     mul     r0,r2                                   ;
08027D42 1840     add     r0,r0,r1                                ;r0 = (r2 × 84) + r1
08027D44 1C05     mov     r5,r0                                   ;
08027D46 3550     add     r5,50h                                  ;r5 = ((r2 × 84) + r1) + 80
08027D48 00D9     lsl     r1,r3,3h                                ;Loop start
08027D4A 1908     add     r0,r1,r4                                ;
08027D4C 1980     add     r0,r0,r6                                ;
08027D4E 30A0     add     r0,0A0h                                 ;r0 +=160
08027D50 8800     ldrh    r0,[r0]                                 ;r0 = top_deck_card_id ; I think?
08027D52 2800     cmp     r0,0h                                   ;
08027D54 D110     bne     8027D78h                                ;if(top_deck_card_id ≠ 0), branch to 0x8027D78 ?
08027D56 7828     ldrb    r0,[r5]                                 ;r0 = number_of_cards_left_in_deck ?
08027D58 2800     cmp     r0,0h                                   ;
08027D5A D009     beq     8027D70h                                ;
08027D5C 19C8     add     r0,r1,r7                                ;
08027D5E 1820     add     r0,r4,r0                                ;
08027D60 1C11     mov     r1,r2                                   ;
08027D62 F7FFFFC9 bl      8027CF8h                                ;call 0x27CF8
08027D66 E00C     b       8027D82h                                ;
08027D68 3160     add     r1,60h                                  ;
08027D6A 0202     lsl     r2,r0,8h                                ;
08027D6C 3390     add     r3,90h                                  ;
08027D6E 0202     lsl     r2,r0,8h                                ;
08027D70 1C10     mov     r0,r2                                   ;
08027D72 F7F0FD41 bl      80187F8h                                ;call 0x187F8
08027D76 E004     b       8027D82h                                ;
08027D78 1C58     add     r0,r3,1                                 ;r0 = r3 + 1
08027D7A 0600     lsl     r0,r0,18h                               ;
08027D7C 0E03     lsr     r3,r0,18h                               ;
08027D7E 2B04     cmp     r3,4h                                   ;
08027D80 D9E2     bls     8027D48h                                ;if(r3 ≤ 4), loop to 0x8027D48
08027D82 BCF0     pop     r4-r7                                   ;
08027D84 BC01     pop     r0                                      ;
08027D86 4700     bx      r0                                      ;

0x28D00

0x28D00 - Check current_card_id ?

08028D00 B510     push    r4,r14                                  ;
08028D02 1C04     mov     r4,r0                                   ;r4 = pointer to current_card_id ?
08028D04 0609     lsl     r1,r1,18h                               ;
08028D06 4806     ldr     r0,=2023260h                            ;pointer to a RAM address with dynamic pointers to RAM addresses
08028D08 0D89     lsr     r1,r1,16h                               ;r1 & 0x3FC
08028D0A 1809     add     r1,r1,r0                                ;r1 += 0x2023260
08028D0C 6808     ldr     r0,[r1]                                 ;load RAM_pointer to r0
08028D0E 8821     ldrh    r1,[r4]                                 ;r1 = current_card_id
08028D10 F000F808 bl      8028D24h                                ;call 0x28D24
08028D14 1C20     mov     r0,r4                                   ;
08028D16 F7FBFDFB bl      8024910h                                ;call 0x24910
08028D1A BC10     pop     r4                                      ;
08028D1C BC01     pop     r0                                      ;
08028D1E 4700     bx      r0                                      ;

0x28D24

08028D24 B530     push    r4,r5,r14                               ;
08028D26 1C05     mov     r5,r0                                   ;r5 = r0
08028D28 0409     lsl     r1,r1,10h                               ;
08028D2A 0C0C     lsr     r4,r1,10h                               ;r4 = r1 & 0xFFFF
08028D2C 1C20     mov     r0,r4                                   ;r0 = r4
08028D2E F7FBFC1F bl      8024570h                                ;call 0x24570
08028D32 2801     cmp     r0,1h                                   ;
08028D34 D100     bne     8028D38h                                ;if (r0 ≠ 1), skip to 0x28D38
08028D36 802C     strh    r4,[r5]                                 ;
08028D38 BC30     pop     r4,r5                                   ;
08028D3A BC01     pop     r0                                      ;
08028D3C 4700     bx      r0                                      ;

Set Initial LPs

0802BCCE 0000     lsl     r0,r0,0h                                ;
0802BCD0 4A04     ldr     r2,=202347Ch                            ;Player's Life Points
0802BCD2 4805     ldr     r0,=2020D30h                            ;Player's Initial Life Points
0802BCD4 1C01     mov     r1,r0                                   ;
0802BCD6 3140     add     r1,40h                                  ;
0802BCD8 8809     ldrh    r1,[r1]                                 ;r1 = player_initial_lps
0802BCDA 8011     strh    r1,[r2]                                 ;store player_initial_lps into player_lps
0802BCDC 3042     add     r0,42h                                  ;
0802BCDE 8800     ldrh    r0,[r0]                                 ;r0 = cpu_initial_lps
0802BCE0 8050     strh    r0,[r2,2h]                              ;store cpu_initial_lps into cpu_lps
0802BCE2 4770     bx      r14                                     ;

Cards effects

Load pointer to the correct function depending on magic_card_effect_id

0802BD2E 0000     lsl     r0,r0,0h                                ;
0802BD30 347C     add     r4,7Ch                                  ;
0802BD32 0202     lsl     r2,r0,8h                                ;
0802BD34 B500     push    r14                                     ;
0802BD36 4807     ldr     r0,=2023480h                            ;
0802BD38 8800     ldrh    r0,[r0]                                 ;
0802BD3A F7DAFFB7 bl      8006CACh                                ;
0802BD3E 4906     ldr     r1,=8104634h                            ;
0802BD40 4806     ldr     r0,=2020B00h                            ;
0802BD42 7E80     ldrb    r0,[r0,1Ah]                             ;r0 = [02020B1A]; magic_card_effect_id
0802BD44 0080     lsl     r0,r0,2h                                ;
0802BD46 1840     add     r0,r0,r1                                ;r0 = 0x8104634 + (magic_card_effect_id << 2)
0802BD48 6800     ldr     r0,[r0]                                 ;load pointer to the function corresponding to the magic_card_effect_id in r0
0802BD4A F00DFD9D bl      8039888h                                ;branch to r0
0802BD4E BC01     pop     r0                                      ;
0802BD50 4700     bx      r0                                      ;

Forest

0802BD72 4813     ldr     r0,=2023160h                            ;Forest
0802BD74 1C04     mov     r4,r0                                   ;
0802BD76 34F0     add     r4,0F0h                                 ;r4 = 0x2023250
0802BD78 2001     mov     r0,1h                                   ;
0802BD7A 7020     strb    r0,[r4]                                 ;current_field = Forest
0802BD7C 4B11     ldr     r3,=2023270h                            ;
0802BD7E 4A12     ldr     r2,=2023480h                            ;
0802BD80 7891     ldrb    r1,[r2,2h]                              ;
0802BD82 0088     lsl     r0,r1,2h                                ;
0802BD84 1840     add     r0,r0,r1                                ;
0802BD86 78D2     ldrb    r2,[r2,3h]                              ;
0802BD88 1880     add     r0,r0,r2                                ;
0802BD8A 0080     lsl     r0,r0,2h                                ;
0802BD8C 18C0     add     r0,r0,r3                                ;
0802BD8E 6800     ldr     r0,[r0]                                 ;
0802BD90 2100     mov     r1,0h                                   ;
0802BD92 F7FCFFB5 bl      8028D00h                                ;
0802BD96 480D     ldr     r0,=2020C38h                            ;
0802BD98 7800     ldrb    r0,[r0]                                 ;
0802BD9A 2800     cmp     r0,0h                                   ;
0802BD9C D10C     bne     802BDB8h                                ;
0802BD9E 7820     ldrb    r0,[r4]                                 ;
0802BDA0 F7F9FA8C bl      80252BCh                                ;
0802BDA4 2041     mov     r0,41h                                  ;
0802BDA6 F7F6FBCB bl      8022540h                                ;
0802BDAA 20A5     mov     r0,0A5h                                 ;
0802BDAC 0040     lsl     r0,r0,1h                                ;r0 = 330 ; Forest
0802BDAE F7F9FD77 bl      80258A0h                                ;call 0x258A0 - Display text box
0802BDB2 204F     mov     r0,4Fh                                  ;
0802BDB4 F7F6FBC4 bl      8022540h                                ;
0802BDB8 BC10     pop     r4                                      ;
0802BDBA BC01     pop     r0                                      ;
0802BDBC 4700     bx      r0                                      ;

Wasteland

0802BDD2 4812     ldr     r0,=2023160h                            ;Wasteland
0802BDD4 1C04     mov     r4,r0                                   ;
0802BDD6 34F0     add     r4,0F0h                                 ;r4 = 0x2023250
0802BDD8 2002     mov     r0,2h                                   ;
0802BDDA 7020     strb    r0,[r4]                                 ;current_field = Wasteland
0802BDDC 4B10     ldr     r3,=2023270h                            ;
0802BDDE 4A11     ldr     r2,=2023480h                            ;
0802BDE0 7891     ldrb    r1,[r2,2h]                              ;
0802BDE2 0088     lsl     r0,r1,2h                                ;
0802BDE4 1840     add     r0,r0,r1                                ;
0802BDE6 78D2     ldrb    r2,[r2,3h]                              ;
0802BDE8 1880     add     r0,r0,r2                                ;
0802BDEA 0080     lsl     r0,r0,2h                                ;
0802BDEC 18C0     add     r0,r0,r3                                ;
0802BDEE 6800     ldr     r0,[r0]                                 ;
0802BDF0 2100     mov     r1,0h                                   ;
0802BDF2 F7FCFF85 bl      8028D00h                                ;
0802BDF6 480C     ldr     r0,=2020C38h                            ;
0802BDF8 7800     ldrb    r0,[r0]                                 ;
0802BDFA 2800     cmp     r0,0h                                   ;
0802BDFC D10B     bne     802BE16h                                ;
0802BDFE 7820     ldrb    r0,[r4]                                 ;
0802BE00 F7F9FA5C bl      80252BCh                                ;
0802BE04 2041     mov     r0,41h                                  ;
0802BE06 F7F6FB9B bl      8022540h                                ;
0802BE0A 4808     ldr     r0,=14Bh                                ;r0 = 331 ; Wasteland
0802BE0C F7F9FD48 bl      80258A0h                                ;call 0x258A0 - Display text box
0802BE10 204F     mov     r0,4Fh                                  ;
0802BE12 F7F6FB95 bl      8022540h                                ;
0802BE16 BC10     pop     r4                                      ;
0802BE18 BC01     pop     r0                                      ;
0802BE1A 4700     bx      r0                                      ;

Mountain

0802BE32 4813     ldr     r0,=2023160h                            ;Mountain
0802BE34 1C04     mov     r4,r0                                   ;
0802BE36 34F0     add     r4,0F0h                                 ;r4 = 0x2023250
0802BE38 2003     mov     r0,3h                                   ;
0802BE3A 7020     strb    r0,[r4]                                 ;current_field = Mountain
0802BE3C 4B11     ldr     r3,=2023270h                            ;
0802BE3E 4A12     ldr     r2,=2023480h                            ;
0802BE40 7891     ldrb    r1,[r2,2h]                              ;
0802BE42 0088     lsl     r0,r1,2h                                ;
0802BE44 1840     add     r0,r0,r1                                ;
0802BE46 78D2     ldrb    r2,[r2,3h]                              ;
0802BE48 1880     add     r0,r0,r2                                ;
0802BE4A 0080     lsl     r0,r0,2h                                ;
0802BE4C 18C0     add     r0,r0,r3                                ;
0802BE4E 6800     ldr     r0,[r0]                                 ;
0802BE50 2100     mov     r1,0h                                   ;
0802BE52 F7FCFF55 bl      8028D00h                                ;
0802BE56 480D     ldr     r0,=2020C38h                            ;
0802BE58 7800     ldrb    r0,[r0]                                 ;
0802BE5A 2800     cmp     r0,0h                                   ;
0802BE5C D10C     bne     802BE78h                                ;
0802BE5E 7820     ldrb    r0,[r4]                                 ;
0802BE60 F7F9FA2C bl      80252BCh                                ;
0802BE64 2041     mov     r0,41h                                  ;
0802BE66 F7F6FB6B bl      8022540h                                ;
0802BE6A 20A6     mov     r0,0A6h                                 ;
0802BE6C 0040     lsl     r0,r0,1h                                ;r0 = 332 ; Mountain
0802BE6E F7F9FD17 bl      80258A0h                                ;call 0x258A0 - Display text box
0802BE72 204F     mov     r0,4Fh                                  ;
0802BE74 F7F6FB64 bl      8022540h                                ;
0802BE78 BC10     pop     r4                                      ;
0802BE7A BC01     pop     r0                                      ;
0802BE7C 4700     bx      r0                                      ;

Sogen

0802BE92 4812     ldr     r0,=2023160h                            ;Sogen
0802BE94 1C04     mov     r4,r0                                   ;
0802BE96 34F0     add     r4,0F0h                                 ;r4 = 0x2023250
0802BE98 2004     mov     r0,4h                                   ;
0802BE9A 7020     strb    r0,[r4]                                 ;current_field = Sogen
0802BE9C 4B10     ldr     r3,=2023270h                            ;
0802BE9E 4A11     ldr     r2,=2023480h                            ;
0802BEA0 7891     ldrb    r1,[r2,2h]                              ;
0802BEA2 0088     lsl     r0,r1,2h                                ;
0802BEA4 1840     add     r0,r0,r1                                ;
0802BEA6 78D2     ldrb    r2,[r2,3h]                              ;
0802BEA8 1880     add     r0,r0,r2                                ;
0802BEAA 0080     lsl     r0,r0,2h                                ;
0802BEAC 18C0     add     r0,r0,r3                                ;
0802BEAE 6800     ldr     r0,[r0]                                 ;
0802BEB0 2100     mov     r1,0h                                   ;
0802BEB2 F7FCFF25 bl      8028D00h                                ;
0802BEB6 480C     ldr     r0,=2020C38h                            ;
0802BEB8 7800     ldrb    r0,[r0]                                 ;
0802BEBA 2800     cmp     r0,0h                                   ;
0802BEBC D10B     bne     802BED6h                                ;
0802BEBE 7820     ldrb    r0,[r4]                                 ;
0802BEC0 F7F9F9FC bl      80252BCh                                ;
0802BEC4 2041     mov     r0,41h                                  ;
0802BEC6 F7F6FB3B bl      8022540h                                ;
0802BECA 4808     ldr     r0,=14Dh                                ;r0 = 333 ; Sogen
0802BECC F7F9FCE8 bl      80258A0h                                ;call 0x258A0 - Display text box
0802BED0 204F     mov     r0,4Fh                                  ;
0802BED2 F7F6FB35 bl      8022540h                                ;
0802BED6 BC10     pop     r4                                      ;
0802BED8 BC01     pop     r0                                      ;
0802BEDA 4700     bx      r0                                      ;

Umi

0802BEF2 4813     ldr     r0,=2023160h                            ;Umi
0802BEF4 1C04     mov     r4,r0                                   ;
0802BEF6 34F0     add     r4,0F0h                                 ;r4 = 0x2023250
0802BEF8 2005     mov     r0,5h                                   ;
0802BEFA 7020     strb    r0,[r4]                                 ;current_field = Umi
0802BEFC 4B11     ldr     r3,=2023270h                            ;
0802BEFE 4A12     ldr     r2,=2023480h                            ;
0802BF00 7891     ldrb    r1,[r2,2h]                              ;
0802BF02 0088     lsl     r0,r1,2h                                ;
0802BF04 1840     add     r0,r0,r1                                ;
0802BF06 78D2     ldrb    r2,[r2,3h]                              ;
0802BF08 1880     add     r0,r0,r2                                ;
0802BF0A 0080     lsl     r0,r0,2h                                ;
0802BF0C 18C0     add     r0,r0,r3                                ;
0802BF0E 6800     ldr     r0,[r0]                                 ;
0802BF10 2100     mov     r1,0h                                   ;
0802BF12 F7FCFEF5 bl      8028D00h                                ;
0802BF16 480D     ldr     r0,=2020C38h                            ;
0802BF18 7800     ldrb    r0,[r0]                                 ;
0802BF1A 2800     cmp     r0,0h                                   ;
0802BF1C D10C     bne     802BF38h                                ;
0802BF1E 7820     ldrb    r0,[r4]                                 ;
0802BF20 F7F9F9CC bl      80252BCh                                ;
0802BF24 2041     mov     r0,41h                                  ;
0802BF26 F7F6FB0B bl      8022540h                                ;
0802BF2A 20A7     mov     r0,0A7h                                 ;
0802BF2C 0040     lsl     r0,r0,1h                                ;r0 = 334 ; Umi
0802BF2E F7F9FCB7 bl      80258A0h                                ;call 0x258A0 - Display text box
0802BF32 204F     mov     r0,4Fh                                  ;
0802BF34 F7F6FB04 bl      8022540h                                ;
0802BF38 BC10     pop     r4                                      ;
0802BF3A BC01     pop     r0                                      ;

Yami

0802BF52 4812     ldr     r0,=2023160h                            ;Yami
0802BF54 1C04     mov     r4,r0                                   ;
0802BF56 34F0     add     r4,0F0h                                 ;r4 = 0x2023250
0802BF58 2006     mov     r0,6h                                   ;
0802BF5A 7020     strb    r0,[r4]                                 ;current_field = Yami
0802BF5C 4B10     ldr     r3,=2023270h                            ;
0802BF5E 4A11     ldr     r2,=2023480h                            ;
0802BF60 7891     ldrb    r1,[r2,2h]                              ;
0802BF62 0088     lsl     r0,r1,2h                                ;
0802BF64 1840     add     r0,r0,r1                                ;
0802BF66 78D2     ldrb    r2,[r2,3h]                              ;
0802BF68 1880     add     r0,r0,r2                                ;
0802BF6A 0080     lsl     r0,r0,2h                                ;
0802BF6C 18C0     add     r0,r0,r3                                ;
0802BF6E 6800     ldr     r0,[r0]                                 ;
0802BF70 2100     mov     r1,0h                                   ;
0802BF72 F7FCFEC5 bl      8028D00h                                ;
0802BF76 480C     ldr     r0,=2020C38h                            ;
0802BF78 7800     ldrb    r0,[r0]                                 ;
0802BF7A 2800     cmp     r0,0h                                   ;
0802BF7C D10B     bne     802BF96h                                ;
0802BF7E 7820     ldrb    r0,[r4]                                 ;
0802BF80 F7F9F99C bl      80252BCh                                ;
0802BF84 2041     mov     r0,41h                                  ;
0802BF86 F7F6FADB bl      8022540h                                ;
0802BF8A 4808     ldr     r0,=14Fh                                ;r0 = 335 ; Yami
0802BF8C F7F9FC88 bl      80258A0h                                ;call 0x258A0 - Display text box
0802BF90 204F     mov     r0,4Fh                                  ;
0802BF92 F7F6FAD5 bl      8022540h                                ;
0802BF96 BC10     pop     r4                                      ;
0802BF98 BC01     pop     r0                                      ;
0802BF9A 4700     bx      r0                                      ;

Mooyan Curry

0802BFB2 4B10     ldr     r3,=20237D0h                            ;Mooyan Curry
0802BFB4 4A10     ldr     r2,=2023480h                            ;
0802BFB6 7890     ldrb    r0,[r2,2h]                              ;
0802BFB8 7098     strb    r0,[r3,2h]                              ;
0802BFBA 78D0     ldrb    r0,[r2,3h]                              ;
0802BFBC 70D8     strb    r0,[r3,3h]                              ;
0802BFBE 4C0F     ldr     r4,=2023270h                            ;
0802BFC0 7891     ldrb    r1,[r2,2h]                              ;
0802BFC2 0088     lsl     r0,r1,2h                                ;
0802BFC4 1840     add     r0,r0,r1                                ;
0802BFC6 78D2     ldrb    r2,[r2,3h]                              ;
0802BFC8 1880     add     r0,r0,r2                                ;
0802BFCA 0080     lsl     r0,r0,2h                                ;
0802BFCC 1900     add     r0,r0,r4                                ;
0802BFCE 6800     ldr     r0,[r0]                                 ;
0802BFD0 8800     ldrh    r0,[r0]                                 ;
0802BFD2 8018     strh    r0,[r3]                                 ;
0802BFD4 F00AFB3C bl      8036650h                                ;
0802BFD8 2801     cmp     r0,1h                                   ;
0802BFDA D103     bne     802BFE4h                                ;
0802BFDC 4808     ldr     r0,=2020C38h                            ;
0802BFDE 7800     ldrb    r0,[r0]                                 ;
0802BFE0 2800     cmp     r0,0h                                   ;
0802BFE2 D039     beq     802C058h                                ;
0802BFE4 F00BF9CC bl      8037380h                                ;
0802BFE8 2800     cmp     r0,0h                                   ;
0802BFEA D10B     bne     802C004h                                ;
0802BFEC 20C8     mov     r0,0C8h                                 ;r0 = 200
0802BFEE F7F8F95F bl      80242B0h                                ;
0802BFF2 E00A     b       802C00Ah                                ;
0802BFF4 37D0     add     r7,0D0h                                 ;
0802BFF6 0202     lsl     r2,r0,8h                                ;
0802BFF8 3480     add     r4,80h                                  ;
0802BFFA 0202     lsl     r2,r0,8h                                ;
0802BFFC 3270     add     r2,70h                                  ;
0802BFFE 0202     lsl     r2,r0,8h                                ;
0802C000 0C38     lsr     r0,r7,10h                               ;
0802C002 0202     lsl     r2,r0,8h                                ;
0802C004 20C8     mov     r0,0C8h                                 ;r0 = 200
0802C006 F7F8F977 bl      80242F8h                                ;
0802C00A F7F7FDA5 bl      8023B58h                                ;
0802C00E F7F7FF9F bl      8023F50h                                ;
0802C012 4B0E     ldr     r3,=2023270h                            ;
0802C014 4A0E     ldr     r2,=2023480h                            ;
0802C016 7891     ldrb    r1,[r2,2h]                              ;
0802C018 0088     lsl     r0,r1,2h                                ;
0802C01A 1840     add     r0,r0,r1                                ;
0802C01C 78D2     ldrb    r2,[r2,3h]                              ;
0802C01E 1880     add     r0,r0,r2                                ;
0802C020 0080     lsl     r0,r0,2h                                ;
0802C022 18C0     add     r0,r0,r3                                ;
0802C024 6800     ldr     r0,[r0]                                 ;
0802C026 2100     mov     r1,0h                                   ;
0802C028 F7FCFE6A bl      8028D00h                                ;
0802C02C 4809     ldr     r0,=2020C38h                            ;
0802C02E 7800     ldrb    r0,[r0]                                 ;
0802C030 2800     cmp     r0,0h                                   ;
0802C032 D114     bne     802C05Eh                                ;
0802C034 2041     mov     r0,41h                                  ;
0802C036 F7F6FA83 bl      8022540h                                ;
0802C03A 20A9     mov     r0,0A9h                                 ;
0802C03C 0040     lsl     r0,r0,1h                                ;r0 = 338 ; Mooyan Curry
0802C03E F7F9FC2F bl      80258A0h                                ;call 0x258A0 - Display text box
0802C042 204E     mov     r0,4Eh                                  ;
0802C044 F7F6FA7C bl      8022540h                                ;
0802C048 E009     b       802C05Eh                                ;
0802C04A 0000     lsl     r0,r0,0h                                ;
0802C04C 3270     add     r2,70h                                  ;
0802C04E 0202     lsl     r2,r0,8h                                ;
0802C050 3480     add     r4,80h                                  ;
0802C052 0202     lsl     r2,r0,8h                                ;
0802C054 0C38     lsr     r0,r7,10h                               ;
0802C056 0202     lsl     r2,r0,8h                                ;
0802C058 20C8     mov     r0,0C8h                                 ;r0 = 200
0802C05A F00AFA81 bl      8036560h                                ;
0802C05E BC10     pop     r4                                      ;
0802C060 BC01     pop     r0                                      ;
0802C062 4700     bx      r0                                      ;

Red Medicine

0802C066 4B11     ldr     r3,=20237D0h                            ;Red Medicine
0802C068 4A11     ldr     r2,=2023480h                            ;
0802C06A 7890     ldrb    r0,[r2,2h]                              ;
0802C06C 7098     strb    r0,[r3,2h]                              ;
0802C06E 78D0     ldrb    r0,[r2,3h]                              ;
0802C070 70D8     strb    r0,[r3,3h]                              ;
0802C072 4C10     ldr     r4,=2023270h                            ;
0802C074 7891     ldrb    r1,[r2,2h]                              ;
0802C076 0088     lsl     r0,r1,2h                                ;
0802C078 1840     add     r0,r0,r1                                ;
0802C07A 78D2     ldrb    r2,[r2,3h]                              ;
0802C07C 1880     add     r0,r0,r2                                ;
0802C07E 0080     lsl     r0,r0,2h                                ;
0802C080 1900     add     r0,r0,r4                                ;
0802C082 6800     ldr     r0,[r0]                                 ;
0802C084 8800     ldrh    r0,[r0]                                 ;
0802C086 8018     strh    r0,[r3]                                 ;
0802C088 F00AFAE2 bl      8036650h                                ;
0802C08C 2801     cmp     r0,1h                                   ;
0802C08E D103     bne     802C098h                                ;
0802C090 4809     ldr     r0,=2020C38h                            ;
0802C092 7800     ldrb    r0,[r0]                                 ;
0802C094 2800     cmp     r0,0h                                   ;
0802C096 D03D     beq     802C114h                                ;
0802C098 F00BF972 bl      8037380h                                ;
0802C09C 2800     cmp     r0,0h                                   ;
0802C09E D10D     bne     802C0BCh                                ;
0802C0A0 20FA     mov     r0,0FAh                                 ;
0802C0A2 0040     lsl     r0,r0,1h                                ;r0 = 500
0802C0A4 F7F8F904 bl      80242B0h                                ;
0802C0A8 E00C     b       802C0C4h                                ;
0802C0AA 0000     lsl     r0,r0,0h                                ;
0802C0AC 37D0     add     r7,0D0h                                 ;
0802C0AE 0202     lsl     r2,r0,8h                                ;
0802C0B0 3480     add     r4,80h                                  ;
0802C0B2 0202     lsl     r2,r0,8h                                ;
0802C0B4 3270     add     r2,70h                                  ;
0802C0B6 0202     lsl     r2,r0,8h                                ;
0802C0B8 0C38     lsr     r0,r7,10h                               ;
0802C0BA 0202     lsl     r2,r0,8h                                ;
0802C0BC 20FA     mov     r0,0FAh                                 ;
0802C0BE 0040     lsl     r0,r0,1h                                ;r0 = 500
0802C0C0 F7F8F91A bl      80242F8h                                ;
0802C0C4 F7F7FD48 bl      8023B58h                                ;
0802C0C8 F7F7FF42 bl      8023F50h                                ;
0802C0CC 4B0D     ldr     r3,=2023270h                            ;
0802C0CE 4A0E     ldr     r2,=2023480h                            ;
0802C0D0 7891     ldrb    r1,[r2,2h]                              ;
0802C0D2 0088     lsl     r0,r1,2h                                ;
0802C0D4 1840     add     r0,r0,r1                                ;
0802C0D6 78D2     ldrb    r2,[r2,3h]                              ;
0802C0D8 1880     add     r0,r0,r2                                ;
0802C0DA 0080     lsl     r0,r0,2h                                ;
0802C0DC 18C0     add     r0,r0,r3                                ;
0802C0DE 6800     ldr     r0,[r0]                                 ;
0802C0E0 2100     mov     r1,0h                                   ;
0802C0E2 F7FCFE0D bl      8028D00h                                ;
0802C0E6 4809     ldr     r0,=2020C38h                            ;
0802C0E8 7800     ldrb    r0,[r0]                                 ;
0802C0EA 2800     cmp     r0,0h                                   ;
0802C0EC D116     bne     802C11Ch                                ;
0802C0EE 2041     mov     r0,41h                                  ;
0802C0F0 F7F6FA26 bl      8022540h                                ;
0802C0F4 4806     ldr     r0,=153h                                ;
0802C0F6 F7F9FBD3 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C0FA 204E     mov     r0,4Eh                                  ;
0802C0FC F7F6FA20 bl      8022540h                                ;
0802C100 E00C     b       802C11Ch                                ;
0802C102 0000     lsl     r0,r0,0h                                ;
0802C104 3270     add     r2,70h                                  ;
0802C106 0202     lsl     r2,r0,8h                                ;
0802C108 3480     add     r4,80h                                  ;
0802C10A 0202     lsl     r2,r0,8h                                ;
0802C10C 0C38     lsr     r0,r7,10h                               ;
0802C10E 0202     lsl     r2,r0,8h                                ;
0802C110 0153     lsl     r3,r2,5h                                ;
0802C112 0000     lsl     r0,r0,0h                                ;
0802C114 20FA     mov     r0,0FAh                                 ;
0802C116 0040     lsl     r0,r0,1h                                ;r0 = 500
0802C118 F00AFA22 bl      8036560h                                ;
0802C11C BC10     pop     r4                                      ;
0802C11E BC01     pop     r0                                      ;
0802C120 4700     bx      r0                                      ;

Goblin's Secret Remedy

0802C126 4B11     ldr     r3,=20237D0h                            ;Goblin's Secret Remedy
0802C128 4A11     ldr     r2,=2023480h                            ;
0802C12A 7890     ldrb    r0,[r2,2h]                              ;
0802C12C 7098     strb    r0,[r3,2h]                              ;
0802C12E 78D0     ldrb    r0,[r2,3h]                              ;
0802C130 70D8     strb    r0,[r3,3h]                              ;
0802C132 4C10     ldr     r4,=2023270h                            ;
0802C134 7891     ldrb    r1,[r2,2h]                              ;
0802C136 0088     lsl     r0,r1,2h                                ;
0802C138 1840     add     r0,r0,r1                                ;
0802C13A 78D2     ldrb    r2,[r2,3h]                              ;
0802C13C 1880     add     r0,r0,r2                                ;
0802C13E 0080     lsl     r0,r0,2h                                ;
0802C140 1900     add     r0,r0,r4                                ;
0802C142 6800     ldr     r0,[r0]                                 ;
0802C144 8800     ldrh    r0,[r0]                                 ;
0802C146 8018     strh    r0,[r3]                                 ;
0802C148 F00AFA82 bl      8036650h                                ;
0802C14C 2801     cmp     r0,1h                                   ;
0802C14E D103     bne     802C158h                                ;
0802C150 4809     ldr     r0,=2020C38h                            ;
0802C152 7800     ldrb    r0,[r0]                                 ;
0802C154 2800     cmp     r0,0h                                   ;
0802C156 D03B     beq     802C1D0h                                ;
0802C158 F00BF912 bl      8037380h                                ;
0802C15C 2800     cmp     r0,0h                                   ;
0802C15E D10D     bne     802C17Ch                                ;
0802C160 20FA     mov     r0,0FAh                                 ;
0802C162 0080     lsl     r0,r0,2h                                ;r0 = 1000
0802C164 F7F8F8A4 bl      80242B0h                                ;
0802C168 E00C     b       802C184h                                ;
0802C16A 0000     lsl     r0,r0,0h                                ;
0802C16C 37D0     add     r7,0D0h                                 ;
0802C16E 0202     lsl     r2,r0,8h                                ;
0802C170 3480     add     r4,80h                                  ;
0802C172 0202     lsl     r2,r0,8h                                ;
0802C174 3270     add     r2,70h                                  ;
0802C176 0202     lsl     r2,r0,8h                                ;
0802C178 0C38     lsr     r0,r7,10h                               ;
0802C17A 0202     lsl     r2,r0,8h                                ;
0802C17C 20FA     mov     r0,0FAh                                 ;
0802C17E 0080     lsl     r0,r0,2h                                ;r0 = 1000
0802C180 F7F8F8BA bl      80242F8h                                ;
0802C184 F7F7FCE8 bl      8023B58h                                ;
0802C188 F7F7FEE2 bl      8023F50h                                ;
0802C18C 4B0D     ldr     r3,=2023270h                            ;
0802C18E 4A0E     ldr     r2,=2023480h                            ;
0802C190 7891     ldrb    r1,[r2,2h]                              ;
0802C192 0088     lsl     r0,r1,2h                                ;
0802C194 1840     add     r0,r0,r1                                ;
0802C196 78D2     ldrb    r2,[r2,3h]                              ;
0802C198 1880     add     r0,r0,r2                                ;
0802C19A 0080     lsl     r0,r0,2h                                ;
0802C19C 18C0     add     r0,r0,r3                                ;
0802C19E 6800     ldr     r0,[r0]                                 ;
0802C1A0 2100     mov     r1,0h                                   ;
0802C1A2 F7FCFDAD bl      8028D00h                                ;
0802C1A6 4809     ldr     r0,=2020C38h                            ;
0802C1A8 7800     ldrb    r0,[r0]                                 ;
0802C1AA 2800     cmp     r0,0h                                   ;
0802C1AC D114     bne     802C1D8h                                ;
0802C1AE 2041     mov     r0,41h                                  ;
0802C1B0 F7F6F9C6 bl      8022540h                                ;
0802C1B4 20AA     mov     r0,0AAh                                 ;
0802C1B6 0040     lsl     r0,r0,1h                                ;
0802C1B8 F7F9FB72 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C1BC 204E     mov     r0,4Eh                                  ;
0802C1BE F7F6F9BF bl      8022540h                                ;
0802C1C2 E009     b       802C1D8h                                ;
0802C1C4 3270     add     r2,70h                                  ;
0802C1C6 0202     lsl     r2,r0,8h                                ;
0802C1C8 3480     add     r4,80h                                  ;
0802C1CA 0202     lsl     r2,r0,8h                                ;
0802C1CC 0C38     lsr     r0,r7,10h                               ;
0802C1CE 0202     lsl     r2,r0,8h                                ;
0802C1D0 20FA     mov     r0,0FAh                                 ;r0 = 1000
0802C1D2 0080     lsl     r0,r0,2h                                ;
0802C1D4 F00AF9C4 bl      8036560h                                ;
0802C1D8 BC10     pop     r4                                      ;
0802C1DA BC01     pop     r0                                      ;
0802C1DC 4700     bx      r0                                      ;

Soul of the Pure

0802C1E2 4B11     ldr     r3,=20237D0h                            ;Soul of the Pure
0802C1E4 4A11     ldr     r2,=2023480h                            ;
0802C1E6 7890     ldrb    r0,[r2,2h]                              ;
0802C1E8 7098     strb    r0,[r3,2h]                              ;
0802C1EA 78D0     ldrb    r0,[r2,3h]                              ;
0802C1EC 70D8     strb    r0,[r3,3h]                              ;
0802C1EE 4C10     ldr     r4,=2023270h                            ;
0802C1F0 7891     ldrb    r1,[r2,2h]                              ;
0802C1F2 0088     lsl     r0,r1,2h                                ;
0802C1F4 1840     add     r0,r0,r1                                ;
0802C1F6 78D2     ldrb    r2,[r2,3h]                              ;
0802C1F8 1880     add     r0,r0,r2                                ;
0802C1FA 0080     lsl     r0,r0,2h                                ;
0802C1FC 1900     add     r0,r0,r4                                ;
0802C1FE 6800     ldr     r0,[r0]                                 ;
0802C200 8800     ldrh    r0,[r0]                                 ;
0802C202 8018     strh    r0,[r3]                                 ;
0802C204 F00AFA24 bl      8036650h                                ;
0802C208 2801     cmp     r0,1h                                   ;
0802C20A D103     bne     802C214h                                ;
0802C20C 4809     ldr     r0,=2020C38h                            ;
0802C20E 7800     ldrb    r0,[r0]                                 ;
0802C210 2800     cmp     r0,0h                                   ;
0802C212 D03D     beq     802C290h                                ;
0802C214 F00BF8B4 bl      8037380h                                ;
0802C218 2800     cmp     r0,0h                                   ;
0802C21A D10D     bne     802C238h                                ;
0802C21C 20FA     mov     r0,0FAh                                 ;
0802C21E 00C0     lsl     r0,r0,3h                                ;r0 = 2000
0802C220 F7F8F846 bl      80242B0h                                ;
0802C224 E00C     b       802C240h                                ;
0802C226 0000     lsl     r0,r0,0h                                ;
0802C228 37D0     add     r7,0D0h                                 ;
0802C22A 0202     lsl     r2,r0,8h                                ;
0802C22C 3480     add     r4,80h                                  ;
0802C22E 0202     lsl     r2,r0,8h                                ;
0802C230 3270     add     r2,70h                                  ;
0802C232 0202     lsl     r2,r0,8h                                ;
0802C234 0C38     lsr     r0,r7,10h                               ;
0802C236 0202     lsl     r2,r0,8h                                ;
0802C238 20FA     mov     r0,0FAh                                 ;
0802C23A 00C0     lsl     r0,r0,3h                                ;r0 = 2000
0802C23C F7F8F85C bl      80242F8h                                ;
0802C240 F7F7FC8A bl      8023B58h                                ;
0802C244 F7F7FE84 bl      8023F50h                                ;
0802C248 4B0D     ldr     r3,=2023270h                            ;
0802C24A 4A0E     ldr     r2,=2023480h                            ;
0802C24C 7891     ldrb    r1,[r2,2h]                              ;
0802C24E 0088     lsl     r0,r1,2h                                ;
0802C250 1840     add     r0,r0,r1                                ;
0802C252 78D2     ldrb    r2,[r2,3h]                              ;
0802C254 1880     add     r0,r0,r2                                ;
0802C256 0080     lsl     r0,r0,2h                                ;
0802C258 18C0     add     r0,r0,r3                                ;
0802C25A 6800     ldr     r0,[r0]                                 ;
0802C25C 2100     mov     r1,0h                                   ;
0802C25E F7FCFD4F bl      8028D00h                                ;
0802C262 4809     ldr     r0,=2020C38h                            ;
0802C264 7800     ldrb    r0,[r0]                                 ;
0802C266 2800     cmp     r0,0h                                   ;
0802C268 D116     bne     802C298h                                ;
0802C26A 2041     mov     r0,41h                                  ;
0802C26C F7F6F968 bl      8022540h                                ;
0802C270 4806     ldr     r0,=155h                                ;
0802C272 F7F9FB15 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C276 204E     mov     r0,4Eh                                  ;
0802C278 F7F6F962 bl      8022540h                                ;
0802C27C E00C     b       802C298h                                ;
0802C27E 0000     lsl     r0,r0,0h                                ;
0802C280 3270     add     r2,70h                                  ;
0802C282 0202     lsl     r2,r0,8h                                ;
0802C284 3480     add     r4,80h                                  ;
0802C286 0202     lsl     r2,r0,8h                                ;
0802C288 0C38     lsr     r0,r7,10h                               ;
0802C28A 0202     lsl     r2,r0,8h                                ;
0802C28C 0155     lsl     r5,r2,5h                                ;
0802C28E 0000     lsl     r0,r0,0h                                ;
0802C290 20FA     mov     r0,0FAh                                 ;
0802C292 00C0     lsl     r0,r0,3h                                ;r0 = 2000
0802C294 F00AF964 bl      8036560h                                ;
0802C298 BC10     pop     r4                                      ;
0802C29A BC01     pop     r0                                      ;
0802C29C 4700     bx      r0                                      ;

Dian Keto the Cure Master

0802C2A2 4B10     ldr     r3,=20237D0h                            ;Dian Keto the Cure Master
0802C2A4 4A10     ldr     r2,=2023480h                            ;
0802C2A6 7890     ldrb    r0,[r2,2h]                              ;
0802C2A8 7098     strb    r0,[r3,2h]                              ;
0802C2AA 78D0     ldrb    r0,[r2,3h]                              ;
0802C2AC 70D8     strb    r0,[r3,3h]                              ;
0802C2AE 4C0F     ldr     r4,=2023270h                            ;
0802C2B0 7891     ldrb    r1,[r2,2h]                              ;
0802C2B2 0088     lsl     r0,r1,2h                                ;
0802C2B4 1840     add     r0,r0,r1                                ;
0802C2B6 78D2     ldrb    r2,[r2,3h]                              ;
0802C2B8 1880     add     r0,r0,r2                                ;
0802C2BA 0080     lsl     r0,r0,2h                                ;
0802C2BC 1900     add     r0,r0,r4                                ;
0802C2BE 6800     ldr     r0,[r0]                                 ;
0802C2C0 8800     ldrh    r0,[r0]                                 ;
0802C2C2 8018     strh    r0,[r3]                                 ;
0802C2C4 F00AF9C4 bl      8036650h                                ;
0802C2C8 2801     cmp     r0,1h                                   ;
0802C2CA D103     bne     802C2D4h                                ;
0802C2CC 4808     ldr     r0,=2020C38h                            ;
0802C2CE 7800     ldrb    r0,[r0]                                 ;
0802C2D0 2800     cmp     r0,0h                                   ;
0802C2D2 D03D     beq     802C350h                                ;
0802C2D4 F00BF854 bl      8037380h                                ;
0802C2D8 2800     cmp     r0,0h                                   ;
0802C2DA D10D     bne     802C2F8h                                ;
0802C2DC 4805     ldr     r0,=1388h                               ;r0 = 5000
0802C2DE F7F7FFE7 bl      80242B0h                                ;
0802C2E2 E00C     b       802C2FEh                                ;
0802C2E4 37D0     add     r7,0D0h                                 ;
0802C2E6 0202     lsl     r2,r0,8h                                ;
0802C2E8 3480     add     r4,80h                                  ;
0802C2EA 0202     lsl     r2,r0,8h                                ;
0802C2EC 3270     add     r2,70h                                  ;
0802C2EE 0202     lsl     r2,r0,8h                                ;
0802C2F0 0C38     lsr     r0,r7,10h                               ;
0802C2F2 0202     lsl     r2,r0,8h                                ;
0802C2F4 1388     asr     r0,r1,0Eh                               ;
0802C2F6 0000     lsl     r0,r0,0h                                ;
0802C2F8 4811     ldr     r0,=1388h                               ;r0 = 5000
0802C2FA F7F7FFFD bl      80242F8h                                ;
0802C2FE F7F7FC2B bl      8023B58h                                ;
0802C302 F7F7FE25 bl      8023F50h                                ;
0802C306 4B0F     ldr     r3,=2023270h                            ;
0802C308 4A0F     ldr     r2,=2023480h                            ;
0802C30A 7891     ldrb    r1,[r2,2h]                              ;
0802C30C 0088     lsl     r0,r1,2h                                ;
0802C30E 1840     add     r0,r0,r1                                ;
0802C310 78D2     ldrb    r2,[r2,3h]                              ;
0802C312 1880     add     r0,r0,r2                                ;
0802C314 0080     lsl     r0,r0,2h                                ;
0802C316 18C0     add     r0,r0,r3                                ;
0802C318 6800     ldr     r0,[r0]                                 ;
0802C31A 2100     mov     r1,0h                                   ;
0802C31C F7FCFCF0 bl      8028D00h                                ;
0802C320 480A     ldr     r0,=2020C38h                            ;
0802C322 7800     ldrb    r0,[r0]                                 ;
0802C324 2800     cmp     r0,0h                                   ;
0802C326 D116     bne     802C356h                                ;
0802C328 2041     mov     r0,41h                                  ;
0802C32A F7F6F909 bl      8022540h                                ;
0802C32E 20AB     mov     r0,0ABh                                 ;
0802C330 0040     lsl     r0,r0,1h                                ;
0802C332 F7F9FAB5 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C336 204E     mov     r0,4Eh                                  ;
0802C338 F7F6F902 bl      8022540h                                ;
0802C33C E00B     b       802C356h                                ;
0802C33E 0000     lsl     r0,r0,0h                                ;
0802C340 1388     asr     r0,r1,0Eh                               ;
0802C342 0000     lsl     r0,r0,0h                                ;
0802C344 3270     add     r2,70h                                  ;
0802C346 0202     lsl     r2,r0,8h                                ;
0802C348 3480     add     r4,80h                                  ;
0802C34A 0202     lsl     r2,r0,8h                                ;
0802C34C 0C38     lsr     r0,r7,10h                               ;
0802C34E 0202     lsl     r2,r0,8h                                ;
0802C350 4802     ldr     r0,=1388h                               ;r0 = 5000
0802C352 F00AF905 bl      8036560h                                ;
0802C356 BC10     pop     r4                                      ;
0802C358 BC01     pop     r0                                      ;
0802C35A 4700     bx      r0                                      ;

Sparks

0802C362 4B10     ldr     r3,=20237D0h                            ;Sparks
0802C364 4A10     ldr     r2,=2023480h                            ;
0802C366 7890     ldrb    r0,[r2,2h]                              ;
0802C368 7098     strb    r0,[r3,2h]                              ;
0802C36A 78D0     ldrb    r0,[r2,3h]                              ;
0802C36C 70D8     strb    r0,[r3,3h]                              ;
0802C36E 4C0F     ldr     r4,=2023270h                            ;
0802C370 7891     ldrb    r1,[r2,2h]                              ;
0802C372 0088     lsl     r0,r1,2h                                ;
0802C374 1840     add     r0,r0,r1                                ;
0802C376 78D2     ldrb    r2,[r2,3h]                              ;
0802C378 1880     add     r0,r0,r2                                ;
0802C37A 0080     lsl     r0,r0,2h                                ;
0802C37C 1900     add     r0,r0,r4                                ;
0802C37E 6800     ldr     r0,[r0]                                 ;
0802C380 8800     ldrh    r0,[r0]                                 ;
0802C382 8018     strh    r0,[r3]                                 ;
0802C384 F00AF964 bl      8036650h                                ;
0802C388 2801     cmp     r0,1h                                   ;
0802C38A D103     bne     802C394h                                ;
0802C38C 4808     ldr     r0,=2020C38h                            ;
0802C38E 7800     ldrb    r0,[r0]                                 ;
0802C390 2800     cmp     r0,0h                                   ;
0802C392 D039     beq     802C408h                                ;
0802C394 F00AFFF4 bl      8037380h                                ;
0802C398 2800     cmp     r0,0h                                   ;
0802C39A D10B     bne     802C3B4h                                ;
0802C39C 2032     mov     r0,32h                                  ;r0 = 50
0802C39E F7F7FFBD bl      802431Ch                                ;
0802C3A2 E00A     b       802C3BAh                                ;
0802C3A4 37D0     add     r7,0D0h                                 ;
0802C3A6 0202     lsl     r2,r0,8h                                ;
0802C3A8 3480     add     r4,80h                                  ;
0802C3AA 0202     lsl     r2,r0,8h                                ;
0802C3AC 3270     add     r2,70h                                  ;
0802C3AE 0202     lsl     r2,r0,8h                                ;
0802C3B0 0C38     lsr     r0,r7,10h                               ;
0802C3B2 0202     lsl     r2,r0,8h                                ;
0802C3B4 2032     mov     r0,32h                                  ;r0 = 50
0802C3B6 F7F7FF8D bl      80242D4h                                ;
0802C3BA F7F7FBCD bl      8023B58h                                ;
0802C3BE F7F7FDC7 bl      8023F50h                                ;
0802C3C2 4B0D     ldr     r3,=2023270h                            ;
0802C3C4 4A0D     ldr     r2,=2023480h                            ;
0802C3C6 7891     ldrb    r1,[r2,2h]                              ;
0802C3C8 0088     lsl     r0,r1,2h                                ;
0802C3CA 1840     add     r0,r0,r1                                ;
0802C3CC 78D2     ldrb    r2,[r2,3h]                              ;
0802C3CE 1880     add     r0,r0,r2                                ;
0802C3D0 0080     lsl     r0,r0,2h                                ;
0802C3D2 18C0     add     r0,r0,r3                                ;
0802C3D4 6800     ldr     r0,[r0]                                 ;
0802C3D6 2100     mov     r1,0h                                   ;
0802C3D8 F7FCFC92 bl      8028D00h                                ;
0802C3DC 4808     ldr     r0,=2020C38h                            ;
0802C3DE 7800     ldrb    r0,[r0]                                 ;
0802C3E0 2800     cmp     r0,0h                                   ;
0802C3E2 D114     bne     802C40Eh                                ;
0802C3E4 2041     mov     r0,41h                                  ;
0802C3E6 F7F6F8AB bl      8022540h                                ;
0802C3EA 4806     ldr     r0,=157h                                ;
0802C3EC F7F9FA58 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C3F0 204D     mov     r0,4Dh                                  ;
0802C3F2 F7F6F8A5 bl      8022540h                                ;
0802C3F6 E00A     b       802C40Eh                                ;
0802C3F8 3270     add     r2,70h                                  ;
0802C3FA 0202     lsl     r2,r0,8h                                ;
0802C3FC 3480     add     r4,80h                                  ;
0802C3FE 0202     lsl     r2,r0,8h                                ;
0802C400 0C38     lsr     r0,r7,10h                               ;
0802C402 0202     lsl     r2,r0,8h                                ;
0802C404 0157     lsl     r7,r2,5h                                ;
0802C406 0000     lsl     r0,r0,0h                                ;
0802C408 2032     mov     r0,32h                                  ;r0 = 50
0802C40A F00AF8A9 bl      8036560h                                ;
0802C40E BC10     pop     r4                                      ;
0802C410 BC01     pop     r0                                      ;
0802C412 4700     bx      r0                                      ;

Hinotama

0802C416 4B10     ldr     r3,=20237D0h                            ;Hinotama
0802C418 4A10     ldr     r2,=2023480h                            ;
0802C41A 7890     ldrb    r0,[r2,2h]                              ;
0802C41C 7098     strb    r0,[r3,2h]                              ;
0802C41E 78D0     ldrb    r0,[r2,3h]                              ;
0802C420 70D8     strb    r0,[r3,3h]                              ;
0802C422 4C0F     ldr     r4,=2023270h                            ;
0802C424 7891     ldrb    r1,[r2,2h]                              ;
0802C426 0088     lsl     r0,r1,2h                                ;
0802C428 1840     add     r0,r0,r1                                ;
0802C42A 78D2     ldrb    r2,[r2,3h]                              ;
0802C42C 1880     add     r0,r0,r2                                ;
0802C42E 0080     lsl     r0,r0,2h                                ;
0802C430 1900     add     r0,r0,r4                                ;
0802C432 6800     ldr     r0,[r0]                                 ;
0802C434 8800     ldrh    r0,[r0]                                 ;
0802C436 8018     strh    r0,[r3]                                 ;
0802C438 F00AF90A bl      8036650h                                ;
0802C43C 2801     cmp     r0,1h                                   ;
0802C43E D103     bne     802C448h                                ;
0802C440 4808     ldr     r0,=2020C38h                            ;
0802C442 7800     ldrb    r0,[r0]                                 ;
0802C444 2800     cmp     r0,0h                                   ;
0802C446 D039     beq     802C4BCh                                ;
0802C448 F00AFF9A bl      8037380h                                ;
0802C44C 2800     cmp     r0,0h                                   ;
0802C44E D10B     bne     802C468h                                ;
0802C450 2064     mov     r0,64h                                  ;r0 = 100
0802C452 F7F7FF63 bl      802431Ch                                ;
0802C456 E00A     b       802C46Eh                                ;
0802C458 37D0     add     r7,0D0h                                 ;
0802C45A 0202     lsl     r2,r0,8h                                ;
0802C45C 3480     add     r4,80h                                  ;
0802C45E 0202     lsl     r2,r0,8h                                ;
0802C460 3270     add     r2,70h                                  ;
0802C462 0202     lsl     r2,r0,8h                                ;
0802C464 0C38     lsr     r0,r7,10h                               ;
0802C466 0202     lsl     r2,r0,8h                                ;
0802C468 2064     mov     r0,64h                                  ;r0 = 100
0802C46A F7F7FF33 bl      80242D4h                                ;
0802C46E F7F7FB73 bl      8023B58h                                ;
0802C472 F7F7FD6D bl      8023F50h                                ;
0802C476 4B0E     ldr     r3,=2023270h                            ;
0802C478 4A0E     ldr     r2,=2023480h                            ;
0802C47A 7891     ldrb    r1,[r2,2h]                              ;
0802C47C 0088     lsl     r0,r1,2h                                ;
0802C47E 1840     add     r0,r0,r1                                ;
0802C480 78D2     ldrb    r2,[r2,3h]                              ;
0802C482 1880     add     r0,r0,r2                                ;
0802C484 0080     lsl     r0,r0,2h                                ;
0802C486 18C0     add     r0,r0,r3                                ;
0802C488 6800     ldr     r0,[r0]                                 ;
0802C48A 2100     mov     r1,0h                                   ;
0802C48C F7FCFC38 bl      8028D00h                                ;
0802C490 4809     ldr     r0,=2020C38h                            ;
0802C492 7800     ldrb    r0,[r0]                                 ;
0802C494 2800     cmp     r0,0h                                   ;
0802C496 D114     bne     802C4C2h                                ;
0802C498 2041     mov     r0,41h                                  ;
0802C49A F7F6F851 bl      8022540h                                ;
0802C49E 20AC     mov     r0,0ACh                                 ;
0802C4A0 0040     lsl     r0,r0,1h                                ;
0802C4A2 F7F9F9FD bl      80258A0h                                ;call 0x258A0 - Display text box
0802C4A6 204D     mov     r0,4Dh                                  ;
0802C4A8 F7F6F84A bl      8022540h                                ;
0802C4AC E009     b       802C4C2h                                ;
0802C4AE 0000     lsl     r0,r0,0h                                ;
0802C4B0 3270     add     r2,70h                                  ;
0802C4B2 0202     lsl     r2,r0,8h                                ;
0802C4B4 3480     add     r4,80h                                  ;
0802C4B6 0202     lsl     r2,r0,8h                                ;
0802C4B8 0C38     lsr     r0,r7,10h                               ;
0802C4BA 0202     lsl     r2,r0,8h                                ;
0802C4BC 2064     mov     r0,64h                                  ;r0 = 100
0802C4BE F00AF84F bl      8036560h                                ;
0802C4C2 BC10     pop     r4                                      ;
0802C4C4 BC01     pop     r0                                      ;
0802C4C6 4700     bx      r0                                      ;

Final Flame

0802C4CA 4B10     ldr     r3,=20237D0h                            ;Final Flame
0802C4CC 4A10     ldr     r2,=2023480h                            ;
0802C4CE 7890     ldrb    r0,[r2,2h]                              ;
0802C4D0 7098     strb    r0,[r3,2h]                              ;
0802C4D2 78D0     ldrb    r0,[r2,3h]                              ;
0802C4D4 70D8     strb    r0,[r3,3h]                              ;
0802C4D6 4C0F     ldr     r4,=2023270h                            ;
0802C4D8 7891     ldrb    r1,[r2,2h]                              ;
0802C4DA 0088     lsl     r0,r1,2h                                ;
0802C4DC 1840     add     r0,r0,r1                                ;
0802C4DE 78D2     ldrb    r2,[r2,3h]                              ;
0802C4E0 1880     add     r0,r0,r2                                ;
0802C4E2 0080     lsl     r0,r0,2h                                ;
0802C4E4 1900     add     r0,r0,r4                                ;
0802C4E6 6800     ldr     r0,[r0]                                 ;
0802C4E8 8800     ldrh    r0,[r0]                                 ;
0802C4EA 8018     strh    r0,[r3]                                 ;
0802C4EC F00AF8B0 bl      8036650h                                ;
0802C4F0 2801     cmp     r0,1h                                   ;
0802C4F2 D103     bne     802C4FCh                                ;
0802C4F4 4808     ldr     r0,=2020C38h                            ;
0802C4F6 7800     ldrb    r0,[r0]                                 ;
0802C4F8 2800     cmp     r0,0h                                   ;
0802C4FA D039     beq     802C570h                                ;
0802C4FC F00AFF40 bl      8037380h                                ;
0802C500 2800     cmp     r0,0h                                   ;
0802C502 D10B     bne     802C51Ch                                ;
0802C504 20C8     mov     r0,0C8h                                 ;r0 = 200
0802C506 F7F7FF09 bl      802431Ch                                ;
0802C50A E00A     b       802C522h                                ;
0802C50C 37D0     add     r7,0D0h                                 ;
0802C50E 0202     lsl     r2,r0,8h                                ;
0802C510 3480     add     r4,80h                                  ;
0802C512 0202     lsl     r2,r0,8h                                ;
0802C514 3270     add     r2,70h                                  ;
0802C516 0202     lsl     r2,r0,8h                                ;
0802C518 0C38     lsr     r0,r7,10h                               ;
0802C51A 0202     lsl     r2,r0,8h                                ;
0802C51C 20C8     mov     r0,0C8h                                 ;r0 = 200
0802C51E F7F7FED9 bl      80242D4h                                ;
0802C522 F7F7FB19 bl      8023B58h                                ;
0802C526 F7F7FD13 bl      8023F50h                                ;
0802C52A 4B0D     ldr     r3,=2023270h                            ;
0802C52C 4A0D     ldr     r2,=2023480h                            ;
0802C52E 7891     ldrb    r1,[r2,2h]                              ;
0802C530 0088     lsl     r0,r1,2h                                ;
0802C532 1840     add     r0,r0,r1                                ;
0802C534 78D2     ldrb    r2,[r2,3h]                              ;
0802C536 1880     add     r0,r0,r2                                ;
0802C538 0080     lsl     r0,r0,2h                                ;
0802C53A 18C0     add     r0,r0,r3                                ;
0802C53C 6800     ldr     r0,[r0]                                 ;
0802C53E 2100     mov     r1,0h                                   ;
0802C540 F7FCFBDE bl      8028D00h                                ;
0802C544 4808     ldr     r0,=2020C38h                            ;
0802C546 7800     ldrb    r0,[r0]                                 ;
0802C548 2800     cmp     r0,0h                                   ;
0802C54A D114     bne     802C576h                                ;
0802C54C 2041     mov     r0,41h                                  ;
0802C54E F7F5FFF7 bl      8022540h                                ;
0802C552 4806     ldr     r0,=159h                                ;
0802C554 F7F9F9A4 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C558 204D     mov     r0,4Dh                                  ;
0802C55A F7F5FFF1 bl      8022540h                                ;
0802C55E E00A     b       802C576h                                ;
0802C560 3270     add     r2,70h                                  ;
0802C562 0202     lsl     r2,r0,8h                                ;
0802C564 3480     add     r4,80h                                  ;
0802C566 0202     lsl     r2,r0,8h                                ;
0802C568 0C38     lsr     r0,r7,10h                               ;
0802C56A 0202     lsl     r2,r0,8h                                ;
0802C56C 0159     lsl     r1,r3,5h                                ;
0802C56E 0000     lsl     r0,r0,0h                                ;
0802C570 20C8     mov     r0,0C8h                                 ;r0 = 200
0802C572 F009FFF5 bl      8036560h                                ;
0802C576 BC10     pop     r4                                      ;
0802C578 BC01     pop     r0                                      ;
0802C57A 4700     bx      r0                                      ;

Ookazi

0802C57E 4B11     ldr     r3,=20237D0h                            ;Ookazi
0802C580 4A11     ldr     r2,=2023480h                            ;
0802C582 7890     ldrb    r0,[r2,2h]                              ;
0802C584 7098     strb    r0,[r3,2h]                              ;
0802C586 78D0     ldrb    r0,[r2,3h]                              ;
0802C588 70D8     strb    r0,[r3,3h]                              ;
0802C58A 4C10     ldr     r4,=2023270h                            ;
0802C58C 7891     ldrb    r1,[r2,2h]                              ;
0802C58E 0088     lsl     r0,r1,2h                                ;
0802C590 1840     add     r0,r0,r1                                ;
0802C592 78D2     ldrb    r2,[r2,3h]                              ;
0802C594 1880     add     r0,r0,r2                                ;
0802C596 0080     lsl     r0,r0,2h                                ;
0802C598 1900     add     r0,r0,r4                                ;
0802C59A 6800     ldr     r0,[r0]                                 ;
0802C59C 8800     ldrh    r0,[r0]                                 ;
0802C59E 8018     strh    r0,[r3]                                 ;
0802C5A0 F00AF856 bl      8036650h                                ;
0802C5A4 2801     cmp     r0,1h                                   ;
0802C5A6 D103     bne     802C5B0h                                ;
0802C5A8 4809     ldr     r0,=2020C38h                            ;
0802C5AA 7800     ldrb    r0,[r0]                                 ;
0802C5AC 2800     cmp     r0,0h                                   ;
0802C5AE D03B     beq     802C628h                                ;
0802C5B0 F00AFEE6 bl      8037380h                                ;
0802C5B4 2800     cmp     r0,0h                                   ;
0802C5B6 D10D     bne     802C5D4h                                ;
0802C5B8 20FA     mov     r0,0FAh                                 ;
0802C5BA 0040     lsl     r0,r0,1h                                ;r0 = 500
0802C5BC F7F7FEAE bl      802431Ch                                ;
0802C5C0 E00C     b       802C5DCh                                ;
0802C5C2 0000     lsl     r0,r0,0h                                ;
0802C5C4 37D0     add     r7,0D0h                                 ;
0802C5C6 0202     lsl     r2,r0,8h                                ;
0802C5C8 3480     add     r4,80h                                  ;
0802C5CA 0202     lsl     r2,r0,8h                                ;
0802C5CC 3270     add     r2,70h                                  ;
0802C5CE 0202     lsl     r2,r0,8h                                ;
0802C5D0 0C38     lsr     r0,r7,10h                               ;
0802C5D2 0202     lsl     r2,r0,8h                                ;
0802C5D4 20FA     mov     r0,0FAh                                 ;
0802C5D6 0040     lsl     r0,r0,1h                                ;r0 = 500
0802C5D8 F7F7FE7C bl      80242D4h                                ;
0802C5DC F7F7FABC bl      8023B58h                                ;
0802C5E0 F7F7FCB6 bl      8023F50h                                ;
0802C5E4 4B0D     ldr     r3,=2023270h                            ;
0802C5E6 4A0E     ldr     r2,=2023480h                            ;
0802C5E8 7891     ldrb    r1,[r2,2h]                              ;
0802C5EA 0088     lsl     r0,r1,2h                                ;
0802C5EC 1840     add     r0,r0,r1                                ;
0802C5EE 78D2     ldrb    r2,[r2,3h]                              ;
0802C5F0 1880     add     r0,r0,r2                                ;
0802C5F2 0080     lsl     r0,r0,2h                                ;
0802C5F4 18C0     add     r0,r0,r3                                ;
0802C5F6 6800     ldr     r0,[r0]                                 ;
0802C5F8 2100     mov     r1,0h                                   ;
0802C5FA F7FCFB81 bl      8028D00h                                ;
0802C5FE 4809     ldr     r0,=2020C38h                            ;
0802C600 7800     ldrb    r0,[r0]                                 ;
0802C602 2800     cmp     r0,0h                                   ;
0802C604 D114     bne     802C630h                                ;
0802C606 2041     mov     r0,41h                                  ;
0802C608 F7F5FF9A bl      8022540h                                ;
0802C60C 20AD     mov     r0,0ADh                                 ;
0802C60E 0040     lsl     r0,r0,1h                                ;r0 = 346 ; Ookazi
0802C610 F7F9F946 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C614 204D     mov     r0,4Dh                                  ;
0802C616 F7F5FF93 bl      8022540h                                ;
0802C61A E009     b       802C630h                                ;
0802C61C 3270     add     r2,70h                                  ;
0802C61E 0202     lsl     r2,r0,8h                                ;
0802C620 3480     add     r4,80h                                  ;
0802C622 0202     lsl     r2,r0,8h                                ;
0802C624 0C38     lsr     r0,r7,10h                               ;
0802C626 0202     lsl     r2,r0,8h                                ;
0802C628 20FA     mov     r0,0FAh                                 ;
0802C62A 0040     lsl     r0,r0,1h                                ;r0 = 500
0802C62C F009FF98 bl      8036560h                                ;
0802C630 BC10     pop     r4                                      ;
0802C632 BC01     pop     r0                                      ;
0802C634 4700     bx      r0                                      ;

Tremendous Fire

0802C63A 4B11     ldr     r3,=20237D0h                            ;Tremendous Fire
0802C63C 4A11     ldr     r2,=2023480h                            ;
0802C63E 7890     ldrb    r0,[r2,2h]                              ;
0802C640 7098     strb    r0,[r3,2h]                              ;
0802C642 78D0     ldrb    r0,[r2,3h]                              ;
0802C644 70D8     strb    r0,[r3,3h]                              ;
0802C646 4C10     ldr     r4,=2023270h                            ;
0802C648 7891     ldrb    r1,[r2,2h]                              ;
0802C64A 0088     lsl     r0,r1,2h                                ;
0802C64C 1840     add     r0,r0,r1                                ;
0802C64E 78D2     ldrb    r2,[r2,3h]                              ;
0802C650 1880     add     r0,r0,r2                                ;
0802C652 0080     lsl     r0,r0,2h                                ;
0802C654 1900     add     r0,r0,r4                                ;
0802C656 6800     ldr     r0,[r0]                                 ;
0802C658 8800     ldrh    r0,[r0]                                 ;
0802C65A 8018     strh    r0,[r3]                                 ;
0802C65C F009FFF8 bl      8036650h                                ;
0802C660 2801     cmp     r0,1h                                   ;
0802C662 D103     bne     802C66Ch                                ;
0802C664 4809     ldr     r0,=2020C38h                            ;
0802C666 7800     ldrb    r0,[r0]                                 ;
0802C668 2800     cmp     r0,0h                                   ;
0802C66A D03D     beq     802C6E8h                                ;
0802C66C F00AFE88 bl      8037380h                                ;
0802C670 2800     cmp     r0,0h                                   ;
0802C672 D10D     bne     802C690h                                ;
0802C674 20FA     mov     r0,0FAh                                 ;
0802C676 0080     lsl     r0,r0,2h                                ;r0 = 1000
0802C678 F7F7FE50 bl      802431Ch                                ;
0802C67C E00C     b       802C698h                                ;
0802C67E 0000     lsl     r0,r0,0h                                ;
0802C680 37D0     add     r7,0D0h                                 ;
0802C682 0202     lsl     r2,r0,8h                                ;
0802C684 3480     add     r4,80h                                  ;
0802C686 0202     lsl     r2,r0,8h                                ;
0802C688 3270     add     r2,70h                                  ;
0802C68A 0202     lsl     r2,r0,8h                                ;
0802C68C 0C38     lsr     r0,r7,10h                               ;
0802C68E 0202     lsl     r2,r0,8h                                ;
0802C690 20FA     mov     r0,0FAh                                 ;
0802C692 0080     lsl     r0,r0,2h                                ;r0 = 1000
0802C694 F7F7FE1E bl      80242D4h                                ;
0802C698 F7F7FA5E bl      8023B58h                                ;
0802C69C F7F7FC58 bl      8023F50h                                ;
0802C6A0 4B0D     ldr     r3,=2023270h                            ;
0802C6A2 4A0E     ldr     r2,=2023480h                            ;
0802C6A4 7891     ldrb    r1,[r2,2h]                              ;
0802C6A6 0088     lsl     r0,r1,2h                                ;
0802C6A8 1840     add     r0,r0,r1                                ;
0802C6AA 78D2     ldrb    r2,[r2,3h]                              ;
0802C6AC 1880     add     r0,r0,r2                                ;
0802C6AE 0080     lsl     r0,r0,2h                                ;
0802C6B0 18C0     add     r0,r0,r3                                ;
0802C6B2 6800     ldr     r0,[r0]                                 ;
0802C6B4 2100     mov     r1,0h                                   ;
0802C6B6 F7FCFB23 bl      8028D00h                                ;
0802C6BA 4809     ldr     r0,=2020C38h                            ;
0802C6BC 7800     ldrb    r0,[r0]                                 ;
0802C6BE 2800     cmp     r0,0h                                   ;
0802C6C0 D116     bne     802C6F0h                                ;
0802C6C2 2041     mov     r0,41h                                  ;
0802C6C4 F7F5FF3C bl      8022540h                                ;
0802C6C8 4806     ldr     r0,=15Bh                                ;
0802C6CA F7F9F8E9 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C6CE 204D     mov     r0,4Dh                                  ;
0802C6D0 F7F5FF36 bl      8022540h                                ;
0802C6D4 E00C     b       802C6F0h                                ;
0802C6D6 0000     lsl     r0,r0,0h                                ;
0802C6D8 3270     add     r2,70h                                  ;
0802C6DA 0202     lsl     r2,r0,8h                                ;
0802C6DC 3480     add     r4,80h                                  ;
0802C6DE 0202     lsl     r2,r0,8h                                ;
0802C6E0 0C38     lsr     r0,r7,10h                               ;
0802C6E2 0202     lsl     r2,r0,8h                                ;
0802C6E4 015B     lsl     r3,r3,5h                                ;
0802C6E6 0000     lsl     r0,r0,0h                                ;
0802C6E8 20FA     mov     r0,0FAh                                 ;
0802C6EA 0080     lsl     r0,r0,2h                                ;r0 = 1000
0802C6EC F009FF38 bl      8036560h                                ;
0802C6F0 BC10     pop     r4                                      ;
0802C6F2 BC01     pop     r0                                      ;
0802C6F4 4700     bx      r0                                      ;

Dark Hole

0802C6FA 2500     mov     r5,0h                                   ;Dark Hole
0802C6FC 4E21     ldr     r6,=2023284h                            ;
0802C6FE 00A8     lsl     r0,r5,2h                                ;
0802C700 1984     add     r4,r0,r6                                ;
0802C702 6820     ldr     r0,[r4]                                 ;r0 = pointer to a RAM address
0802C704 8800     ldrh    r0,[r0]                                 ;load the value of that RAM address to r0
0802C706 F7ECFE31 bl      801936Ch                                ;Check if current_card_id is a God card
0802C70A 2800     cmp     r0,0h                                   ;
0802C70C D103     bne     802C716h                                ;
0802C70E 6820     ldr     r0,[r4]                                 ;
0802C710 2101     mov     r1,1h                                   ;
0802C712 F7FCFAF5 bl      8028D00h                                ;
0802C716 1C68     add     r0,r5,1                                 ;
0802C718 0600     lsl     r0,r0,18h                               ;
0802C71A 0E05     lsr     r5,r0,18h                               ;
0802C71C 2D04     cmp     r5,4h                                   ;
0802C71E D9EE     bls     802C6FEh                                ;
0802C720 2500     mov     r5,0h                                   ;
0802C722 4E19     ldr     r6,=2023298h                            ;
0802C724 00A8     lsl     r0,r5,2h                                ;
0802C726 1984     add     r4,r0,r6                                ;
0802C728 6820     ldr     r0,[r4]                                 ;
0802C72A 8800     ldrh    r0,[r0]                                 ;
0802C72C F7ECFE1E bl      801936Ch                                ;Check if current_card_id is a God card
0802C730 2800     cmp     r0,0h                                   ;
0802C732 D103     bne     802C73Ch                                ;
0802C734 6820     ldr     r0,[r4]                                 ;
0802C736 2100     mov     r1,0h                                   ;
0802C738 F7FCFAE2 bl      8028D00h                                ;
0802C73C 1C68     add     r0,r5,1                                 ;
0802C73E 0600     lsl     r0,r0,18h                               ;
0802C740 0E05     lsr     r5,r0,18h                               ;
0802C742 2D04     cmp     r5,4h                                   ;
0802C744 D9EE     bls     802C724h                                ;
0802C746 4B11     ldr     r3,=2023270h                            ;
0802C748 4A11     ldr     r2,=2023480h                            ;
0802C74A 7891     ldrb    r1,[r2,2h]                              ;
0802C74C 0088     lsl     r0,r1,2h                                ;
0802C74E 1840     add     r0,r0,r1                                ;
0802C750 78D2     ldrb    r2,[r2,3h]                              ;
0802C752 1880     add     r0,r0,r2                                ;
0802C754 0080     lsl     r0,r0,2h                                ;
0802C756 18C0     add     r0,r0,r3                                ;
0802C758 6800     ldr     r0,[r0]                                 ;
0802C75A 2100     mov     r1,0h                                   ;
0802C75C F7FCFAD0 bl      8028D00h                                ;
0802C760 480C     ldr     r0,=2020C38h                            ;
0802C762 7800     ldrb    r0,[r0]                                 ;
0802C764 2800     cmp     r0,0h                                   ;
0802C766 D109     bne     802C77Ch                                ;
0802C768 2041     mov     r0,41h                                  ;
0802C76A F7F5FEE9 bl      8022540h                                ;
0802C76E 20A8     mov     r0,0A8h                                 ;
0802C770 0040     lsl     r0,r0,1h                                ;r0 = 336 ; Dark Hole
0802C772 F7F9F895 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C776 204B     mov     r0,4Bh                                  ;
0802C778 F7F5FEE2 bl      8022540h                                ;
0802C77C BC70     pop     r4-r6                                   ;
0802C77E BC01     pop     r0                                      ;
0802C780 4700     bx      r0                                      ;

Raigeki

0802C79A 4B24     ldr     r3,=20237D0h                            ;Raigeki
0802C79C 4A24     ldr     r2,=2023480h                            ;
0802C79E 7890     ldrb    r0,[r2,2h]                              ;
0802C7A0 7098     strb    r0,[r3,2h]                              ;
0802C7A2 78D0     ldrb    r0,[r2,3h]                              ;
0802C7A4 70D8     strb    r0,[r3,3h]                              ;
0802C7A6 4C23     ldr     r4,=2023270h                            ;
0802C7A8 7891     ldrb    r1,[r2,2h]                              ;
0802C7AA 0088     lsl     r0,r1,2h                                ;
0802C7AC 1840     add     r0,r0,r1                                ;
0802C7AE 78D2     ldrb    r2,[r2,3h]                              ;
0802C7B0 1880     add     r0,r0,r2                                ;
0802C7B2 0080     lsl     r0,r0,2h                                ;
0802C7B4 1900     add     r0,r0,r4                                ;
0802C7B6 6800     ldr     r0,[r0]                                 ;
0802C7B8 8800     ldrh    r0,[r0]                                 ;
0802C7BA 8018     strh    r0,[r3]                                 ;
0802C7BC F009FF48 bl      8036650h                                ;
0802C7C0 2801     cmp     r0,1h                                   ;
0802C7C2 D103     bne     802C7CCh                                ;
0802C7C4 481C     ldr     r0,=2020C38h                            ;
0802C7C6 7800     ldrb    r0,[r0]                                 ;
0802C7C8 2800     cmp     r0,0h                                   ;
0802C7CA D039     beq     802C840h                                ;
0802C7CC 2500     mov     r5,0h                                   ;
0802C7CE 1C26     mov     r6,r4                                   ;
0802C7D0 3614     add     r6,14h                                  ;
0802C7D2 00A8     lsl     r0,r5,2h                                ;
0802C7D4 1984     add     r4,r0,r6                                ;
0802C7D6 6820     ldr     r0,[r4]                                 ;
0802C7D8 8800     ldrh    r0,[r0]                                 ;
0802C7DA F7ECFDC7 bl      801936Ch                                ;Check if current_card_id is a God card
0802C7DE 2800     cmp     r0,0h                                   ;
0802C7E0 D103     bne     802C7EAh                                ;
0802C7E2 6820     ldr     r0,[r4]                                 ;
0802C7E4 2101     mov     r1,1h                                   ;
0802C7E6 F7FCFA8B bl      8028D00h                                ;
0802C7EA 1C68     add     r0,r5,1                                 ;
0802C7EC 0600     lsl     r0,r0,18h                               ;
0802C7EE 0E05     lsr     r5,r0,18h                               ;
0802C7F0 2D04     cmp     r5,4h                                   ;
0802C7F2 D9EE     bls     802C7D2h                                ;
0802C7F4 4B0F     ldr     r3,=2023270h                            ;
0802C7F6 4A0E     ldr     r2,=2023480h                            ;
0802C7F8 7891     ldrb    r1,[r2,2h]                              ;
0802C7FA 0088     lsl     r0,r1,2h                                ;
0802C7FC 1840     add     r0,r0,r1                                ;
0802C7FE 78D2     ldrb    r2,[r2,3h]                              ;
0802C800 1880     add     r0,r0,r2                                ;
0802C802 0080     lsl     r0,r0,2h                                ;
0802C804 18C0     add     r0,r0,r3                                ;
0802C806 6800     ldr     r0,[r0]                                 ;
0802C808 2100     mov     r1,0h                                   ;
0802C80A F7FCFA79 bl      8028D00h                                ;
0802C80E 480A     ldr     r0,=2020C38h                            ;
0802C810 7800     ldrb    r0,[r0]                                 ;
0802C812 2800     cmp     r0,0h                                   ;
0802C814 D116     bne     802C844h                                ;
0802C816 2041     mov     r0,41h                                  ;
0802C818 F7F5FE92 bl      8022540h                                ;
0802C81C 4807     ldr     r0,=151h                                ;r0 = 337 ; Raigeki
0802C81E F7F9F83F bl      80258A0h                                ;call 0x258A0 - Display text box
0802C822 204B     mov     r0,4Bh                                  ;
0802C824 F7F5FE8C bl      8022540h                                ;
0802C828 E00C     b       802C844h                                ;
0802C82A 0000     lsl     r0,r0,0h                                ;
0802C82C 37D0     add     r7,0D0h                                 ;
0802C82E 0202     lsl     r2,r0,8h                                ;
0802C830 3480     add     r4,80h                                  ;
0802C832 0202     lsl     r2,r0,8h                                ;
0802C834 3270     add     r2,70h                                  ;
0802C836 0202     lsl     r2,r0,8h                                ;
0802C838 0C38     lsr     r0,r7,10h                               ;
0802C83A 0202     lsl     r2,r0,8h                                ;
0802C83C 0151     lsl     r1,r2,5h                                ;
0802C83E 0000     lsl     r0,r0,0h                                ;
0802C840 F009FE8E bl      8036560h                                ;
0802C844 BC70     pop     r4-r6                                   ;
0802C846 BC01     pop     r0                                      ;
0802C848 4700     bx      r0                                      ;

Legendary Sword

0802C84E 4D24     ldr     r5,=2023270h                            ;Legendary Sword
0802C850 4C24     ldr     r4,=2023480h                            ;
0802C852 78A1     ldrb    r1,[r4,2h]                              ;
0802C854 0088     lsl     r0,r1,2h                                ;
0802C856 1840     add     r0,r0,r1                                ;
0802C858 78E1     ldrb    r1,[r4,3h]                              ;
0802C85A 1840     add     r0,r0,r1                                ;
0802C85C 0080     lsl     r0,r0,2h                                ;
0802C85E 1940     add     r0,r0,r5                                ;
0802C860 6800     ldr     r0,[r0]                                 ;
0802C862 8800     ldrh    r0,[r0]                                 ;
0802C864 F007FFFE bl      8034864h                                ;
0802C868 2801     cmp     r0,1h                                   ;
0802C86A D150     bne     802C90Eh                                ;
0802C86C 4A1E     ldr     r2,=20237D0h                            ;
0802C86E 7920     ldrb    r0,[r4,4h]                              ;
0802C870 7090     strb    r0,[r2,2h]                              ;
0802C872 7960     ldrb    r0,[r4,5h]                              ;
0802C874 70D0     strb    r0,[r2,3h]                              ;
0802C876 7921     ldrb    r1,[r4,4h]                              ;
0802C878 0088     lsl     r0,r1,2h                                ;
0802C87A 1840     add     r0,r0,r1                                ;
0802C87C 7961     ldrb    r1,[r4,5h]                              ;
0802C87E 1840     add     r0,r0,r1                                ;
0802C880 0080     lsl     r0,r0,2h                                ;
0802C882 1940     add     r0,r0,r5                                ;
0802C884 6800     ldr     r0,[r0]                                 ;
0802C886 8800     ldrh    r0,[r0]                                 ;
0802C888 8010     strh    r0,[r2]                                 ;
0802C88A F009FEE1 bl      8036650h                                ;
0802C88E 2801     cmp     r0,1h                                   ;
0802C890 D103     bne     802C89Ah                                ;
0802C892 4816     ldr     r0,=2020C38h                            ;
0802C894 7800     ldrb    r0,[r0]                                 ;
0802C896 2800     cmp     r0,0h                                   ;
0802C898 D02C     beq     802C8F4h                                ;
0802C89A 78A1     ldrb    r1,[r4,2h]                              ;
0802C89C 0088     lsl     r0,r1,2h                                ;
0802C89E 1840     add     r0,r0,r1                                ;
0802C8A0 78E1     ldrb    r1,[r4,3h]                              ;
0802C8A2 1840     add     r0,r0,r1                                ;
0802C8A4 0080     lsl     r0,r0,2h                                ;
0802C8A6 1940     add     r0,r0,r5                                ;
0802C8A8 6800     ldr     r0,[r0]                                 ;
0802C8AA F7F8FA1B bl      8024CE4h                                ;
0802C8AE 7921     ldrb    r1,[r4,4h]                              ;
0802C8B0 0088     lsl     r0,r1,2h                                ;
0802C8B2 1840     add     r0,r0,r1                                ;
0802C8B4 7964     ldrb    r4,[r4,5h]                              ;
0802C8B6 1900     add     r0,r0,r4                                ;
0802C8B8 0080     lsl     r0,r0,2h                                ;
0802C8BA 1940     add     r0,r0,r5                                ;
0802C8BC 6800     ldr     r0,[r0]                                 ;
0802C8BE 2100     mov     r1,0h                                   ;
0802C8C0 F7FCFA1E bl      8028D00h                                ;
0802C8C4 4809     ldr     r0,=2020C38h                            ;
0802C8C6 7800     ldrb    r0,[r0]                                 ;
0802C8C8 2800     cmp     r0,0h                                   ;
0802C8CA D127     bne     802C91Ch                                ;
0802C8CC 2041     mov     r0,41h                                  ;
0802C8CE F7F5FE37 bl      8022540h                                ;
0802C8D2 4807     ldr     r0,=12Dh                                ;r0 = 301 ; Legendary Sword
0802C8D4 F7F8FFE4 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C8D8 2049     mov     r0,49h                                  ;
0802C8DA F7F5FE31 bl      8022540h                                ;
0802C8DE E01D     b       802C91Ch                                ;
0802C8E0 3270     add     r2,70h                                  ;
0802C8E2 0202     lsl     r2,r0,8h                                ;
0802C8E4 3480     add     r4,80h                                  ;
0802C8E6 0202     lsl     r2,r0,8h                                ;
0802C8E8 37D0     add     r7,0D0h                                 ;
0802C8EA 0202     lsl     r2,r0,8h                                ;
0802C8EC 0C38     lsr     r0,r7,10h                               ;
0802C8EE 0202     lsl     r2,r0,8h                                ;
0802C8F0 012D     lsl     r5,r5,4h                                ;
0802C8F2 0000     lsl     r0,r0,0h                                ;
0802C8F4 78A0     ldrb    r0,[r4,2h]                              ;
0802C8F6 0081     lsl     r1,r0,2h                                ;
0802C8F8 1809     add     r1,r1,r0                                ;
0802C8FA 78E4     ldrb    r4,[r4,3h]                              ;
0802C8FC 1909     add     r1,r1,r4                                ;
0802C8FE 0089     lsl     r1,r1,2h                                ;
0802C900 1949     add     r1,r1,r5                                ;
0802C902 6808     ldr     r0,[r1]                                 ;
0802C904 F7F8F9F8 bl      8024CF8h                                ;
0802C908 F009FE2A bl      8036560h                                ;
0802C90C E006     b       802C91Ch                                ;
0802C90E 4805     ldr     r0,=2020C38h                            ;
0802C910 7800     ldrb    r0,[r0]                                 ;
0802C912 2800     cmp     r0,0h                                   ;
0802C914 D102     bne     802C91Ch                                ;
0802C916 2039     mov     r0,39h                                  ;
0802C918 F7F5FE12 bl      8022540h                                ;
0802C91C BC30     pop     r4,r5                                   ;
0802C91E BC01     pop     r0                                      ;
0802C920 4700     bx      r0                                      ;

Sword of Dark Destruction

0802C92A 4D25     ldr     r5,=2023270h                            ;Sword of Dark Destruction
0802C92C 4C25     ldr     r4,=2023480h                            ;
0802C92E 78A1     ldrb    r1,[r4,2h]                              ;
0802C930 0088     lsl     r0,r1,2h                                ;
0802C932 1840     add     r0,r0,r1                                ;
0802C934 78E1     ldrb    r1,[r4,3h]                              ;
0802C936 1840     add     r0,r0,r1                                ;
0802C938 0080     lsl     r0,r0,2h                                ;
0802C93A 1940     add     r0,r0,r5                                ;
0802C93C 6800     ldr     r0,[r0]                                 ;
0802C93E 8800     ldrh    r0,[r0]                                 ;
0802C940 F007FF9E bl      8034880h                                ;
0802C944 2801     cmp     r0,1h                                   ;
0802C946 D150     bne     802C9EAh                                ;
0802C948 4A1F     ldr     r2,=20237D0h                            ;
0802C94A 7920     ldrb    r0,[r4,4h]                              ;
0802C94C 7090     strb    r0,[r2,2h]                              ;
0802C94E 7960     ldrb    r0,[r4,5h]                              ;
0802C950 70D0     strb    r0,[r2,3h]                              ;
0802C952 7921     ldrb    r1,[r4,4h]                              ;
0802C954 0088     lsl     r0,r1,2h                                ;
0802C956 1840     add     r0,r0,r1                                ;
0802C958 7961     ldrb    r1,[r4,5h]                              ;
0802C95A 1840     add     r0,r0,r1                                ;
0802C95C 0080     lsl     r0,r0,2h                                ;
0802C95E 1940     add     r0,r0,r5                                ;
0802C960 6800     ldr     r0,[r0]                                 ;
0802C962 8800     ldrh    r0,[r0]                                 ;
0802C964 8010     strh    r0,[r2]                                 ;
0802C966 F009FE73 bl      8036650h                                ;
0802C96A 2801     cmp     r0,1h                                   ;
0802C96C D103     bne     802C976h                                ;
0802C96E 4817     ldr     r0,=2020C38h                            ;
0802C970 7800     ldrb    r0,[r0]                                 ;
0802C972 2800     cmp     r0,0h                                   ;
0802C974 D02C     beq     802C9D0h                                ;
0802C976 78A1     ldrb    r1,[r4,2h]                              ;
0802C978 0088     lsl     r0,r1,2h                                ;
0802C97A 1840     add     r0,r0,r1                                ;
0802C97C 78E1     ldrb    r1,[r4,3h]                              ;
0802C97E 1840     add     r0,r0,r1                                ;
0802C980 0080     lsl     r0,r0,2h                                ;
0802C982 1940     add     r0,r0,r5                                ;
0802C984 6800     ldr     r0,[r0]                                 ;
0802C986 F7F8F9AD bl      8024CE4h                                ;
0802C98A 7921     ldrb    r1,[r4,4h]                              ;
0802C98C 0088     lsl     r0,r1,2h                                ;
0802C98E 1840     add     r0,r0,r1                                ;
0802C990 7964     ldrb    r4,[r4,5h]                              ;
0802C992 1900     add     r0,r0,r4                                ;
0802C994 0080     lsl     r0,r0,2h                                ;
0802C996 1940     add     r0,r0,r5                                ;
0802C998 6800     ldr     r0,[r0]                                 ;
0802C99A 2100     mov     r1,0h                                   ;
0802C99C F7FCF9B0 bl      8028D00h                                ;
0802C9A0 480A     ldr     r0,=2020C38h                            ;
0802C9A2 7800     ldrb    r0,[r0]                                 ;
0802C9A4 2800     cmp     r0,0h                                   ;
0802C9A6 D127     bne     802C9F8h                                ;
0802C9A8 2041     mov     r0,41h                                  ;
0802C9AA F7F5FDC9 bl      8022540h                                ;
0802C9AE 2097     mov     r0,97h                                  ;
0802C9B0 0040     lsl     r0,r0,1h                                ;r0 = 302 ; Sword of Dark Destruction
0802C9B2 F7F8FF75 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C9B6 2049     mov     r0,49h                                  ;
0802C9B8 F7F5FDC2 bl      8022540h                                ;
0802C9BC E01C     b       802C9F8h                                ;
0802C9BE 0000     lsl     r0,r0,0h                                ;
0802C9C0 3270     add     r2,70h                                  ;
0802C9C2 0202     lsl     r2,r0,8h                                ;
0802C9C4 3480     add     r4,80h                                  ;
0802C9C6 0202     lsl     r2,r0,8h                                ;
0802C9C8 37D0     add     r7,0D0h                                 ;
0802C9CA 0202     lsl     r2,r0,8h                                ;
0802C9CC 0C38     lsr     r0,r7,10h                               ;
0802C9CE 0202     lsl     r2,r0,8h                                ;
0802C9D0 78A0     ldrb    r0,[r4,2h]                              ;
0802C9D2 0081     lsl     r1,r0,2h                                ;
0802C9D4 1809     add     r1,r1,r0                                ;
0802C9D6 78E4     ldrb    r4,[r4,3h]                              ;
0802C9D8 1909     add     r1,r1,r4                                ;
0802C9DA 0089     lsl     r1,r1,2h                                ;
0802C9DC 1949     add     r1,r1,r5                                ;
0802C9DE 6808     ldr     r0,[r1]                                 ;
0802C9E0 F7F8F98A bl      8024CF8h                                ;
0802C9E4 F009FDBC bl      8036560h                                ;
0802C9E8 E006     b       802C9F8h                                ;
0802C9EA 4805     ldr     r0,=2020C38h                            ;
0802C9EC 7800     ldrb    r0,[r0]                                 ;
0802C9EE 2800     cmp     r0,0h                                   ;
0802C9F0 D102     bne     802C9F8h                                ;
0802C9F2 2039     mov     r0,39h                                  ;
0802C9F4 F7F5FDA4 bl      8022540h                                ;
0802C9F8 BC30     pop     r4,r5                                   ;
0802C9FA BC01     pop     r0                                      ;
0802C9FC 4700     bx      r0                                      ;

Pot of Greed

  • 0x2FC5E - I play Pot of Greed, I draw 2 cards from my deck !
0802FC5E F007FB8F bl      8037380h                                ;r0 = [0x20237D8]
0802FC62 F7F8F861 bl      8027D28h                                ;Draw a card ?
0802FC66 F007FB8B bl      8037380h                                ;r0 = [0x20237D8]
0802FC6A F7F8F85D bl      8027D28h                                ;Draw a card ?
0802FC6E 4B0E     ldr     r3,=2023270h                            ;
0802FC70 4A0E     ldr     r2,=2023480h                            ;
0802FC72 7891     ldrb    r1,[r2,2h]                              ;
0802FC74 0088     lsl     r0,r1,2h                                ;
0802FC76 1840     add     r0,r0,r1                                ;
0802FC78 78D2     ldrb    r2,[r2,3h]                              ;
0802FC7A 1880     add     r0,r0,r2                                ;
0802FC7C 0080     lsl     r0,r0,2h                                ;
0802FC7E 18C0     add     r0,r0,r3                                ;
0802FC80 6800     ldr     r0,[r0]                                 ;
0802FC82 2100     mov     r1,0h                                   ;
0802FC84 F7F9F83C bl      8028D00h                                ;
0802FC88 4809     ldr     r0,=2020C38h                            ;
0802FC8A 7800     ldrb    r0,[r0]                                 ;
0802FC8C 2800     cmp     r0,0h                                   ;
0802FC8E D108     bne     802FCA2h                                ;
0802FC90 2041     mov     r0,41h                                  ;
0802FC92 F7F2FC55 bl      8022540h                                ;
0802FC96 4807     ldr     r0,=315h                                ;r0 = 789 ; Pot of Greed
0802FC98 F7F5FE02 bl      80258A0h                                ;call 0x258A0 - Display text box
0802FC9C 203B     mov     r0,3Bh                                  ;
0802FC9E F7F2FC4F bl      8022540h                                ;
0802FCA2 BC01     pop     r0                                      ;
0802FCA4 4700     bx      r0                                      ;

Restructer Revolution

0802FCBA 4808     ldr     r0,=2023364h                            ;Restructer Revolution
0802FCBC F7F7FB1A bl      80272F4h                                ;
0802FCC0 2105     mov     r1,5h                                   ;
0802FCC2 1A09     sub     r1,r1,r0                                ;
0802FCC4 20C8     mov     r0,0C8h                                 ;
0802FCC6 4348     mul     r0,r1                                   ;
0802FCC8 0400     lsl     r0,r0,10h                               ;
0802FCCA 0C04     lsr     r4,r0,10h                               ;
0802FCCC F007FB58 bl      8037380h                                ;
0802FCD0 2800     cmp     r0,0h                                   ;
0802FCD2 D105     bne     802FCE0h                                ;
0802FCD4 1C20     mov     r0,r4                                   ;
0802FCD6 F7F4FB21 bl      802431Ch                                ;
0802FCDA E004     b       802FCE6h                                ;
0802FCDC 3364     add     r3,64h                                  ;
0802FCDE 0202     lsl     r2,r0,8h                                ;
0802FCE0 1C20     mov     r0,r4                                   ;
0802FCE2 F7F4FAF7 bl      80242D4h                                ;
0802FCE6 F7F3FF37 bl      8023B58h                                ;
0802FCEA F7F4F931 bl      8023F50h                                ;
0802FCEE 4B0F     ldr     r3,=2023270h                            ;
0802FCF0 4A0F     ldr     r2,=2023480h                            ;
0802FCF2 7891     ldrb    r1,[r2,2h]                              ;
0802FCF4 0088     lsl     r0,r1,2h                                ;
0802FCF6 1840     add     r0,r0,r1                                ;
0802FCF8 78D2     ldrb    r2,[r2,3h]                              ;
0802FCFA 1880     add     r0,r0,r2                                ;
0802FCFC 0080     lsl     r0,r0,2h                                ;
0802FCFE 18C0     add     r0,r0,r3                                ;
0802FD00 6800     ldr     r0,[r0]                                 ;
0802FD02 2100     mov     r1,0h                                   ;
0802FD04 F7F8FFFC bl      8028D00h                                ;
0802FD08 480A     ldr     r0,=2020C38h                            ;
0802FD0A 7800     ldrb    r0,[r0]                                 ;
0802FD0C 2800     cmp     r0,0h                                   ;
0802FD0E D109     bne     802FD24h                                ;
0802FD10 2041     mov     r0,41h                                  ;
0802FD12 F7F2FC15 bl      8022540h                                ;
0802FD16 20C5     mov     r0,0C5h                                 ;
0802FD18 0080     lsl     r0,r0,2h                                ;r0 = 788 ; Restructer Revolution
0802FD1A F7F5FDC1 bl      80258A0h                                ;call 0x258A0 - Display text box
0802FD1E 204D     mov     r0,4Dh                                  ;
0802FD20 F7F2FC0E bl      8022540h                                ;
0802FD24 BC10     pop     r4                                      ;
0802FD26 BC01     pop     r0                                      ;
0802FD28 4700     bx      r0                                      ;

Last Day of Witch

0802FD3A 2500     mov     r5,0h                                   ;Last Day of Witch
0802FD3C 4E18     ldr     r6,=2023284h                            ;
0802FD3E 00A8     lsl     r0,r5,2h                                ;
0802FD40 1984     add     r4,r0,r6                                ;
0802FD42 6820     ldr     r0,[r4]                                 ;
0802FD44 8800     ldrh    r0,[r0]                                 ;
0802FD46 F7D6FFB1 bl      8006CACh                                ;
0802FD4A 4816     ldr     r0,=2020B00h                            ;
0802FD4C 7D80     ldrb    r0,[r0,16h]                             ;
0802FD4E 2802     cmp     r0,2h                                   ;
0802FD50 D103     bne     802FD5Ah                                ;
0802FD52 6820     ldr     r0,[r4]                                 ;
0802FD54 2101     mov     r1,1h                                   ;
0802FD56 F7F8FFD3 bl      8028D00h                                ;
0802FD5A 1C68     add     r0,r5,1                                 ;
0802FD5C 0600     lsl     r0,r0,18h                               ;
0802FD5E 0E05     lsr     r5,r0,18h                               ;
0802FD60 2D04     cmp     r5,4h                                   ;
0802FD62 D9EC     bls     802FD3Eh                                ;
0802FD64 4B10     ldr     r3,=2023270h                            ;
0802FD66 4A11     ldr     r2,=2023480h                            ;
0802FD68 7891     ldrb    r1,[r2,2h]                              ;
0802FD6A 0088     lsl     r0,r1,2h                                ;
0802FD6C 1840     add     r0,r0,r1                                ;
0802FD6E 78D2     ldrb    r2,[r2,3h]                              ;
0802FD70 1880     add     r0,r0,r2                                ;
0802FD72 0080     lsl     r0,r0,2h                                ;
0802FD74 18C0     add     r0,r0,r3                                ;
0802FD76 6800     ldr     r0,[r0]                                 ;
0802FD78 2100     mov     r1,0h                                   ;
0802FD7A F7F8FFC1 bl      8028D00h                                ;
0802FD7E 480C     ldr     r0,=2020C38h                            ;
0802FD80 7800     ldrb    r0,[r0]                                 ;
0802FD82 2800     cmp     r0,0h                                   ;
0802FD84 D108     bne     802FD98h                                ;
0802FD86 2041     mov     r0,41h                                  ;
0802FD88 F7F2FBDA bl      8022540h                                ;
0802FD8C 4809     ldr     r0,=313h                                ;r0 = 787 ; Last Day of Witch
0802FD8E F7F5FD87 bl      80258A0h                                ;
0802FD92 204C     mov     r0,4Ch                                  ;
0802FD94 F7F2FBD4 bl      8022540h                                ;
0802FD98 BC70     pop     r4-r6                                   ;
0802FD9A BC01     pop     r0                                      ;
0802FD9C 4700     bx      r0                                      ;

Exile of the Wicked

0802FDBA 2500     mov     r5,0h                                   ;Exile of the Wicked
0802FDBC 4E18     ldr     r6,=2023284h                            ;
0802FDBE 00A8     lsl     r0,r5,2h                                ;
0802FDC0 1984     add     r4,r0,r6                                ;
0802FDC2 6820     ldr     r0,[r4]                                 ;
0802FDC4 8800     ldrh    r0,[r0]                                 ;
0802FDC6 F7D6FF71 bl      8006CACh                                ;
0802FDCA 4816     ldr     r0,=2020B00h                            ;
0802FDCC 7D80     ldrb    r0,[r0,16h]                             ;
0802FDCE 2808     cmp     r0,8h                                   ;
0802FDD0 D103     bne     802FDDAh                                ;
0802FDD2 6820     ldr     r0,[r4]                                 ;
0802FDD4 2101     mov     r1,1h                                   ;
0802FDD6 F7F8FF93 bl      8028D00h                                ;
0802FDDA 1C68     add     r0,r5,1                                 ;
0802FDDC 0600     lsl     r0,r0,18h                               ;
0802FDDE 0E05     lsr     r5,r0,18h                               ;
0802FDE0 2D04     cmp     r5,4h                                   ;
0802FDE2 D9EC     bls     802FDBEh                                ;
0802FDE4 4B10     ldr     r3,=2023270h                            ;
0802FDE6 4A11     ldr     r2,=2023480h                            ;
0802FDE8 7891     ldrb    r1,[r2,2h]                              ;
0802FDEA 0088     lsl     r0,r1,2h                                ;
0802FDEC 1840     add     r0,r0,r1                                ;
0802FDEE 78D2     ldrb    r2,[r2,3h]                              ;
0802FDF0 1880     add     r0,r0,r2                                ;
0802FDF2 0080     lsl     r0,r0,2h                                ;
0802FDF4 18C0     add     r0,r0,r3                                ;
0802FDF6 6800     ldr     r0,[r0]                                 ;
0802FDF8 2100     mov     r1,0h                                   ;
0802FDFA F7F8FF81 bl      8028D00h                                ;
0802FDFE 480C     ldr     r0,=2020C38h                            ;
0802FE00 7800     ldrb    r0,[r0]                                 ;
0802FE02 2800     cmp     r0,0h                                   ;
0802FE04 D108     bne     802FE18h                                ;
0802FE06 2041     mov     r0,41h                                  ;
0802FE08 F7F2FB9A bl      8022540h                                ;
0802FE0C 4809     ldr     r0,=312h                                ;r0 = 786 ; Exile of the Wicked
0802FE0E F7F5FD47 bl      80258A0h                                ;
0802FE12 204C     mov     r0,4Ch                                  ;
0802FE14 F7F2FB94 bl      8022540h                                ;
0802FE18 BC70     pop     r4-r6                                   ;
0802FE1A BC01     pop     r0                                      ;
0802FE1C 4700     bx      r0                                      ;

Multiply

0802FE3A 4657     mov     r7,r10                                  ;Multiply
0802FE3C 464E     mov     r6,r9                                   ;
0802FE3E 4645     mov     r5,r8                                   ;
0802FE40 B4E0     push    r5-r7                                   ;
0802FE42 4D1B     ldr     r5,=2023298h                            ;
0802FE44 1C28     mov     r0,r5                                   ;
0802FE46 213A     mov     r1,3Ah                                  ;
0802FE48 F7F7FA64 bl      8027314h                                ;
0802FE4C 2800     cmp     r0,0h                                   ;
0802FE4E D044     beq     802FEDAh                                ;
0802FE50 2400     mov     r4,0h                                   ;
0802FE52 46AA     mov     r10,r5                                  ;
0802FE54 2700     mov     r7,0h                                   ;
0802FE56 2610     mov     r6,10h                                  ;
0802FE58 2003     mov     r0,3h                                   ;
0802FE5A 4240     neg     r0,r0                                   ;
0802FE5C 4684     mov     r12,r0                                  ;
0802FE5E 2501     mov     r5,1h                                   ;
0802FE60 2105     mov     r1,5h                                   ;
0802FE62 4249     neg     r1,r1                                   ;
0802FE64 4689     mov     r9,r1                                   ;
0802FE66 381E     sub     r0,1Eh                                  ;
0802FE68 4680     mov     r8,r0                                   ;
0802FE6A 00A0     lsl     r0,r4,2h                                ;
0802FE6C 4651     mov     r1,r10                                  ;
0802FE6E 1843     add     r3,r0,r1                                ;
0802FE70 6819     ldr     r1,[r3]                                 ;
0802FE72 8808     ldrh    r0,[r1]                                 ;
0802FE74 2800     cmp     r0,0h                                   ;
0802FE76 D11D     bne     802FEB4h                                ;
0802FE78 203A     mov     r0,3Ah                                  ;
0802FE7A 8008     strh    r0,[r1]                                 ;
0802FE7C 6819     ldr     r1,[r3]                                 ;
0802FE7E 7908     ldrb    r0,[r1,4h]                              ;
0802FE80 4330     orr     r0,r6                                   ;
0802FE82 7108     strb    r0,[r1,4h]                              ;
0802FE84 6819     ldr     r1,[r3]                                 ;
0802FE86 7908     ldrb    r0,[r1,4h]                              ;
0802FE88 4328     orr     r0,r5                                   ;
0802FE8A 7108     strb    r0,[r1,4h]                              ;
0802FE8C 681A     ldr     r2,[r3]                                 ;
0802FE8E 7911     ldrb    r1,[r2,4h]                              ;
0802FE90 4660     mov     r0,r12                                  ;
0802FE92 4008     and     r0,r1                                   ;
0802FE94 7110     strb    r0,[r2,4h]                              ;
0802FE96 681A     ldr     r2,[r3]                                 ;
0802FE98 7911     ldrb    r1,[r2,4h]                              ;
0802FE9A 4648     mov     r0,r9                                   ;
0802FE9C 4008     and     r0,r1                                   ;
0802FE9E 7110     strb    r0,[r2,4h]                              ;
0802FEA0 6818     ldr     r0,[r3]                                 ;
0802FEA2 70C7     strb    r7,[r0,3h]                              ;
0802FEA4 6818     ldr     r0,[r3]                                 ;
0802FEA6 7087     strb    r7,[r0,2h]                              ;
0802FEA8 681A     ldr     r2,[r3]                                 ;
0802FEAA 7911     ldrb    r1,[r2,4h]                              ;
0802FEAC 4640     mov     r0,r8                                   ;
0802FEAE E00D     b       802FECCh                                ;
0802FEB0 3298     add     r2,98h                                  ;
0802FEB2 0202     lsl     r2,r0,8h                                ;
0802FEB4 283A     cmp     r0,3Ah                                  ;
0802FEB6 D10B     bne     802FED0h                                ;
0802FEB8 7908     ldrb    r0,[r1,4h]                              ;
0802FEBA 4330     orr     r0,r6                                   ;
0802FEBC 7108     strb    r0,[r1,4h]                              ;
0802FEBE 6819     ldr     r1,[r3]                                 ;
0802FEC0 7908     ldrb    r0,[r1,4h]                              ;
0802FEC2 4328     orr     r0,r5                                   ;
0802FEC4 7108     strb    r0,[r1,4h]                              ;
0802FEC6 681A     ldr     r2,[r3]                                 ;
0802FEC8 7911     ldrb    r1,[r2,4h]                              ;
0802FECA 4660     mov     r0,r12                                  ;
0802FECC 4008     and     r0,r1                                   ;
0802FECE 7110     strb    r0,[r2,4h]                              ;
0802FED0 1C60     add     r0,r4,1                                 ;
0802FED2 0600     lsl     r0,r0,18h                               ;
0802FED4 0E04     lsr     r4,r0,18h                               ;
0802FED6 2C04     cmp     r4,4h                                   ;
0802FED8 D9C7     bls     802FE6Ah                                ;
0802FEDA 4B10     ldr     r3,=2023270h                            ;
0802FEDC 4A10     ldr     r2,=2023480h                            ;
0802FEDE 7891     ldrb    r1,[r2,2h]                              ;
0802FEE0 0088     lsl     r0,r1,2h                                ;
0802FEE2 1840     add     r0,r0,r1                                ;
0802FEE4 78D2     ldrb    r2,[r2,3h]                              ;
0802FEE6 1880     add     r0,r0,r2                                ;
0802FEE8 0080     lsl     r0,r0,2h                                ;
0802FEEA 18C0     add     r0,r0,r3                                ;
0802FEEC 6800     ldr     r0,[r0]                                 ;
0802FEEE 2100     mov     r1,0h                                   ;
0802FEF0 F7F8FF06 bl      8028D00h                                ;
0802FEF4 480B     ldr     r0,=2020C38h                            ;
0802FEF6 7800     ldrb    r0,[r0]                                 ;
0802FEF8 2800     cmp     r0,0h                                   ;
0802FEFA D108     bne     802FF0Eh                                ;
0802FEFC 2041     mov     r0,41h                                  ;
0802FEFE F7F2FB1F bl      8022540h                                ;
0802FF02 4809     ldr     r0,=311h                                ;r0 = 785 ; Multiply
0802FF04 F7F5FCCC bl      80258A0h                                ;
0802FF08 2053     mov     r0,53h                                  ;
0802FF0A F7F2FB19 bl      8022540h                                ;
0802FF0E BC38     pop     r3-r5                                   ;
0802FF10 4698     mov     r8,r3                                   ;
0802FF12 46A1     mov     r9,r4                                   ;
0802FF14 46AA     mov     r10,r5                                  ;
0802FF16 BCF0     pop     r4-r7                                   ;
0802FF18 BC01     pop     r0                                      ;
0802FF1A 4700     bx      r0                                      ;

Change of Heart

0802FF2E 4D34     ldr     r5,=2023298h                            ;Change of Heart
0802FF30 1C28     mov     r0,r5                                   ;
0802FF32 F7F7F9DF bl      80272F4h                                ;
0802FF36 2800     cmp     r0,0h                                   ;
0802FF38 D044     beq     802FFC4h                                ;
0802FF3A 1C2E     mov     r6,r5                                   ;
0802FF3C 3E14     sub     r6,14h                                  ;
0802FF3E 1C30     mov     r0,r6                                   ;
0802FF40 F7F7F9E0 bl      8027304h                                ;
0802FF44 2805     cmp     r0,5h                                   ;
0802FF46 D03D     beq     802FFC4h                                ;
0802FF48 1C28     mov     r0,r5                                   ;
0802FF4A F7F7FA65 bl      8027418h                                ;
0802FF4E 1C04     mov     r4,r0                                   ;
0802FF50 0624     lsl     r4,r4,18h                               ;
0802FF52 0E24     lsr     r4,r4,18h                               ;
0802FF54 1C30     mov     r0,r6                                   ;
0802FF56 F7F7FAE3 bl      8027520h                                ;
0802FF5A 0600     lsl     r0,r0,18h                               ;
0802FF5C 00A4     lsl     r4,r4,2h                                ;
0802FF5E 1964     add     r4,r4,r5                                ;
0802FF60 6822     ldr     r2,[r4]                                 ;
0802FF62 0D80     lsr     r0,r0,16h                               ;
0802FF64 1980     add     r0,r0,r6                                ;
0802FF66 6801     ldr     r1,[r0]                                 ;
0802FF68 8809     ldrh    r1,[r1]                                 ;
0802FF6A 8011     strh    r1,[r2]                                 ;
0802FF6C 6823     ldr     r3,[r4]                                 ;
0802FF6E 7919     ldrb    r1,[r3,4h]                              ;
0802FF70 2210     mov     r2,10h                                  ;
0802FF72 4311     orr     r1,r2                                   ;
0802FF74 7119     strb    r1,[r3,4h]                              ;
0802FF76 6823     ldr     r3,[r4]                                 ;
0802FF78 791A     ldrb    r2,[r3,4h]                              ;
0802FF7A 2102     mov     r1,2h                                   ;
0802FF7C 4249     neg     r1,r1                                   ;
0802FF7E 4011     and     r1,r2                                   ;
0802FF80 7119     strb    r1,[r3,4h]                              ;
0802FF82 6823     ldr     r3,[r4]                                 ;
0802FF84 791A     ldrb    r2,[r3,4h]                              ;
0802FF86 2103     mov     r1,3h                                   ;
0802FF88 4249     neg     r1,r1                                   ;
0802FF8A 4011     and     r1,r2                                   ;
0802FF8C 7119     strb    r1,[r3,4h]                              ;
0802FF8E 6825     ldr     r5,[r4]                                 ;
0802FF90 6801     ldr     r1,[r0]                                 ;
0802FF92 7909     ldrb    r1,[r1,4h]                              ;
0802FF94 2204     mov     r2,4h                                   ;
0802FF96 400A     and     r2,r1                                   ;
0802FF98 792B     ldrb    r3,[r5,4h]                              ;
0802FF9A 2105     mov     r1,5h                                   ;
0802FF9C 4249     neg     r1,r1                                   ;
0802FF9E 4019     and     r1,r3                                   ;
0802FFA0 4311     orr     r1,r2                                   ;
0802FFA2 7129     strb    r1,[r5,4h]                              ;
0802FFA4 6822     ldr     r2,[r4]                                 ;
0802FFA6 2102     mov     r1,2h                                   ;
0802FFA8 70D1     strb    r1,[r2,3h]                              ;
0802FFAA 6822     ldr     r2,[r4]                                 ;
0802FFAC 6801     ldr     r1,[r0]                                 ;
0802FFAE 7889     ldrb    r1,[r1,2h]                              ;
0802FFB0 7091     strb    r1,[r2,2h]                              ;
0802FFB2 6823     ldr     r3,[r4]                                 ;
0802FFB4 791A     ldrb    r2,[r3,4h]                              ;
0802FFB6 2121     mov     r1,21h                                  ;
0802FFB8 4249     neg     r1,r1                                   ;
0802FFBA 4011     and     r1,r2                                   ;
0802FFBC 7119     strb    r1,[r3,4h]                              ;
0802FFBE 6800     ldr     r0,[r0]                                 ;
0802FFC0 F7F4FCA6 bl      8024910h                                ;
0802FFC4 4B0F     ldr     r3,=2023270h                            ;
0802FFC6 4A10     ldr     r2,=2023480h                            ;
0802FFC8 7891     ldrb    r1,[r2,2h]                              ;
0802FFCA 0088     lsl     r0,r1,2h                                ;
0802FFCC 1840     add     r0,r0,r1                                ;
0802FFCE 78D2     ldrb    r2,[r2,3h]                              ;
0802FFD0 1880     add     r0,r0,r2                                ;
0802FFD2 0080     lsl     r0,r0,2h                                ;
0802FFD4 18C0     add     r0,r0,r3                                ;
0802FFD6 6800     ldr     r0,[r0]                                 ;
0802FFD8 2100     mov     r1,0h                                   ;
0802FFDA F7F8FE91 bl      8028D00h                                ;
0802FFDE 480B     ldr     r0,=2020C38h                            ;
0802FFE0 7800     ldrb    r0,[r0]                                 ;
0802FFE2 2800     cmp     r0,0h                                   ;
0802FFE4 D109     bne     802FFFAh                                ;
0802FFE6 2041     mov     r0,41h                                  ;
0802FFE8 F7F2FAAA bl      8022540h                                ;
0802FFEC 20C4     mov     r0,0C4h                                 ;
0802FFEE 0080     lsl     r0,r0,2h                                ;r0 = 784 ; Change of Heart
0802FFF0 F7F5FC56 bl      80258A0h                                ;
0802FFF4 2055     mov     r0,55h                                  ;
0802FFF6 F7F2FAA3 bl      8022540h                                ;
0802FFFA BC70     pop     r4-r6                                   ;
0802FFFC BC01     pop     r0                                      ;
0802FFFE 4700     bx      r0                                      ;

Black Illusion Ritual

08030012 4D1D     ldr     r5,=2023298h                            ;Black Illusion Ritual
08030014 4E1D     ldr     r6,=8D542F0h                            ;
08030016 1C34     mov     r4,r6                                   ;
08030018 34C8     add     r4,0C8h                                 ;
0803001A 8821     ldrh    r1,[r4]                                 ;
0803001C 1C28     mov     r0,r5                                   ;
0803001E F7F7FB5D bl      80276DCh                                ;
08030022 2801     cmp     r0,1h                                   ;
08030024 D12C     bne     8030080h                                ;
08030026 8821     ldrh    r1,[r4]                                 ;
08030028 1C28     mov     r0,r5                                   ;
0803002A F7F7FB6B bl      8027704h                                ;
0803002E 1C04     mov     r4,r0                                   ;
08030030 0624     lsl     r4,r4,18h                               ;
08030032 0E24     lsr     r4,r4,18h                               ;
08030034 1C2B     mov     r3,r5                                   ;
08030036 3B28     sub     r3,28h                                  ;
08030038 4A15     ldr     r2,=2023480h                            ;
0803003A 7891     ldrb    r1,[r2,2h]                              ;
0803003C 0088     lsl     r0,r1,2h                                ;
0803003E 1840     add     r0,r0,r1                                ;
08030040 78D2     ldrb    r2,[r2,3h]                              ;
08030042 1880     add     r0,r0,r2                                ;
08030044 0080     lsl     r0,r0,2h                                ;
08030046 18C0     add     r0,r0,r3                                ;
08030048 6800     ldr     r0,[r0]                                 ;
0803004A 2100     mov     r1,0h                                   ;
0803004C F7F8FE58 bl      8028D00h                                ;
08030050 00A4     lsl     r4,r4,2h                                ;
08030052 1964     add     r4,r4,r5                                ;
08030054 6820     ldr     r0,[r4]                                 ;
08030056 1C34     mov     r4,r6                                   ;
08030058 34CA     add     r4,0CAh                                 ;
0803005A 8821     ldrh    r1,[r4]                                 ;
0803005C F000FB30 bl      80306C0h                                ;
08030060 F7F8FE86 bl      8028D70h                                ;
08030064 480B     ldr     r0,=2020C38h                            ;
08030066 7800     ldrb    r0,[r0]                                 ;
08030068 2800     cmp     r0,0h                                   ;
0803006A D109     bne     8030080h                                ;
0803006C 2041     mov     r0,41h                                  ;
0803006E F7F2FA67 bl      8022540h                                ;
08030072 4809     ldr     r0,=30Fh                                ;r0 = 783 ; Black Illusion Ritual
08030074 8821     ldrh    r1,[r4]                                 ;
08030076 F7F5FC13 bl      80258A0h                                ;
0803007A 2053     mov     r0,53h                                  ;
0803007C F7F2FA60 bl      8022540h                                ;
08030080 BC70     pop     r4-r6                                   ;
08030082 BC01     pop     r0                                      ;
08030084 4700     bx      r0                                      ;

? (likely removed)

0803009C 4770     bx      r14                                     ;

Brain Control

080300A2 4D33     ldr     r5,=2023298h                            ;Brain Control
080300A4 1C28     mov     r0,r5                                   ;
080300A6 F7F7F925 bl      80272F4h                                ;
080300AA 2800     cmp     r0,0h                                   ;
080300AC D043     beq     8030136h                                ;
080300AE 1C2E     mov     r6,r5                                   ;
080300B0 3E14     sub     r6,14h                                  ;
080300B2 1C30     mov     r0,r6                                   ;
080300B4 F7F7F926 bl      8027304h                                ;
080300B8 2805     cmp     r0,5h                                   ;
080300BA D03C     beq     8030136h                                ;
080300BC 1C28     mov     r0,r5                                   ;
080300BE F7F7F9AB bl      8027418h                                ;
080300C2 1C04     mov     r4,r0                                   ;
080300C4 0624     lsl     r4,r4,18h                               ;
080300C6 0E24     lsr     r4,r4,18h                               ;
080300C8 1C30     mov     r0,r6                                   ;
080300CA F7F7FA29 bl      8027520h                                ;
080300CE 0600     lsl     r0,r0,18h                               ;
080300D0 00A4     lsl     r4,r4,2h                                ;
080300D2 1964     add     r4,r4,r5                                ;
080300D4 6822     ldr     r2,[r4]                                 ;
080300D6 0D80     lsr     r0,r0,16h                               ;
080300D8 1980     add     r0,r0,r6                                ;
080300DA 6801     ldr     r1,[r0]                                 ;
080300DC 8809     ldrh    r1,[r1]                                 ;
080300DE 8011     strh    r1,[r2]                                 ;
080300E0 6823     ldr     r3,[r4]                                 ;
080300E2 7919     ldrb    r1,[r3,4h]                              ;
080300E4 2210     mov     r2,10h                                  ;
080300E6 4311     orr     r1,r2                                   ;
080300E8 7119     strb    r1,[r3,4h]                              ;
080300EA 6823     ldr     r3,[r4]                                 ;
080300EC 791A     ldrb    r2,[r3,4h]                              ;
080300EE 2102     mov     r1,2h                                   ;
080300F0 4249     neg     r1,r1                                   ;
080300F2 4011     and     r1,r2                                   ;
080300F4 7119     strb    r1,[r3,4h]                              ;
080300F6 6823     ldr     r3,[r4]                                 ;
080300F8 791A     ldrb    r2,[r3,4h]                              ;
080300FA 2103     mov     r1,3h                                   ;
080300FC 4249     neg     r1,r1                                   ;
080300FE 4011     and     r1,r2                                   ;
08030100 7119     strb    r1,[r3,4h]                              ;
08030102 6825     ldr     r5,[r4]                                 ;
08030104 6801     ldr     r1,[r0]                                 ;
08030106 7909     ldrb    r1,[r1,4h]                              ;
08030108 2204     mov     r2,4h                                   ;
0803010A 400A     and     r2,r1                                   ;
0803010C 792B     ldrb    r3,[r5,4h]                              ;
0803010E 2105     mov     r1,5h                                   ;
08030110 4249     neg     r1,r1                                   ;
08030112 4019     and     r1,r3                                   ;
08030114 4311     orr     r1,r2                                   ;
08030116 7129     strb    r1,[r5,4h]                              ;
08030118 6822     ldr     r2,[r4]                                 ;
0803011A 2102     mov     r1,2h                                   ;
0803011C 70D1     strb    r1,[r2,3h]                              ;
0803011E 6822     ldr     r2,[r4]                                 ;
08030120 6801     ldr     r1,[r0]                                 ;
08030122 7889     ldrb    r1,[r1,2h]                              ;
08030124 7091     strb    r1,[r2,2h]                              ;
08030126 6823     ldr     r3,[r4]                                 ;
08030128 7919     ldrb    r1,[r3,4h]                              ;
0803012A 2220     mov     r2,20h                                  ;
0803012C 4311     orr     r1,r2                                   ;
0803012E 7119     strb    r1,[r3,4h]                              ;
08030130 6800     ldr     r0,[r0]                                 ;
08030132 F7F4FBED bl      8024910h                                ;
08030136 4B0F     ldr     r3,=2023270h                            ;
08030138 4A0F     ldr     r2,=2023480h                            ;
0803013A 7891     ldrb    r1,[r2,2h]                              ;
0803013C 0088     lsl     r0,r1,2h                                ;
0803013E 1840     add     r0,r0,r1                                ;
08030140 78D2     ldrb    r2,[r2,3h]                              ;
08030142 1880     add     r0,r0,r2                                ;
08030144 0080     lsl     r0,r0,2h                                ;
08030146 18C0     add     r0,r0,r3                                ;
08030148 6800     ldr     r0,[r0]                                 ;
0803014A 2100     mov     r1,0h                                   ;
0803014C F7F8FDD8 bl      8028D00h                                ;
08030150 480A     ldr     r0,=2020C38h                            ;
08030152 7800     ldrb    r0,[r0]                                 ;
08030154 2800     cmp     r0,0h                                   ;
08030156 D108     bne     803016Ah                                ;
08030158 2041     mov     r0,41h                                  ;
0803015A F7F2F9F1 bl      8022540h                                ;
0803015E 4808     ldr     r0,=30Dh                                ;r0 = 781 ; Brain Control
08030160 F7F5FB9E bl      80258A0h                                ;
08030164 2055     mov     r0,55h                                  ;
08030166 F7F2F9EB bl      8022540h                                ;
0803016A BC70     pop     r4-r6                                   ;
0803016C BC01     pop     r0                                      ;
0803016E 4700     bx      r0                                      ;

Monster Reborn

08030184 B530     push    r4,r5,r14                               ;Monster Reborn
08030186 4D2B     ldr     r5,=2023298h                            ;
08030188 1C28     mov     r0,r5                                   ;
0803018A F7F7F8B3 bl      80272F4h                                ;
0803018E 2800     cmp     r0,0h                                   ;
08030190 D032     beq     80301F8h                                ;
08030192 1C28     mov     r0,r5                                   ;
08030194 F7F7F940 bl      8027418h                                ;
08030198 0600     lsl     r0,r0,18h                               ;
0803019A 0E04     lsr     r4,r0,18h                               ;
0803019C 2001     mov     r0,1h                                   ;
0803019E F7F8FDDB bl      8028D58h                                ;
080301A2 0400     lsl     r0,r0,10h                               ;
080301A4 0C01     lsr     r1,r0,10h                               ;
080301A6 2900     cmp     r1,0h                                   ;
080301A8 D026     beq     80301F8h                                ;
080301AA 00A2     lsl     r2,r4,2h                                ;
080301AC 1952     add     r2,r2,r5                                ;
080301AE 6810     ldr     r0,[r2]                                 ;
080301B0 2400     mov     r4,0h                                   ;
080301B2 8001     strh    r1,[r0]                                 ;
080301B4 6813     ldr     r3,[r2]                                 ;
080301B6 7918     ldrb    r0,[r3,4h]                              ;
080301B8 2110     mov     r1,10h                                  ;
080301BA 4308     orr     r0,r1                                   ;
080301BC 7118     strb    r0,[r3,4h]                              ;
080301BE 6813     ldr     r3,[r2]                                 ;
080301C0 7919     ldrb    r1,[r3,4h]                              ;
080301C2 2002     mov     r0,2h                                   ;
080301C4 4240     neg     r0,r0                                   ;
080301C6 4008     and     r0,r1                                   ;
080301C8 7118     strb    r0,[r3,4h]                              ;
080301CA 6813     ldr     r3,[r2]                                 ;
080301CC 7919     ldrb    r1,[r3,4h]                              ;
080301CE 2003     mov     r0,3h                                   ;
080301D0 4240     neg     r0,r0                                   ;
080301D2 4008     and     r0,r1                                   ;
080301D4 7118     strb    r0,[r3,4h]                              ;
080301D6 6813     ldr     r3,[r2]                                 ;
080301D8 7919     ldrb    r1,[r3,4h]                              ;
080301DA 2005     mov     r0,5h                                   ;
080301DC 4240     neg     r0,r0                                   ;
080301DE 4008     and     r0,r1                                   ;
080301E0 7118     strb    r0,[r3,4h]                              ;
080301E2 6811     ldr     r1,[r2]                                 ;
080301E4 2002     mov     r0,2h                                   ;
080301E6 70C8     strb    r0,[r1,3h]                              ;
080301E8 6810     ldr     r0,[r2]                                 ;
080301EA 7084     strb    r4,[r0,2h]                              ;
080301EC 6812     ldr     r2,[r2]                                 ;
080301EE 7911     ldrb    r1,[r2,4h]                              ;
080301F0 2021     mov     r0,21h                                  ;
080301F2 4240     neg     r0,r0                                   ;
080301F4 4008     and     r0,r1                                   ;
080301F6 7110     strb    r0,[r2,4h]                              ;
080301F8 4B0F     ldr     r3,=2023270h                            ;
080301FA 4A10     ldr     r2,=2023480h                            ;
080301FC 7891     ldrb    r1,[r2,2h]                              ;
080301FE 0088     lsl     r0,r1,2h                                ;
08030200 1840     add     r0,r0,r1                                ;
08030202 78D2     ldrb    r2,[r2,3h]                              ;
08030204 1880     add     r0,r0,r2                                ;
08030206 0080     lsl     r0,r0,2h                                ;
08030208 18C0     add     r0,r0,r3                                ;
0803020A 6800     ldr     r0,[r0]                                 ;
0803020C 2100     mov     r1,0h                                   ;
0803020E F7F8FD77 bl      8028D00h                                ;
08030212 480B     ldr     r0,=2020C38h                            ;
08030214 7800     ldrb    r0,[r0]                                 ;
08030216 2800     cmp     r0,0h                                   ;
08030218 D108     bne     803022Ch                                ;
0803021A 2041     mov     r0,41h                                  ;
0803021C F7F2F990 bl      8022540h                                ;
08030220 4808     ldr     r0,=37Fh                                ;r0 = 895 ; Monster Reborn
08030222 F7F5FB3D bl      80258A0h                                ;
08030226 2054     mov     r0,54h                                  ;
08030228 F7F2F98A bl      8022540h                                ;
0803022C BC30     pop     r4,r5                                   ;
0803022E BC01     pop     r0                                      ;
08030230 4700     bx      r0                                      ;

? (likely removed)

08030248 4770     bx      r14                                     ;

7 Completed

0803024C B530     push    r4,r5,r14                               ;7 Completed
0803024E 4D25     ldr     r5,=2023270h                            ;
08030250 4C25     ldr     r4,=2023480h                            ;
08030252 78A1     ldrb    r1,[r4,2h]                              ;
08030254 0088     lsl     r0,r1,2h                                ;
08030256 1840     add     r0,r0,r1                                ;
08030258 78E1     ldrb    r1,[r4,3h]                              ;
0803025A 1840     add     r0,r0,r1                                ;
0803025C 0080     lsl     r0,r0,2h                                ;
0803025E 1940     add     r0,r0,r5                                ;
08030260 6800     ldr     r0,[r0]                                 ;
08030262 8800     ldrh    r0,[r0]                                 ;
08030264 F004FCBE bl      8034BE4h                                ;
08030268 2801     cmp     r0,1h                                   ;
0803026A D150     bne     803030Eh                                ;
0803026C 4A1F     ldr     r2,=20237D0h                            ;
0803026E 7920     ldrb    r0,[r4,4h]                              ;
08030270 7090     strb    r0,[r2,2h]                              ;
08030272 7960     ldrb    r0,[r4,5h]                              ;
08030274 70D0     strb    r0,[r2,3h]                              ;
08030276 7921     ldrb    r1,[r4,4h]                              ;
08030278 0088     lsl     r0,r1,2h                                ;
0803027A 1840     add     r0,r0,r1                                ;
0803027C 7961     ldrb    r1,[r4,5h]                              ;
0803027E 1840     add     r0,r0,r1                                ;
08030280 0080     lsl     r0,r0,2h                                ;
08030282 1940     add     r0,r0,r5                                ;
08030284 6800     ldr     r0,[r0]                                 ;
08030286 8800     ldrh    r0,[r0]                                 ;
08030288 8010     strh    r0,[r2]                                 ;
0803028A F006F9E1 bl      8036650h                                ;
0803028E 2801     cmp     r0,1h                                   ;
08030290 D103     bne     803029Ah                                ;
08030292 4817     ldr     r0,=2020C38h                            ;
08030294 7800     ldrb    r0,[r0]                                 ;
08030296 2800     cmp     r0,0h                                   ;
08030298 D02C     beq     80302F4h                                ;
0803029A 78A1     ldrb    r1,[r4,2h]                              ;
0803029C 0088     lsl     r0,r1,2h                                ;
0803029E 1840     add     r0,r0,r1                                ;
080302A0 78E1     ldrb    r1,[r4,3h]                              ;
080302A2 1840     add     r0,r0,r1                                ;
080302A4 0080     lsl     r0,r0,2h                                ;
080302A6 1940     add     r0,r0,r5                                ;
080302A8 6800     ldr     r0,[r0]                                 ;
080302AA F7F4FD1B bl      8024CE4h                                ;
080302AE 7921     ldrb    r1,[r4,4h]                              ;
080302B0 0088     lsl     r0,r1,2h                                ;
080302B2 1840     add     r0,r0,r1                                ;
080302B4 7964     ldrb    r4,[r4,5h]                              ;
080302B6 1900     add     r0,r0,r4                                ;
080302B8 0080     lsl     r0,r0,2h                                ;
080302BA 1940     add     r0,r0,r5                                ;
080302BC 6800     ldr     r0,[r0]                                 ;
080302BE 2100     mov     r1,0h                                   ;
080302C0 F7F8FD1E bl      8028D00h                                ;
080302C4 480A     ldr     r0,=2020C38h                            ;
080302C6 7800     ldrb    r0,[r0]                                 ;
080302C8 2800     cmp     r0,0h                                   ;
080302CA D127     bne     803031Ch                                ;
080302CC 2041     mov     r0,41h                                  ;
080302CE F7F2F937 bl      8022540h                                ;
080302D2 20E1     mov     r0,0E1h                                 ;
080302D4 0080     lsl     r0,r0,2h                                ;r0 = 900 ; 7 Completed
080302D6 F7F5FAE3 bl      80258A0h                                ;
080302DA 2049     mov     r0,49h                                  ;
080302DC F7F2F930 bl      8022540h                                ;
080302E0 E01C     b       803031Ch                                ;
080302E2 0000     lsl     r0,r0,0h                                ;
080302E4 3270     add     r2,70h                                  ;
080302E6 0202     lsl     r2,r0,8h                                ;
080302E8 3480     add     r4,80h                                  ;
080302EA 0202     lsl     r2,r0,8h                                ;
080302EC 37D0     add     r7,0D0h                                 ;
080302EE 0202     lsl     r2,r0,8h                                ;
080302F0 0C38     lsr     r0,r7,10h                               ;
080302F2 0202     lsl     r2,r0,8h                                ;
080302F4 78A0     ldrb    r0,[r4,2h]                              ;
080302F6 0081     lsl     r1,r0,2h                                ;
080302F8 1809     add     r1,r1,r0                                ;
080302FA 78E4     ldrb    r4,[r4,3h]                              ;
080302FC 1909     add     r1,r1,r4                                ;
080302FE 0089     lsl     r1,r1,2h                                ;
08030300 1949     add     r1,r1,r5                                ;
08030302 6808     ldr     r0,[r1]                                 ;
08030304 F7F4FCF8 bl      8024CF8h                                ;
08030308 F006F92A bl      8036560h                                ;
0803030C E006     b       803031Ch                                ;
0803030E 4805     ldr     r0,=2020C38h                            ;
08030310 7800     ldrb    r0,[r0]                                 ;
08030312 2800     cmp     r0,0h                                   ;
08030314 D102     bne     803031Ch                                ;
08030316 2039     mov     r0,39h                                  ;
08030318 F7F2F912 bl      8022540h                                ;
0803031C BC30     pop     r4,r5                                   ;
0803031E BC01     pop     r0                                      ;
08030320 4700     bx      r0                                      ;

Beckon to Darkness

08030328 B510     push    r4,r14                                  ;Beckon to Darkness
0803032A 4C17     ldr     r4,=2023284h                            ;
0803032C 1C20     mov     r0,r4                                   ;
0803032E F7F6FFE9 bl      8027304h                                ;check if current_card_id is a God card ID, then ?
08030332 2805     cmp     r0,5h                                   ;
08030334 D009     beq     803034Ah                                ;if(r0 == 5), skip to 0x803034A
08030336 1C20     mov     r0,r4                                   ;r0 = r4
08030338 F7F7F8F2 bl      8027520h                                ;call 0x27520
0803033C 0600     lsl     r0,r0,18h                               ;
0803033E 0D80     lsr     r0,r0,16h                               ;
08030340 1900     add     r0,r0,r4                                ;
08030342 6800     ldr     r0,[r0]                                 ;r0 = pointer_to_current_cpu_monster_card_id
08030344 2101     mov     r1,1h                                   ;r1 = 1
08030346 F7F8FCDB bl      8028D00h                                ;call 0x28D00
0803034A 1C23     mov     r3,r4                                   ;
0803034C 3B14     sub     r3,14h                                  ;
0803034E 4A0F     ldr     r2,=2023480h                            ;r2 = 0x2023480
08030350 7891     ldrb    r1,[r2,2h]                              ;
08030352 0088     lsl     r0,r1,2h                                ;
08030354 1840     add     r0,r0,r1                                ;
08030356 78D2     ldrb    r2,[r2,3h]                              ;
08030358 1880     add     r0,r0,r2                                ;
0803035A 0080     lsl     r0,r0,2h                                ;
0803035C 18C0     add     r0,r0,r3                                ;
0803035E 6800     ldr     r0,[r0]                                 ;
08030360 2100     mov     r1,0h                                   ;
08030362 F7F8FCCD bl      8028D00h                                ;call 0x28D00
08030366 480A     ldr     r0,=2020C38h                            ;
08030368 7800     ldrb    r0,[r0]                                 ;r0 = [0x2020C38]
0803036A 2800     cmp     r0,0h                                   ;
0803036C D108     bne     8030380h                                ;if (r0 ≠ 0), skip to 0x8030380
0803036E 2041     mov     r0,41h                                  ;r0 = 0x41 ; 0d65
08030370 F7F2F8E6 bl      8022540h                                ;call 0x22540
08030374 4807     ldr     r0,=382h                                ;r0 = 898 ; Beckon to Darkness
08030376 F7F5FA93 bl      80258A0h                                ;call 0x258A0 - Display text box
0803037A 204C     mov     r0,4Ch                                  ;r0 = 0x4C ; 0d76
0803037C F7F2F8E0 bl      8022540h                                ;call 0x22540
08030380 BC10     pop     r4                                      ;
08030382 BC01     pop     r0                                      ;
08030384 4700     bx      r0                                      ;

0x37380 - Load byte at RAM 0x20237D8

08037380 4801     ldr     r0,=20237D8h                            ;
08037382 7800     ldrb    r0,[r0]                                 ;
08037384 4770     bx      r14                                     ;

swi 0x0B, call to BIOS function CPUSet

  • 0x37390 : u16 memory copy
08037390 DF0B     swi     0Bh     ;Software interrupt, call to BIOS function CPUSet
08037392 4770     bx      r14     ;branch to r14

branch to r0

08039888 4700     bx      r0                                      ;branch to r0

Cards data

Card Costs

  • 0x895D8 - 0x8A3EB : Card Costs, on 4 bytes each

Monster Attributes

  • 0x8A3ED - 0x8A770 : Monster Attributes

Monster Levels

  • 0x8A772 - 0x8AAF5 : Monster Levels

Cards limitations

  • 0xB53F8 - 0xB540D : Limited cards
  • 0xB5410 : Semi-Limited Card

CPU Decks (I will put a complete list on another page, I won't add more data here)

0xF09F4 : Yugi Muto

11 00 12 00 13 00 14 00 18 00 18 00 18 00 09 00
09 00 09 00 08 00 08 00 08 00 10 00 10 00 10 00
56 02 56 02 56 02 CF 00 CF 00 CF 00 1D 02 1D 02
1D 02 0C 02 0C 02 82 00 82 00 82 00 C0 00 C0 00
C0 00 AC 01 AC 01 AC 01 3A 00 11 03 23 00 D2 02

1× #035 Dark Magician

1× #017 Right Leg of the Forbidden One
1× #018 Left Leg of the Forbidden One
1× #019 Right Arm of the Forbidden One
1× #020 Left Arm of the Forbidden One
3× #008 Mushroom Man
3× #598 Little Chimera
3× #207 Droll Bird
3× #130 Weather Control
2× #524 Star Boy
3× #009 Shadow Specter
3× #016 Time Wizard
3× #541 Hane-Hane
3× #192 Key Mace
3× #428 Magician of Faith
3× #024 Skull Servant
1× #058 Kuriboh
1× #722 Dark Magic Ritual
1× #785 Multiply

0xF0A44 : Yami Yugi

F6 02 11 00 12 00 13 00 14 00 3A 00 02 00 15 00
59 00 07 00 29 00 E2 02 ED 02 0A 00 1F 00 EB 02
52 03 3C 00 F5 02 C8 02 27 00 F8 02 EE 02 0A 03
26 00 16 00 23 00 25 00 2B 03 41 03 7A 03 3A 01
3F 01 5C 01 5D 01 9E 02 D2 02 0D 03 11 03 7F 03

1× #021 Exodia the Forbidden One
1× #017 Right Leg of the Forbidden One
1× #018 Left Leg of the Forbidden One
1× #019 Right Arm of the Forbidden One
1× #020 Left Arm of the Forbidden One

AB 01 4C 01 95 02 7F 03 0E 03 AE 02 5B 02 5B 02
5B 02 31 02 31 02 31 02 2B 02 2B 02 2F 01 3B 01
22 00 22 00 22 00 05 00 05 00 05 00 03 00 03 00
03 00 4D 00 4D 00 4D 00 5B 00 5B 00 5B 00 17 00
17 00 17 00 5A 00 5A 00 77 03 77 03 77 03 62 03

8F 01 8F 01 8F 01 D5 01 D5 01 D5 01 7B 02 7B 02
7B 02 B6 00 B6 00 B6 00 B9 00 B9 00 B9 00 8A 01
8A 01 8A 01 9B 01 9B 01 9B 01 9A 01 9A 01 9A 01
A6 01 A6 01 A6 01 A4 01 A4 01 A4 01 10 00 10 00
10 00 A7 00 A7 00 2E 02 2E 02 69 03 75 03 92 02

73 00 73 00 73 00 00 01 00 01 00 01 1C 01 1C 01
1C 01 2F 01 2F 01 37 01 37 01 50 01 51 01 56 01
5C 01 76 01 42 02 42 02 42 02 91 02 A0 02 A0 02
AE 02 B2 02 BD 02 BF 02 C1 02 C4 02 CC 02 CF 02
D0 02 DB 02 DE 02 0D 03 10 03 42 03 7F 03 81 03

30 03 30 03 38 03 38 03 A5 00 A5 00 60 02 60 02
6D 00 6D 00 2B 01 2B 01 5B 02 5B 02 25 01 25 01
22 01 22 01 64 02 64 02 1B 01 1B 01 78 00 78 00
78 00 82 02 82 02 82 02 1A 01 1A 01 1A 01 AF 02
B0 02 B1 02 66 03 46 02 46 02 C7 02 C7 02 40 03

CF 00 CF 00 CF 00 2C 01 2C 01 2C 01 1D 02 1D 02
1D 02 56 02 56 02 56 02 C8 00 C8 00 C8 00 7A 00
7A 00 7A 00 8B 01 8B 01 8B 01 7B 02 7B 02 7B 02
AC 01 AC 01 AC 01 00 03 00 03 00 03 84 02 84 02
84 02 3C 01 3D 01 3E 01 A0 02 66 03 3E 00 82 01

0xF0C24 : Ryou Bakura

09 00 09 00 09 00 08 03 08 03 08 03 69 00 69 00
69 00 C5 00 C5 00 C5 00 A6 01 A6 01 A6 01 33 02
33 02 33 02 89 00 89 00 89 00 F2 00 F2 00 F2 00
37 03 37 03 37 03 CA 00 CA 00 CA 00 2E 02 2E 02
24 02 24 02 47 02 48 02 49 02 4A 02 4B 02 2C 03

0xF0C74 : Odion

33 00 33 00 33 00 76 02 76 02 76 02 36 02 36 02
36 02 C6 01 C6 01 C6 01 C8 01 C8 01 C8 01 6F 02
6F 02 6F 02 C9 01 C9 01 C9 01 40 02 40 02 40 02
40 01 15 03 DB 02 0E 03 AE 02 46 01 46 01 44 01
44 01 5C 03 5C 03 5C 03 6A 03 6A 03 6A 03 42 03

3A 00 3A 00 3A 00 C0 00 C0 00 C0 00 CA 00 CA 00
8B 01 8B 01 8B 01 8F 01 8F 01 A0 02 AC 01 AC 01
AC 01 DB 01 DB 01 DB 01 E8 01 E8 01 0F 02 0F 02
0F 02 23 02 23 02 23 02 7B 02 7B 02 7B 02 00 03
00 03 00 03 82 00 82 00 82 00 E6 01 E6 01 E6 01

11 00 12 00 13 00 14 00 18 00 18 00 18 00 3A 00
3A 00 3A 00 89 01 89 01 89 01 8A 01 8A 01 8A 01
8B 01 8B 01 8B 01 8F 01 8F 01 8F 01 DB 01 DB 01
DB 01 F3 01 F3 01 F3 01 0F 02 0F 02 0F 02 DA 02
DA 02 DA 02 DD 02 DD 02 DD 02 00 03 00 03 00 03

1× #017 Right Leg of the Forbidden One
1× #018 Left Leg of the Forbidden One
1× #019 Right Arm of the Forbidden One
1× #020 Left Arm of the Forbidden One

0xF0D64 : Lumis

66 00 66 00 66 00 B6 00 B6 00 B6 00 F1 00 F1 00
F1 00 31 02 31 02 31 02 31 02 37 02 37 02 37 02
62 01 62 01 62 01 84 00 84 00 84 00 80 01 80 01
80 01 F6 00 F6 00 F6 00 44 02 44 02 44 02 88 02
88 02 7F 03 4F 01 50 01 B5 02 55 03 70 03 72 03

3× #102 Mask of Darkness
3× #182 Masked Clown

0xF0DB4 : Lumis

66 00 66 00 66 00 B6 00 B6 00 B6 00 17 01 17 01
17 01 BE 00 BE 00 BE 00 B2 00 B2 00 B2 00 AF 00
AF 00 AF 00 0B 01 0B 01 0B 01 35 03 35 03 35 03
12 02 12 02 12 02 0F 01 0F 01 0F 01 FD 00 FD 00
FD 00 7F 03 4F 01 50 01 B5 02 23 03 71 03 56 03

3× #102 Mask of Darkness
3× #182 Masked Clown

Strings

DE 00 DE 00 DE 00 F5 00 F5 00 F5 00 EA 01 EA 01
EA 01 F0 00 F0 00 F0 00 63 02 63 02 63 02 E8 00
E8 00 E8 00 F2 00 F2 00 F2 00 8C 00 8C 00 8C 00
5D 02 5D 02 5D 02 CD 00 CD 00 CD 00 CE 00 CE 00
CE 00 21 01 21 01 21 01 2A 03 27 03 29 03 41 03

1× #833 Slifer the Sky Dragon

3× #140 Toad Master

Rare Hunter

DA 02 DA 02 DA 02 DD 02 DD 02 DD 02 89 01 89 01
89 01 8F 01 8F 01 8F 01 92 01 92 01 92 01 18 00
18 00 18 00 8E 01 8E 01 7B 02 7B 02 7B 02 A7 00
A7 00 A7 00 11 00 12 00 13 00 14 00 11 00 12 00
13 00 14 00 11 00 12 00 13 00 14 00 15 00 EF 02

1× #021 Exodia the Forbidden One
3× #017 Right Leg of the Forbidden One
3× #018 Left Leg of the Forbidden One
3× #019 Right Arm of the Forbidden One
3× #020 Left Arm of the Forbidden One

61 03 F7 02 68 00 68 00 68 00 33 02 33 02 33 02
B6 00 B6 00 B6 00 83 01 83 01 83 01 92 01 92 01
92 01 08 03 08 03 08 03 89 00 89 00 89 00 37 03
37 03 37 03 2E 02 2E 02 2E 02 F2 00 F2 00 F2 00
B2 02 58 01 53 01 AF 02 AF 02 B0 02 B0 02 B2 02

6C 03 6C 03 6C 03 BF 00 BF 00 BF 00 D3 00 D3 00
D3 00 F0 02 8A 01 8A 01 8A 01 9B 01 9B 01 9B 01
A6 01 A6 01 A6 01 16 03 16 03 16 03 00 03 00 03
00 03 1D 02 1D 02 1D 02 AC 01 AC 01 AC 01 89 01
89 01 89 01 8F 01 8F 01 8F 01 F3 01 F3 01 F3 01

F3 01 F3 01 F3 01 8D 01 8D 01 8D 01 F5 01 F5 01
F5 01 32 00 32 00 32 00 E5 01 E5 01 E5 01 61 02
61 02 61 02 FA 01 FA 01 FA 01 D1 00 D1 00 D1 00
4D 02 4D 02 4D 02 E8 01 E8 01 E8 01 8E 01 8E 01
8E 01 FE 02 FA 02 FB 02 16 01 4A 01 B2 02 83 03

52 00 0B 00 A7 00 A7 00 A7 00 ED 00 ED 00 ED 00
04 02 04 02 04 02 69 00 69 00 69 00 8F 01 8F 01
8F 01 7B 02 7B 02 7B 02 B9 00 B9 00 B9 00 74 00
74 00 74 00 8A 01 8A 01 8A 01 9A 01 9A 01 9A 01
B2 02 B2 02 AF 02 B0 02 52 01 52 01 B2 02 52 01

39 02 39 02 39 02 CD 00 CD 00 CD 00 F7 00 F7 00
F7 00 F3 00 F3 00 F3 00 C3 00 C3 00 C3 00 5E 02
5E 02 5E 02 58 03 58 03 58 03 4E 02 4E 02 4E 02
09 01 09 01 09 01 18 02 18 02 5A 02 5A 02 4E 01
43 03 43 03 43 03 BC 02 B9 01 49 00 48 03 81 03

09 00 09 00 09 00 18 00 18 00 18 00 2E 02 2E 02
2E 02 9B 01 9B 01 9B 01 7B 00 7B 00 7B 00 F8 01
F8 01 F8 01 08 03 08 03 08 03 C5 00 C5 00 C5 00
CB 00 CB 00 CB 00 24 02 24 02 24 02 63 00 DD 02
DD 02 DD 02 CA 00 CA 00 CA 00 A6 01 A6 01 A6 01

73 00 73 00 73 00 00 01 00 01 00 01 1C 01 1C 01
1C 01 2F 01 2F 01 2F 01 37 01 37 01 37 01 50 01
51 01 56 01 5B 01 5C 01 27 02 42 02 42 02 42 02
91 02 A0 02 A0 02 A0 02 DB 02 DE 02 0B 03 0C 03
0D 03 10 03 24 03 2C 03 57 03 5B 03 7F 03 81 03

F1 02 F1 02 F1 02 1D 00 1D 00 1D 00 64 00 64 00
64 00 1C 00 1C 00 1C 00 3D 00 3D 00 3D 00 65 00
65 00 65 00 D2 00 D2 00 D2 00 59 03 59 03 59 03
57 01 58 01 59 01 5A 01 5B 01 57 01 58 01 59 01
5A 01 5B 01 46 03 0F 00 10 00 04 00 8B 02 8E 02

0xF1124 : Yami Marik

0B 02 0B 02 0B 02 5D 03 5D 03 5D 03 6D 03 6D 03
6D 03 DE 02 DE 02 DE 02 1A 03 1A 03 1C 03 1C 03
1E 03 1E 03 79 01 79 01 79 01 4F 01 7F 03 7F 03
A0 02 A0 02 0E 03 81 03 BB 02 92 00 64 03 64 03
64 03 6E 03 6E 03 6E 03 63 03 63 03 63 03 42 03

Tristan Taylor

DA 02 DA 02 DA 02 DD 02 DD 02 DD 02 00 03 00 03
00 03 89 01 89 01 89 01 8F 01 8F 01 8F 01 F3 01
F3 01 F3 01 DB 01 DB 01 DB 01 18 00 18 00 18 00
8B 01 8B 01 8B 01 8E 01 8E 01 8E 01 A6 01 8A 01
8A 01 8A 01 9B 01 9B 01 9B 01 9A 01 9A 01 9A 01

09 00 09 00 09 00 18 00 18 00 18 00 89 01 89 01
89 01 9B 01 9B 01 9B 01 7B 00 7B 00 7B 00 F8 01
F8 01 F8 01 08 03 08 03 08 03 C5 00 C5 00 C5 00
CA 00 CA 00 CA 00 24 02 24 02 24 02 8F 01 8F 01
8F 01 DD 02 DD 02 DD 02 89 00 8A 01 8A 01 8A 01

Generic Duelists

00 03 00 03 89 01 89 01 8F 01 8F 01 8A 01 8A 01
F3 01 F3 01 F3 01 18 00 18 00 18 00 8B 01 8B 01
8E 01 8E 01 DB 01 DB 01 0F 02 0F 02 D5 01 D5 01
D5 01 9B 01 9B 01 9B 01 E4 01 E4 01 7B 00 7B 00
AC 01 AC 01 23 02 23 02 7B 02 7B 02 A7 00 A7 00

6C 03 6C 03 6C 03 BF 00 BF 00 BF 00 D3 00 F3 01
F3 01 F3 01 8A 01 8A 01 8A 01 9B 01 9B 01 9B 01
A6 01 A6 01 A6 01 18 00 18 00 18 00 00 03 00 03
00 03 1D 02 1D 02 1D 02 AC 01 AC 01 AC 01 89 01
89 01 89 01 8F 01 8F 01 8F 01 8B 01 8B 01 8B 01

0xF12B4 : Duel Computer

CF 00 CF 00 CF 00 BF 00 BF 00 BF 00 C8 00 C8 00
C8 00 D3 00 D3 00 D3 00 19 02 19 02 19 02 2C 01
2C 01 2C 01 CF 01 CF 01 CF 01 62 02 62 02 62 02
7A 00 7A 00 7A 00 1A 02 1A 02 1A 02 2A 01 2A 01
2A 01 6C 03 6C 03 6C 03 53 01 53 01 E5 02 79 03

00 03 00 03 89 01 89 01 8F 01 8F 01 8A 01 8A 01
F3 01 F3 01 F3 01 18 00 18 00 18 00 8B 01 8B 01
8E 01 8E 01 DB 01 DB 01 0F 02 0F 02 D5 01 D5 01
D5 01 9B 01 9B 01 9B 01 E4 01 E4 01 7B 00 7B 00
AC 01 AC 01 23 02 23 02 7B 02 7B 02 A7 00 A7 00

F3 01 0F 02 8D 01 7B 00 23 02 E8 01 CA 00 1D 02
F5 01 4D 02 32 00 9F 00 E5 01 56 02 61 02 DC 01
FA 01 9D 00 D4 00 D1 00 F3 01 0F 02 8D 01 7B 00
23 02 E8 01 CA 00 1D 02 F5 01 4D 02 32 00 9F 00
E5 01 56 02 61 02 DC 01 FA 01 9D 00 D4 00 D1 00

FA 01 FA 01 FA 01 E5 01 E5 01 E5 01 F5 01 F5 01
F5 01 8D 01 8D 01 8D 01 56 02 56 02 56 02 4D 02
4D 02 4D 02 1D 02 1D 02 1D 02 CA 00 CA 00 CA 00
E8 01 E8 01 E8 01 23 02 23 02 23 02 7B 00 7B 00
7B 00 F3 01 F3 01 F3 01 D1 00 B2 02 83 03 FB 02

BF 00 BF 00 BF 00 56 02 56 02 56 02 D2 00 D2 00
D2 00 CF 00 CF 00 CF 00 B9 00 B9 00 B9 00 68 00
68 00 68 00 82 00 82 00 82 00 04 02 04 02 04 02
0C 02 0C 02 0C 02 59 03 59 03 59 03 33 02 33 02
33 02 E5 01 E5 01 E5 01 52 01 A9 02 B2 02 B2 02

5D 02 5D 02 5D 02 C7 00 C7 00 C7 00 CD 00 CD 00
CD 00 F3 00 F3 00 F3 00 CE 00 CE 00 CE 00 5E 02
5E 02 5E 02 58 03 58 03 58 03 09 01 09 01 09 01
5A 02 5A 02 5A 02 F7 01 F7 01 F7 01 C3 01 C3 01
C3 01 C4 01 C4 01 C4 01 A9 02 B2 02 53 01 58 01

F7 00 F7 00 F7 00 43 03 43 03 43 03 B4 01 B4 01
B4 01 BE 01 BE 01 BE 01 0E 01 0E 01 0E 01 5D 02
5D 02 5D 02 C7 00 C7 00 C7 00 CD 00 CD 00 CD 00
F3 00 F3 00 F3 00 39 02 39 02 39 02 4E 02 4E 02
4E 02 18 02 18 02 18 02 B0 02 B1 02 B2 02 AA 02

20 02 20 02 20 02 A1 01 A1 01 A1 01 A5 01 A5 01
A5 01 A4 01 A4 01 A4 01 A6 01 A6 01 A6 01 9A 01
9A 01 9A 01 1D 02 1D 02 1D 02 62 02 62 02 62 02
CF 01 CF 01 CF 01 19 02 19 02 19 02 D3 00 D3 00
D3 00 BF 00 BF 00 BF 00 EF 02 CC 01 53 01 58 01

08 00 08 00 08 00 4B 00 4B 00 4B 00 7B 00 7B 00
7B 00 9D 00 9D 00 9D 00 9E 00 9E 00 9E 00 EE 00
EE 00 EE 00 8A 01 8B 01 8B 01 8B 01 E8 01 E8 01
E8 01 F3 01 F3 01 F3 01 0F 02 0F 02 0F 02 23 02
23 02 23 02 43 02 43 02 43 02 4D 02 4D 02 4D 02

98 00 98 00 98 00 E3 00 E3 00 E3 00 1D 01 21 01
21 01 21 01 89 01 89 01 89 01 8E 01 8E 01 8E 01
B4 01 B4 01 B4 01 BC 01 BC 01 BC 01 C4 01 C4 01
C4 01 D5 01 D5 01 D5 01 DB 01 DB 01 DB 01 E4 01
E4 01 E4 01 0C 02 0C 02 0C 02 25 02 25 02 25 02

32 00 32 00 32 00 36 00 38 00 38 00 38 00 D1 00
D1 00 D1 00 31 01 4A 01 8D 01 8D 01 8D 01 DC 01
DC 01 DC 01 E5 01 E5 01 E5 01 F3 01 F3 01 F3 01
F5 01 F5 01 F5 01 FA 01 FA 01 FA 01 17 02 32 02
32 02 32 02 61 02 61 02 61 02 FB 02 FB 02 FB 02

32 00 32 00 32 00 36 00 38 00 38 00 38 00 D1 00
D1 00 D1 00 31 01 4A 01 8D 01 8D 01 8D 01 DC 01
DC 01 DC 01 E5 01 E5 01 E5 01 F3 01 F3 01 F3 01
F5 01 F5 01 F5 01 FA 01 FA 01 FA 01 17 02 32 02
32 02 32 02 61 02 61 02 61 02 FB 02 FB 02 FB 02

F1 00 37 02 62 01 84 00 80 01 F6 00 44 02 67 01
1B 02 DB 00 99 00 99 00 2A 01 2A 01 E2 00 E2 00
DA 00 DA 00 CE 00 CE 00 8B 00 8B 00 20 02 20 02
16 02 16 02 2C 02 2C 02 DE 00 DE 00 4F 01 50 01
11 00 12 00 13 00 14 00 15 00 95 01 95 01 1A 03

1× #021 Exodia the Forbidden One
1× #017 Right Leg of the Forbidden One
1× #018 Left Leg of the Forbidden One
1× #019 Right Arm of the Forbidden One
1× #020 Left Arm of the Forbidden One

65 00 69 00 76 00 82 00 8E 00 98 00 B3 00 B6 00
B9 00 BF 00 CA 00 CF 00 D2 00 D3 00 ED 00 0B 01
1E 01 52 01 A4 01 A6 01 BC 01 C4 01 CC 01 E5 01
FA 01 0C 02 10 02 12 02 1D 02 33 02 4D 02 4F 02
56 02 61 02 A9 02 B2 02 00 03 16 03 37 03 59 03

0xF1714 : Bandit Keith

79 01 9F 02 4F 01 E0 02 D4 02 84 01 0E 03 83 03
83 03 83 03 45 01 45 01 20 02 20 02 20 02 66 00
66 00 66 00 0F 01 0F 01 0F 01 96 01 96 01 96 01
44 02 44 02 44 02 9C 01 9C 01 9C 01 E0 02 D4 02
84 01 D3 02 87 01 E7 02 92 02 92 02 84 03 40 01

DB 01 DB 01 1D 01 1D 01 18 02 18 02 4E 02 4E 02
39 02 39 02 37 02 37 02 E9 01 E9 01 6C 02 6C 02
4C 02 4C 02 FE 01 FE 01 B4 00 B4 00 08 00 08 00
EE 00 EE 00 9E 00 9E 00 43 02 43 02 9D 00 9D 00
36 01 46 01 4B 00 4B 00 4B 00 4C 00 4C 00 4C 00
D5 01 D5 01 D5 01 33 03 33 03 33 03 A0 00 A0 00
A0 00 76 00 76 00 76 00 C3 00 C3 00 C3 00 A1 00
A1 00 A1 00 2A 02 2A 02 0C 00 0C 00 05 03 1D 00
1D 00 1D 00 D6 00 D6 00 64 00 64 00 64 00 AF 02
AF 02 B0 02 B0 02 B1 02 B1 02 A9 02 A9 02 4D 01

98 00 98 00 98 00 E3 00 E3 00 E3 00 21 01 21 01
21 01 4E 01 89 01 89 01 89 01 8E 01 8E 01 8E 01
BC 01 BC 01 BC 01 C3 01 C3 01 C3 01 C4 01 C4 01
C4 01 E4 01 E4 01 E4 01 F7 01 F7 01 F7 01 0C 02
0C 02 0C 02 25 02 25 02 25 02 5A 02 5A 02 5A 02

98 00 98 00 98 00 E3 00 E3 00 E3 00 21 01 21 01
21 01 4E 01 89 01 89 01 89 01 8E 01 8E 01 8E 01
BC 01 BC 01 BC 01 C3 01 C3 01 C3 01 C4 01 C4 01
C4 01 E4 01 E4 01 E4 01 F7 01 F7 01 F7 01 0C 02
0C 02 0C 02 25 02 25 02 25 02 5A 02 5A 02 5A 02

Strings (Unused ?)

B1 00 B1 00 B1 00 CD 00 CD 00 CD 00 F3 00 F3 00
F3 00 09 01 09 01 09 01 CF 01 CF 01 CF 01 5D 02
5D 02 5D 02 5E 02 5E 02 5E 02 62 02 62 02 62 02
27 03 27 03 27 03 28 03 28 03 28 03 29 03 29 03
29 03 2A 03 2A 03 2A 03 41 03 7C 03 7C 03 7C 03

1× #833 Slifer the Sky Dragon
3× #809 Humanoid Worm Drake

3× #810 Revival Jam
3× #808 Worm Drake
3× #605 Liquid Beast
3× #205 Dorover
3× #243 Water Element
3× #610 Electric Lizard
3× #606 Twin Long Rods #2
3× #807 Humanoid Slime
3× #177 Monsturtle
3× #463 Electric Snake
3× #265 The Furious Sea King

3× #892 Darkness Approaches

Pointers to cards effects functions

  • 0x104634 - Pointers to cards effects functions, used by function at 0x2BD2E
65 BD 02 08
69 BD 02 08
6D BD 02 08
71 BD 02 08 - Forest
D1 BD 02 08 - Wasteland
31 BE 02 08 - Mountain
91 BE 02 08 - Sogen
F1 BE 02 08 - Umi
51 BF 02 08 - Yami
B1 BF 02 08 - Mooyan Curry
65 C0 02 08 - Red Medicine
25 C1 02 08 - Goblin's Secret Remedy
E1 C1 02 08 - Soul of the Pure
A1 C2 02 08 - Dian Keto the Cure Master
61 C3 02 08 - Sparks
15 C4 02 08 - Hinotama
C9 C4 02 08 - Final Flame
7D C5 02 08 - Ookazi
39 C6 02 08 - Tremendous Fire
F9 C6 02 08 - Dark Hole
99 C7 02 08 - Raigeki
4D C8 02 08 - Legendary Sword
29 C9 02 08 - Sword of Dark Destruction
05 CA 02 08 - 
E1 CA 02 08 - 
BD CB 02 08 - 
99 CC 02 08 - 
75 CD 02 08 - 
51 CE 02 08 - 
2D CF 02 08 - 
09 D0 02 08 - 
E5 D0 02 08 - 
C1 D1 02 08 - 
9D D2 02 08 - 
79 D3 02 08 - 
55 D4 02 08 - 
31 D5 02 08 - 
0D D6 02 08 - 
E9 D6 02 08 - 
C5 D7 02 08 - 
A1 D8 02 08 - 
7D D9 02 08 - 
59 DA 02 08 - 
35 DB 02 08 - 
11 DC 02 08 - 
ED DC 02 08 - 
C9 DD 02 08 - 
A5 DE 02 08 - 
A9 DE 02 08 - 
45 DF 02 08 - 
CD DF 02 08 - 
41 E0 02 08 - 
B1 E0 02 08 - 
21 E1 02 08 - 
E1 E1 02 08 - 
E5 E1 02 08 - 
E9 E1 02 08 - 
ED E1 02 08 - 
F1 E1 02 08 - 
F5 E1 02 08 - 
F9 E1 02 08 - 
FD E1 02 08 - 
01 E2 02 08 - 
05 E2 02 08 - 
09 E2 02 08 - 
0D E2 02 08 - 
91 E2 02 08 - 
15 E3 02 08 - 
99 E3 02 08 - 
1D E4 02 08 - 
D1 E5 02 08 - 
59 E6 02 08 - 
E5 E6 02 08 - 
71 E7 02 08 - 
FD E7 02 08 - 
85 E8 02 08 - 
11 E9 02 08 - 
75 E9 02 08 - 
51 EA 02 08 - 
2D EB 02 08 - 
09 EC 02 08 - 
E5 EC 02 08 - 
99 ED 02 08 - 
11 EE 02 08 - 
99 EE 02 08 - 
25 EF 02 08 - 
B1 EF 02 08 - 
3D F0 02 08 - 
C5 F0 02 08 - 
51 F1 02 08 - 
DD F1 02 08 - 
69 F2 02 08 - 
F1 F2 02 08 - 
75 F3 02 08 - 
F9 F3 02 08 - 
D9 F4 02 08 - 
65 F5 02 08 - 
DD F5 02 08 - 
59 F6 02 08 - 
35 F7 02 08 - 
49 F8 02 08 - 
25 F9 02 08 - 
AD F9 02 08 - 
2D FA 02 08 - 
AD FA 02 08 - 
29 FB 02 08 - 
9D FB 02 08 - 
5D FC 02 08 - Pot of Greed
B9 FC 02 08 - Restructer Revolution
39 FD 02 08 - Last Day of Witch
B9 FD 02 08 - Exile of the Wicked
39 FE 02 08 - Multiply
2D FF 02 08 - Change of Heart
11 00 03 08 - Black Illusion Ritual
9D 00 03 08 - ? (likely removed)
A1 00 03 08 - Brain Control
85 01 03 08 - Monster Reborn
49 02 03 08 - ? (no effect, just a bx r14)
4D 02 03 08 - 7 Completed
29 03 03 08 - Beckon to Darkness
99 03 03 08 - 
9D 03 03 08 - 
F1 03 03 08 - 
A5 04 03 08 - 
A1 05 03 08 - 
4D 06 03 08 - 
E9 06 03 08 - 
ED 06 03 08 - 
F1 06 03 08 - 
F5 06 03 08 - 
F9 06 03 08 - 
FD 06 03 08 -

God cards IDs

  • 0xD54640-0xD54645 - Array of God cards IDs, used mainly with card effects to make the Gods impervious to some Magic and Trap cards
40 03 - Obelisk the Tormentor
41 03 - Slifer the Sky Dragon
42 03 - The Winged Dragon of Ra