Yu-Gi-Oh! Duel Monsters 4: Kaiba Deck/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! Duel Monsters 4: Kaiba Deck.

Bank 0

rst

rst 00

ROM0:0000 D9               reti 

rst 08

ROM0:0008 C3 A2 11         jp   125E          ;rst 08 instructions

rst 10

ROM0:0010 D9               reti 

rst 18

ROM0:0018 D9               reti

rst 20

ROM0:0020 D9               reti 

rst 28

ROM0:0028 D9               reti 

rst 30

ROM0:0030 D9               reti 

rst 38 (error trap)

ROM0:0038 00               nop  
ROM0:0039 18 FE            jr   0039

rst 40 (vblank)

ROM0:0040 C3 1A 05         jp   051A

rst 48 (LCD)

ROM0:0048 00               nop  
ROM0:0049 D9               reti 

rst 50 (timer)

ROM0:0050 C3 88 36         jp   3688

rst 58 (serial)

ROM0:0058 C3 D0 02         jp   02D0

rst 60 (joypad)

ROM0:0060 D9               reti 

ROM start

ROM0:0100 00               nop  
ROM0:0101 C3 50 01         jp   0150
...
ROM0:0150 E0 DD            ld   (ff00+DD),a        ;System running the game
ROM0:0152 21 00 D0         ld   hl,D000
ROM0:0155 F9               ld   sp,hl
ROM0:0156 CD AB 12         call 12AB
ROM0:0159 CD C5 2C         call 2CC5
ROM0:015C 3E 01            ld   a,01
ROM0:015E E0 70            ld   (ff00+70),a        ;WRAM Bank 1
ROM0:0160 CD 84 01         call 0184
ROM0:0163 CF               rst  08
ROM0:0164 07 04
ROM0:0166 CF               rst  08
ROM0:0167 23 04
ROM0:0169 CD 91 27         call 2791
ROM0:016C CD ED 16         call 16ED
ROM0:016F CD 96 04         call 0496
ROM0:0172 CD 7C 0F         call 0F7C
ROM0:0175 CD 8F 02         call 028F
ROM0:0178 CF               rst  08
ROM0:0179 03 0B
ROM0:017B CD 5F 2A         call 2A5F
ROM0:017E CF               rst  08
ROM0:017F 05 04
ROM0:0181 18 FE            jr   0181               ;Error trap
ROM0:0183 C9               ret

0:0184

ROM0:0184 F5               push af
ROM0:0185 3E E0            ld   a,E0
ROM0:0187 E0 DF            ld   (ff00+DF),a        ;hFFDF = 0xE0
ROM0:0189 CD 07 02         call 0207
ROM0:018C CD 91 01         call 0191
ROM0:018F F1               pop  af
ROM0:0190 C9               ret  

0:0191

ROM0:0191 F5               push af
ROM0:0192 C5               push bc
ROM0:0193 D5               push de
ROM0:0194 E5               push hl
ROM0:0195 21 B5 01         ld   hl,01B5
ROM0:0198 0E E0            ld   c,E0
ROM0:019A 06 02            ld   b,02
ROM0:019C 1E 05            ld   e,05
ROM0:019E 2A               ldi  a,(hl)
ROM0:019F E2               ld   (ff00+c),a
ROM0:01A0 0C               inc  c
ROM0:01A1 1D               dec  e
ROM0:01A2 20 FA            jr   nz,019E
ROM0:01A4 2A               ldi  a,(hl)
ROM0:01A5 5F               ld   e,a
ROM0:01A6 2A               ldi  a,(hl)
ROM0:01A7 57               ld   d,a
ROM0:01A8 2A               ldi  a,(hl)
ROM0:01A9 12               ld   (de),a
ROM0:01AA 13               inc  de
ROM0:01AB 2A               ldi  a,(hl)
ROM0:01AC 12               ld   (de),a
ROM0:01AD 05               dec  b
ROM0:01AE 20 EC            jr   nz,019C
ROM0:01B0 E1               pop  hl
ROM0:01B1 D1               pop  de
ROM0:01B2 C1               pop  bc
ROM0:01B3 F1               pop  af
ROM0:01B4 C9               ret  

0:01B5 (array)

ROM0:01B5
76 CF 04 00 01 7E CF C9 41 76 CD 3D 00 03 7E CD 04 40

0:01C7

ROM0:01C7 F5               push af
ROM0:01C8 C5               push bc
ROM0:01C9 D5               push de
ROM0:01CA E5               push hl
ROM0:01CB F8 08            ld   hl,sp+08
ROM0:01CD 2A               ldi  a,(hl)
ROM0:01CE 5F               ld   e,a
ROM0:01CF 56               ld   d,(hl)
ROM0:01D0 1A               ld   a,(de)
ROM0:01D1 47               ld   b,a
ROM0:01D2 13               inc  de
ROM0:01D3 7A               ld   a,d
ROM0:01D4 32               ldd  (hl),a
ROM0:01D5 73               ld   (hl),e
ROM0:01D6 F0 DF            ld   a,(ff00+DF)
ROM0:01D8 4F               ld   c,a
ROM0:01D9 F8 00            ld   hl,sp+00
ROM0:01DB 7D               ld   a,l
ROM0:01DC E2               ld   (ff00+c),a
ROM0:01DD 0C               inc  c
ROM0:01DE 7C               ld   a,h
ROM0:01DF E2               ld   (ff00+c),a
ROM0:01E0 0C               inc  c
ROM0:01E1 FA 00 40         ld   a,(4000)
ROM0:01E4 E2               ld   (ff00+c),a
ROM0:01E5 0C               inc  c
ROM0:01E6 FA 01 40         ld   a,(4001)
ROM0:01E9 E2               ld   (ff00+c),a
ROM0:01EA 0C               inc  c
ROM0:01EB F0 70            ld   a,(ff00+70)
ROM0:01ED E2               ld   (ff00+c),a
ROM0:01EE 78               ld   a,b
ROM0:01EF E0 DF            ld   (ff00+DF),a
ROM0:01F1 4F               ld   c,a
ROM0:01F2 F2               ld   a,(ff00+c)
ROM0:01F3 6F               ld   l,a
ROM0:01F4 0C               inc  c
ROM0:01F5 F2               ld   a,(ff00+c)
ROM0:01F6 67               ld   h,a
ROM0:01F7 F9               ld   sp,hl
ROM0:01F8 0C               inc  c
ROM0:01F9 F2               ld   a,(ff00+c)
ROM0:01FA 0C               inc  c
ROM0:01FB 0C               inc  c
ROM0:01FC CD BC 12         call 12BC
ROM0:01FF F2               ld   a,(ff00+c)
ROM0:0200 E0 70            ld   (ff00+70),a
ROM0:0202 E1               pop  hl
ROM0:0203 D1               pop  de
ROM0:0204 C1               pop  bc
ROM0:0205 F1               pop  af
ROM0:0206 C9               ret

00s (C5A0) and (C5A1)

ROM0:0207 F5               push af
ROM0:0208 AF               xor  a
ROM0:0209 EA A0 C5         ld   (C5A0),a          ;(C5A0) = 0
ROM0:020C EA A1 C5         ld   (C5A1),a          ;(C5A1) = 0
ROM0:020F F1               pop  af
ROM0:0210 C9               ret  

0:0211

ROM0:0211 F5               push af
ROM0:0212 C5               push bc
ROM0:0213 D5               push de
ROM0:0214 FA A0 C5         ld   a,(C5A0)
ROM0:0217 5F               ld   e,a
ROM0:0218 FA A1 C5         ld   a,(C5A1)
ROM0:021B BB               cp   e
ROM0:021C 20 04            jr   nz,0222          ;if((C5A0) ≠ (C5A1)), jump to 0:0222
ROM0:021E CD C7 01         call 01C7
ROM0:0221 E5               push hl
ROM0:0222 16 C0            ld   d,C0             ;de = 0xC000
ROM0:0224 0E 80            ld   c,80             ;c = 128
ROM0:0226 1A               ld   a,(de)
ROM0:0227 22               ldi  (hl),a
ROM0:0228 1C               inc  e                ;de++
ROM0:0229 0D               dec  c                ;c--
ROM0:022A 20 FA            jr   nz,0226          ;if(c ≠ 0), loop to 0:0226
ROM0:022C 7B               ld   a,e
ROM0:022D EA A0 C5         ld   (C5A0),a         ;(C5A0) = e
ROM0:0230 D1               pop  de
ROM0:0231 C1               pop  bc
ROM0:0232 F1               pop  af
ROM0:0233 C9               ret

0:0496 - Initialize wC5A7-wC5AA, related to PRNG 2 ?

ROM0:0496 F5               push af
ROM0:0497 3E FF            ld   a,FF
ROM0:0499 EA A7 C5         ld   (C5A7),a         ;wC5A7 = 0xFF
ROM0:049C AF               xor  a
ROM0:049D EA A8 C5         ld   (C5A8),a         ;wC5A8 = 0
ROM0:04A0 EA A9 C5         ld   (C5A9),a         ;wC5A9 = 0
ROM0:04A3 3E 14            ld   a,14
ROM0:04A5 EA AA C5         ld   (C5AA),a         ;wC5AA = 0x14 ; 0d20
ROM0:04A8 F1               pop  af
ROM0:04A9 C9               ret

0:04AA - PRNG 2 ?

ROM0:04AA F5               push af
ROM0:04AB C5               push bc
ROM0:04AC D5               push de
ROM0:04AD 3E 20            ld   a,20
ROM0:04AF E0 00            ld   (ff00+00),a
ROM0:04B1 F0 00            ld   a,(ff00+00)
ROM0:04B3 F0 00            ld   a,(ff00+00)
ROM0:04B5 2F               cpl                     ;inverts all bits of A
ROM0:04B6 E6 0F            and  a,0F
ROM0:04B8 CB 37            swap a
ROM0:04BA 47               ld   b,a
ROM0:04BB 3E 10            ld   a,10
ROM0:04BD E0 00            ld   (ff00+00),a
ROM0:04BF F0 00            ld   a,(ff00+00)
ROM0:04C1 F0 00            ld   a,(ff00+00)
ROM0:04C3 F0 00            ld   a,(ff00+00)
ROM0:04C5 F0 00            ld   a,(ff00+00)
ROM0:04C7 F0 00            ld   a,(ff00+00)
ROM0:04C9 F0 00            ld   a,(ff00+00)
ROM0:04CB 2F               cpl  
ROM0:04CC E6 0F            and  a,0F
ROM0:04CE B0               or   b
ROM0:04CF 4F               ld   c,a
ROM0:04D0 FA A7 C5         ld   a,(C5A7)
ROM0:04D3 57               ld   d,a
ROM0:04D4 A9               xor  c
ROM0:04D5 A1               and  c
ROM0:04D6 EA A8 C5         ld   (C5A8),a
ROM0:04D9 79               ld   a,c
ROM0:04DA EA A7 C5         ld   (C5A7),a         ;wC5A7 = c
ROM0:04DD 3E 30            ld   a,30
ROM0:04DF E0 00            ld   (ff00+00),a
ROM0:04E1 FA A7 C5         ld   a,(C5A7)
ROM0:04E4 BA               cp   d
ROM0:04E5 20 19            jr   nz,0500
ROM0:04E7 3E 00            ld   a,00
ROM0:04E9 EA A9 C5         ld   (C5A9),a         ;wC5A9 = 0
ROM0:04EC FA AA C5         ld   a,(C5AA)
ROM0:04EF 3D               dec  a
ROM0:04F0 EA AA C5         ld   (C5AA),a
ROM0:04F3 20 09            jr   nz,04FE
ROM0:04F5 3E 03            ld   a,03
ROM0:04F7 EA AA C5         ld   (C5AA),a         ;wC5AA = 3
ROM0:04FA 7A               ld   a,d
ROM0:04FB EA A9 C5         ld   (C5A9),a         ;wC5A9 = d
ROM0:04FE 18 08            jr   0508             ;jump to 0:0508 (pop registers af bc de, and exit this function)
ROM0:0500 EA A9 C5         ld   (C5A9),a
ROM0:0503 3E 14            ld   a,14
ROM0:0505 EA AA C5         ld   (C5AA),a         ;wC5AA = 0x14 ; 0d20
ROM0:0508 D1               pop  de
ROM0:0509 C1               pop  bc
ROM0:050A F1               pop  af
ROM0:050B C9               ret

0:0F87

ROM0:0F87 F5               push af
ROM0:0F88 C5               push bc
ROM0:0F89 E5               push hl
ROM0:0F8A EA AE C5         ld   (C5AE),a
ROM0:0F8D 4F               ld   c,a
ROM0:0F8E 06 00            ld   b,00
ROM0:0F90 21 A4 0F         ld   hl,0FA4
ROM0:0F93 09               add  hl,bc
ROM0:0F94 2A               ldi  a,(hl)
ROM0:0F95 66               ld   h,(hl)
ROM0:0F96 6F               ld   l,a
ROM0:0F97 01 9C 0F         ld   bc,0F9C
ROM0:0F9A C5               push bc
ROM0:0F9B E9               jp   hl
ROM0:0F9C AF               xor  a
ROM0:0F9D EA AD C5         ld   (C5AD),a          ;wC5AD = 0
ROM0:0FA0 E1               pop  hl
ROM0:0FA1 C1               pop  bc
ROM0:0FA2 F1               pop  af
ROM0:0FA3 C9               ret

0:0FA4 (pointers array)

ROM0:0FA4
C4 0F - ret
C4 0F - ret
C4 0F - ret
C5 0F - 
C4 0F - ret
EA 0F - 
47 10 - 
7C 10 - 
E1 10 - 
0E 11 - 
43 11 - 
C4 0F - ret
C4 0F - ret
60 11 - ret
61 11 - 
6E 11 - 

0:0FC4 (ret)

ROM0:0FC4 C9               ret

0:0FC5

ROM0:0FC5 F5               push af
ROM0:0FC6 E5               push hl
ROM0:0FC7 21 00 C1         ld   hl,C100
ROM0:0FCA 3E 02            ld   a,02
ROM0:0FCC 22               ldi  (hl),a
ROM0:0FCD 36 C1            ld   (hl),C1
ROM0:0FCF 21 16 C1         ld   hl,C116
ROM0:0FD2 3E 18            ld   a,18
ROM0:0FD4 22               ldi  (hl),a
ROM0:0FD5 36 C1            ld   (hl),C1
ROM0:0FD7 21 2C C1         ld   hl,C12C
ROM0:0FDA 3E 2E            ld   a,2E
ROM0:0FDC 22               ldi  (hl),a
ROM0:0FDD 36 C1            ld   (hl),C1
ROM0:0FDF 21 42 C1         ld   hl,C142
ROM0:0FE2 3E 42            ld   a,42
ROM0:0FE4 22               ldi  (hl),a
ROM0:0FE5 36 C1            ld   (hl),C1
ROM0:0FE7 E1               pop  hl
ROM0:0FE8 F1               pop  af
ROM0:0FE9 C9               ret  

0:0FEA

ROM0:0FEA F5               push af
ROM0:0FEB E5               push hl
ROM0:0FEC 21 00 C1         ld   hl,C100
ROM0:0FEF 3E 02            ld   a,02
ROM0:0FF1 22               ldi  (hl),a
ROM0:0FF2 36 C1            ld   (hl),C1
ROM0:0FF4 21 64 C1         ld   hl,C164
ROM0:0FF7 3E 66            ld   a,66
ROM0:0FF9 22               ldi  (hl),a
ROM0:0FFA 36 C1            ld   (hl),C1
ROM0:0FFC 21 6E C1         ld   hl,C16E
ROM0:0FFF 3E 70            ld   a,70
ROM0:1001 22               ldi  (hl),a
ROM0:1002 36 C1            ld   (hl),C1
ROM0:1004 21 78 C1         ld   hl,C178
ROM0:1007 3E 7A            ld   a,7A
ROM0:1009 22               ldi  (hl),a
ROM0:100A 36 C1            ld   (hl),C1
ROM0:100C 21 82 C1         ld   hl,C182
ROM0:100F 3E 84            ld   a,84
ROM0:1011 22               ldi  (hl),a
ROM0:1012 36 C1            ld   (hl),C1
ROM0:1014 21 8C C1         ld   hl,C18C
ROM0:1017 3E 8E            ld   a,8E
ROM0:1019 22               ldi  (hl),a
ROM0:101A 36 C1            ld   (hl),C1
ROM0:101C 21 96 C1         ld   hl,C196
ROM0:101F 3E 98            ld   a,98
ROM0:1021 22               ldi  (hl),a
ROM0:1022 36 C1            ld   (hl),C1
ROM0:1024 21 A0 C1         ld   hl,C1A0
ROM0:1027 3E A2            ld   a,A2
ROM0:1029 22               ldi  (hl),a
ROM0:102A 36 C1            ld   (hl),C1
ROM0:102C 21 AA C1         ld   hl,C1AA
ROM0:102F 3E AC            ld   a,AC
ROM0:1031 22               ldi  (hl),a
ROM0:1032 36 C1            ld   (hl),C1
ROM0:1034 21 B4 C1         ld   hl,C1B4
ROM0:1037 3E B6            ld   a,B6
ROM0:1039 22               ldi  (hl),a
ROM0:103A 36 C1            ld   (hl),C1
ROM0:103C 21 BE C1         ld   hl,C1BE
ROM0:103F 3E C0            ld   a,C0
ROM0:1041 22               ldi  (hl),a
ROM0:1042 36 C1            ld   (hl),C1
ROM0:1044 E1               pop  hl
ROM0:1045 F1               pop  af
ROM0:1046 C9               ret  

0:1047

ROM0:1047 F5               push af
ROM0:1048 E5               push hl
ROM0:1049 21 00 C1         ld   hl,C100
ROM0:104C 3E 02            ld   a,02
ROM0:104E 22               ldi  (hl),a
ROM0:104F 36 C1            ld   (hl),C1
ROM0:1051 21 14 C1         ld   hl,C114
ROM0:1054 3E 16            ld   a,16
ROM0:1056 22               ldi  (hl),a
ROM0:1057 36 C1            ld   (hl),C1
ROM0:1059 21 28 C1         ld   hl,C128
ROM0:105C 3E 2A            ld   a,2A
ROM0:105E 22               ldi  (hl),a
ROM0:105F 36 C1            ld   (hl),C1
ROM0:1061 21 3A C1         ld   hl,C13A
ROM0:1064 3E 02            ld   a,02
ROM0:1066 22               ldi  (hl),a
ROM0:1067 36 C1            ld   (hl),C1
ROM0:1069 21 4E C1         ld   hl,C14E
ROM0:106C 3E 50            ld   a,50
ROM0:106E 22               ldi  (hl),a
ROM0:106F 36 C1            ld   (hl),C1
ROM0:1071 21 62 C1         ld   hl,C162
ROM0:1074 3E 64            ld   a,64
ROM0:1076 22               ldi  (hl),a
ROM0:1077 36 C1            ld   (hl),C1
ROM0:1079 E1               pop  hl
ROM0:107A F1               pop  af
ROM0:107B C9               ret  

0:107C

ROM0:107C F5               push af
ROM0:107D E5               push hl
ROM0:107E 21 00 C1         ld   hl,C100
ROM0:1081 3E 02            ld   a,02
ROM0:1083 22               ldi  (hl),a
ROM0:1084 36 C1            ld   (hl),C1
ROM0:1086 21 0A C1         ld   hl,C10A
ROM0:1089 3E 0C            ld   a,0C
ROM0:108B 22               ldi  (hl),a
ROM0:108C 36 C1            ld   (hl),C1
ROM0:108E 21 14 C1         ld   hl,C114
ROM0:1091 3E 16            ld   a,16
ROM0:1093 22               ldi  (hl),a
ROM0:1094 36 C1            ld   (hl),C1
ROM0:1096 21 1A C1         ld   hl,C11A
ROM0:1099 3E 1C            ld   a,1C
ROM0:109B 22               ldi  (hl),a
ROM0:109C 36 C1            ld   (hl),C1
ROM0:109E 21 20 C1         ld   hl,C120
ROM0:10A1 3E 22            ld   a,22
ROM0:10A3 22               ldi  (hl),a
ROM0:10A4 36 C1            ld   (hl),C1
ROM0:10A6 21 26 C1         ld   hl,C126
ROM0:10A9 3E 28            ld   a,28
ROM0:10AB 22               ldi  (hl),a
ROM0:10AC 36 C1            ld   (hl),C1
ROM0:10AE 21 2C C1         ld   hl,C12C
ROM0:10B1 3E 2E            ld   a,2E
ROM0:10B3 22               ldi  (hl),a
ROM0:10B4 36 C1            ld   (hl),C1
ROM0:10B6 21 36 C1         ld   hl,C136
ROM0:10B9 3E 38            ld   a,38
ROM0:10BB 22               ldi  (hl),a
ROM0:10BC 36 C1            ld   (hl),C1
ROM0:10BE 21 40 C1         ld   hl,C140
ROM0:10C1 3E 42            ld   a,42
ROM0:10C3 22               ldi  (hl),a
ROM0:10C4 36 C1            ld   (hl),C1
ROM0:10C6 21 4A C1         ld   hl,C14A
ROM0:10C9 3E 4C            ld   a,4C
ROM0:10CB 22               ldi  (hl),a
ROM0:10CC 36 C1            ld   (hl),C1
ROM0:10CE 21 54 C1         ld   hl,C154
ROM0:10D1 3E 56            ld   a,56
ROM0:10D3 22               ldi  (hl),a
ROM0:10D4 36 C1            ld   (hl),C1
ROM0:10D6 21 5E C1         ld   hl,C15E
ROM0:10D9 3E 60            ld   a,60
ROM0:10DB 22               ldi  (hl),a
ROM0:10DC 36 C1            ld   (hl),C1
ROM0:10DE E1               pop  hl
ROM0:10DF F1               pop  af
ROM0:10E0 C9               ret  

0:10E1

ROM0:10E1 F5               push af
ROM0:10E2 E5               push hl
ROM0:10E3 21 00 C1         ld   hl,C100
ROM0:10E6 3E 02            ld   a,02
ROM0:10E8 22               ldi  (hl),a
ROM0:10E9 36 C1            ld   (hl),C1
ROM0:10EB 21 14 C1         ld   hl,C114
ROM0:10EE 3E 16            ld   a,16
ROM0:10F0 22               ldi  (hl),a
ROM0:10F1 36 C1            ld   (hl),C1
ROM0:10F3 21 28 C1         ld   hl,C128
ROM0:10F6 3E 2A            ld   a,2A
ROM0:10F8 22               ldi  (hl),a
ROM0:10F9 36 C1            ld   (hl),C1
ROM0:10FB 21 3C C1         ld   hl,C13C
ROM0:10FE 3E 3E            ld   a,3E
ROM0:1100 22               ldi  (hl),a
ROM0:1101 36 C1            ld   (hl),C1
ROM0:1103 21 50 C1         ld   hl,C150
ROM0:1106 3E 52            ld   a,52
ROM0:1108 22               ldi  (hl),a
ROM0:1109 36 C1            ld   (hl),C1
ROM0:110B E1               pop  hl
ROM0:110C F1               pop  af
ROM0:110D C9               ret  

0:110E

ROM0:110E F5               push af
ROM0:110F E5               push hl
ROM0:1110 21 00 C1         ld   hl,C100
ROM0:1113 3E DE            ld   a,DE
ROM0:1115 22               ldi  (hl),a
ROM0:1116 36 C1            ld   (hl),C1
ROM0:1118 21 06 C1         ld   hl,C106
ROM0:111B 3E DE            ld   a,DE
ROM0:111D 22               ldi  (hl),a
ROM0:111E 36 C1            ld   (hl),C1
ROM0:1120 21 0C C1         ld   hl,C10C
ROM0:1123 3E DE            ld   a,DE
ROM0:1125 22               ldi  (hl),a
ROM0:1126 36 C1            ld   (hl),C1
ROM0:1128 21 12 C1         ld   hl,C112
ROM0:112B 3E DE            ld   a,DE
ROM0:112D 22               ldi  (hl),a
ROM0:112E 36 C1            ld   (hl),C1
ROM0:1130 21 18 C1         ld   hl,C118
ROM0:1133 3E DE            ld   a,DE
ROM0:1135 22               ldi  (hl),a
ROM0:1136 36 C1            ld   (hl),C1
ROM0:1138 21 1E C1         ld   hl,C11E
ROM0:113B 3E DE            ld   a,DE
ROM0:113D 22               ldi  (hl),a
ROM0:113E 36 C1            ld   (hl),C1
ROM0:1140 E1               pop  hl
ROM0:1141 F1               pop  af
ROM0:1142 C9               ret  

0:1143

ROM0:1143 F5               push af
ROM0:1144 E5               push hl
ROM0:1145 21 00 C1         ld   hl,C100
ROM0:1148 3E 02            ld   a,02
ROM0:114A 22               ldi  (hl),a
ROM0:114B 36 C1            ld   (hl),C1
ROM0:114D 21 0A C1         ld   hl,C10A
ROM0:1150 3E 0C            ld   a,0C
ROM0:1152 22               ldi  (hl),a
ROM0:1153 36 C1            ld   (hl),C1
ROM0:1155 21 8C C1         ld   hl,C18C
ROM0:1158 3E 8E            ld   a,8E
ROM0:115A 22               ldi  (hl),a
ROM0:115B 36 C1            ld   (hl),C1
ROM0:115D E1               pop  hl
ROM0:115E F1               pop  af
ROM0:115F C9               ret  

0:1160 (ret)

ROM0:1160 C9               ret  

0:1161

ROM0:1161 F5               push af
ROM0:1162 E5               push hl
ROM0:1163 21 00 C1         ld   hl,C100
ROM0:1166 3E 02            ld   a,02
ROM0:1168 22               ldi  (hl),a
ROM0:1169 36 C1            ld   (hl),C1
ROM0:116B E1               pop  hl
ROM0:116C F1               pop  af
ROM0:116D C9               ret  

0:116E

ROM0:116E F5               push af
ROM0:116F E5               push hl
ROM0:1170 3E D0            ld   a,D0
ROM0:1172 EA B0 C5         ld   (C5B0),a
ROM0:1175 3E 00            ld   a,00
ROM0:1177 EA B1 C5         ld   (C5B1),a
ROM0:117A E1               pop  hl
ROM0:117B F1               pop  af
ROM0:117C C9               ret  

0:117D

ROM0:117D F5               push af
ROM0:117E FA AE C5         ld   a,(C5AE)
ROM0:1181 EA AF C5         ld   (C5AF),a
ROM0:1184 3E 00            ld   a,00
ROM0:1186 EA AE C5         ld   (C5AE),a
ROM0:1189 CD 07 12         call 1207
ROM0:118C F1               pop  af
ROM0:118D C9               ret  

0:118E

ROM0:118E F5               push af
ROM0:118F E5               push hl
ROM0:1190 FA AE C5         ld   a,(C5AE)
ROM0:1193 FE 1A            cp   a,1A
ROM0:1195 20 0A            jr   nz,11A1
ROM0:1197 78               ld   a,b
ROM0:1198 EA B2 C5         ld   (C5B2),a
ROM0:119B 79               ld   a,c
ROM0:119C EA B3 C5         ld   (C5B3),a
ROM0:119F 18 1C            jr   11BD
ROM0:11A1 FE 1E            cp   a,1E
ROM0:11A3 20 0A            jr   nz,11AF
ROM0:11A5 78               ld   a,b
ROM0:11A6 EA B2 C5         ld   (C5B2),a
ROM0:11A9 79               ld   a,c
ROM0:11AA EA B3 C5         ld   (C5B3),a
ROM0:11AD 18 0E            jr   11BD
ROM0:11AF 26 C1            ld   h,C1
ROM0:11B1 FA AD C5         ld   a,(C5AD)
ROM0:11B4 6F               ld   l,a
ROM0:11B5 79               ld   a,c
ROM0:11B6 22               ldi  (hl),a
ROM0:11B7 78               ld   a,b
ROM0:11B8 22               ldi  (hl),a
ROM0:11B9 7D               ld   a,l
ROM0:11BA EA AD C5         ld   (C5AD),a
ROM0:11BD E1               pop  hl
ROM0:11BE F1               pop  af
ROM0:11BF C9               ret  

0:11C0

ROM0:11C0 F5               push af
ROM0:11C1 78               ld   a,b
ROM0:11C2 EA B0 C5         ld   (C5B0),a
ROM0:11C5 79               ld   a,c
ROM0:11C6 EA B1 C5         ld   (C5B1),a
ROM0:11C9 F1               pop  af
ROM0:11CA C9               ret  

0:11CB - Store accumulator in (C5B4)

ROM0:11CB EA B4 C5         ld   (C5B4),a
ROM0:11CE C9               ret

0:11CF

ROM0:11CF F5               push af
ROM0:11D0 E5               push hl
ROM0:11D1 F5               push af
ROM0:11D2 26 C1            ld   h,C1
ROM0:11D4 FA AD C5         ld   a,(C5AD)
ROM0:11D7 6F               ld   l,a
ROM0:11D8 F1               pop  af
ROM0:11D9 22               ldi  (hl),a
ROM0:11DA 7D               ld   a,l
ROM0:11DB EA AD C5         ld   (C5AD),a
ROM0:11DE E1               pop  hl
ROM0:11DF F1               pop  af
ROM0:11E0 C9               ret  

0:11E1

ROM0:11E1 F5               push af
ROM0:11E2 E5               push hl
ROM0:11E3 26 C1            ld   h,C1
ROM0:11E5 FA AD C5         ld   a,(C5AD)
ROM0:11E8 6F               ld   l,a
ROM0:11E9 CD 11 02         call 0211
ROM0:11EC 7D               ld   a,l
ROM0:11ED EA AD C5         ld   (C5AD),a
ROM0:11F0 E1               pop  hl
ROM0:11F1 F1               pop  af
ROM0:11F2 C9               ret  

0:11F3

ROM0:11F3 F5               push af
ROM0:11F4 E5               push hl
ROM0:11F5 21 00 C1         ld   hl,C100
ROM0:11F8 CD 11 02         call 0211
ROM0:11FB CD 11 02         call 0211
ROM0:11FE CD 11 02         call 0211
ROM0:1201 CD 11 02         call 0211
ROM0:1204 E1               pop  hl
ROM0:1205 F1               pop  af
ROM0:1206 C9               ret  

0:1207 (Wait until the player can press a button ?)

ROM0:1207 F5               push af
ROM0:1208 AF               xor  a
ROM0:1209 EA AC C5         ld   (C5AC),a
ROM0:120C FA AC C5         ld   a,(C5AC)
ROM0:120F B7               or   a
ROM0:1210 28 FA            jr   z,120C
ROM0:1212 F1               pop  af
ROM0:1213 C9               ret

0:1214

ROM0:1214 F5               push af
ROM0:1215 C5               push bc
ROM0:1216 0E 0A            ld   c,0A
ROM0:1218 CD 07 12         call 1207
ROM0:121B 0D               dec  c
ROM0:121C 20 FA            jr   nz,1218
ROM0:121E C1               pop  bc
ROM0:121F F1               pop  af
ROM0:1220 C9               ret  

0:1221

ROM0:1221 F5               push af
ROM0:1222 E5               push hl
ROM0:1223 AF               xor  a
ROM0:1224 EA B5 C5         ld   (C5B5),a
ROM0:1227 EA B6 C5         ld   (C5B6),a
ROM0:122A EA B7 C5         ld   (C5B7),a
ROM0:122D CD 41 12         call 1241
ROM0:1230 FE 01            cp   a,01
ROM0:1232 28 06            jr   z,123A
ROM0:1234 FA A2 C5         ld   a,(C5A2)
ROM0:1237 B7               or   a
ROM0:1238 28 F3            jr   z,122D
ROM0:123A AF               xor  a
ROM0:123B EA A2 C5         ld   (C5A2),a
ROM0:123E E1               pop  hl
ROM0:123F F1               pop  af
ROM0:1240 C9               ret  

0:1241

ROM0:1241 FA B5 C5         ld   a,(C5B5)
ROM0:1244 C6 01            add  a,01
ROM0:1246 EA B5 C5         ld   (C5B5),a
ROM0:1249 FA B6 C5         ld   a,(C5B6)
ROM0:124C CE 00            adc  a,00
ROM0:124E EA B6 C5         ld   (C5B6),a
ROM0:1251 FE FF            cp   a,FF
ROM0:1253 20 07            jr   nz,125C
ROM0:1255 CD 59 1B         call 1B59
ROM0:1258 3E 01            ld   a,01
ROM0:125A 18 01            jr   125D
ROM0:125C AF               xor  a
ROM0:125D C9               ret

Banks and Interrupts handling

Initialize Banks

ROM0:12AB F5               push af
ROM0:12AC 3E 01            ld   a,01
ROM0:12AE EA 00 20         ld   (2000),a          ;ROM Bank = 1
ROM0:12B1 AF               xor  a
ROM0:12B2 EA 00 30         ld   (3000),a          ;ROM Bank (High) = 0
ROM0:12B5 EA 00 40         ld   (4000),a          ;RAM Bank = 0
ROM0:12B8 E0 4F            ld   (ff00+4F),a       ;VRAM Bank = 0
ROM0:12BA F1               pop  af
ROM0:12BB C9               ret  

ROM Bank switch

  • 0x12BC-0x12BF - ROM Bank switch
ROM0:12BC EA 00 20         ld   (2000),a
ROM0:12BF C9               ret  
  • 0x12C0-0x12CC - ROM Bank switch, two bytes
ROM0:12C0 F5               push af
ROM0:12C1 F3               di   
ROM0:12C2 79               ld   a,c
ROM0:12C3 EA 00 20         ld   (2000),a          ;Low
ROM0:12C6 78               ld   a,b
ROM0:12C7 EA 00 30         ld   (3000),a          ;High
ROM0:12CA FB               ei   
ROM0:12CB F1               pop  af
ROM0:12CC C9               ret  

VRAM Bank switch

  • 0x12CD-0x12D2 - VRAM bank 0
ROM0:12CD F5               push af
ROM0:12CE AF               xor  a
ROM0:12CF E0 4F            ld   (ff00+4F),a
ROM0:12D1 F1               pop  af
ROM0:12D2 C9               ret  
  • 0x12D3-0x12D9 - VRAM bank 1
ROM0:12D3 F5               push af
ROM0:12D4 3E 01            ld   a,01
ROM0:12D6 E0 4F            ld   (ff00+4F),a
ROM0:12D8 F1               pop  af
ROM0:12D9 C9               ret  
  • 0x12DA-0x12DF - VRAM bank 0 (initialize)
ROM0:12DA F5               push af
ROM0:12DB AF               xor  a
ROM0:12DC E0 4F            ld   (ff00+4F),a
ROM0:12DE F1               pop  af
ROM0:12DF C9               ret

WRAM Bank switch

  • 0x12E0-0x1303 - WRAM Bank switch
ROM0:12E0 F5               push af
ROM0:12E1 E8 FF            add  sp,FF
ROM0:12E3 E5               push hl
ROM0:12E4 C5               push bc
ROM0:12E5 D5               push de
ROM0:12E6 4F               ld   c,a
ROM0:12E7 F8 06            ld   hl,sp+06
ROM0:12E9 54               ld   d,h
ROM0:12EA 5D               ld   e,l
ROM0:12EB F8 07            ld   hl,sp+07
ROM0:12ED 2A               ldi  a,(hl)
ROM0:12EE 12               ld   (de),a
ROM0:12EF 13               inc  de
ROM0:12F0 2A               ldi  a,(hl)
ROM0:12F1 12               ld   (de),a
ROM0:12F2 13               inc  de
ROM0:12F3 2A               ldi  a,(hl)
ROM0:12F4 12               ld   (de),a
ROM0:12F5 13               inc  de
ROM0:12F6 2A               ldi  a,(hl)
ROM0:12F7 12               ld   (de),a
ROM0:12F8 13               inc  de
ROM0:12F9 F0 70            ld   a,(ff00+70)
ROM0:12FB 12               ld   (de),a
ROM0:12FC 79               ld   a,c
ROM0:12FD E0 70            ld   (ff00+70),a          ;SVBK
ROM0:12FF D1               pop  de
ROM0:1300 C1               pop  bc
ROM0:1301 E1               pop  hl
ROM0:1302 F1               pop  af
ROM0:1303 C9               ret  

WRAM Bank restore

ROM0:1304 F5               push af
ROM0:1305 E5               push hl
ROM0:1306 C5               push bc
ROM0:1307 F8 08            ld   hl,sp+08
ROM0:1309 7E               ld   a,(hl)
ROM0:130A E0 70            ld   (ff00+70),a          ;SVBK
ROM0:130C 44               ld   b,h
ROM0:130D 4D               ld   c,l
ROM0:130E 0B               dec  bc
ROM0:130F 0A               ld   a,(bc)
ROM0:1310 32               ldd  (hl),a
ROM0:1311 0B               dec  bc
ROM0:1312 0A               ld   a,(bc)
ROM0:1313 32               ldd  (hl),a
ROM0:1314 0B               dec  bc
ROM0:1315 0A               ld   a,(bc)
ROM0:1316 32               ldd  (hl),a
ROM0:1317 0B               dec  bc
ROM0:1318 0A               ld   a,(bc)
ROM0:1319 32               ldd  (hl),a
ROM0:131A C1               pop  bc
ROM0:131B E1               pop  hl
ROM0:131C E8 01            add  sp,01
ROM0:131E F1               pop  af
ROM0:131F C9               ret

Division

  • 0x1490-0x14C5 - Divides register de by register bc, returns result in register de
ROM0:1490 F5               push af
ROM0:1491 C5               push bc
ROM0:1492 E5               push hl
ROM0:1493 21 00 00         ld   hl,0000
ROM0:1496 3E 10            ld   a,10          ;Loop counter
ROM0:1498 F5               push af
ROM0:1499 CB 23            sla  e
ROM0:149B CB 12            rl   d             ;de << 1
ROM0:149D CB 15            rl   l
ROM0:149F CB 14            rl   h             ;hl << 1
ROM0:14A1 7C               ld   a,h
ROM0:14A2 B8               cp   b
ROM0:14A3 38 19            jr   c,14BE        ;if(h < b), jump to 0:14BE
ROM0:14A5 7C               ld   a,h
ROM0:14A6 B8               cp   b
ROM0:14A7 20 0D            jr   nz,14B6       ;if(h ≠ b), jump to 0:1458
ROM0:14A9 7D               ld   a,l
ROM0:14AA B9               cp   c
ROM0:14AB 38 07            jr   c,14B4        ;if(l < c), jump to 0:1456
ROM0:14AD 91               sub  c             ;Handle carry
ROM0:14AE 6F               ld   l,a
ROM0:14AF 7C               ld   a,h
ROM0:14B0 98               sbc  b             ;bc--
ROM0:14B1 67               ld   h,a
ROM0:14B2 CB C3            set  0,e
ROM0:14B4 18 08            jr   14BE
ROM0:14B6 7D               ld   a,l
ROM0:14B7 91               sub  c
ROM0:14B8 6F               ld   l,a
ROM0:14B9 7C               ld   a,h
ROM0:14BA 98               sbc  b              ;bc --
ROM0:14BB 67               ld   h,a
ROM0:14BC CB C3            set  0,e            ;Set bit 0 of register e to 1
ROM0:14BE F1               pop  af             ;pop iterations counter in accumulator
ROM0:14BF 3D               dec  a              ;a--
ROM0:14C0 20 D6            jr   nz,1498        ;Loop 16 times
ROM0:14C2 E1               pop  hl
ROM0:14C3 C1               pop  bc
ROM0:14C4 F1               pop  af
ROM0:14C5 C9               ret

0:14C6

ROM0:14C6 F5               push af
ROM0:14C7 C5               push bc
ROM0:14C8 D5               push de
ROM0:14C9 16 00            ld   d,00             ;d = 0
ROM0:14CB 21 00 00         ld   hl,0000          ;hl = 0
ROM0:14CE 0E 08            ld   c,08             ;c = 8
ROM0:14D0 CB 38            srl  b                ;b >> 1
ROM0:14D2 30 01            jr   nc,14D5          ;if (no_carry), jump to 0:1477
ROM0:14D4 19               add  hl,de            ;hl += de
ROM0:14D5 CB 23            sla  e
ROM0:14D7 CB 12            rl   d                ;de << 1
ROM0:14D9 0D               dec  c
ROM0:14DA 20 F4            jr   nz,14D0          ;loop 8 times to 0:14D0
ROM0:14DC D1               pop  de
ROM0:14DD C1               pop  bc
ROM0:14DE F1               pop  af
ROM0:14DF C9               ret  

daa addition

ROM0:14E0 F5               push af
ROM0:14E1 7B               ld   a,e
ROM0:14E2 81               add  c
ROM0:14E3 27               daa                   ;Decimal adjust accumulator
ROM0:14E4 4F               ld   c,a
ROM0:14E5 7A               ld   a,d
ROM0:14E6 80               add  b
ROM0:14E7 27               daa  
ROM0:14E8 47               ld   b,a
ROM0:14E9 30 03            jr   nc,14EE
ROM0:14EB 01 99 99         ld   bc,9999
ROM0:14EE F1               pop  af
ROM0:14EF C9               ret  

daa substraction

ROM0:14F0 F5               push af
ROM0:14F1 78               ld   a,b
ROM0:14F2 BA               cp   d
ROM0:14F3 20 0B            jr   nz,1500     ;if (b ≠ d), skip to 0:1500
ROM0:14F5 79               ld   a,c
ROM0:14F6 BB               cp   e
ROM0:14F7 20 07            jr   nz,1500     ;if (c ≠ e), skip to 0:1500
ROM0:14F9 01 00 00         ld   bc,0000
ROM0:14FC 1E 01            ld   e,01        ;if (bc == de), bc = 0, e = 1
ROM0:14FE 18 0E            jr   150E
ROM0:1500 7B               ld   a,e
ROM0:1501 91               sub  c
ROM0:1502 27               daa  
ROM0:1503 4F               ld   c,a
ROM0:1504 7A               ld   a,d
ROM0:1505 98               sbc  b
ROM0:1506 27               daa  
ROM0:1507 47               ld   b,a
ROM0:1508 1E 02            ld   e,02        ;if(bc < 0), e = 2 ; else set e to 0
ROM0:150A 30 02            jr   nc,150E
ROM0:150C 1E 00            ld   e,00
ROM0:150E F1               pop  af
ROM0:150F C9               ret

0:1510 (related to Life Points)

ROM0:1510 F5               push af
ROM0:1511 C5               push bc
ROM0:1512 E5               push hl
ROM0:1513 FA E7 C5         ld   a,(C5E7)
ROM0:1516 47               ld   b,a
ROM0:1517 FA E8 C5         ld   a,(C5E8)
ROM0:151A 4F               ld   c,a
ROM0:151B FA E9 C5         ld   a,(C5E9)
ROM0:151E 57               ld   d,a
ROM0:151F FA EA C5         ld   a,(C5EA)
ROM0:1522 B8               cp   b
ROM0:1523 20 1A            jr   nz,153F
ROM0:1525 FA EB C5         ld   a,(C5EB)
ROM0:1528 B9               cp   c
ROM0:1529 20 14            jr   nz,153F
ROM0:152B FA EC C5         ld   a,(C5EC)
ROM0:152E BA               cp   d
ROM0:152F 20 0E            jr   nz,153F
ROM0:1531 AF               xor  a
ROM0:1532 EA E7 C5         ld   (C5E7),a
ROM0:1535 EA E8 C5         ld   (C5E8),a
ROM0:1538 EA E9 C5         ld   (C5E9),a
ROM0:153B 1E 01            ld   e,01
ROM0:153D 18 1E            jr   155D
ROM0:153F FA EA C5         ld   a,(C5EA)
ROM0:1542 90               sub  b
ROM0:1543 27               daa  
ROM0:1544 EA E7 C5         ld   (C5E7),a
ROM0:1547 FA EB C5         ld   a,(C5EB)
ROM0:154A 99               sbc  c
ROM0:154B 27               daa  
ROM0:154C EA E8 C5         ld   (C5E8),a
ROM0:154F FA EC C5         ld   a,(C5EC)
ROM0:1552 9A               sbc  d
ROM0:1553 27               daa  
ROM0:1554 EA E9 C5         ld   (C5E9),a
ROM0:1557 1E 02            ld   e,02
ROM0:1559 30 02            jr   nc,155D
ROM0:155B 1E 00            ld   e,00
ROM0:155D E1               pop  hl
ROM0:155E C1               pop  bc
ROM0:155F F1               pop  af
ROM0:1560 C9               ret

0:16CB

ROM0:16CB C5               push bc
ROM0:16CC CD D8 16         call 16D8
ROM0:16CF 4F               ld   c,a
ROM0:16D0 7E               ld   a,(hl)
ROM0:16D1 A1               and  c
ROM0:16D2 28 02            jr   z,16D6
ROM0:16D4 3E 01            ld   a,01
ROM0:16D6 C1               pop  bc
ROM0:16D7 C9               ret  

0:1976 (Initialize CPU's hand ?)

ROM0:1976 F5               push af
ROM0:1977 C5               push bc
ROM0:1978 E5               push hl
ROM0:1979 3E 00            ld   a,00
ROM0:197B EA DB C7         ld   (C7DB),a          ;Column = 0
ROM0:197E 3E 00            ld   a,00
ROM0:1980 EA DC C7         ld   (C7DC),a          ;Row = 0
ROM0:1983 21 93 C7         ld   hl,C793           ;Pointer to CPU's Hand + cards status ?
ROM0:1986 06 04            ld   b,04
ROM0:1988 0E 06            ld   c,06
ROM0:198A 3E 00            ld   a,00
ROM0:198C 22               ldi  (hl),a
ROM0:198D 3E 00            ld   a,00
ROM0:198F 22               ldi  (hl),a
ROM0:1990 3E 10            ld   a,10
ROM0:1992 22               ldi  (hl),a
ROM0:1993 0D               dec  c
ROM0:1994 20 F4            jr   nz,198A
ROM0:1996 05               dec  b
ROM0:1997 20 EF            jr   nz,1988
ROM0:1999 E1               pop  hl
ROM0:199A C1               pop  bc
ROM0:199B F1               pop  af
ROM0:199C C9               ret

Update card column and row

ROM0:199D F5               push af
ROM0:199E 78               ld   a,b
ROM0:199F EA DB C7         ld   (C7DB),a     ;Column
ROM0:19A2 79               ld   a,c
ROM0:19A3 EA DC C7         ld   (C7DC),a     ;Row
ROM0:19A6 F1               pop  af
ROM0:19A7 C9               ret

Retrieve card column and row

ROM0:19A8 F5               push af
ROM0:19A9 FA DB C7         ld   a,(C7DB)     ;Column
ROM0:19AC 47               ld   b,a
ROM0:19AD FA DC C7         ld   a,(C7DC)     ;Row
ROM0:19B0 4F               ld   c,a
ROM0:19B1 F1               pop  af
ROM0:19B2 C9               ret

00s card_id and set card_status to 0x10 in current_card_zone

ROM0:19B3 F5               push af
ROM0:19B4 C5               push bc
ROM0:19B5 E5               push hl
ROM0:19B6 CD 03 1A         call 1A03            ;Retrieves card zone pointer
ROM0:19B9 60               ld   h,b
ROM0:19BA 69               ld   l,c
ROM0:19BB 3E 00            ld   a,00
ROM0:19BD 22               ldi  (hl),a
ROM0:19BE 3E 00            ld   a,00
ROM0:19C0 22               ldi  (hl),a
ROM0:19C1 3E 10            ld   a,10
ROM0:19C3 22               ldi  (hl),a
ROM0:19C4 E1               pop  hl
ROM0:19C5 C1               pop  bc
ROM0:19C6 F1               pop  af
ROM0:19C7 C9               ret

Copy current_card_id and current_card_status in [bc]

ROM0:19C8 F5               push af
ROM0:19C9 C5               push bc
ROM0:19CA E5               push hl
ROM0:19CB CD 03 1A         call 1A03         ;Retrieves card zone pointer
ROM0:19CE 60               ld   h,b
ROM0:19CF 69               ld   l,c
ROM0:19D0 FA DD C7         ld   a,(C7DD)     ;current_card_id
ROM0:19D3 22               ldi  (hl),a
ROM0:19D4 FA DE C7         ld   a,(C7DE)
ROM0:19D7 22               ldi  (hl),a
ROM0:19D8 FA DF C7         ld   a,(C7DF)     ;current_card_status, if I remember correctly
ROM0:19DB 22               ldi  (hl),a
ROM0:19DC E1               pop  hl
ROM0:19DD C1               pop  bc
ROM0:19DE F1               pop  af
ROM0:19DF C9               ret

Update current_card_id and current_card_status

ROM0:19E0 F5               push af
ROM0:19E1 C5               push bc
ROM0:19E2 E5               push hl
ROM0:19E3 CD 03 1A         call 1A03         ;Retrieves card zone pointer offset
ROM0:19E6 60               ld   h,b
ROM0:19E7 69               ld   l,c
ROM0:19E8 2A               ldi  a,(hl)
ROM0:19E9 EA DD C7         ld   (C7DD),a     ;current_card_id
ROM0:19EC 2A               ldi  a,(hl)
ROM0:19ED EA DE C7         ld   (C7DE),a
ROM0:19F0 2A               ldi  a,(hl)
ROM0:19F1 EA DF C7         ld   (C7DF),a     ;current_card_status, if I remember correctly
ROM0:19F4 E1               pop  hl
ROM0:19F5 C1               pop  bc
ROM0:19F6 F1               pop  af
ROM0:19F7 C9               ret  

0:19F8

ROM0:19F8 F5               push af
ROM0:19F9 C5               push bc
ROM0:19FA CF               rst  08
                 => 0B 07
ROM0:19FD CD C8 19         call 19C8         ;Copy current_card_id and current_card_status in [bc]
ROM0:1A00 C1               pop  bc
ROM0:1A01 F1               pop  af
ROM0:1A02 C9               ret

Retrieves card zone pointer

ROM0:1A03 F5               push af
ROM0:1A04 E5               push hl
ROM0:1A05 06 00            ld   b,00
ROM0:1A07 FA DC C7         ld   a,(C7DC)
ROM0:1A0A 4F               ld   c,a
ROM0:1A0B CB 21            sla  c
ROM0:1A0D 21 2B 1A         ld   hl,1A2B
ROM0:1A10 09               add  hl,bc
ROM0:1A11 2A               ldi  a,(hl)
ROM0:1A12 66               ld   h,(hl)
ROM0:1A13 6F               ld   l,a
ROM0:1A14 E5               push hl
ROM0:1A15 06 00            ld   b,00
ROM0:1A17 FA DB C7         ld   a,(C7DB)
ROM0:1A1A 4F               ld   c,a
ROM0:1A1B CB 21            sla  c
ROM0:1A1D 21 33 1A         ld   hl,1A33
ROM0:1A20 09               add  hl,bc
ROM0:1A21 2A               ldi  a,(hl)
ROM0:1A22 46               ld   b,(hl)
ROM0:1A23 4F               ld   c,a
ROM0:1A24 E1               pop  hl
ROM0:1A25 09               add  hl,bc
ROM0:1A26 44               ld   b,h
ROM0:1A27 4D               ld   c,l
ROM0:1A28 E1               pop  hl
ROM0:1A29 F1               pop  af
ROM0:1A2A C9               ret  

Card zone pointer offset array

ROM0:1A33
00 00
03 00
06 00
09 00
0C 00
0F 00

Checks if bc ≠ 0

  • 0x1A3F-0x1A50 - Returns 0 if bc ≠ 0, returns 1 otherwise.
ROM0:1A3F D5               push de
ROM0:1A40 1E 00            ld   e,00
ROM0:1A42 78               ld   a,b
ROM0:1A43 FE 00            cp   a,00
ROM0:1A45 20 07            jr   nz,1A4E
ROM0:1A47 79               ld   a,c
ROM0:1A48 FE 00            cp   a,00
ROM0:1A4A 20 02            jr   nz,1A4E
ROM0:1A4C 1E 01            ld   e,01
ROM0:1A4E 7B               ld   a,e
ROM0:1A4F D1               pop  de
ROM0:1A50 C9               ret

0:1A51 (card ID validity ?)

ROM0:1A51 C5               push bc
ROM0:1A52 D5               push de
ROM0:1A53 E5               push hl
ROM0:1A54 11 00 00         ld   de,0000
ROM0:1A57 CD 86 1A         call 1A86           ;Checks if less than, equal to, or greater than
ROM0:1A5A FE 01            cp   a,01
ROM0:1A5C 20 04            jr   nz,1A62
ROM0:1A5E 0E 00            ld   c,00
ROM0:1A60 18 10            jr   1A72
ROM0:1A62 11 85 03         ld   de,0385        ;de = 0d901
ROM0:1A65 CD 86 1A         call 1A86           ;Checks if less than, equal to, or greater than
ROM0:1A68 FE 01            cp   a,01
ROM0:1A6A 20 04            jr   nz,1A70
ROM0:1A6C 0E 03            ld   c,03
ROM0:1A6E 18 02            jr   1A72
ROM0:1A70 0E 01            ld   c,01
ROM0:1A72 79               ld   a,c
ROM0:1A73 E1               pop  hl
ROM0:1A74 D1               pop  de
ROM0:1A75 C1               pop  bc
ROM0:1A76 C9               ret

0:1A77

ROM0:1A77 E5               push hl
ROM0:1A78 2E 01            ld   l,01
ROM0:1A7A 78               ld   a,b
ROM0:1A7B BA               cp   d
ROM0:1A7C 20 05            jr   nz,1A83
ROM0:1A7E 79               ld   a,c
ROM0:1A7F BB               cp   e
ROM0:1A80 20 01            jr   nz,1A83
ROM0:1A82 2D               dec  l
ROM0:1A83 7D               ld   a,l
ROM0:1A84 E1               pop  hl
ROM0:1A85 C9               ret  

Checks if less than, equal to, or greater than

Returns 2 if bc < de, 1 if bc == de, 0 if bc > de

ROM0:1A86 C5               push bc
ROM0:1A87 D5               push de
ROM0:1A88 E5               push hl
ROM0:1A89 2E 02            ld   l,02
ROM0:1A8B CD F0 14         call 14F0          ;daa substraction
ROM0:1A8E 7B               ld   a,e
ROM0:1A8F FE 01            cp   a,01
ROM0:1A91 20 02            jr   nz,1A95       ;if (bc ≠ de), jump to 0:1A95
ROM0:1A93 2E 01            ld   l,01
ROM0:1A95 7B               ld   a,e
ROM0:1A96 FE 00            cp   a,00
ROM0:1A98 20 02            jr   nz,1A9C       ;if (bc < de), jump to 0:1A9C
ROM0:1A9A 2E 00            ld   l,00
ROM0:1A9C 7D               ld   a,l
ROM0:1A9D E1               pop  hl
ROM0:1A9E D1               pop  de
ROM0:1A9F C1               pop  bc
ROM0:1AA0 C9               ret

0:1AA1 - Copy wC7E0-wC7E5 to wC5E7-wC5EC

ROM0:1AA1 D5               push de
ROM0:1AA2 E5               push hl
ROM0:1AA3 2E 02            ld   l,02
ROM0:1AA5 FA E0 C7         ld   a,(C7E0)
ROM0:1AA8 EA E7 C5         ld   (C5E7),a
ROM0:1AAB FA E1 C7         ld   a,(C7E1)
ROM0:1AAE EA E8 C5         ld   (C5E8),a
ROM0:1AB1 FA E2 C7         ld   a,(C7E2)
ROM0:1AB4 EA E9 C5         ld   (C5E9),a
ROM0:1AB7 FA E3 C7         ld   a,(C7E3)
ROM0:1ABA EA EA C5         ld   (C5EA),a
ROM0:1ABD FA E4 C7         ld   a,(C7E4)
ROM0:1AC0 EA EB C5         ld   (C5EB),a
ROM0:1AC3 FA E5 C7         ld   a,(C7E5)
ROM0:1AC6 EA EC C5         ld   (C5EC),a
ROM0:1AC9 CD 10 15         call 1510
ROM0:1ACC 7B               ld   a,e
ROM0:1ACD FE 01            cp   a,01
ROM0:1ACF 20 02            jr   nz,1AD3
ROM0:1AD1 2E 01            ld   l,01
ROM0:1AD3 7B               ld   a,e
ROM0:1AD4 FE 00            cp   a,00
ROM0:1AD6 20 02            jr   nz,1ADA
ROM0:1AD8 2E 00            ld   l,00
ROM0:1ADA 7D               ld   a,l
ROM0:1ADB E1               pop  hl
ROM0:1ADC D1               pop  de
ROM0:1ADD C9               ret

0:1ADE

ROM0:1ADE F5               push af
ROM0:1ADF C5               push bc
ROM0:1AE0 D5               push de
ROM0:1AE1 E5               push hl
ROM0:1AE2 3E 00            ld   a,00
ROM0:1AE4 EA A4 C5         ld   (C5A4),a         ;Store 0 in wC5A4
ROM0:1AE7 3E 00            ld   a,00
ROM0:1AE9 EA E6 C7         ld   (C7E6),a         ;Store 0 in wC7E6
ROM0:1AEC CD F1 1D         call 1DF1             ;00s wC8AA-wC8AB
ROM0:1AEF 11 FE FE         ld   de,FEFE
ROM0:1AF2 FA A6 C5         ld   a,(C5A6)
ROM0:1AF5 FE 10            cp   a,10
ROM0:1AF7 20 1D            jr   nz,1B16
ROM0:1AF9 3E 30            ld   a,30
ROM0:1AFB CD 57 04         call 0457
ROM0:1AFE CD 07 12         call 1207
ROM0:1B01 FA A4 C5         ld   a,(C5A4)
ROM0:1B04 E6 F0            and  a,F0
ROM0:1B06 FE 40            cp   a,40
ROM0:1B08 20 0A            jr   nz,1B14
ROM0:1B0A CD 3C 1B         call 1B3C
ROM0:1B0D 3E 01            ld   a,01
ROM0:1B0F EA E6 C7         ld   (C7E6),a
ROM0:1B12 18 23            jr   1B37
ROM0:1B14 18 0F            jr   1B25
ROM0:1B16 3E 40            ld   a,40
ROM0:1B18 CD 7F 04         call 047F
ROM0:1B1B 3E 01            ld   a,01
ROM0:1B1D EA E6 C7         ld   (C7E6),a
ROM0:1B20 CD 21 12         call 1221
ROM0:1B23 18 12            jr   1B37
ROM0:1B25 1D               dec  e
ROM0:1B26 20 0D            jr   nz,1B35
ROM0:1B28 15               dec  d
ROM0:1B29 7A               ld   a,d
ROM0:1B2A FE FF            cp   a,FF
ROM0:1B2C 20 07            jr   nz,1B35
ROM0:1B2E 3E 02            ld   a,02
ROM0:1B30 EA E6 C7         ld   (C7E6),a
ROM0:1B33 18 02            jr   1B37
ROM0:1B35 18 BB            jr   1AF2
ROM0:1B37 E1               pop  hl
ROM0:1B38 D1               pop  de
ROM0:1B39 C1               pop  bc
ROM0:1B3A F1               pop  af
ROM0:1B3B C9               ret

0:1DF1 - 00s wC8AA-wC8AB

ROM0:1DF1 F5               push af
ROM0:1DF2 AF               xor  a
ROM0:1DF3 EA AA C8         ld   (C8AA),a
ROM0:1DF6 EA AB C8         ld   (C8AB),a
ROM0:1DF9 F1               pop  af
ROM0:1DFA C9               ret

Main PRNG

0:1DFB

ROM0:1DFB F5               push af
ROM0:1DFC C5               push bc
ROM0:1DFD D5               push de
ROM0:1DFE E5               push hl
ROM0:1DFF 21 FF FF         ld   hl,FFFF
ROM0:1E02 CB 96            res  2,(hl)
ROM0:1E04 21 07 FF         ld   hl,FF07
ROM0:1E07 CB 96            res  2,(hl)
ROM0:1E09 3E 01            ld   a,01
ROM0:1E0B E0 06            ld   (ff00+06),a
ROM0:1E0D E0 05            ld   (ff00+05),a
ROM0:1E0F CB D6            set  2,(hl)
ROM0:1E11 06 00            ld   b,00
ROM0:1E13 21 AD C8         ld   hl,C8AD
ROM0:1E16 0E 04            ld   c,04
ROM0:1E18 F0 05            ld   a,(ff00+05)
ROM0:1E1A 22               ldi  (hl),a
ROM0:1E1B FE 00            cp   a,00
ROM0:1E1D 28 01            jr   z,1E20
ROM0:1E1F 04               inc  b
ROM0:1E20 0D               dec  c
ROM0:1E21 20 F5            jr   nz,1E18
ROM0:1E23 78               ld   a,b
ROM0:1E24 FE 00            cp   a,00
ROM0:1E26 20 05            jr   nz,1E2D
ROM0:1E28 3E 01            ld   a,01
ROM0:1E2A EA AD C8         ld   (C8AD),a
ROM0:1E2D CD 41 1E         call 1E41            ;PRNG advance
ROM0:1E30 CD 41 1E         call 1E41            ;PRNG advance
ROM0:1E33 CD 41 1E         call 1E41            ;PRNG advance
ROM0:1E36 CD 41 1E         call 1E41            ;PRNG advance
ROM0:1E39 CD 41 1E         call 1E41            ;PRNG advance
ROM0:1E3C E1               pop  hl
ROM0:1E3D D1               pop  de
ROM0:1E3E C1               pop  bc
ROM0:1E3F F1               pop  af
ROM0:1E40 C9               ret  

PRNG advance

ROM0:1E41 F5               push af
ROM0:1E42 C5               push bc
ROM0:1E43 D5               push de
ROM0:1E44 FA B0 C8         ld   a,(C8B0)
ROM0:1E47 47               ld   b,a
ROM0:1E48 4F               ld   c,a
ROM0:1E49 FA AF C8         ld   a,(C8AF)
ROM0:1E4C CB 19            rr   c
ROM0:1E4E 1F               rra  
ROM0:1E4F CB 1A            rr   d
ROM0:1E51 A8               xor  b
ROM0:1E52 CB 12            rl   d
ROM0:1E54 17               rla  
ROM0:1E55 CB 11            rl   c
ROM0:1E57 EA B0 C8         ld   (C8B0),a
ROM0:1E5A FA AE C8         ld   a,(C8AE)
ROM0:1E5D EA AF C8         ld   (C8AF),a
ROM0:1E60 FA AD C8         ld   a,(C8AD)
ROM0:1E63 EA AE C8         ld   (C8AE),a
ROM0:1E66 79               ld   a,c
ROM0:1E67 EA AD C8         ld   (C8AD),a
ROM0:1E6A EA B3 C8         ld   (C8B3),a
ROM0:1E6D D1               pop  de
ROM0:1E6E C1               pop  bc
ROM0:1E6F F1               pop  af
ROM0:1E70 C9               ret

Card Status

Increase Card Level

ROM0:1E99 F5               push af
ROM0:1E9A C5               push bc
ROM0:1E9B E5               push hl
ROM0:1E9C FA DF C7         ld   a,(C7DF)
ROM0:1E9F E6 30            and  a,30
ROM0:1EA1 4F               ld   c,a
ROM0:1EA2 CB 31            swap c
ROM0:1EA4 06 00            ld   b,00
ROM0:1EA6 21 B7 1E         ld   hl,1EB7
ROM0:1EA9 09               add  hl,bc
ROM0:1EAA FA DF C7         ld   a,(C7DF)
ROM0:1EAD E6 CF            and  a,CF
ROM0:1EAF B6               or   (hl)
ROM0:1EB0 EA DF C7         ld   (C7DF),a
ROM0:1EB3 E1               pop  hl
ROM0:1EB4 C1               pop  bc
ROM0:1EB5 F1               pop  af
ROM0:1EB6 C9               ret  
Card Levels array
0:1EB7
10 20 30 30

Decrease Card Level

ROM0:1EBB F5               push af
ROM0:1EBC C5               push bc
ROM0:1EBD E5               push hl
ROM0:1EBE FA DF C7         ld   a,(C7DF)
ROM0:1EC1 E6 30            and  a,30
ROM0:1EC3 4F               ld   c,a
ROM0:1EC4 CB 31            swap c
ROM0:1EC6 06 00            ld   b,00
ROM0:1EC8 21 D9 1E         ld   hl,1ED9
ROM0:1ECB 09               add  hl,bc
ROM0:1ECC FA DF C7         ld   a,(C7DF)
ROM0:1ECF E6 CF            and  a,CF
ROM0:1ED1 B6               or   (hl)
ROM0:1ED2 EA DF C7         ld   (C7DF),a
ROM0:1ED5 E1               pop  hl
ROM0:1ED6 C1               pop  bc
ROM0:1ED7 F1               pop  af
ROM0:1ED8 C9               ret
Card Levels array
ROM0:1ED9
00 00 10 20

Reset Card Level

ROM0:1EDD F5               push af
ROM0:1EDE FA DF C7         ld   a,(C7DF)
ROM0:1EE1 E6 CF            and  a,CF
ROM0:1EE3 F6 10            or   a,10
ROM0:1EE5 EA DF C7         ld   (C7DF),a
ROM0:1EE8 F1               pop  af
ROM0:1EE9 C9               ret  

Retrieve Card Level

ROM0:1EEA FA DF C7         ld   a,(C7DF)
ROM0:1EED E6 30            and  a,30
ROM0:1EEF CB 37            swap a
ROM0:1EF1 C9               ret  

Reveal Card

ROM0:1EF2 F5               push af
ROM0:1EF3 FA DF C7         ld   a,(C7DF)
ROM0:1EF6 F6 40            or   a,40
ROM0:1EF8 EA DF C7         ld   (C7DF),a
ROM0:1EFB F1               pop  af
ROM0:1EFC C9               ret  

Hide Card

ROM0:1EFD F5               push af
ROM0:1EFE FA DF C7         ld   a,(C7DF)
ROM0:1F01 E6 BF            and  a,BF
ROM0:1F03 EA DF C7         ld   (C7DF),a
ROM0:1F06 F1               pop  af
ROM0:1F07 C9               ret  

Freeze Card

ROM0:1F08 F5               push af
ROM0:1F09 FA DF C7         ld   a,(C7DF)
ROM0:1F0C F6 08            or   a,08
ROM0:1F0E EA DF C7         ld   (C7DF),a
ROM0:1F11 F1               pop  af
ROM0:1F12 C9               ret  

Unfreeze Card

ROM0:1F13 F5               push af
ROM0:1F14 FA DF C7         ld   a,(C7DF)
ROM0:1F17 E6 F7            and  a,F7
ROM0:1F19 EA DF C7         ld   (C7DF),a
ROM0:1F1C F1               pop  af
ROM0:1F1D C9               ret  

Card stolen for a turn

ROM0:1F1E F5               push af
ROM0:1F1F FA DF C7         ld   a,(C7DF)
ROM0:1F22 F6 80            or   a,80
ROM0:1F24 EA DF C7         ld   (C7DF),a
ROM0:1F27 F1               pop  af
ROM0:1F28 C9               ret  

Card controlled by its owner

ROM0:1F29 F5               push af
ROM0:1F2A FA DF C7         ld   a,(C7DF)
ROM0:1F2D E6 7F            and  a,7F
ROM0:1F2F EA DF C7         ld   (C7DF),a
ROM0:1F32 F1               pop  af
ROM0:1F33 C9               ret  

Remove Player's Card

ROM0:1F34 F5               push af
ROM0:1F35 FA DF C7         ld   a,(C7DF)
ROM0:1F38 E6 F8            and  a,F8
ROM0:1F3A F6 00            or   a,00
ROM0:1F3C EA DF C7         ld   (C7DF),a
ROM0:1F3F F1               pop  af
ROM0:1F40 C9               ret  

Remove CPU's Card

ROM0:1F41 F5               push af
ROM0:1F42 FA DF C7         ld   a,(C7DF)
ROM0:1F45 E6 F8            and  a,F8
ROM0:1F47 F6 01            or   a,01
ROM0:1F49 EA DF C7         ld   (C7DF),a
ROM0:1F4C F1               pop  af
ROM0:1F4D C9               ret  

Hide Player's Card, Level -1

ROM0:1F4E F5               push af
ROM0:1F4F FA DF C7         ld   a,(C7DF)
ROM0:1F52 E6 F8            and  a,F8
ROM0:1F54 F6 02            or   a,02
ROM0:1F56 EA DF C7         ld   (C7DF),a
ROM0:1F59 F1               pop  af
ROM0:1F5A C9               ret  

Hide CPU's Card, Level -1

ROM0:1F5B F5               push af
ROM0:1F5C FA DF C7         ld   a,(C7DF)
ROM0:1F5F E6 F8            and  a,F8
ROM0:1F61 F6 03            or   a,03
ROM0:1F63 EA DF C7         ld   (C7DF),a
ROM0:1F66 F1               pop  af
ROM0:1F67 C9               ret  

Retrieves owner, card existence and Frozen status

ROM0:1F68 FA DF C7         ld   a,(C7DF)
ROM0:1F6B E6 07            and  a,07
ROM0:1F6D C9               ret  

Retrieve Card Hidden status

ROM0:1F6E FA DF C7         ld   a,(C7DF)
ROM0:1F71 E6 40            and  a,40
ROM0:1F73 28 02            jr   z,1F77
ROM0:1F75 3E 01            ld   a,01
ROM0:1F77 C9               ret  

Retrieve Card Frozen status

ROM0:1F78 FA DF C7         ld   a,(C7DF)
ROM0:1F7B E6 08            and  a,08
ROM0:1F7D 28 02            jr   z,1F81
ROM0:1F7F 3E 01            ld   a,01
ROM0:1F81 C9               ret  

Retrieve Card Level (lsb)

ROM0:1F82 FA DF C7         ld   a,(C7DF)
ROM0:1F85 E6 10            and  a,10
ROM0:1F87 28 02            jr   z,1F8B
ROM0:1F89 3E 01            ld   a,01
ROM0:1F8B C9               ret  

Retrieve Card Stolen status

ROM0:1F8C FA DF C7         ld   a,(C7DF)
ROM0:1F8F E6 80            and  a,80
ROM0:1F91 28 02            jr   z,1F95
ROM0:1F93 3E 01            ld   a,01
ROM0:1F95 C9               ret

Destroy Player's card

ROM0:1F96 F5               push af
ROM0:1F97 C5               push bc
ROM0:1F98 CD 9D 19         call 199D            ;Update card column and row
ROM0:1F9B CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM0:1F9E FA DD C7         ld   a,(C7DD)	// Current card ID
ROM0:1FA1 4F               ld   c,a
ROM0:1FA2 FA DE C7         ld   a,(C7DE)
ROM0:1FA5 47               ld   b,a
ROM0:1FA6 CD 8E 2D         call 2D8E		;Add card to Player's Graveyard
ROM0:1FA9 CD B3 19         call 19B3            ;00s card_id and set card_status to 0x10 in current_card_zone
ROM0:1FAC C1               pop  bc
ROM0:1FAD F1               pop  af
ROM0:1FAE C9               ret  

Destroy CPU's card

ROM0:1FAF F5               push af
ROM0:1FB0 C5               push bc
ROM0:1FB1 CD 9D 19         call 199D            ;Update card column and row
ROM0:1FB4 CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM0:1FB7 FA DD C7         ld   a,(C7DD)	// Current card ID
ROM0:1FBA 4F               ld   c,a
ROM0:1FBB FA DE C7         ld   a,(C7DE)
ROM0:1FBE 47               ld   b,a
ROM0:1FBF CD AA 2D         call 2DAA		;Add card to CPU's Graveyard
ROM0:1FC2 CD B3 19         call 19B3            ;00s card_id and set card_status to 0x10 in current_card_zone
ROM0:1FC5 C1               pop  bc
ROM0:1FC6 F1               pop  af
ROM0:1FC7 C9               ret

0:1FC8

ROM0:1FC8 C5               push bc
ROM0:1FC9 CD 9D 19         call 199D            ;Update card column and row
ROM0:1FCC CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM0:1FCF CD 6E 1F         call 1F6E
ROM0:1FD2 FE 00            cp   a,00
ROM0:1FD4 20 08            jr   nz,1FDE
ROM0:1FD6 CD F2 1E         call 1EF2
ROM0:1FD9 CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
ROM0:1FDC 18 06            jr   1FE4
ROM0:1FDE CD F2 1E         call 1EF2
ROM0:1FE1 CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
ROM0:1FE4 C1               pop  bc
ROM0:1FE5 C9               ret  

0:1FE6 (ret)

ROM0:1FE6 C9               ret  

0:1FE7 (00s (C8D7) to (C8DC))

ROM0:1FE7 F5               push af
ROM0:1FE8 3E 00            ld   a,00
ROM0:1FEA EA D7 C8         ld   (C8D7),a
ROM0:1FED 3E 00            ld   a,00
ROM0:1FEF EA D8 C8         ld   (C8D8),a
ROM0:1FF2 3E 00            ld   a,00
ROM0:1FF4 EA D9 C8         ld   (C8D9),a
ROM0:1FF7 3E 00            ld   a,00
ROM0:1FF9 EA DA C8         ld   (C8DA),a
ROM0:1FFC 3E 00            ld   a,00
ROM0:1FFE EA DB C8         ld   (C8DB),a
ROM0:2001 3E 00            ld   a,00
ROM0:2003 EA DC C8         ld   (C8DC),a
ROM0:2006 F1               pop  af
ROM0:2007 C9               ret  

0:2008 (00s (C8D7) to (C8DC)) (sic)

ROM0:2008 F5               push af
ROM0:2009 3E 00            ld   a,00
ROM0:200B EA D7 C8         ld   (C8D7),a
ROM0:200E 3E 00            ld   a,00
ROM0:2010 EA D8 C8         ld   (C8D8),a
ROM0:2013 3E 00            ld   a,00
ROM0:2015 EA D9 C8         ld   (C8D9),a
ROM0:2018 3E 00            ld   a,00
ROM0:201A EA DA C8         ld   (C8DA),a
ROM0:201D 3E 00            ld   a,00
ROM0:201F EA DB C8         ld   (C8DB),a
ROM0:2022 3E 00            ld   a,00
ROM0:2024 EA DC C8         ld   (C8DC),a
ROM0:2027 F1               pop  af
ROM0:2028 C9               ret

Starter Deck

Starter deck copy

ROM0:242B F5               push af
ROM0:242C C5               push bc
ROM0:242D D5               push de
ROM0:242E E5               push hl
ROM0:242F 21 51 24         ld   hl,2451
ROM0:2432 1E 00            ld   e,00
ROM0:2434 7B               ld   a,e
ROM0:2435 FE 28            cp   a,28
ROM0:2437 30 13            jr   nc,244C        ;if all 40 cards have been copied, jump to 0:244C (pop registers and exit function)
ROM0:2439 CF               rst  08
          => 21 01                             ;Update number of cards in Player's deck
ROM0:243C 2A               ldi  a, (hl)
ROM0:243D 4F               ld   c,a
ROM0:243E 2A               ldi  a,(hl)
ROM0:243F 47               ld   b,a
ROM0:2440 CF               rst  08             ;Add card to Player's deck
          => 23 01
ROM0:2443 CF               rst  08             ;1:46B9 ; seems linked to controlling card ID is valid
          => 09 01
ROM0:2446 CF               rst  08             ;Sets unseen card as viewed in Trunk
          => 13 01
ROM0:2449 1C               inc  e              ;number_of_cards_in_deck ++
ROM0:244A 18 E8            jr 2434
ROM0:244C E1               pop  hl
ROM0:244D D1               pop  de
ROM0:244E C1               pop  bc
ROM0:244F F1               pop  af
ROM0:2450 C9               ret

Starter deck cards

0x2451-0x24A1 : Starter Deck

8B 01 DB 01 DB 01 8D 01 8D 01 F8 01 4E 02 4E 02
4E 02 92 01 24 02 D3 00 B4 01 33 02 33 02 A6 01
04 02 C5 00 9A 01 BC 01 BC 01 E6 01 0C 02 43 02
CA 00 CF 00 63 02 63 02 89 00 89 00 89 00 50 02
50 02 50 02 7A 00 61 02 25 02 FA 01 B6 00 A4 01

Duel Records

Initialize Duel Records

ROM0:24BF F5               push af
ROM0:24C0 C5               push bc
ROM0:24C1 D5               push de
ROM0:24C2 E5               push hl
ROM0:24C3 AF               xor  a
ROM0:24C4 21 43 C9         ld   hl,C943
ROM0:24C7 11 EB 24         ld   de,24EB
ROM0:24CA 0E 19            ld   c,19              ;c = 25
ROM0:24CC 1A               ld   a,(de)
ROM0:24CD 22               ldi  (hl),a            ;Copy initial Duel Records (battles) from 0:24EB to wC943
ROM0:24CE 13               inc  de
ROM0:24CF 1A               ld   a,(de)
ROM0:24D0 22               ldi  (hl),a
ROM0:24D1 13               inc  de
ROM0:24D2 0D               dec  c
ROM0:24D3 20 F7            jr   nz,24CC           ;Loop 25 times
ROM0:24D5 21 75 C9         ld   hl,C975
ROM0:24D8 11 1D 25         ld   de,251D
ROM0:24DB 0E 19            ld   c,19              ;c = 25
ROM0:24DD 1A               ld   a,(de)
ROM0:24DE 22               ldi  (hl),a            ;Copy initial Duel Records (wins) from 0:251D to wC975
ROM0:24DF 13               inc  de
ROM0:24E0 1A               ld   a,(de)
ROM0:24E1 22               ldi  (hl),a
ROM0:24E2 13               inc  de
ROM0:24E3 0D               dec  c
ROM0:24E4 20 F7            jr   nz,24DD           ;Loop 25 times
ROM0:24E6 E1               pop  hl
ROM0:24E7 D1               pop  de
ROM0:24E8 C1               pop  bc
ROM0:24E9 F1               pop  af
ROM0:24EA C9               ret

Music & Sound Effects management

0:2804 - Music / Sound Effect subroutine

ROM0:2804 F5               push af
ROM0:2805 FA EB C7         ld   a,(C7EB)
ROM0:2808 FE 01            cp   a,01
ROM0:280A 20 08            jr   nz,2814        ;if it's not Campaign Mode, jump to 0:2814
ROM0:280C FA 06 C9         ld   a,(C906)       ;a = Music / Sound Effect ID
ROM0:280F CD 25 29         call 2925           ;Loads Music / Sound Effect ROM Bank and pointer
ROM0:2812 18 05            jr   2819
ROM0:2814 3E 11            ld   a,11           ;Link Duel Music ID
ROM0:2816 CD 25 29         call 2925           ;Loads Music / Sound Effect ROM Bank and pointer
ROM0:2819 F1               pop  af
ROM0:281A C9               ret  

0:29F1 - Copy PRNG states to wC9AB-wC9AF, and initialize hFFD9-hFFDC

0x29F1-0x2A17 - Copy PRNG states to wC9AB-wC9AF, and set hFFD9-hFFDC to 0

ROM0:29F1 F5               push af
ROM0:29F2 C5               push bc
ROM0:29F3 D5               push de
ROM0:29F4 E5               push hl
ROM0:29F5 21 AD C8         ld   hl,C8AD
ROM0:29F8 11 AB C9         ld   de,C9AB
ROM0:29FB 0E 04            ld   c,04
ROM0:29FD 2A               ldi  a,(hl)         ;a = current_PRNG_state
ROM0:29FE 12               ld   (de),a         ;store in in wC9AB-wC9AF
ROM0:29FF 13               inc  de
ROM0:2A00 0D               dec  c
ROM0:2A01 20 FA            jr   nz,29FD        ;loop until all PRNG states have been copied to wC9AB-wC9AF
ROM0:2A03 3E 00            ld   a,00
ROM0:2A05 E0 DA            ld   (ff00+DA),a
ROM0:2A07 3E 00            ld   a,00
ROM0:2A09 E0 DB            ld   (ff00+DB),a
ROM0:2A0B 3E 00            ld   a,00
ROM0:2A0D E0 D9            ld   (ff00+D9),a
ROM0:2A0F 3E 00            ld   a,00
ROM0:2A11 E0 DC            ld   (ff00+DC),a    ;set hFFD9-hFFDC to 0
ROM0:2A13 E1               pop  hl
ROM0:2A14 D1               pop  de
ROM0:2A15 C1               pop  bc
ROM0:2A16 F1               pop  af
ROM0:2A17 C9               ret

Graveyard management

Initialize Graveyards

ROM0:2D77 F5               push af
ROM0:2D78 3E 00            ld   a,00
ROM0:2D7A EA DD CA         ld   (CADD),a	// Player's Graveyard
ROM0:2D7D 3E 00            ld   a,00
ROM0:2D7F EA DE CA         ld   (CADE),a
ROM0:2D82 3E 00            ld   a,00
ROM0:2D84 EA DF CA         ld   (CADF),a	// CPU's Graveyard
ROM0:2D87 3E 00            ld   a,00
ROM0:2D89 EA E0 CA         ld   (CAE0),a
ROM0:2D8C F1               pop  af
ROM0:2D8D C9               ret  

Add card to Player's Graveyard

ROM0:2D8E F5               push af
ROM0:2D8F CD 3F 1A         call 1A3F		// Checks if bc ≠ 0
ROM0:2D92 FE 01            cp   a,01
ROM0:2D94 28 12            jr   z,2DA8		// If there's no card, get out of this function
ROM0:2D96 CF               rst  08
...
ROM0:2D99 FA AF C6         ld   a,(C6AF)	// Card Effect IDs (Magic Ritual Trap)
ROM0:2D9C FE 02            cp   a,02
ROM0:2D9E 20 08            jr   nz,2DA8		// If it's not a Monster card, get out of this function
ROM0:2DA0 79               ld   a,c
ROM0:2DA1 EA DD CA         ld   (CADD),a	// Player's Graveyard
ROM0:2DA4 78               ld   a,b
ROM0:2DA5 EA DE CA         ld   (CADE),a
ROM0:2DA8 F1               pop  af
ROM0:2DA9 C9               ret  

Add card to CPU's Graveyard

ROM0:2DAA F5               push af
ROM0:2DAB CD 3F 1A         call 1A3F		// Checks if bc ≠ 0
ROM0:2DAE FE 01            cp   a,01
ROM0:2DB0 28 12            jr   z,2DC4		// If there's no card, get out of this function
ROM0:2DB2 CF               rst  08
...
ROM0:2DB5 FA AF C6         ld   a,(C6AF)	// Card Effect IDs (Magic Ritual Trap)
ROM0:2DB8 FE 02            cp   a,02
ROM0:2DBA 20 08            jr   nz,2DC4		// If it's not a Monster card, get out of this function
ROM0:2DBC 79               ld   a,c
ROM0:2DBD EA DF CA         ld   (CADF),a	// CPU's Graveyard
ROM0:2DC0 78               ld   a,b
ROM0:2DC1 EA E0 CA         ld   (CAE0),a
ROM0:2DC4 F1               pop  af
ROM0:2DC5 C9               ret

Bank 1

Initialize cards in trunk

  • 0x4696-0x46B8 - Loops until the 900 cards quantities are written
ROM1:4696 F5               push af
ROM1:4697 C5               push bc
ROM1:4698 E5               push hl
ROM1:4699 01 00 00         ld   bc,0000
ROM1:469C CD B9 46         call 46B9
ROM1:469F 3E FF            ld   a,FF	       ;Card not registered
ROM1:46A1 CD 1C 47         call 471C           ;Write card quantities in Trunk
ROM1:46A4 03               inc  bc
ROM1:46A5 CD 51 1A         call 1A51           ;card ID validity ?
ROM1:46A8 FE 03            cp   a,03
ROM1:46AA 28 02            jr   z,46AE
ROM1:46AC 18 EE            jr   469C
ROM1:46AE AF               xor  a
ROM1:46AF EA ED C5         ld   (C5ED),a
ROM1:46B2 EA EE C5         ld   (C5EE),a       ;Store 0 in wC5ED (current_card_id)
ROM1:46B5 E1               pop  hl
ROM1:46B6 C1               pop  bc
ROM1:46B7 F1               pop  af
ROM1:46B8 C9               ret

1:46B9 - Controls Card ID validity, then stores it in wC5ED

ROM1:46B9 F5               push af
ROM1:46BA CD 51 1A         call 1A51            ;card ID validity ?
ROM1:46BD FE 03            cp   a,03
ROM1:46BF 28 0A            jr   z,46CB          ;if (invalid_card_id), jump to 1:46CB
ROM1:46C1 79               ld   a,c
ROM1:46C2 EA ED C5         ld   (C5ED),a
ROM1:46C5 78               ld   a,b
ROM1:46C6 EA EE C5         ld   (C5EE),a        ;Store Current Card ID in wC5ED
ROM1:46C9 18 07            jr   46D2            ;exit this function
ROM1:46CB AF               xor  a
ROM1:46CC EA ED C5         ld   (C5ED),a        ;Store 0 in in wC5ED (current_card_id)
ROM1:46CF EA EE C5         ld   (C5EE),a
ROM1:46D2 F1               pop  af
ROM1:46D3 C9               ret

1:46D4

ROM1:46D4 F5               push af
ROM1:46D5 CD 3B 47         call 473B             ;Loads number of a specific card in Chest/Trunk
ROM1:46D8 FE FF            cp   a,FF
ROM1:46DA 20 05            jr   nz,46E1
ROM1:46DC 3E 00            ld   a,00
ROM1:46DE CD 1C 47         call 471C
ROM1:46E1 CD 3B 47         call 473B             ;Loads number of a specific card in Chest/Trunk
ROM1:46E4 FE FA            cp   a,FA
ROM1:46E6 28 04            jr   z,46EC
ROM1:46E8 3C               inc  a
ROM1:46E9 CD 1C 47         call 471C
ROM1:46EC F1               pop  af
ROM1:46ED C9               ret  

1:46EE

ROM1:46EE C5               push bc
ROM1:46EF D5               push de
ROM1:46F0 16 00            ld   d,00
ROM1:46F2 CD 3B 47         call 473B             ;Loads number of a specific card in Chest/Trunk
ROM1:46F5 FE 00            cp   a,00
ROM1:46F7 20 04            jr   nz,46FD
ROM1:46F9 16 01            ld   d,01
ROM1:46FB 18 0C            jr   4709
ROM1:46FD FE FF            cp   a,FF
ROM1:46FF 20 04            jr   nz,4705
ROM1:4701 16 01            ld   d,01
ROM1:4703 18 04            jr   4709
ROM1:4705 3D               dec  a
ROM1:4706 CD 1C 47         call 471C
ROM1:4709 7A               ld   a,d
ROM1:470A D1               pop  de
ROM1:470B C1               pop  bc
ROM1:470C C9               ret  

Sets unseen card as viewed in Trunk

ROM1:470D F5               push af
ROM1:470E CD 3B 47         call 473B             ;Loads number of a specific card in Chest/Trunk
ROM1:4711 FE FF            cp   a,FF
ROM1:4713 20 05            jr   nz,471A          ;if card has already been seen, exit this function
ROM1:4715 3E 00            ld   a,00             ;else set card_quantity to 0 to make the card visible
ROM1:4717 CD 1C 47         call 471C             ;Write card quantities in Trunk
ROM1:471A F1               pop  af
ROM1:471B C9               ret  

Write card quantities in Trunk

ROM1:471C F5               push af
ROM1:471D C5               push bc
ROM1:471E D5               push de
ROM1:471F E5               push hl
ROM1:4720 57               ld   d,a
ROM1:4721 3E 02            ld   a,02
ROM1:4723 CD E0 12         call 12E0       ;WRAM Bank switch
ROM1:4726 FA ED C5         ld   a,(C5ED)
ROM1:4729 4F               ld   c,a
ROM1:472A FA EE C5         ld   a,(C5EE)
ROM1:472D 47               ld   b,a
ROM1:472E 21 00 D0         ld   hl,D000
ROM1:4731 09               add  hl,bc
ROM1:4732 72               ld   (hl),d
ROM1:4733 CD 04 13         call 1304       ;WRAM Bank restore
ROM1:4736 E1               pop  hl
ROM1:4737 D1               pop  de
ROM1:4738 C1               pop  bc
ROM1:4739 F1               pop  af
ROM1:473A C9               ret

1:473B - Loads number of a specific card in Chest/Trunk

ROM1:473B C5               push bc
ROM1:473C E5               push hl
ROM1:473D 3E 02            ld   a,02
ROM1:473F CD E0 12         call 12E0          ;WRAM Bank switch
ROM1:4742 FA ED C5         ld   a,(C5ED)
ROM1:4745 4F               ld   c,a
ROM1:4746 FA EE C5         ld   a,(C5EE)
ROM1:4749 47               ld   b,a           ;bc = current_card_id ?
ROM1:474A 21 00 D0         ld   hl,D000       ;2:D000 stores cards in Chest
ROM1:474D 09               add  hl,bc
ROM1:474E 4E               ld   c,(hl)
ROM1:474F CD 04 13         call 1304          ;WRAM Bank restore
ROM1:4752 79               ld   a,c
ROM1:4753 E1               pop  hl
ROM1:4754 C1               pop  bc
ROM1:4755 C9               ret

1:4756

ROM1:4756 C5               push bc
ROM1:4757 D5               push de
ROM1:4758 1E 01            ld   e,01
ROM1:475A FA ED C5         ld   a,(C5ED)
ROM1:475D 4F               ld   c,a
ROM1:475E FA EE C5         ld   a,(C5EE)
ROM1:4761 47               ld   b,a
ROM1:4762 CF               rst  08
...
ROM1:4765 FE 00            cp   a,00
ROM1:4767 20 04            jr   nz,476D
ROM1:4769 16 03            ld   d,03
ROM1:476B 18 02            jr   476F
ROM1:476D 16 01            ld   d,01
ROM1:476F CD D8 4D         call 4DD8
ROM1:4772 BA               cp   d
ROM1:4773 30 16            jr   nc,478B
ROM1:4775 C5               push bc
ROM1:4776 CD 25 4D         call 4D25
ROM1:4779 78               ld   a,b
ROM1:477A C1               pop  bc
ROM1:477B FE 00            cp   a,00
ROM1:477D 20 0C            jr   nz,478B
ROM1:477F CD EE 46         call 46EE
ROM1:4782 FE 00            cp   a,00
ROM1:4784 20 05            jr   nz,478B
ROM1:4786 CD D7 4C         call 4CD7		// Add card to deck subroutine
ROM1:4789 1E 00            ld   e,00
ROM1:478B 7B               ld   a,e
ROM1:478C D1               pop  de
ROM1:478D C1               pop  bc
ROM1:478E C9               ret  

1:478F

ROM1:478F F5               push af
ROM1:4790 C5               push bc
ROM1:4791 CD 25 4D         call 4D25
ROM1:4794 79               ld   a,c
ROM1:4795 FE 00            cp   a,00
ROM1:4797 28 0C            jr   z,47A5
ROM1:4799 CD C3 4C         call 4CC3
ROM1:479C CD B9 46         call 46B9
ROM1:479F CD D4 46         call 46D4
ROM1:47A2 CD F1 4C         call 4CF1
ROM1:47A5 C1               pop  bc
ROM1:47A6 F1               pop  af
ROM1:47A7 C9               ret  

1:47A8

ROM1:47A8 F5               push af
ROM1:47A9 C5               push bc
ROM1:47AA CD 0A 66         call 660A
ROM1:47AD 79               ld   a,c
ROM1:47AE FE 00            cp   a,00
ROM1:47B0 28 0C            jr   z,47BE
ROM1:47B2 CD AA 65         call 65AA
ROM1:47B5 CD B9 46         call 46B9
ROM1:47B8 CD D4 46         call 46D4
ROM1:47BB CD D6 65         call 65D6
ROM1:47BE C1               pop  bc
ROM1:47BF F1               pop  af
ROM1:47C0 C9               ret

Update number of cards in Player's deck

ROM1:4CA7 EA F8 C5         ld   (C5F8),a
ROM1:4CAA C9               ret

Add card to the deck

ROM1:4CAB F5               push af
ROM1:4CAC C5               push bc
ROM1:4CAD D5               push de
ROM1:4CAE E5               push hl
ROM1:4CAF 16 00            ld   d,00
ROM1:4CB1 FA F8 C5         ld   a,(C5F8)
ROM1:4CB4 5F               ld   e,a
ROM1:4CB5 CB 23            sla  e
ROM1:4CB7 21 F9 C5         ld   hl,C5F9
ROM1:4CBA 19               add  hl,de
ROM1:4CBB 79               ld   a,c
ROM1:4CBC 22               ldi  (hl),a
ROM1:4CBD 70               ld   (hl),b
ROM1:4CBE E1               pop  hl
ROM1:4CBF D1               pop  de
ROM1:4CC0 C1               pop  bc
ROM1:4CC1 F1               pop  af
ROM1:4CC2 C9               ret  

1:4CC3

ROM1:4CC3 F5               push af
ROM1:4CC4 E5               push hl
ROM1:4CC5 06 00            ld   b,00
ROM1:4CC7 FA F8 C5         ld   a,(C5F8)
ROM1:4CCA 4F               ld   c,a
ROM1:4CCB CB 21            sla  c
ROM1:4CCD 21 F9 C5         ld   hl,C5F9
ROM1:4CD0 09               add  hl,bc
ROM1:4CD1 2A               ldi  a,(hl)
ROM1:4CD2 46               ld   b,(hl)
ROM1:4CD3 4F               ld   c,a
ROM1:4CD4 E1               pop  hl
ROM1:4CD5 F1               pop  af
ROM1:4CD6 C9               ret  

Add card to deck subroutine

ROM1:4CD7 F5               push af
ROM1:4CD8 C5               push bc
ROM1:4CD9 D5               push de
ROM1:4CDA 50               ld   d,b
ROM1:4CDB 59               ld   e,c
ROM1:4CDC CD 25 4D         call 4D25
ROM1:4CDF 78               ld   a,b
ROM1:4CE0 FE 00            cp   a,00
ROM1:4CE2 20 09            jr   nz,4CED
ROM1:4CE4 79               ld   a,c
ROM1:4CE5 CD A7 4C         call 4CA7		// Store a in (C5F8)
ROM1:4CE8 42               ld   b,d
ROM1:4CE9 4B               ld   c,e
ROM1:4CEA CD AB 4C         call 4CAB		// Add card to the deck
ROM1:4CED D1               pop  de
ROM1:4CEE C1               pop  bc
ROM1:4CEF F1               pop  af
ROM1:4CF0 C9               ret  

1:4CF1

ROM1:4CF1 F5               push af
ROM1:4CF2 C5               push bc
ROM1:4CF3 D5               push de
ROM1:4CF4 E5               push hl
ROM1:4CF5 FA F8 C5         ld   a,(C5F8)
ROM1:4CF8 6F               ld   l,a
ROM1:4CF9 16 00            ld   d,00
ROM1:4CFB 1E 00            ld   e,00
ROM1:4CFD 7B               ld   a,e
ROM1:4CFE CD A7 4C         call 4CA7
ROM1:4D01 CD C3 4C         call 4CC3
ROM1:4D04 7B               ld   a,e
ROM1:4D05 BD               cp   l
ROM1:4D06 28 08            jr   z,4D10
ROM1:4D08 7A               ld   a,d
ROM1:4D09 CD A7 4C         call 4CA7
ROM1:4D0C CD AB 4C         call 4CAB
ROM1:4D0F 14               inc  d
ROM1:4D10 1C               inc  e
ROM1:4D11 7B               ld   a,e
ROM1:4D12 FE 28            cp   a,28
ROM1:4D14 38 E7            jr   c,4CFD
ROM1:4D16 7A               ld   a,d
ROM1:4D17 CD A7 4C         call 4CA7
ROM1:4D1A 01 00 00         ld   bc,0000
ROM1:4D1D CD AB 4C         call 4CAB
ROM1:4D20 E1               pop  hl
ROM1:4D21 D1               pop  de
ROM1:4D22 C1               pop  bc
ROM1:4D23 F1               pop  af
ROM1:4D24 C9               ret  

1:4D25

ROM1:4D25 F5               push af
ROM1:4D26 D5               push de
ROM1:4D27 E5               push hl
ROM1:4D28 21 F9 C5         ld   hl,C5F9
ROM1:4D2B 1E 00            ld   e,00
ROM1:4D2D 2A               ldi  a,(hl)
ROM1:4D2E 4F               ld   c,a
ROM1:4D2F 2A               ldi  a,(hl)
ROM1:4D30 47               ld   b,a
ROM1:4D31 CD 3F 1A         call 1A3F
ROM1:4D34 FE 01            cp   a,01
ROM1:4D36 28 06            jr   z,4D3E
ROM1:4D38 1C               inc  e
ROM1:4D39 7B               ld   a,e
ROM1:4D3A FE 28            cp   a,28
ROM1:4D3C 38 EF            jr   c,4D2D
ROM1:4D3E 06 00            ld   b,00
ROM1:4D40 4B               ld   c,e
ROM1:4D41 79               ld   a,c
ROM1:4D42 FE 28            cp   a,28
ROM1:4D44 20 01            jr   nz,4D47
ROM1:4D46 04               inc  b
ROM1:4D47 E1               pop  hl
ROM1:4D48 D1               pop  de
ROM1:4D49 F1               pop  af
ROM1:4D4A C9               ret

Card display

ROM1:5E71 F5               push af
ROM1:5E72 C5               push bc
ROM1:5E73 D5               push de
ROM1:5E74 E5               push hl
ROM1:5E75 CD 4F 60         call 604F
ROM1:5E78 CF               rst 08
ROM1:5E78 05 13
ROM1:5E7B CD B9 46         call 46B9
ROM1:5E7E CD 3B 47         call 473B               ;Loads number of a specific card in Chest/Trunk
ROM1:5E81 FE FF            cp   a,FF
ROM1:5E83 20 09            jr   nz,5E8E
ROM1:5E85 CD 3C 28         call 283C
ROM1:5E88 AF               xor  a
ROM1:5E89 EA DD C5         ld   (C5DD),a
ROM1:5E8C 18 4E            jr   5EDC
ROM1:5E8E F5               push af
ROM1:5E8F CF               rst  08
ROM1:5E90 03 07         => Read card data - main routine
ROM1:5E92 CF               rst  08
ROM1:5E93 3B 05         => Load Deck Capacity in bc, Duelist Level in e
ROM1:5E95 5F               ld   e,a
ROM1:5E96 FA AC C6         ld   a,(C6AC)          ;a = Card_Cost
ROM1:5E99 BB               cp   e
ROM1:5E9A 28 16            jr   z,5EB2
ROM1:5E9C 38 14            jr   c,5EB2            ;if(Card_Cost ≤ Duelist Level), jump to 1:5EB2
ROM1:5E9E CD 2C 28         call 282C
ROM1:5EA1 CF               rst  08
ROM1:5EA2 07 05
ROM1:5EA4 CF               rst  08
ROM1:5EA5 09 05
ROM1:5EA7 AF               xor  a
ROM1:5EA8 EA DD C5         ld   (C5DD),a          ;wC5DD = 0
ROM1:5EAB CD 82 40         call 4082
ROM1:5EAE E8 02            add  sp,02
ROM1:5EB0 18 2A            jr   5EDC
ROM1:5EB2 F1               pop  af
ROM1:5EB3 FE 00            cp   a,00
ROM1:5EB5 20 15            jr   nz,5ECC
ROM1:5EB7 CF               rst  08
ROM1:5EB8 03 07
ROM1:5EBA CD 2C 28         call 282C
ROM1:5EBD CF               rst  08
ROM1:5EBE 05 05
ROM1:5EC0 CF               rst  08
ROM1:5EC1 09 05
ROM1:5EC3 AF               xor  a
ROM1:5EC4 EA DD C5         ld   (C5DD),a          ;wC5DD = 0
ROM1:5EC7 CD 82 40         call 4082
ROM1:5ECA 18 10            jr   5EDC
ROM1:5ECC CD 2C 28         call 282C
ROM1:5ECF CF               rst  08
ROM1:5ED0 03 05
ROM1:5ED2 CF               rst  08
ROM1:5ED3 09 05
ROM1:5ED5 AF               xor  a
ROM1:5ED6 EA DD C5         ld   (C5DD),a          ;wC5DD = 0
ROM1:5ED9 CD 82 40         call 4082
ROM1:5EDC E1               pop  hl
ROM1:5EDD D1               pop  de
ROM1:5EDE C1               pop  bc
ROM1:5EDF F1               pop  af
ROM1:5EE0 C9               ret

1:5F51

ROM1:5F51 F5               push af
ROM1:5F52 C5               push bc
ROM1:5F53 D5               push de
ROM1:5F54 E5               push hl
ROM1:5F55 CD 4F 60         call 604F
ROM1:5F58 CF               rst  08
...
ROM1:5F5B CF               rst  08
ROM1:5F5E FE 00            cp   a,00
ROM1:5F60 28 39            jr   z,5F9B
ROM1:5F62 CF               rst  08
...
ROM1:5F65 CF               rst  08
...
ROM1:5F68 5F               ld   e,a
ROM1:5F69 FA AC C6         ld   a,(C6AC)
ROM1:5F6C BB               cp   e
ROM1:5F6D 28 0E            jr   z,5F7D
ROM1:5F6F 38 0C            jr   c,5F7D
ROM1:5F71 CD 3C 28         call 283C
ROM1:5F74 AF               xor  a
ROM1:5F75 EA DD C5         ld   (C5DD),a
ROM1:5F78 EA DF C5         ld   (C5DF),a
ROM1:5F7B 18 1E            jr   5F9B
ROM1:5F7D CD B9 46         call 46B9
ROM1:5F80 CD 56 47         call 4756
ROM1:5F83 FE 00            cp   a,00
ROM1:5F85 28 0E            jr   z,5F95
ROM1:5F87 CD 3C 28         call 283C
ROM1:5F8A AF               xor  a
ROM1:5F8B EA DD C5         ld   (C5DD),a
ROM1:5F8E EA DF C5         ld   (C5DF),a
ROM1:5F91 18 08            jr   5F9B
ROM1:5F93 18 06            jr   5F9B
ROM1:5F95 CD 2C 28         call 282C
ROM1:5F98 CD 64 60         call 6064
ROM1:5F9B E1               pop  hl
ROM1:5F9C D1               pop  de
ROM1:5F9D C1               pop  bc
ROM1:5F9E F1               pop  af
ROM1:5F9F C9               ret

1:5FA0

ROM1:5FA0 F5               push af
ROM1:5FA1 C5               push bc
ROM1:5FA2 D5               push de
ROM1:5FA3 E5               push hl
ROM1:5FA4 CD 4F 60         call 604F
ROM1:5FA7 CF               rst  08
ROM1:5FA8 05               dec  b
ROM1:5FA9 13               inc  de
ROM1:5FAA CD EE 5F         call 5FEE
ROM1:5FAD FE 00            cp   a,00
ROM1:5FAF 20 11            jr   nz,5FC2
ROM1:5FB1 CD CD 5F         call 5FCD
ROM1:5FB4 FE 00            cp   a,00
ROM1:5FB6 20 05            jr   nz,5FBD
ROM1:5FB8 CD 2C 28         call 282C
ROM1:5FBB 18 03            jr   5FC0
ROM1:5FBD CD 3C 28         call 283C
ROM1:5FC0 18 03            jr   5FC5
ROM1:5FC2 CD 3C 28         call 283C
ROM1:5FC5 CD 64 60         call 6064
ROM1:5FC8 E1               pop  hl
ROM1:5FC9 D1               pop  de
ROM1:5FCA C1               pop  bc
ROM1:5FCB F1               pop  af
ROM1:5FCC C9               ret  

1:5FCD

ROM1:5FCD C5               push bc
ROM1:5FCE D5               push de
ROM1:5FCF CD B9 46         call 46B9
ROM1:5FD2 1E 01            ld   e,01
ROM1:5FD4 C5               push bc
ROM1:5FD5 CD 0A 66         call 660A
ROM1:5FD8 78               ld   a,b
ROM1:5FD9 C1               pop  bc
ROM1:5FDA FE 00            cp   a,00
ROM1:5FDC 20 0C            jr   nz,5FEA
ROM1:5FDE CD EE 46         call 46EE
ROM1:5FE1 FE 00            cp   a,00
ROM1:5FE3 20 05            jr   nz,5FEA
ROM1:5FE5 CD BE 65         call 65BE
ROM1:5FE8 1E 00            ld   e,00
ROM1:5FEA 7B               ld   a,e
ROM1:5FEB D1               pop  de
ROM1:5FEC C1               pop  bc
ROM1:5FED C9               ret  

1:5FEE

ROM1:5FEE C5               push bc
ROM1:5FEF D5               push de
ROM1:5FF0 E5               push hl
ROM1:5FF1 FA E2 C5         ld   a,(C5E2)
ROM1:5FF4 FE 8F            cp   a,8F
ROM1:5FF6 28 03            jr   z,5FFB
ROM1:5FF8 AF               xor  a
ROM1:5FF9 18 22            jr   601D
ROM1:5FFB 50               ld   d,b
ROM1:5FFC 59               ld   e,c
ROM1:5FFD 21 21 60         ld   hl,6021
ROM1:6000 2A               ldi  a,(hl)
ROM1:6001 4F               ld   c,a
ROM1:6002 2A               ldi  a,(hl)
ROM1:6003 47               ld   b,a
ROM1:6004 CD 3F 1A         call 1A3F
ROM1:6007 FE 01            cp   a,01
ROM1:6009 20 04            jr   nz,600F
ROM1:600B 0E 00            ld   c,00
ROM1:600D 18 0D            jr   601C
ROM1:600F CD 77 1A         call 1A77
ROM1:6012 FE 00            cp   a,00
ROM1:6014 20 04            jr   nz,601A
ROM1:6016 0E 01            ld   c,01
ROM1:6018 18 02            jr   601C
ROM1:601A 18 E4            jr   6000
ROM1:601C 79               ld   a,c
ROM1:601D E1               pop  hl
ROM1:601E D1               pop  de
ROM1:601F C1               pop  bc
ROM1:6020 C9               ret  

1:604F

ROM1:604F F5               push af
ROM1:6050 FA DE C5         ld   a,(C5DE)
ROM1:6053 4F               ld   c,a
ROM1:6054 CD 74 46         call 4674
ROM1:6057 FA E4 C5         ld   a,(C5E4)
ROM1:605A 81               add  c
ROM1:605B 4F               ld   c,a
ROM1:605C FA E5 C5         ld   a,(C5E5)
ROM1:605F CE 00            adc  a,00
ROM1:6061 47               ld   b,a
ROM1:6062 F1               pop  af
ROM1:6063 C9               ret  

1:6064

ROM1:6064 F5               push af
ROM1:6065 D5               push de
ROM1:6066 AF               xor  a
ROM1:6067 EA DD C5         ld   (C5DD),a
ROM1:606A EA DF C5         ld   (C5DF),a
ROM1:606D 3E 04            ld   a,04
ROM1:606F CD 87 0F         call 0F87
ROM1:6072 CD A2 45         call 45A2
ROM1:6075 CD 7D 11         call 117D
ROM1:6078 CD C1 40         call 40C1
ROM1:607B D1               pop  de
ROM1:607C F1               pop  af
ROM1:607D C9               ret  

1:607E

ROM1:607E F5               push af
ROM1:607F 3E 0A            ld   a,0A
ROM1:6081 CD 87 0F         call 0F87
ROM1:6084 CD A8 60         call 60A8
ROM1:6087 CD 7D 11         call 117D
ROM1:608A F1               pop  af
ROM1:608B C9               ret  

1:608C

ROM1:608C F5               push af
ROM1:608D 3E 0A            ld   a,0A
ROM1:608F CD 87 0F         call 0F87
ROM1:6092 CD B4 60         call 60B4
ROM1:6095 CD 7D 11         call 117D
ROM1:6098 F1               pop  af
ROM1:6099 C9               ret  

1:609A

ROM1:609A F5               push af
ROM1:609B C5               push bc
ROM1:609C FA B7 C6         ld   a,(C6B7)
ROM1:609F CD 33 19         call 1933
ROM1:60A2 CD E4 60         call 60E4
ROM1:60A5 C1               pop  bc
ROM1:60A6 F1               pop  af
ROM1:60A7 C9               ret

Bank 2

Password screen text

0x9C2C - Password screen text

Bank 3

Field management

Reverts field to Arena

  • 0xC12C-0xC133 - Reverts field to Arena
ROM3:412C F5               push af
ROM3:412D 3E 00            ld   a,00
ROM3:412F EA D9 C5         ld   (C5D9),a
ROM3:4132 F1               pop  af
ROM3:4133 C9               ret  

Field change

  • 0xC134-0xC137 - Changes Field to the value in accumulator
ROM3:4134 EA D9 C5         ld   (C5D9),a	// Field ID
ROM3:4137 C9               ret  

Change field to Forest

  • 0xC138-0xC13F - Change field to Forest
ROM3:4138 F5               push af
ROM3:4139 3E 01            ld   a,01
ROM3:413B CD 34 41         call 4134		// Field change
ROM3:413E F1               pop  af
ROM3:413F C9               ret  

Change field to Wasteland

  • 0xC140-0xC148 - Change field to Wasteland
ROM3:4140 F5               push af
ROM3:4141 3E 02            ld   a,02
ROM3:4143 CD 34 41         call 4134		// Field change
ROM3:4146 F1               pop  af
ROM3:4147 C9               ret  

Change field to Mountain

  • 0xC148-0xC14F - Change field to Mountain
ROM3:4148 F5               push af
ROM3:4149 3E 03            ld   a,03
ROM3:414B CD 34 41         call 4134		// Field change
ROM3:414E F1               pop  af
ROM3:414F C9               ret  

Change field to Sogen

  • 0xC150-0xC157 - Change field to Sogen
ROM3:4150 F5               push af
ROM3:4151 3E 04            ld   a,04
ROM3:4153 CD 34 41         call 4134		// Field change
ROM3:4156 F1               pop  af
ROM3:4157 C9               ret  

Change field to Umi

  • 0xC158-0xC15F - Change field to Umi
ROM3:4158 F5               push af
ROM3:4159 3E 05            ld   a,05
ROM3:415B CD 34 41         call 4134		// Field change
ROM3:415E F1               pop  af
ROM3:415F C9               ret  

Change field to Yami

  • 0xC160-0xC167 - Change field to Yami
ROM3:4160 F5               push af
ROM3:4161 3E 06            ld   a,06
ROM3:4163 CD 34 41         call 4134		// Field change
ROM3:4166 F1               pop  af
ROM3:4167 C9               ret

3:4168 routine group

3:4168

ROM3:4168 CD 75 41         call 4175
ROM3:416B CD A7 41         call 41A7
ROM3:416E CD D9 41         call 41D9
ROM3:4171 CD 0B 42         call 420B
ROM3:4174 C9               ret  

3:4175

ROM3:4175 F5               push af
ROM3:4176 C5               push bc
ROM3:4177 D5               push de
ROM3:4178 E5               push hl
ROM3:4179 3E 12            ld   a,12
ROM3:417B CD 87 0F         call 0F87
ROM3:417E 01 08 9A         ld   bc,9A08
ROM3:4181 16 00            ld   d,00
ROM3:4183 1E 06            ld   e,06
ROM3:4185 CD 8E 11         call 118E
ROM3:4188 03               inc  bc
ROM3:4189 03               inc  bc
ROM3:418A C5               push bc
ROM3:418B 42               ld   b,d
ROM3:418C 0E 03            ld   c,03
ROM3:418E CD 9D 19         call 199D            ;Update card column and row
ROM3:4191 CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM3:4194 CD 67 52         call 5267
ROM3:4197 CD 3D 42         call 423D
ROM3:419A C1               pop  bc
ROM3:419B 14               inc  d
ROM3:419C 1D               dec  e
ROM3:419D 20 E6            jr   nz,4185
ROM3:419F CD 7D 11         call 117D
ROM3:41A2 E1               pop  hl
ROM3:41A3 D1               pop  de
ROM3:41A4 C1               pop  bc
ROM3:41A5 F1               pop  af
ROM3:41A6 C9               ret  

3:41A7

ROM3:41A7 F5               push af
ROM3:41A8 C5               push bc
ROM3:41A9 D5               push de
ROM3:41AA E5               push hl
ROM3:41AB 3E 12            ld   a,12
ROM3:41AD CD 87 0F         call 0F87
ROM3:41B0 01 CA 99         ld   bc,99CA
ROM3:41B3 16 01            ld   d,01
ROM3:41B5 1E 05            ld   e,05
ROM3:41B7 CD 8E 11         call 118E
ROM3:41BA 03               inc  bc
ROM3:41BB 03               inc  bc
ROM3:41BC C5               push bc
ROM3:41BD 42               ld   b,d
ROM3:41BE 0E 02            ld   c,02
ROM3:41C0 CD 9D 19         call 199D            ;Update card column and row
ROM3:41C3 CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM3:41C6 CD 67 52         call 5267
ROM3:41C9 CD 3D 42         call 423D
ROM3:41CC C1               pop  bc
ROM3:41CD 14               inc  d
ROM3:41CE 1D               dec  e
ROM3:41CF 20 E6            jr   nz,41B7
ROM3:41D1 CD 7D 11         call 117D
ROM3:41D4 E1               pop  hl
ROM3:41D5 D1               pop  de
ROM3:41D6 C1               pop  bc
ROM3:41D7 F1               pop  af
ROM3:41D8 C9               ret  

3:41D9

ROM3:41D9 F5               push af
ROM3:41DA C5               push bc
ROM3:41DB D5               push de
ROM3:41DC E5               push hl
ROM3:41DD 3E 12            ld   a,12
ROM3:41DF CD 87 0F         call 0F87
ROM3:41E2 01 4A 98         ld   bc,984A
ROM3:41E5 16 04            ld   d,04
ROM3:41E7 1E 05            ld   e,05
ROM3:41E9 CD 8E 11         call 118E
ROM3:41EC 03               inc  bc
ROM3:41ED 03               inc  bc
ROM3:41EE C5               push bc
ROM3:41EF 42               ld   b,d
ROM3:41F0 0E 01            ld   c,01
ROM3:41F2 CD 9D 19         call 199D            ;Update card column and row
ROM3:41F5 CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM3:41F8 CD 67 52         call 5267
ROM3:41FB CD 3D 42         call 423D
ROM3:41FE C1               pop  bc
ROM3:41FF 15               dec  d
ROM3:4200 1D               dec  e
ROM3:4201 20 E6            jr   nz,41E9
ROM3:4203 CD 7D 11         call 117D
ROM3:4206 E1               pop  hl
ROM3:4207 D1               pop  de
ROM3:4208 C1               pop  bc
ROM3:4209 F1               pop  af
ROM3:420A C9               ret  

3:420B

ROM3:420B F5               push af
ROM3:420C C5               push bc
ROM3:420D D5               push de
ROM3:420E E5               push hl
ROM3:420F 3E 12            ld   a,12
ROM3:4211 CD 87 0F         call 0F87
ROM3:4214 01 08 98         ld   bc,9808
ROM3:4217 16 05            ld   d,05
ROM3:4219 1E 06            ld   e,06
ROM3:421B CD 8E 11         call 118E
ROM3:421E 03               inc  bc
ROM3:421F 03               inc  bc
ROM3:4220 C5               push bc
ROM3:4221 42               ld   b,d
ROM3:4222 0E 00            ld   c,00
ROM3:4224 CD 9D 19         call 199D            ;Update card column and row
ROM3:4227 CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM3:422A CD 67 52         call 5267
ROM3:422D CD 3D 42         call 423D
ROM3:4230 C1               pop  bc
ROM3:4231 15               dec  d
ROM3:4232 1D               dec  e
ROM3:4233 20 E6            jr   nz,421B
ROM3:4235 CD 7D 11         call 117D
ROM3:4238 E1               pop  hl
ROM3:4239 D1               pop  de
ROM3:423A C1               pop  bc
ROM3:423B F1               pop  af
ROM3:423C C9               ret

Draw a card

ROM3:4528 F5               push af
ROM3:4529 C5               push bc
ROM3:452A 06 01            ld   b,01
ROM3:452C 0E 05            ld   c,05
ROM3:452E 78               ld   a,b
ROM3:452F CD 1D 4F         call 4F1D
ROM3:4532 FE 01            cp   a,01
ROM3:4534 20 12            jr   nz,4548
ROM3:4536 CD 4F 45         call 454F
ROM3:4539 FE 00            cp   a,00
ROM3:453B 28 08            jr   z,4545
ROM3:453D 78               ld   a,b
ROM3:453E CD E1 44         call 44E1
ROM3:4541 18 09            jr   454C
ROM3:4543 18 03            jr   4548
ROM3:4545 CD 5A 23         call 235A
ROM3:4548 04               inc  b
ROM3:4549 0D               dec  c
ROM3:454A 20 E2            jr   nz,452E
ROM3:454C C1               pop  bc
ROM3:454D F1               pop  af
ROM3:454E C9               ret

3:454F (wC78F ; I guess this is number of cards left in deck)

ROM3:454F C5               push bc
ROM3:4550 FA 8F C7         ld   a,(C78F)
ROM3:4553 4F               ld   c,a
ROM3:4554 3E 28            ld   a,28          ;a = 0d40
ROM3:4556 91               sub  c
ROM3:4557 C1               pop  bc
ROM3:4558 C9               ret

3:4559

ROM3:4559 CD 3E 23         call 233E
ROM3:455C CD 2C 41         call 412C
ROM3:455F CD 76 19         call 1976          ;Initialize CPU's hand ?
ROM3:4562 CD 92 40         call 4092
ROM3:4565 CD DF 40         call 40DF
ROM3:4568 CD CA 5D         call 5DCA
ROM3:456B CD 14 45         call 4514
ROM3:456E CD 68 2A         call 2A68
ROM3:4571 CD B2 2A         call 2AB2
ROM3:4574 CD 77 2D         call 2D77
ROM3:4577 CF               rst  08
                  => 3F 01
ROM3:457A C9               ret

3:4CD8

ROM3:4CD8 F5               push af
ROM3:4CD9 C5               push bc
ROM3:4CDA CD FD 4B         call 4BFD
ROM3:4CDD CD F0 4C         call 4CF0
ROM3:4CE0 FE 00            cp   a,00
ROM3:4CE2 20 09            jr   nz,4CED
ROM3:4CE4 CD 08 20         call 2008         ;00s (C8D7) to (C8DC)
ROM3:4CE7 CD 4B 5F         call 5F4B
ROM3:4CEA CD 2C 61         call 612C
ROM3:4CED C1               pop  bc
ROM3:4CEE F1               pop  af
ROM3:4CEF C9               ret  

3:4CF0

ROM3:4CF0 C5               push bc
ROM3:4CF1 FE 00            cp   a,00
ROM3:4CF3 20 33            jr   nz,4D28
ROM3:4CF5 FA DD C7         ld   a,(C7DD)
ROM3:4CF8 4F               ld   c,a
ROM3:4CF9 FA DE C7         ld   a,(C7DE)
ROM3:4CFC 47               ld   b,a          ;bc = Current card and card status
ROM3:4CFD CD 66 7D         call 7D66
ROM3:4D00 0E 00            ld   c,00
ROM3:4D02 FE 01            cp   a,01
ROM3:4D04 20 09            jr   nz,4D0F
ROM3:4D06 3E 00            ld   a,00
ROM3:4D08 CF               rst  08
   2B 05               => (Bank 05)
ROM3:4D0B 0E 01            ld   c,01
ROM3:4D0D 18 18            jr   4D27
ROM3:4D0F FE 02            cp   a,02
ROM3:4D11 20 09            jr   nz,4D1C
ROM3:4D13 3E 01            ld   a,01
ROM3:4D15 CF               rst  08
   2B 05               => (Bank 05)
ROM3:4D18 0E 01            ld   c,01
ROM3:4D1A 18 0B            jr   4D27
ROM3:4D1C FE 03            cp   a,03
ROM3:4D1E 20 07            jr   nz,4D27
ROM3:4D20 3E 02            ld   a,02
ROM3:4D22 CF               rst  08
   2B 05               => (Bank 05)
ROM3:4D25 0E 01            ld   c,01
ROM3:4D27 79               ld   a,c
ROM3:4D28 C1               pop  bc
ROM3:4D29 C9               ret

Check if current_card_id is non-zero

  • 0xCEF5 - 0xCF13 - Returns 1 if card_id = 0, else returns 0
ROM3:4EF5 C5               push bc
ROM3:4EF6 D5               push de
ROM3:4EF7 1E 01            ld   e,01
ROM3:4EF9 CD 9D 19         call 199D            ;Update card column and row
ROM3:4EFC CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM3:4EFF FA DD C7         ld   a,(C7DD)
ROM3:4F02 4F               ld   c,a
ROM3:4F03 FA DE C7         ld   a,(C7DE)
ROM3:4F06 47               ld   b,a           ;bc = current_card_id
ROM3:4F07 CD 3F 1A         call 1A3F          ;Checks if bc ≠ 0
ROM3:4F0A FE 00            cp   a,00
ROM3:4F0C 20 02            jr   nz,4F10       ;if (bc == 0), jump to 3:4F10
ROM3:4F0E 1E 00            ld   e,00
ROM3:4F10 7B               ld   a,e
ROM3:4F11 D1               pop  de
ROM3:4F12 C1               pop  bc
ROM3:4F13 C9               ret  

3:510C

ROM3:510C C5               push bc
ROM3:510D 01 02 01         ld   bc,0102       ;Enemy Monster Zones, starting from first zone
ROM3:5110 CD F5 4E         call 4EF5          ;Check if current_card_id is non-zero
ROM3:5113 FE 01            cp   a,01
ROM3:5115 28 06            jr   z,511D        ;if (current_card_id == 0), exit this function
ROM3:5117 04               inc  b
ROM3:5118 78               ld   a,b
ROM3:5119 FE 06            cp   a,06
ROM3:511B 38 F3            jr   c,5110        ;if all the enemy Monster Zones have not been checked, loop to 3:5110
ROM3:511D 78               ld   a,b
ROM3:511E C1               pop  bc
ROM3:511F C9               ret

3:5120

ROM3:5120 C5               push bc
ROM3:5121 01 02 01         ld   bc,0102       ;Enemy Monster Zones, starting from first zone
ROM3:5124 CD F5 4E         call 4EF5
ROM3:5127 FE 01            cp   a,01
ROM3:5129 28 06            jr   z,5131
ROM3:512B 04               inc  b
ROM3:512C 78               ld   a,b
ROM3:512D FE 06            cp   a,06
ROM3:512F 38 F3            jr   c,5124
ROM3:5131 78               ld   a,b
ROM3:5132 FE 06            cp   a,06
ROM3:5134 20 02            jr   nz,5138
ROM3:5136 06 01            ld   b,01
ROM3:5138 78               ld   a,b
ROM3:5139 C1               pop  bc
ROM3:513A C9               ret  

3:513B

ROM3:513B C5               push bc
ROM3:513C 06 04            ld   b,04
ROM3:513E 0E 01            ld   c,01
ROM3:5140 CD F5 4E         call 4EF5
ROM3:5143 FE 00            cp   a,00
ROM3:5145 28 06            jr   z,514D
ROM3:5147 05               dec  b
ROM3:5148 78               ld   a,b
ROM3:5149 FE FF            cp   a,FF
ROM3:514B 20 F3            jr   nz,5140
ROM3:514D 78               ld   a,b
ROM3:514E FE FF            cp   a,FF
ROM3:5150 20 02            jr   nz,5154
ROM3:5152 06 04            ld   b,04
ROM3:5154 78               ld   a,b
ROM3:5155 C1               pop  bc
ROM3:5156 C9               ret  

3:5157

ROM3:5157 C5               push bc
ROM3:5158 D5               push de
ROM3:5159 57               ld   d,a
ROM3:515A 1E 01            ld   e,01
ROM3:515C CD F5 4E         call 4EF5
ROM3:515F FE 00            cp   a,00
ROM3:5161 20 13            jr   nz,5176
ROM3:5163 FA DD C7         ld   a,(C7DD)
ROM3:5166 4F               ld   c,a
ROM3:5167 FA DE C7         ld   a,(C7DE)
ROM3:516A 47               ld   b,a          ;bc = current_card_id
ROM3:516B CF               rst  08
                 => 03 07
ROM3:516E FA AB C6         ld   a,(C6AB)
ROM3:5171 BA               cp   d
ROM3:5172 20 02            jr   nz,5176
ROM3:5174 1E 00            ld   e,00
ROM3:5176 7B               ld   a,e
ROM3:5177 D1               pop  de
ROM3:5178 C1               pop  bc
ROM3:5179 C9               ret  

3:517A

ROM3:517A C5               push bc
ROM3:517B D5               push de
ROM3:517C 57               ld   d,a
ROM3:517D 1E 01            ld   e,01
ROM3:517F CD F5 4E         call 4EF5
ROM3:5182 FE 00            cp   a,00
ROM3:5184 20 13            jr   nz,5199
ROM3:5186 FA DD C7         ld   a,(C7DD)
ROM3:5189 4F               ld   c,a
ROM3:518A FA DE C7         ld   a,(C7DE)
ROM3:518D 47               ld   b,a
ROM3:518E CF               rst  08
                 => 03 07
ROM3:5191 FA AE C6         ld   a,(C6AE)
ROM3:5194 BA               cp   d
ROM3:5195 20 02            jr   nz,5199
ROM3:5197 1E 00            ld   e,00
ROM3:5199 7B               ld   a,e
ROM3:519A D1               pop  de
ROM3:519B C1               pop  bc
ROM3:519C C9               ret  

3:519D

ROM3:519D C5               push bc
ROM3:519E D5               push de
ROM3:519F 1E 01            ld   e,01
ROM3:51A1 CD F5 4E         call 4EF5
ROM3:51A4 FE 00            cp   a,00
ROM3:51A6 20 09            jr   nz,51B1
ROM3:51A8 CD EA 1E         call 1EEA
ROM3:51AB FE 00            cp   a,00
ROM3:51AD 20 02            jr   nz,51B1
ROM3:51AF 1E 00            ld   e,00
ROM3:51B1 7B               ld   a,e
ROM3:51B2 D1               pop  de
ROM3:51B3 C1               pop  bc
ROM3:51B4 C9               ret  

3:51B5

ROM3:51B5 01 02 01         ld   bc,0102
ROM3:51B8 CD F5 4E         call 4EF5
ROM3:51BB FE 00            cp   a,00
ROM3:51BD 28 06            jr   z,51C5
ROM3:51BF 04               inc  b
ROM3:51C0 78               ld   a,b
ROM3:51C1 FE 06            cp   a,06
ROM3:51C3 38 F3            jr   c,51B8
ROM3:51C5 78               ld   a,b
ROM3:51C6 FE 06            cp   a,06
ROM3:51C8 20 06            jr   nz,51D0
ROM3:51CA 06 01            ld   b,01
ROM3:51CC 3E 01            ld   a,01
ROM3:51CE 18 01            jr   51D1
ROM3:51D0 AF               xor  a
ROM3:51D1 C9               ret  

Check highest ATK enemy Monster

ROM3:51D2 D5               push de
ROM3:51D3 E5               push hl
ROM3:51D4 16 01            ld   d,01
ROM3:51D6 1E 00            ld   e,00
ROM3:51D8 21 00 00         ld   hl,0000
ROM3:51DB 01 01 00         ld   bc,0001
ROM3:51DE CD F5 4E         call 4EF5
ROM3:51E1 FE 00            cp   a,00
ROM3:51E3 20 23            jr   nz,5208
ROM3:51E5 C5               push bc
ROM3:51E6 D5               push de
ROM3:51E7 CF               rst  08
                 => 0B 07
ROM3:51EA 54               ld   d,h
ROM3:51EB 5D               ld   e,l
ROM3:51EC FA A7 C6         ld   a,(C6A7)      ;bc = Current ATK displayed
ROM3:51EF 4F               ld   c,a
ROM3:51F0 FA A8 C6         ld   a,(C6A8)
ROM3:51F3 47               ld   b,a
ROM3:51F4 CD 86 1A         call 1A86           ;Checks if less than, equal to, or greater than
ROM3:51F7 D1               pop  de
ROM3:51F8 C1               pop  bc
ROM3:51F9 FE 02            cp   a,02
ROM3:51FB 28 0B            jr   z,5208        ;If (current_ATK < biggest_ATK), jump to 3:5208
ROM3:51FD FA A7 C6         ld   a,(C6A7)
ROM3:5200 6F               ld   l,a
ROM3:5201 FA A8 C6         ld   a,(C6A8)      ;hl = Current ATK displayed
ROM3:5204 67               ld   h,a
ROM3:5205 58               ld   e,b
ROM3:5206 16 00            ld   d,00          ;de = biggest_ATK_monster_column
ROM3:5208 04               inc  b
ROM3:5209 78               ld   a,b
ROM3:520A FE 06            cp   a,06
ROM3:520C 38 D0            jr   c,51DE        ;loop on each enemy Monster zone
ROM3:520E 7A               ld   a,d
ROM3:520F 43               ld   b,e
ROM3:5210 E1               pop  hl
ROM3:5211 D1               pop  de
ROM3:5212 C9               ret

3:5213

ROM3:5213 C5               push bc
ROM3:5214 D5               push de
ROM3:5215 1E 01            ld   e,01
ROM3:5217 CD F5 4E         call 4EF5
ROM3:521A FE 00            cp   a,00
ROM3:521C 20 0C            jr   nz,522A
ROM3:521E CF               rst  08
ROM3:521F 0B               dec  bc
ROM3:5220 07               rlca 
ROM3:5221 FA AF C6         ld   a,(C6AF)
ROM3:5224 FE 02            cp   a,02
ROM3:5226 20 02            jr   nz,522A
ROM3:5228 1E 00            ld   e,00
ROM3:522A 7B               ld   a,e
ROM3:522B D1               pop  de
ROM3:522C C1               pop  bc
ROM3:522D C9               ret  

3:522E

ROM3:522E C5               push bc
ROM3:522F E5               push hl
ROM3:5230 2E 01            ld   l,01
ROM3:5232 CD 9D 19         call 199D            ;Update card column and row
ROM3:5235 CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM3:5238 FA DD C7         ld   a,(C7DD)
ROM3:523B 4F               ld   c,a
ROM3:523C FA DE C7         ld   a,(C7DE)
ROM3:523F 47               ld   b,a               ;bc = current_card_id
ROM3:5240 CD 77 1A         call 1A77
ROM3:5243 FE 00            cp   a,00
ROM3:5245 20 02            jr   nz,5249
ROM3:5247 2E 00            ld   l,00
ROM3:5249 7D               ld   a,l
ROM3:524A E1               pop  hl
ROM3:524B C1               pop  bc
ROM3:524C C9               ret  

3:524D

ROM3:524D E5               push hl
ROM3:524E 2E 01            ld   l,01
ROM3:5250 06 00            ld   b,00
ROM3:5252 78               ld   a,b
ROM3:5253 FE 06            cp   a,06
ROM3:5255 30 0D            jr   nc,5264
ROM3:5257 CD 2E 52         call 522E
ROM3:525A FE 00            cp   a,00
ROM3:525C 20 03            jr   nz,5261
ROM3:525E 6F               ld   l,a
ROM3:525F 18 03            jr   5264
ROM3:5261 04               inc  b
ROM3:5262 18 EE            jr   5252
ROM3:5264 7D               ld   a,l
ROM3:5265 E1               pop  hl
ROM3:5266 C9               ret  

3:5267

ROM3:5267 C5               push bc
ROM3:5268 D5               push de
ROM3:5269 E5               push hl
ROM3:526A 1E 00            ld   e,00
ROM3:526C FA DD C7         ld   a,(C7DD)
ROM3:526F 4F               ld   c,a
ROM3:5270 FA DE C7         ld   a,(C7DE)
ROM3:5273 47               ld   b,a               ;bc = current_card_id
ROM3:5274 CD 3F 1A         call 1A3F
ROM3:5277 FE 01            cp   a,01
ROM3:5279 28 20            jr   z,529B
ROM3:527B 21 AF 52         ld   hl,52AF
ROM3:527E CD 78 1F         call 1F78
ROM3:5281 FE 00            cp   a,00
ROM3:5283 20 03            jr   nz,5288
ROM3:5285 21 AB 52         ld   hl,52AB
ROM3:5288 CD A8 19         call 19A8
ROM3:528B 79               ld   a,c
ROM3:528C FE 00            cp   a,00
ROM3:528E 20 03            jr   nz,5293
ROM3:5290 21 AB 52         ld   hl,52AB
ROM3:5293 CD 68 1F         call 1F68
ROM3:5296 06 00            ld   b,00
ROM3:5298 4F               ld   c,a
ROM3:5299 09               add  hl,bc
ROM3:529A 5E               ld   e,(hl)
ROM3:529B CD B3 52         call 52B3
ROM3:529E FE 01            cp   a,01
ROM3:52A0 20 04            jr   nz,52A6
ROM3:52A2 7B               ld   a,e
ROM3:52A3 C6 14            add  a,14
ROM3:52A5 5F               ld   e,a
ROM3:52A6 7B               ld   a,e
ROM3:52A7 E1               pop  hl
ROM3:52A8 D1               pop  de
ROM3:52A9 C1               pop  bc
ROM3:52AA C9               ret  

3:5768 (00s wC7EC-wC7FF)

ROM3:5768 F5               push af
ROM3:5769 AF               xor  a
ROM3:576A EA ED C7         ld   (C7ED),a
ROM3:576D EA EE C7         ld   (C7EE),a
ROM3:5770 EA EF C7         ld   (C7EF),a
ROM3:5773 EA F0 C7         ld   (C7F0),a
ROM3:5776 EA F1 C7         ld   (C7F1),a
ROM3:5779 EA F2 C7         ld   (C7F2),a
ROM3:577C EA EC C7         ld   (C7EC),a
ROM3:577F EA FF C7         ld   (C7FF),a
ROM3:5782 EA F3 C7         ld   (C7F3),a
ROM3:5785 EA F4 C7         ld   (C7F4),a
ROM3:5788 EA F7 C7         ld   (C7F7),a
ROM3:578B EA F8 C7         ld   (C7F8),a
ROM3:578E EA FB C7         ld   (C7FB),a
ROM3:5791 EA FC C7         ld   (C7FC),a
ROM3:5794 EA F5 C7         ld   (C7F5),a
ROM3:5797 EA F6 C7         ld   (C7F6),a
ROM3:579A EA F9 C7         ld   (C7F9),a
ROM3:579D EA FA C7         ld   (C7FA),a
ROM3:57A0 EA FD C7         ld   (C7FD),a
ROM3:57A3 EA FE C7         ld   (C7FE),a
ROM3:57A6 F1               pop  af
ROM3:57A7 C9               ret

3:57A8 subroutine group (?)

3:57A8

ROM3:57A8 F5               push af
ROM3:57A9 C5               push bc
ROM3:57AA E5               push hl
ROM3:57AB 3E 00            ld   a,00
ROM3:57AD EA FF C7         ld   (C7FF),a
ROM3:57B0 06 00            ld   b,00
ROM3:57B2 FA EC C7         ld   a,(C7EC)
ROM3:57B5 4F               ld   c,a
ROM3:57B6 CB 21            sla  c
ROM3:57B8 21 D5 57         ld   hl,57D5
ROM3:57BB 09               add  hl,bc
ROM3:57BC 2A               ldi  a,(hl)
ROM3:57BD 66               ld   h,(hl)
ROM3:57BE 6F               ld   l,a
ROM3:57BF 01 C4 57         ld   bc,57C4
ROM3:57C2 C5               push bc
ROM3:57C3 E9               jp   hl
ROM3:57C4 FA EC C7         ld   a,(C7EC)
ROM3:57C7 FE 00            cp   a,00
ROM3:57C9 28 06            jr   z,57D1
ROM3:57CB CD CE 5A         call 5ACE
ROM3:57CE CD F5 5A         call 5AF5
ROM3:57D1 E1               pop  hl
ROM3:57D2 C1               pop  bc
ROM3:57D3 F1               pop  af
ROM3:57D4 C9               ret
Pointer array used by 3:57A8
  • 0xD7D5-0xD7EA - Pointer array for func_3:57A8
ROM3:57D5
EB 57 - Fail-safe (ret)
EC 57 - 
60 58 - 
BF 58 - 
1F 59 - 
C0 58 - 
40 59 - 
61 59 - 
71 59 - 
88 59 - 
9F 59 - 

Fail-safe (ret)

ROM3:57EB C9               ret

3:57EC subroutine group (?)

3:57EC
ROM3:57EC F5               push af
ROM3:57ED C5               push bc
ROM3:57EE D5               push de
ROM3:57EF E5               push hl
ROM3:57F0 CD EF 21         call 21EF
ROM3:57F3 CD FA 7B         call 7BFA
ROM3:57F6 FE 01            cp   a,01
ROM3:57F8 20 23            jr   nz,581D
ROM3:57FA FA F7 C7         ld   a,(C7F7)
ROM3:57FD 4F               ld   c,a
ROM3:57FE FA F8 C7         ld   a,(C7F8)
ROM3:5801 47               ld   b,a
ROM3:5802 FA F9 C7         ld   a,(C7F9)
ROM3:5805 5F               ld   e,a
ROM3:5806 FA FA C7         ld   a,(C7FA)
ROM3:5809 57               ld   d,a
ROM3:580A CD AF 59         call 59AF
ROM3:580D 16 00            ld   d,00
ROM3:580F CB 23            sla  e
ROM3:5811 21 22 58         ld   hl,5822
ROM3:5814 19               add  hl,de
ROM3:5815 2A               ldi  a,(hl)
ROM3:5816 66               ld   h,(hl)
ROM3:5817 6F               ld   l,a
ROM3:5818 11 1D 58         ld   de,581D
ROM3:581B D5               push de
ROM3:581C E9               jp   hl
ROM3:581D E1               pop  hl
ROM3:581E D1               pop  de
ROM3:581F C1               pop  bc
ROM3:5820 F1               pop  af
ROM3:5821 C9               ret
Pointer array used by 3:57EC
  • 0xD822-0xD827 - Pointer array for func_3:57EC
ROM3:5822
28 58 - 
3D 58 - 
4B 58 - 
3:5828
ROM3:5828 F5               push af
ROM3:5829 CD AD 5A         call 5AAD
ROM3:582C CD A1 5B         call 5BA1
ROM3:582F FE 02            cp   a,02
ROM3:5831 28 03            jr   z,5836
ROM3:5833 CD C3 5A         call 5AC3
ROM3:5836 3E 01            ld   a,01
ROM3:5838 CD F7 21         call 21F7
ROM3:583B F1               pop  af
ROM3:583C C9               ret
3:583D
ROM3:583D F5               push af
ROM3:583E CD A2 5A         call 5AA2
ROM3:5841 CD AD 5A         call 5AAD
ROM3:5844 3E 02            ld   a,02
ROM3:5846 CD F7 21         call 21F7
ROM3:5849 F1               pop  af
ROM3:584A C9               ret
3:584B
ROM3:584B F5               push af
ROM3:584C CD A2 5A         call 5AA2
ROM3:584F CD 80 5B         call 5B80
ROM3:5852 FE 02            cp   a,02
ROM3:5854 28 03            jr   z,5859
ROM3:5856 CD B8 5A         call 5AB8
ROM3:5859 3E 03            ld   a,03
ROM3:585B CD F7 21         call 21F7
ROM3:585E F1               pop  af
ROM3:585F C9               ret

3:5860

ROM3:5860 F5               push af
ROM3:5861 C5               push bc
ROM3:5862 D5               push de
ROM3:5863 CD EF 21         call 21EF
ROM3:5866 CD 23 7C         call 7C23
ROM3:5869 FE 01            cp   a,01
ROM3:586B 20 23            jr   nz,5890
ROM3:586D FA F7 C7         ld   a,(C7F7)
ROM3:5870 4F               ld   c,a
ROM3:5871 FA F8 C7         ld   a,(C7F8)
ROM3:5874 47               ld   b,a
ROM3:5875 FA FD C7         ld   a,(C7FD)
ROM3:5878 5F               ld   e,a
ROM3:5879 FA FE C7         ld   a,(C7FE)
ROM3:587C 57               ld   d,a
ROM3:587D CD AF 59         call 59AF
ROM3:5880 16 00            ld   d,00
ROM3:5882 CB 23            sla  e
ROM3:5884 21 94 58         ld   hl,5894
ROM3:5887 19               add  hl,de
ROM3:5888 2A               ldi  a,(hl)
ROM3:5889 66               ld   h,(hl)
ROM3:588A 6F               ld   l,a
ROM3:588B 11 90 58         ld   de,5890
ROM3:588E D5               push de
ROM3:588F E9               jp   hl
ROM3:5890 D1               pop  de
ROM3:5891 C1               pop  bc
ROM3:5892 F1               pop  af
ROM3:5893 C9               ret

3:5894

ROM3:5894 9A               sbc  d
ROM3:5895 58               ld   e,b
ROM3:5896 A5               and  l
ROM3:5897 58               ld   e,b
ROM3:5898 AD               xor  l
ROM3:5899 58               ld   e,b
ROM3:589A F5               push af
ROM3:589B CD AD 5A         call 5AAD
ROM3:589E 3E 04            ld   a,04
ROM3:58A0 CD F7 21         call 21F7
ROM3:58A3 F1               pop  af
ROM3:58A4 C9               ret

3:58A5

ROM3:58A5 F5               push af
ROM3:58A6 3E 05            ld   a,05
ROM3:58A8 CD F7 21         call 21F7
ROM3:58AB F1               pop  af
ROM3:58AC C9               ret

3:58AD

ROM3:58AD F5               push af
ROM3:58AE CD 80 5B         call 5B80
ROM3:58B1 FE 02            cp   a,02
ROM3:58B3 28 03            jr   z,58B8
ROM3:58B5 CD B8 5A         call 5AB8
ROM3:58B8 3E 06            ld   a,06
ROM3:58BA CD F7 21         call 21F7
ROM3:58BD F1               pop  af
ROM3:58BE C9               ret

Fail-safe (ret)

ROM3:58BF C9               ret

3:59CE (Set wC7EC)

ROM3:59CE EA EC C7         ld   (C7EC),a
ROM3:59D1 C9               ret

3:5A2C (copy wC5B8-wC5B9 to wC7F3-wC7F4,wC8DF-wC8E0)

ROM3:5A2C F5               push af
ROM3:5A2D FA B8 C5         ld   a,(C5B8)
ROM3:5A30 EA F3 C7         ld   (C7F3),a
ROM3:5A33 EA DF C8         ld   (C8DF),a
ROM3:5A36 FA B9 C5         ld   a,(C5B9)
ROM3:5A39 EA F4 C7         ld   (C7F4),a
ROM3:5A3C EA E0 C8         ld   (C8E0),a
ROM3:5A3F F1               pop  af
ROM3:5A40 C9               ret

3:5A41 (copy wC5BB-wC5BC to wC7F5-wC7F6,wC8EA-wC8EB)

ROM3:5A41 F5               push af
ROM3:5A42 FA BB C5         ld   a,(C5BB)
ROM3:5A45 EA F5 C7         ld   (C7F5),a
ROM3:5A48 EA EA C8         ld   (C8EA),a
ROM3:5A4B FA BC C5         ld   a,(C5BC)
ROM3:5A4E EA F6 C7         ld   (C7F6),a
ROM3:5A51 EA EB C8         ld   (C8EB),a
ROM3:5A54 F1               pop  af
ROM3:5A55 C9               ret

3:5A7C (rst 08 to ?, and copy wC6A7-wC6AA and wC6AE to wC7F2-wC7FE area)

ROM3:5A7C F5               push af
ROM3:5A7D C5               push bc
ROM3:5A7E CF               rst  08
                 => 0B 07
ROM3:5A81 FA A7 C6         ld   a,(C6A7)
ROM3:5A84 EA F9 C7         ld   (C7F9),a
ROM3:5A87 FA A8 C6         ld   a,(C6A8)
ROM3:5A8A EA FA C7         ld   (C7FA),a
ROM3:5A8D FA A9 C6         ld   a,(C6A9)
ROM3:5A90 EA FD C7         ld   (C7FD),a
ROM3:5A93 FA AA C6         ld   a,(C6AA)
ROM3:5A96 EA FE C7         ld   (C7FE),a
ROM3:5A99 FA AE C6         ld   a,(C6AE)
ROM3:5A9C EA F2 C7         ld   (C7F2),a
ROM3:5A9F C1               pop  bc
ROM3:5AA0 F1               pop  af
ROM3:5AA1 C9               ret

wC7FF ORing

3:5AA2 (wC7FF || 1)

ROM3:5AA2 F5               push af
ROM3:5AA3 FA FF C7         ld   a,(C7FF)
ROM3:5AA6 F6 01            or   a,01
ROM3:5AA8 EA FF C7         ld   (C7FF),a
ROM3:5AAB F1               pop  af
ROM3:5AAC C9               ret

3:5AAD (wC7FF || 2)

ROM3:5AAD F5               push af
ROM3:5AAE FA FF C7         ld   a,(C7FF)
ROM3:5AB1 F6 02            or   a,02
ROM3:5AB3 EA FF C7         ld   (C7FF),a
ROM3:5AB6 F1               pop  af
ROM3:5AB7 C9               ret

3:5AB8 (wC7FF || 4)

ROM3:5AB8 F5               push af
ROM3:5AB9 FA FF C7         ld   a,(C7FF)
ROM3:5ABC F6 04            or   a,04
ROM3:5ABE EA FF C7         ld   (C7FF),a
ROM3:5AC1 F1               pop  af
ROM3:5AC2 C9               ret

3:5AC3 (wC7FF || 8)

ROM3:5AC3 F5               push af
ROM3:5AC4 FA FF C7         ld   a,(C7FF)
ROM3:5AC7 F6 08            or   a,08
ROM3:5AC9 EA FF C7         ld   (C7FF),a
ROM3:5ACC F1               pop  af
ROM3:5ACD C9               ret

3:5BC2

ROM3:5BC2 F5               push af
ROM3:5BC3 3E 00            ld   a,00
ROM3:5BC5 CD CE 59         call 59CE
ROM3:5BC8 CD 2C 5A         call 5A2C
ROM3:5BCB CD 41 5A         call 5A41
ROM3:5BCE F1               pop  af
ROM3:5BCF C9               ret

3:5D7B

ROM3:5D7B CD A8 57         call 57A8
ROM3:5D7E CD 85 5D         call 5D85
ROM3:5D81 CD 68 41         call 4168
ROM3:5D84 C9               ret

3:5ED0

ROM3:5ED0 F5               push af
ROM3:5ED1 C5               push bc
ROM3:5ED2 FA 3A C7         ld   a,(C73A)
ROM3:5ED5 47               ld   b,a
ROM3:5ED6 0E 03            ld   c,03
ROM3:5ED8 CD 9D 19         call 199D            ;Update card column and row
ROM3:5EDB CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM3:5EDE 01 03 00         ld   bc,0003
ROM3:5EE1 CD 9D 19         call 199D            ;Update card column and row
ROM3:5EE4 CD 4E 1F         call 1F4E
ROM3:5EE7 CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
ROM3:5EEA FA 3A C7         ld   a,(C73A)
ROM3:5EED 47               ld   b,a
ROM3:5EEE 0E 03            ld   c,03
ROM3:5EF0 CD 9D 19         call 199D            ;Update card column and row
ROM3:5EF3 CD B3 19         call 19B3            ;00s card_id and set card_status to 0x10 in current_card_zone
ROM3:5EF6 C1               pop  bc
ROM3:5EF7 F1               pop  af
ROM3:5EF8 C9               ret

3:5EF9

ROM3:5EF9 F5               push af
ROM3:5EFA C5               push bc
ROM3:5EFB 01 03 00         ld   bc,0003
ROM3:5EFE CD 9D 19         call 199D            ;Update card column and row
ROM3:5F01 CD B3 19         call 19B3            ;00s card_id and set card_status to 0x10 in current_card_zone
ROM3:5F04 C1               pop  bc
ROM3:5F05 F1               pop  af
ROM3:5F06 C9               ret  

3:5F07

ROM3:5F07 F5               push af
ROM3:5F08 C5               push bc
ROM3:5F09 01 00 05         ld   bc,0500
ROM3:5F0C CD 9D 19         call 199D            ;Update card column and row
ROM3:5F0F CD B3 19         call 19B3            ;00s card_id and set card_status to 0x10 in current_card_zone
ROM3:5F12 C1               pop  bc
ROM3:5F13 F1               pop  af
ROM3:5F14 C9               ret  

3:5F15

ROM3:5F15 F5               push af
ROM3:5F16 C5               push bc
ROM3:5F17 FA 3A C7         ld   a,(C73A)
ROM3:5F1A 47               ld   b,a
ROM3:5F1B FA 3B C7         ld   a,(C73B)
ROM3:5F1E 4F               ld   c,a
ROM3:5F1F CD 9D 19         call 199D            ;Update card column and row
ROM3:5F22 FA DB C8         ld   a,(C8DB)
ROM3:5F25 EA DD C7         ld   (C7DD),a
ROM3:5F28 FA DC C8         ld   a,(C8DC)
ROM3:5F2B EA DE C7         ld   (C7DE),a
ROM3:5F2E CD 4E 1F         call 1F4E
ROM3:5F31 CD 08 1F         call 1F08
ROM3:5F34 CD 3C 50         call 503C
ROM3:5F37 CD F8 19         call 19F8
ROM3:5F3A FA 3C C7         ld   a,(C73C)
ROM3:5F3D 47               ld   b,a
ROM3:5F3E FA 3D C7         ld   a,(C73D)
ROM3:5F41 4F               ld   c,a
ROM3:5F42 CD 9D 19         call 199D            ;Update card column and row
ROM3:5F45 CD B3 19         call 19B3            ;00s card_id and set card_status to 0x10 in current_card_zone
ROM3:5F48 C1               pop  bc
ROM3:5F49 F1               pop  af
ROM3:5F4A C9               ret  

3:5F4B

ROM3:5F4B F5               push af
ROM3:5F4C CD 64 5F         call 5F64
ROM3:5F4F CD 86 79         call 7986
ROM3:5F52 F1               pop  af
ROM3:5F53 C9               ret  

3:5F54

ROM3:5F54 F5               push af
ROM3:5F55 C5               push bc
ROM3:5F56 E5               push hl
ROM3:5F57 CD 3A 4D         call 4D3A
ROM3:5F5A CD 90 5F         call 5F90
ROM3:5F5D CD 86 79         call 7986
ROM3:5F60 E1               pop  hl
ROM3:5F61 C1               pop  bc
ROM3:5F62 F1               pop  af
ROM3:5F63 C9               ret  

3:5F64

ROM3:5F64 C5               push bc
ROM3:5F65 D5               push de
ROM3:5F66 E5               push hl
ROM3:5F67 FA 3A C7         ld   a,(C73A)
ROM3:5F6A 47               ld   b,a
ROM3:5F6B 0E 03            ld   c,03
ROM3:5F6D CF               rst  08
                 => 0B 0A
ROM3:5F70 CD 9D 19         call 199D            ;Update card column and row
ROM3:5F73 CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM3:5F76 FA DD C7         ld   a,(C7DD)
ROM3:5F79 4F               ld   c,a
ROM3:5F7A FA DE C7         ld   a,(C7DE)
ROM3:5F7D 47               ld   b,a               ;bc = current_card_id
ROM3:5F7E CF               rst  08
                 => 0B 07
ROM3:5F81 06 00            ld   b,00
ROM3:5F83 FA AF C6         ld   a,(C6AF)          ;Card Effect ID (Magic Ritual Trap)
ROM3:5F86 4F               ld   c,a
ROM3:5F87 21 D5 5F         ld   hl,5FD5
ROM3:5F8A 09               add  hl,bc
ROM3:5F8B 7E               ld   a,(hl)
ROM3:5F8C E1               pop  hl
ROM3:5F8D D1               pop  de
ROM3:5F8E C1               pop  bc
ROM3:5F8F C9               ret  

3:5F90

ROM3:5F90 C5               push bc
ROM3:5F91 D5               push de
ROM3:5F92 E5               push hl
ROM3:5F93 FA 3C C7         ld   a,(C73C)
ROM3:5F96 47               ld   b,a
ROM3:5F97 FA 3D C7         ld   a,(C73D)
ROM3:5F9A 4F               ld   c,a
ROM3:5F9B CF               rst  08
ROM3:5F9C 0B               dec  bc
ROM3:5F9D 0A               ld   a,(bc)
ROM3:5F9E CF               rst  08
ROM3:5F9F 0B               dec  bc
ROM3:5FA0 07               rlca 
ROM3:5FA1 06 00            ld   b,00
ROM3:5FA3 FA AF C6         ld   a,(C6AF)          ;Card Effect ID (Magic Ritual Trap)
ROM3:5FA6 4F               ld   c,a
ROM3:5FA7 21 53 60         ld   hl,6053
ROM3:5FAA 09               add  hl,bc
ROM3:5FAB 7E               ld   a,(hl)
ROM3:5FAC E1               pop  hl
ROM3:5FAD D1               pop  de
ROM3:5FAE C1               pop  bc
ROM3:5FAF C9               ret  

Removes a card from Player's Hand

ROM3:5FB0 F5               push af
ROM3:5FB1 C5               push bc
ROM3:5FB2 FA 3A C7         ld   a,(C73A)
ROM3:5FB5 47               ld   b,a
ROM3:5FB6 0E 03            ld   c,03
ROM3:5FB8 CD 9D 19         call 199D            ;Update card column and row
ROM3:5FBB CD B3 19         call 19B3            ;00s card_id and set card_status to 0x10 in current_card_zone
ROM3:5FBE CF               rst  08
ROM3:5FBF 4F               ld   c,a
ROM3:5FC0 01 C1 F1         ld   bc,F1C1
ROM3:5FC3 C9               ret

Player's card effects

No effect (ret)

ROM3:61CC C9               ret  

3:61CD

ROM3:61CD C5               push bc
ROM3:61CE CD 44 28         call 2844
ROM3:61D1 CF               rst  08
                 => 51 01
ROM3:61D4 C1               pop bc
ROM3:61D5 C9               ret

3:61D6

ROM3:61D6 CD 44 28         call 2844
ROM3:61D9 CF               rst  08
                 => 51 01
ROM3:61DC C1               pop bc
ROM3:61DD C9               ret

3:61DD

ROM3:61DD CD 54 7D         call 7D54
ROM3:61E0 3E 02            ld   a,02
ROM3:61E2 EA AC C8         ld   (C8AC),a
ROM3:61E5 3E 01            ld   a,01
ROM3:61E7 EA FC C8         ld   (C8FC),a
ROM3:61EA FA D7 C8         ld   a,(C8D7)
ROM3:61ED EA F6 C8         ld   (C8F6),a
ROM3:61F0 FA D8 C8         ld   a,(C8D8)
ROM3:61F3 EA F7 C8         ld   (C8F7),a
ROM3:61F6 FA D9 C8         ld   a,(C8D9)
ROM3:61F9 EA F8 C8         ld   (C8F8),a
ROM3:61FC FA DA C8         ld   a,(C8DA)
ROM3:61FF EA F9 C8         ld   (C8F9),a
ROM3:6202 FA DB C8         ld   a,(C8DB)
ROM3:6205 EA FA C8         ld   (C8FA),a
ROM3:6208 FA DC C8         ld   a,(C8DC)
ROM3:620B EA FB C8         ld   (C8FB),a
ROM3:620E CF               rst  08
                 => 07 06
ROM3:6210 CD 15 5F         call 5F15
ROM3:6214 C9               ret  

Summon Monster card from hand

ROM3:6215 F5               push af
ROM3:6216 CD 6E 20         call 206E          ;Fusion subroutine
ROM3:6219 FE 00            cp   a,00
ROM3:621B 20 05            jr   nz,6222       ;If the Fusion failed, jump to 3:6222
ROM3:621D CD DD 61         call 61DD          ;SE: Failed Fusion
ROM3:6220 18 0F            jr   6231
ROM3:6222 CD 54 28         call 2854
ROM3:6225 CD 6F 5E         call 5E6F
ROM3:6228 CD 54 7D         call 7D54
ROM3:622B CD D1 7B         call 7BD1
ROM3:622E CD ED 7B         call 7BED
ROM3:6231 F1               pop  af
ROM3:6232 C9               ret  

Field Spell

Forest
ROM3:6233 F5               push af
ROM3:6234 CD 38 41         call 4138
ROM3:6237 CD B0 5F         call 5FB0
ROM3:623A CD 68 41         call 4168
ROM3:623D 3E 1D            ld   a,1D
ROM3:623F CF               rst  08
ROM3:6240 0B               dec  bc
ROM3:6241 06 F1            ld   b,F1
ROM3:6243 C9               ret  
Wasteland
ROM3:6244 F5               push af
ROM3:6245 CD 40 41         call 4140
ROM3:6248 CD B0 5F         call 5FB0
ROM3:624B CD 68 41         call 4168
ROM3:624E 3E 1E            ld   a,1E
ROM3:6250 CF               rst  08
                 => 0B 06
ROM3:6253 F1               pop  af
ROM3:6254 C9               ret  
Mountain
ROM3:6255 F5               push af
ROM3:6256 CD 48 41         call 4148
ROM3:6259 CD B0 5F         call 5FB0
ROM3:625C CD 68 41         call 4168
ROM3:625F 3E 1F            ld   a,1F
ROM3:6261 CF               rst  08
                 => 0B 06
ROM3:6264 F1               pop  af
ROM3:6265 C9               ret  
Sogen
ROM3:6266 F5               push af
ROM3:6267 CD 50 41         call 4150
ROM3:626A CD B0 5F         call 5FB0
ROM3:626D CD 68 41         call 4168
ROM3:6270 3E 20            ld   a,20
ROM3:6272 CF               rst  08
                 => 0B 06
ROM3:6275 F1               pop  af
ROM3:6276 C9               ret  
Umi
ROM3:6277 F5               push af
ROM3:6278 CD 58 41         call 4158
ROM3:627B CD B0 5F         call 5FB0
ROM3:627E CD 68 41         call 4168
ROM3:6281 3E 21            ld   a,21
ROM3:6283 CF               rst  08
                 => 0B 06
ROM3:6286 F1               pop  af
ROM3:6287 C9               ret  
Yami
ROM3:6288 F5               push af
ROM3:6289 CD 60 41         call 4160
ROM3:628C CD B0 5F         call 5FB0
ROM3:628F CD 68 41         call 4168
ROM3:6292 3E 22            ld   a,22
ROM3:6294 CF               rst  08
                 => 0B 06
ROM3:6297 F1               pop  af
ROM3:6298 C9               ret  

Healing Spell

Mooyan Curry
ROM3:6299 F5               push af
ROM3:629A C5               push bc
ROM3:629B CD C2 5B         call 5BC2
ROM3:629E 01 00 02         ld   bc,0200          ;200 LPs
ROM3:62A1 CF               rst  08
                 => 0D 0A
ROM3:62A4 FE 00            cp   a,00
ROM3:62A6 20 10            jr   nz,62B8
ROM3:62A8 CD A8 5C         call 5CA8
ROM3:62AB CD B0 5F         call 5FB0
ROM3:62AE CD 7B 5D         call 5D7B
ROM3:62B1 3E 25            ld   a,25
ROM3:62B3 CF               rst  08
ROM3:62B4 0B               dec  bc
ROM3:62B5 06 18            ld   b,18
ROM3:62B7 0C               inc  c
ROM3:62B8 CF               rst  08
ROM3:62B9 0F               rrca 
ROM3:62BA 0A               ld   a,(bc)
ROM3:62BB CD B0 5F         call 5FB0
ROM3:62BE CD 7B 5D         call 5D7B
ROM3:62C1 CF               rst  08
ROM3:62C2 07               rlca 
ROM3:62C3 06 C1            ld   b,C1
ROM3:62C5 F1               pop  af
ROM3:62C6 C9               ret  
Red Medicine
ROM3:62C7 F5               push af
ROM3:62C8 C5               push bc
ROM3:62C9 CD C2 5B         call 5BC2
ROM3:62CC 01 00 05         ld   bc,0500          ;500 LPs
ROM3:62CF CF               rst  08
                 => 0D 0A
ROM3:62D2 FE 00            cp   a,00
ROM3:62D4 20 10            jr   nz,62E6
ROM3:62D6 CD A8 5C         call 5CA8
ROM3:62D9 CD B0 5F         call 5FB0
ROM3:62DC CD 7B 5D         call 5D7B
ROM3:62DF 3E 26            ld   a,26
ROM3:62E1 CF               rst  08
ROM3:62E2 0B               dec  bc
ROM3:62E3 06 18            ld   b,18
ROM3:62E5 0C               inc  c
ROM3:62E6 CF               rst  08
ROM3:62E7 0F               rrca 
ROM3:62E8 0A               ld   a,(bc)
ROM3:62E9 CD B0 5F         call 5FB0
ROM3:62EC CD 7B 5D         call 5D7B
ROM3:62EF CF               rst  08
ROM3:62F0 07               rlca 
ROM3:62F1 06 C1            ld   b,C1
ROM3:62F3 F1               pop  af
ROM3:62F4 C9               ret  
Goblin's Secret Remedy
ROM3:62F5 F5               push af
ROM3:62F6 C5               push bc
ROM3:62F7 CD C2 5B         call 5BC2
ROM3:62FA 01 00 10         ld   bc,1000          ;1000 LPs
ROM3:62FD CF               rst  08
                 => 0D 0A
ROM3:6300 FE 00            cp   a,00
ROM3:6302 20 10            jr   nz,6314
ROM3:6304 CD A8 5C         call 5CA8
ROM3:6307 CD B0 5F         call 5FB0
ROM3:630A CD 7B 5D         call 5D7B
ROM3:630D 3E 27            ld   a,27
ROM3:630F CF               rst  08
                 => 0B 06
ROM3:6312 18 0C            jr   631F
ROM3:6314 CF               rst  08
                 => 0F 0A
ROM3:6317 CD B0 5F         call 5FB0
ROM3:631A CD 7B 5D         call 5D7B
ROM3:631D CF               rst  08
                  => 07 06
ROM3:631F C1               pop  bc
ROM3:6321 F1               pop  af
ROM3:6322 C9               ret
Soul of the Pure
ROM3:6323 F5               push af
ROM3:6324 C5               push bc
ROM3:6325 CD C2 5B         call 5BC2
ROM3:6328 01 00 20         ld   bc,2000          ;2000 LPs
ROM3:632B CF               rst  08
                 => 0D 0A
ROM3:632E FE 00            cp   a,00
ROM3:6330 20 10            jr   nz,6342
ROM3:6332 CD A8 5C         call 5CA8
ROM3:6335 CD B0 5F         call 5FB0
ROM3:6338 CD 7B 5D         call 5D7B
ROM3:633B 3E 28            ld   a,28
ROM3:633D CF               rst  08
ROM3:633E 0B               dec  bc
ROM3:633F 06 18            ld   b,18
ROM3:6341 0C               inc  c
ROM3:6342 CF               rst  08
ROM3:6343 0F               rrca 
ROM3:6344 0A               ld   a,(bc)
ROM3:6345 CD B0 5F         call 5FB0
ROM3:6348 CD 7B 5D         call 5D7B
ROM3:634B CF               rst  08
ROM3:634C 07               rlca 
ROM3:634D 06 C1            ld   b,C1
ROM3:634F F1               pop  af
ROM3:6350 C9               ret  
Dian Keto the Cure Master
ROM3:6351 F5               push af
ROM3:6352 C5               push bc
ROM3:6353 CD C2 5B         call 5BC2
ROM3:6356 01 00 50         ld   bc,5000          ;5000 LPs
ROM3:6359 CF               rst  08
                 => 0D 0A
ROM3:635C FE 00            cp   a,00
ROM3:635E 20 10            jr   nz,6370
ROM3:6360 CD A8 5C         call 5CA8
ROM3:6363 CD B0 5F         call 5FB0
ROM3:6366 CD 7B 5D         call 5D7B
ROM3:6369 3E 29            ld   a,29
ROM3:636B CF               rst  08
ROM3:636C 0B               dec  bc
ROM3:636D 06 18            ld   b,18
ROM3:636F 0C               inc  c
ROM3:6370 CF               rst  08
ROM3:6371 0F               rrca 
ROM3:6372 0A               ld   a,(bc)
ROM3:6373 CD B0 5F         call 5FB0
ROM3:6376 CD 7B 5D         call 5D7B
ROM3:6379 CF               rst  08
ROM3:637A 07               rlca 
ROM3:637B 06 C1            ld   b,C1
ROM3:637D F1               pop  af
ROM3:637E C9               ret  


Damage Spell

Sparks
ROM3:637F F5               push af
ROM3:6380 C5               push bc
ROM3:6381 CD C2 5B         call 5BC2
ROM3:6384 01 50 00         ld   bc,0050          ;50 Damage
ROM3:6387 CF               rst  08
                 => 0D 0A
ROM3:638A FE 00            cp   a,00
ROM3:638C 20 10            jr   nz,639E
ROM3:638E CD D8 5C         call 5CD8
ROM3:6391 CD B0 5F         call 5FB0
ROM3:6394 CD 7B 5D         call 5D7B
ROM3:6397 3E 2A            ld   a,2A
ROM3:6399 CF               rst  08
ROM3:639A 0B               dec  bc
ROM3:639B 06 18            ld   b,18
ROM3:639D 0C               inc  c
ROM3:639E CF               rst  08
ROM3:639F 0F               rrca 
ROM3:63A0 0A               ld   a,(bc)
ROM3:63A1 CD B0 5F         call 5FB0
ROM3:63A4 CD 7B 5D         call 5D7B
ROM3:63A7 CF               rst  08
ROM3:63A8 07               rlca 
ROM3:63A9 06 C1            ld   b,C1
ROM3:63AB F1               pop  af
ROM3:63AC C9               ret  
Hinotama
ROM3:63AD F5               push af
ROM3:63AE C5               push bc
ROM3:63AF D5               push de
ROM3:63B0 CD C2 5B         call 5BC2
ROM3:63B3 01 00 01         ld   bc,0100          ;100 Damage
ROM3:63B6 CF               rst  08
                 => 0D 0A
ROM3:63B9 FE 00            cp   a,00
ROM3:63BB 20 10            jr   nz,63CD
ROM3:63BD CD D8 5C         call 5CD8
ROM3:63C0 CD B0 5F         call 5FB0
ROM3:63C3 CD 7B 5D         call 5D7B
ROM3:63C6 3E 2B            ld   a,2B
ROM3:63C8 CF               rst  08
ROM3:63C9 0B               dec  bc
ROM3:63CA 06 18            ld   b,18
ROM3:63CC 0C               inc  c
ROM3:63CD CF               rst  08
ROM3:63CE 0F               rrca 
ROM3:63CF 0A               ld   a,(bc)
ROM3:63D0 CD B0 5F         call 5FB0
ROM3:63D3 CD 7B 5D         call 5D7B
ROM3:63D6 CF               rst  08
ROM3:63D7 07               rlca 
ROM3:63D8 06 D1            ld   b,D1
ROM3:63DA C1               pop  bc
ROM3:63DB F1               pop  af
ROM3:63DC C9               ret  
Final Flame
ROM3:63DD F5               push af
ROM3:63DE C5               push bc
ROM3:63DF D5               push de
ROM3:63E0 CD C2 5B         call 5BC2
ROM3:63E3 01 00 02         ld   bc,0200          ;200 Damage
ROM3:63E6 CF               rst  08
ROM3:63E7 0D               dec  c
ROM3:63E8 0A               ld   a,(bc)
ROM3:63E9 FE 00            cp   a,00
ROM3:63EB 20 10            jr   nz,63FD
ROM3:63ED CD D8 5C         call 5CD8
ROM3:63F0 CD B0 5F         call 5FB0
ROM3:63F3 CD 7B 5D         call 5D7B
ROM3:63F6 3E 2C            ld   a,2C
ROM3:63F8 CF               rst  08
ROM3:63F9 0B               dec  bc
ROM3:63FA 06 18            ld   b,18
ROM3:63FC 0C               inc  c
ROM3:63FD CF               rst  08
ROM3:63FE 0F               rrca 
ROM3:63FF 0A               ld   a,(bc)
ROM3:6400 CD B0 5F         call 5FB0
ROM3:6403 CD 7B 5D         call 5D7B
ROM3:6406 CF               rst  08
ROM3:6407 07               rlca 
ROM3:6408 06 D1            ld   b,D1
ROM3:640A C1               pop  bc
ROM3:640B F1               pop  af
ROM3:640C C9               ret  
Ookazi
ROM3:640D F5               push af
ROM3:640E C5               push bc
ROM3:640F D5               push de
ROM3:6410 CD C2 5B         call 5BC2
ROM3:6413 01 00 05         ld   bc,0500          ;500 Damage
ROM3:6416 CF               rst  08
                 => 0D 0A
ROM3:6419 FE 00            cp   a,00
ROM3:641B 20 10            jr   nz,642D
ROM3:641D CD D8 5C         call 5CD8
ROM3:6420 CD B0 5F         call 5FB0
ROM3:6423 CD 7B 5D         call 5D7B
ROM3:6426 3E 2D            ld   a,2D
ROM3:6428 CF               rst  08
ROM3:6429 0B               dec  bc
ROM3:642A 06 18            ld   b,18
ROM3:642C 0C               inc  c
ROM3:642D CF               rst  08
ROM3:642E 0F               rrca 
ROM3:642F 0A               ld   a,(bc)
ROM3:6430 CD B0 5F         call 5FB0
ROM3:6433 CD 7B 5D         call 5D7B
ROM3:6436 CF               rst  08
ROM3:6437 07               rlca 
ROM3:6438 06 D1            ld   b,D1
ROM3:643A C1               pop  bc
ROM3:643B F1               pop  af
ROM3:643C C9               ret  
Tremendous Fire
ROM3:643D F5               push af
ROM3:643E C5               push bc
ROM3:643F D5               push de
ROM3:6440 CD C2 5B         call 5BC2
ROM3:6443 01 00 10         ld   bc,1000          ;1000 Damage
ROM3:6446 CF               rst  08
                 => 0D 0A
ROM3:6449 FE 00            cp   a,00
ROM3:644B 20 10            jr   nz,645D
ROM3:644D CD D8 5C         call 5CD8
ROM3:6450 CD B0 5F         call 5FB0
ROM3:6453 CD 7B 5D         call 5D7B
ROM3:6456 3E 2E            ld   a,2E
ROM3:6458 CF               rst  08
ROM3:6459 0B               dec  bc
ROM3:645A 06 18            ld   b,18
ROM3:645C 0C               inc  c
ROM3:645D CF               rst  08
ROM3:645E 0F               rrca 
ROM3:645F 0A               ld   a,(bc)
ROM3:6460 CD B0 5F         call 5FB0
ROM3:6463 CD 7B 5D         call 5D7B
ROM3:6466 CF               rst  08
ROM3:6467 07               rlca 
ROM3:6468 06 D1            ld   b,D1
ROM3:646A C1               pop  bc
ROM3:646B F1               pop  af
ROM3:646C C9               ret  

Dark Hole

ROM3:646D F5               push af
ROM3:646E C5               push bc
ROM3:646F D5               push de
ROM3:6470 E5               push hl
ROM3:6471 01 01 00         ld   bc,0001
ROM3:6474 78               ld   a,b
ROM3:6475 FE 05            cp   a,05
ROM3:6477 30 06            jr   nc,647F
ROM3:6479 CD AF 1F         call 1FAF
ROM3:647C 04               inc  b
ROM3:647D 18 F5            jr   6474
ROM3:647F 01 02 01         ld   bc,0102
ROM3:6482 78               ld   a,b
ROM3:6483 FE 06            cp   a,06
ROM3:6485 30 06            jr   nc,648D
ROM3:6487 CD 96 1F         call 1F96
ROM3:648A 04               inc  b
ROM3:648B 18 F5            jr   6482
ROM3:648D CD B0 5F         call 5FB0
ROM3:6490 CD 9C 28         call 289C
ROM3:6493 CD 68 41         call 4168
ROM3:6496 3E 23            ld   a,23
ROM3:6498 CF               rst  08
ROM3:6499 0B               dec  bc
ROM3:649A 06 E1            ld   b,E1
ROM3:649C D1               pop  de
ROM3:649D C1               pop  bc
ROM3:649E F1               pop  af
ROM3:649F C9               ret  

Raigeki

  • 0xE4A0-0xE4E0 - Raigeki handling
ROM3:64A0 F5               push af
ROM3:64A1 C5               push bc
ROM3:64A2 D5               push de
ROM3:64A3 E5               push hl
ROM3:64A4 CD C2 5B         call 5BC2
ROM3:64A7 CF               rst  08
         => 0D 0A
ROM3:64AA FE 00            cp   a,00
ROM3:64AC 20 1F            jr   nz,64CD
ROM3:64AE 0E 01            ld   c,01
ROM3:64B0 06 00            ld   b,00
ROM3:64B2 78               ld   a,b
ROM3:64B3 FE 05            cp   a,05
ROM3:64B5 30 06            jr   nc,64BD
ROM3:64B7 CD AF 1F         call 1FAF		;Remove selected card from the field
ROM3:64BA 04               inc  b
ROM3:64BB 18 F5            jr   64B2		;Loop 5 times
ROM3:64BD CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:64C0 CD 9C 28         call 289C		;Sound Effect, will have to see if it has been fixed from DM3 where the Sound Effect 0x1B was removed
ROM3:64C3 CD 68 41         call 4168
ROM3:64C6 3E 24            ld   a,24
ROM3:64C8 CF               rst  08
ROM3:64C9 0B 06       => Pointer 06:400B (loads Sound Effect and Text 0x24)
ROM3:64CB 18 0F            jr   64DD		;Get out of this function
ROM3:64CD CF               rst  08
                      => 0F 0A
ROM3:64D0 CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:64D3 CD 84 28         call 2884		;Sound Effect, will have to see if it has been fixed from DM3 where the Sound Effect 0x20 was removed
ROM3:64D6 CD 7B 5D         call 5D7B
ROM3:64D9 CF               rst  08
                      => 07 06
ROM3:64DC E1               pop  hl
ROM3:64DD D1               pop  de
ROM3:64DE C1               pop  bc
ROM3:64DF F1               pop  af
ROM3:64E0 C9               ret

Equip Spells 1

Legendary Sword
ROM3:64E1 F5               push af
ROM3:64E2 C5               push bc
ROM3:64E3 D5               push de
ROM3:64E4 FA D7 C8         ld   a,(C8D7)
ROM3:64E7 4F               ld   c,a
ROM3:64E8 FA D8 C8         ld   a,(C8D8)
ROM3:64EB 47               ld   b,a          ;bc = card_id
ROM3:64EC 16 00            ld   d,00
ROM3:64EE CF               rst  08
                 => 0D 08
ROM3:64F1 FE 01            cp   a,01
ROM3:64F3 20 26            jr   nz,651B
ROM3:64F5 CF               rst  08
                 => 0D 0A
ROM3:64F8 FE 00            cp   a,00
ROM3:64FA 20 16            jr   nz,6512
ROM3:64FC FA 3A C7         ld   a,(C73A)
ROM3:64FF 47               ld   b,a
ROM3:6500 FA 3B C7         ld   a,(C73B)
ROM3:6503 4F               ld   c,a
ROM3:6504 CD E8 50         call 50E8
ROM3:6507 CD C4 5F         call 5FC4
ROM3:650A 01 2D 01         ld   bc,012D
ROM3:650D CD A8 61         call 61A8
ROM3:6510 18 09            jr   651B
ROM3:6512 CF               rst  08
                 => 0F 0A
ROM3:6515 CD C4 5F         call 5FC4
ROM3:6518 CF               rst  08
                 => 07 06
ROM3:651B D1               pop  de
ROM3:651C C1               pop  bc
ROM3:651D F1               pop  af
ROM3:651E C9               ret
Sword of Ruin
ROM3:651F F5               push af
ROM3:6520 C5               push bc
ROM3:6521 D5               push de
ROM3:6522 FA D7 C8         ld   a,(C8D7)
ROM3:6525 4F               ld   c,a
ROM3:6526 FA D8 C8         ld   a,(C8D8)
ROM3:6529 47               ld   b,a            ;bc = card_id
ROM3:652A 16 01            ld   d,01
ROM3:652C CF               rst  08
ROM3:652D 0D               dec  c
ROM3:652E 08 FE 01         ld   (01FE),sp
ROM3:6531 20 26            jr   nz,6559
ROM3:6533 CF               rst  08
ROM3:6534 0D               dec  c
ROM3:6535 0A               ld   a,(bc)
ROM3:6536 FE 00            cp   a,00
ROM3:6538 20 16            jr   nz,6550
ROM3:653A FA 3A C7         ld   a,(C73A)
ROM3:653D 47               ld   b,a
ROM3:653E FA 3B C7         ld   a,(C73B)
ROM3:6541 4F               ld   c,a
ROM3:6542 CD E8 50         call 50E8
ROM3:6545 CD C4 5F         call 5FC4
ROM3:6548 01 2E 01         ld   bc,012E
ROM3:654B CD A8 61         call 61A8
ROM3:654E 18 09            jr   6559
ROM3:6550 CF               rst  08
ROM3:6551 0F               rrca 
ROM3:6552 0A               ld   a,(bc)
ROM3:6553 CD C4 5F         call 5FC4
ROM3:6556 CF               rst  08
ROM3:6557 07               rlca 
ROM3:6558 06 D1            ld   b,D1
ROM3:655A C1               pop  bc
ROM3:655B F1               pop  af
ROM3:655C C9               ret
Dark Energy
ROM3:655D F5               push af
ROM3:655E C5               push bc
ROM3:655F D5               push de
ROM3:6560 FA D7 C8         ld   a,(C8D7)
ROM3:6563 4F               ld   c,a
ROM3:6564 FA D8 C8         ld   a,(C8D8)
ROM3:6567 47               ld   b,a            ;bc = card_id
ROM3:6568 16 02            ld   d,02
ROM3:656A CF               rst  08
ROM3:656B 0D               dec  c
ROM3:656C 08 FE 01         ld   (01FE),sp
ROM3:656F 20 26            jr   nz,6597
ROM3:6571 CF               rst  08
ROM3:6572 0D               dec  c
ROM3:6573 0A               ld   a,(bc)
ROM3:6574 FE 00            cp   a,00
ROM3:6576 20 16            jr   nz,658E
ROM3:6578 FA 3A C7         ld   a,(C73A)
ROM3:657B 47               ld   b,a
ROM3:657C FA 3B C7         ld   a,(C73B)
ROM3:657F 4F               ld   c,a
ROM3:6580 CD E8 50         call 50E8
ROM3:6583 CD C4 5F         call 5FC4
ROM3:6586 01 2F 01         ld   bc,012F
ROM3:6589 CD A8 61         call 61A8
ROM3:658C 18 09            jr   6597
ROM3:658E CF               rst  08
ROM3:658F 0F               rrca 
ROM3:6590 0A               ld   a,(bc)
ROM3:6591 CD C4 5F         call 5FC4
ROM3:6594 CF               rst  08
ROM3:6595 07               rlca 
ROM3:6596 06 D1            ld   b,D1
ROM3:6598 C1               pop  bc
ROM3:6599 F1               pop  af
ROM3:659A C9               ret
Axe of Despair
ROM3:659B F5               push af
ROM3:659C C5               push bc
ROM3:659D D5               push de
ROM3:659E FA D7 C8         ld   a,(C8D7)
ROM3:65A1 4F               ld   c,a
ROM3:65A2 FA D8 C8         ld   a,(C8D8)
ROM3:65A5 47               ld   b,a            ;bc = card_id
ROM3:65A6 16 03            ld   d,03
ROM3:65A8 CF               rst  08
ROM3:65A9 0D               dec  c
ROM3:65AA 08 FE 01         ld   (01FE),sp
ROM3:65AD 20 26            jr   nz,65D5
ROM3:65AF CF               rst  08
ROM3:65B0 0D               dec  c
ROM3:65B1 0A               ld   a,(bc)
ROM3:65B2 FE 00            cp   a,00
ROM3:65B4 20 16            jr   nz,65CC
ROM3:65B6 FA 3A C7         ld   a,(C73A)
ROM3:65B9 47               ld   b,a
ROM3:65BA FA 3B C7         ld   a,(C73B)
ROM3:65BD 4F               ld   c,a
ROM3:65BE CD E8 50         call 50E8
ROM3:65C1 CD C4 5F         call 5FC4
ROM3:65C4 01 30 01         ld   bc,0130
ROM3:65C7 CD A8 61         call 61A8
ROM3:65CA 18 09            jr   65D5
ROM3:65CC CF               rst  08
ROM3:65CD 0F               rrca 
ROM3:65CE 0A               ld   a,(bc)
ROM3:65CF CD C4 5F         call 5FC4
ROM3:65D2 CF               rst  08
ROM3:65D3 07               rlca 
ROM3:65D4 06 D1            ld   b,D1
ROM3:65D6 C1               pop  bc
ROM3:65D7 F1               pop  af
ROM3:65D8 C9               ret
Lazer Cannon Armor
ROM3:65D9 F5               push af
ROM3:65DA C5               push bc
ROM3:65DB D5               push de
ROM3:65DC FA D7 C8         ld   a,(C8D7)
ROM3:65DF 4F               ld   c,a
ROM3:65E0 FA D8 C8         ld   a,(C8D8)
ROM3:65E3 47               ld   b,a            ;bc = card_id
ROM3:65E4 16 04            ld   d,04
ROM3:65E6 CF               rst  08
ROM3:65E7 0D               dec  c
ROM3:65E8 08 FE 01         ld   (01FE),sp
ROM3:65EB 20 26            jr   nz,6613
ROM3:65ED CF               rst  08
ROM3:65EE 0D               dec  c
ROM3:65EF 0A               ld   a,(bc)
ROM3:65F0 FE 00            cp   a,00
ROM3:65F2 20 16            jr   nz,660A
ROM3:65F4 FA 3A C7         ld   a,(C73A)
ROM3:65F7 47               ld   b,a
ROM3:65F8 FA 3B C7         ld   a,(C73B)
ROM3:65FB 4F               ld   c,a
ROM3:65FC CD E8 50         call 50E8
ROM3:65FF CD C4 5F         call 5FC4
ROM3:6602 01 31 01         ld   bc,0131
ROM3:6605 CD A8 61         call 61A8
ROM3:6608 18 09            jr   6613
ROM3:660A CF               rst  08
ROM3:660B 0F               rrca 
ROM3:660C 0A               ld   a,(bc)
ROM3:660D CD C4 5F         call 5FC4
ROM3:6610 CF               rst  08
ROM3:6611 07               rlca 
ROM3:6612 06 D1            ld   b,D1
ROM3:6614 C1               pop  bc
ROM3:6615 F1               pop  af
ROM3:6616 C9               ret
Insect Armor with Laser Cannon
ROM3:6617 F5               push af
ROM3:6618 C5               push bc
ROM3:6619 D5               push de
ROM3:661A FA D7 C8         ld   a,(C8D7)
ROM3:661D 4F               ld   c,a
ROM3:661E FA D8 C8         ld   a,(C8D8)
ROM3:6621 47               ld   b,a            ;bc = card_id
ROM3:6622 16 05            ld   d,05
ROM3:6624 CF               rst  08
ROM3:6625 0D               dec  c
ROM3:6626 08 FE 01         ld   (01FE),sp
ROM3:6629 20 26            jr   nz,6651
ROM3:662B CF               rst  08
ROM3:662C 0D               dec  c
ROM3:662D 0A               ld   a,(bc)
ROM3:662E FE 00            cp   a,00
ROM3:6630 20 16            jr   nz,6648
ROM3:6632 FA 3A C7         ld   a,(C73A)
ROM3:6635 47               ld   b,a
ROM3:6636 FA 3B C7         ld   a,(C73B)
ROM3:6639 4F               ld   c,a
ROM3:663A CD E8 50         call 50E8
ROM3:663D CD C4 5F         call 5FC4
ROM3:6640 01 32 01         ld   bc,0132
ROM3:6643 CD A8 61         call 61A8
ROM3:6646 18 09            jr   6651
ROM3:6648 CF               rst  08
ROM3:6649 0F               rrca 
ROM3:664A 0A               ld   a,(bc)
ROM3:664B CD C4 5F         call 5FC4
ROM3:664E CF               rst  08
ROM3:664F 07               rlca 
ROM3:6650 06 D1            ld   b,D1
ROM3:6652 C1               pop  bc
ROM3:6653 F1               pop  af
ROM3:6654 C9               ret
Elf's Light
ROM3:6655 F5               push af
ROM3:6656 C5               push bc
ROM3:6657 D5               push de
ROM3:6658 FA D7 C8         ld   a,(C8D7)
ROM3:665B 4F               ld   c,a
ROM3:665C FA D8 C8         ld   a,(C8D8)
ROM3:665F 47               ld   b,a            ;bc = card_id
ROM3:6660 16 06            ld   d,06
ROM3:6662 CF               rst  08
ROM3:6663 0D               dec  c
ROM3:6664 08 FE 01         ld   (01FE),sp
ROM3:6667 20 26            jr   nz,668F
ROM3:6669 CF               rst  08
ROM3:666A 0D               dec  c
ROM3:666B 0A               ld   a,(bc)
ROM3:666C FE 00            cp   a,00
ROM3:666E 20 16            jr   nz,6686
ROM3:6670 FA 3A C7         ld   a,(C73A)
ROM3:6673 47               ld   b,a
ROM3:6674 FA 3B C7         ld   a,(C73B)
ROM3:6677 4F               ld   c,a
ROM3:6678 CD E8 50         call 50E8
ROM3:667B CD C4 5F         call 5FC4
ROM3:667E 01 33 01         ld   bc,0133
ROM3:6681 CD A8 61         call 61A8
ROM3:6684 18 09            jr   668F
ROM3:6686 CF               rst  08
ROM3:6687 0F               rrca 
ROM3:6688 0A               ld   a,(bc)
ROM3:6689 CD C4 5F         call 5FC4
ROM3:668C CF               rst  08
ROM3:668D 07               rlca 
ROM3:668E 06 D1            ld   b,D1
ROM3:6690 C1               pop  bc
ROM3:6691 F1               pop  af
ROM3:6692 C9               ret
Beast Fangs
ROM3:6693 F5               push af
ROM3:6694 C5               push bc
ROM3:6695 D5               push de
ROM3:6696 FA D7 C8         ld   a,(C8D7)
ROM3:6699 4F               ld   c,a
ROM3:669A FA D8 C8         ld   a,(C8D8)
ROM3:669D 47               ld   b,a            ;bc = card_id
ROM3:669E 16 07            ld   d,07
ROM3:66A0 CF               rst  08
ROM3:66A1 0D               dec  c
ROM3:66A2 08 FE 01         ld   (01FE),sp
ROM3:66A5 20 26            jr   nz,66CD
ROM3:66A7 CF               rst  08
ROM3:66A8 0D               dec  c
ROM3:66A9 0A               ld   a,(bc)
ROM3:66AA FE 00            cp   a,00
ROM3:66AC 20 16            jr   nz,66C4
ROM3:66AE FA 3A C7         ld   a,(C73A)
ROM3:66B1 47               ld   b,a
ROM3:66B2 FA 3B C7         ld   a,(C73B)
ROM3:66B5 4F               ld   c,a
ROM3:66B6 CD E8 50         call 50E8
ROM3:66B9 CD C4 5F         call 5FC4
ROM3:66BC 01 34 01         ld   bc,0134
ROM3:66BF CD A8 61         call 61A8
ROM3:66C2 18 09            jr   66CD
ROM3:66C4 CF               rst  08
ROM3:66C5 0F               rrca 
ROM3:66C6 0A               ld   a,(bc)
ROM3:66C7 CD C4 5F         call 5FC4
ROM3:66CA CF               rst  08
ROM3:66CB 07               rlca 
ROM3:66CC 06 D1            ld   b,D1
ROM3:66CE C1               pop  bc
ROM3:66CF F1               pop  af
ROM3:66D0 C9               ret
Steel Shell
ROM3:66D1 F5               push af
ROM3:66D2 C5               push bc
ROM3:66D3 D5               push de
ROM3:66D4 FA D7 C8         ld   a,(C8D7)
ROM3:66D7 4F               ld   c,a
ROM3:66D8 FA D8 C8         ld   a,(C8D8)
ROM3:66DB 47               ld   b,a            ;bc = card_id
ROM3:66DC 16 08            ld   d,08
ROM3:66DE CF               rst  08
ROM3:66DF 0D               dec  c
ROM3:66E0 08 FE 01         ld   (01FE),sp
ROM3:66E3 20 26            jr   nz,670B
ROM3:66E5 CF               rst  08
ROM3:66E6 0D               dec  c
ROM3:66E7 0A               ld   a,(bc)
ROM3:66E8 FE 00            cp   a,00
ROM3:66EA 20 16            jr   nz,6702
ROM3:66EC FA 3A C7         ld   a,(C73A)
ROM3:66EF 47               ld   b,a
ROM3:66F0 FA 3B C7         ld   a,(C73B)
ROM3:66F3 4F               ld   c,a
ROM3:66F4 CD E8 50         call 50E8
ROM3:66F7 CD C4 5F         call 5FC4
ROM3:66FA 01 35 01         ld   bc,0135
ROM3:66FD CD A8 61         call 61A8
ROM3:6700 18 09            jr   670B
ROM3:6702 CF               rst  08
ROM3:6703 0F               rrca 
ROM3:6704 0A               ld   a,(bc)
ROM3:6705 CD C4 5F         call 5FC4
ROM3:6708 CF               rst  08
ROM3:6709 07               rlca 
ROM3:670A 06 D1            ld   b,D1
ROM3:670C C1               pop  bc
ROM3:670D F1               pop  af
ROM3:670E C9               ret
Vile Germs
ROM3:670F F5               push af
ROM3:6710 C5               push bc
ROM3:6711 D5               push de
ROM3:6712 FA D7 C8         ld   a,(C8D7)
ROM3:6715 4F               ld   c,a
ROM3:6716 FA D8 C8         ld   a,(C8D8)
ROM3:6719 47               ld   b,a            ;bc = card_id
ROM3:671A 16 09            ld   d,09
ROM3:671C CF               rst  08
ROM3:671D 0D               dec  c
ROM3:671E 08 FE 01         ld   (01FE),sp
ROM3:6721 20 26            jr   nz,6749
ROM3:6723 CF               rst  08
ROM3:6724 0D               dec  c
ROM3:6725 0A               ld   a,(bc)
ROM3:6726 FE 00            cp   a,00
ROM3:6728 20 16            jr   nz,6740
ROM3:672A FA 3A C7         ld   a,(C73A)
ROM3:672D 47               ld   b,a
ROM3:672E FA 3B C7         ld   a,(C73B)
ROM3:6731 4F               ld   c,a
ROM3:6732 CD E8 50         call 50E8
ROM3:6735 CD C4 5F         call 5FC4
ROM3:6738 01 36 01         ld   bc,0136
ROM3:673B CD A8 61         call 61A8
ROM3:673E 18 09            jr   6749
ROM3:6740 CF               rst  08
ROM3:6741 0F               rrca 
ROM3:6742 0A               ld   a,(bc)
ROM3:6743 CD C4 5F         call 5FC4
ROM3:6746 CF               rst  08
ROM3:6747 07               rlca 
ROM3:6748 06 D1            ld   b,D1
ROM3:674A C1               pop  bc
ROM3:674B F1               pop  af
ROM3:674C C9               ret
Black Pendant
ROM3:674D F5               push af
ROM3:674E C5               push bc
ROM3:674F D5               push de
ROM3:6750 FA D7 C8         ld   a,(C8D7)
ROM3:6753 4F               ld   c,a
ROM3:6754 FA D8 C8         ld   a,(C8D8)
ROM3:6757 47               ld   b,a            ;bc = card_id
ROM3:6758 16 0A            ld   d,0A
ROM3:675A CF               rst  08
ROM3:675B 0D               dec  c
ROM3:675C 08 FE 01         ld   (01FE),sp
ROM3:675F 20 26            jr   nz,6787
ROM3:6761 CF               rst  08
ROM3:6762 0D               dec  c
ROM3:6763 0A               ld   a,(bc)
ROM3:6764 FE 00            cp   a,00
ROM3:6766 20 16            jr   nz,677E
ROM3:6768 FA 3A C7         ld   a,(C73A)
ROM3:676B 47               ld   b,a
ROM3:676C FA 3B C7         ld   a,(C73B)
ROM3:676F 4F               ld   c,a
ROM3:6770 CD E8 50         call 50E8
ROM3:6773 CD C4 5F         call 5FC4
ROM3:6776 01 37 01         ld   bc,0137
ROM3:6779 CD A8 61         call 61A8
ROM3:677C 18 09            jr   6787
ROM3:677E CF               rst  08
ROM3:677F 0F               rrca 
ROM3:6780 0A               ld   a,(bc)
ROM3:6781 CD C4 5F         call 5FC4
ROM3:6784 CF               rst  08
ROM3:6785 07               rlca 
ROM3:6786 06 D1            ld   b,D1
ROM3:6788 C1               pop  bc
ROM3:6789 F1               pop  af
ROM3:678A C9               ret
Silver Bow & Arrow
ROM3:678B F5               push af
ROM3:678C C5               push bc
ROM3:678D D5               push de
ROM3:678E FA D7 C8         ld   a,(C8D7)
ROM3:6791 4F               ld   c,a
ROM3:6792 FA D8 C8         ld   a,(C8D8)
ROM3:6795 47               ld   b,a            ;bc = card_id
ROM3:6796 16 0B            ld   d,0B
ROM3:6798 CF               rst  08
ROM3:6799 0D               dec  c
ROM3:679A 08 FE 01         ld   (01FE),sp
ROM3:679D 20 26            jr   nz,67C5
ROM3:679F CF               rst  08
ROM3:67A0 0D               dec  c
ROM3:67A1 0A               ld   a,(bc)
ROM3:67A2 FE 00            cp   a,00
ROM3:67A4 20 16            jr   nz,67BC
ROM3:67A6 FA 3A C7         ld   a,(C73A)
ROM3:67A9 47               ld   b,a
ROM3:67AA FA 3B C7         ld   a,(C73B)
ROM3:67AD 4F               ld   c,a
ROM3:67AE CD E8 50         call 50E8
ROM3:67B1 CD C4 5F         call 5FC4
ROM3:67B4 01 38 01         ld   bc,0138
ROM3:67B7 CD A8 61         call 61A8
ROM3:67BA 18 09            jr   67C5
ROM3:67BC CF               rst  08
ROM3:67BD 0F               rrca 
ROM3:67BE 0A               ld   a,(bc)
ROM3:67BF CD C4 5F         call 5FC4
ROM3:67C2 CF               rst  08
ROM3:67C3 07               rlca 
ROM3:67C4 06 D1            ld   b,D1
ROM3:67C6 C1               pop  bc
ROM3:67C7 F1               pop  af
ROM3:67C8 C9               ret
Horn of Light
ROM3:67C9 F5               push af
ROM3:67CA C5               push bc
ROM3:67CB D5               push de
ROM3:67CC FA D7 C8         ld   a,(C8D7)
ROM3:67CF 4F               ld   c,a
ROM3:67D0 FA D8 C8         ld   a,(C8D8)
ROM3:67D3 47               ld   b,a            ;bc = card_id
ROM3:67D4 16 0C            ld   d,0C
ROM3:67D6 CF               rst  08
ROM3:67D7 0D               dec  c
ROM3:67D8 08 FE 01         ld   (01FE),sp
ROM3:67DB 20 26            jr   nz,6803
ROM3:67DD CF               rst  08
ROM3:67DE 0D               dec  c
ROM3:67DF 0A               ld   a,(bc)
ROM3:67E0 FE 00            cp   a,00
ROM3:67E2 20 16            jr   nz,67FA
ROM3:67E4 FA 3A C7         ld   a,(C73A)
ROM3:67E7 47               ld   b,a
ROM3:67E8 FA 3B C7         ld   a,(C73B)
ROM3:67EB 4F               ld   c,a
ROM3:67EC CD E8 50         call 50E8
ROM3:67EF CD C4 5F         call 5FC4
ROM3:67F2 01 39 01         ld   bc,0139
ROM3:67F5 CD A8 61         call 61A8
ROM3:67F8 18 09            jr   6803
ROM3:67FA CF               rst  08
ROM3:67FB 0F               rrca 
ROM3:67FC 0A               ld   a,(bc)
ROM3:67FD CD C4 5F         call 5FC4
ROM3:6800 CF               rst  08
ROM3:6801 07               rlca 
ROM3:6802 06 D1            ld   b,D1
ROM3:6804 C1               pop  bc
ROM3:6805 F1               pop  af
ROM3:6806 C9               ret
Horn of the Unicorn
ROM3:6807 F5               push af
ROM3:6808 C5               push bc
ROM3:6809 D5               push de
ROM3:680A FA D7 C8         ld   a,(C8D7)
ROM3:680D 4F               ld   c,a
ROM3:680E FA D8 C8         ld   a,(C8D8)
ROM3:6811 47               ld   b,a            ;bc = card_id
ROM3:6812 16 0D            ld   d,0D
ROM3:6814 CF               rst  08
ROM3:6815 0D               dec  c
ROM3:6816 08 FE 01         ld   (01FE),sp
ROM3:6819 20 26            jr   nz,6841
ROM3:681B CF               rst  08
ROM3:681C 0D               dec  c
ROM3:681D 0A               ld   a,(bc)
ROM3:681E FE 00            cp   a,00
ROM3:6820 20 16            jr   nz,6838
ROM3:6822 FA 3A C7         ld   a,(C73A)
ROM3:6825 47               ld   b,a
ROM3:6826 FA 3B C7         ld   a,(C73B)
ROM3:6829 4F               ld   c,a
ROM3:682A CD E8 50         call 50E8
ROM3:682D CD C4 5F         call 5FC4
ROM3:6830 01 3A 01         ld   bc,013A
ROM3:6833 CD A8 61         call 61A8
ROM3:6836 18 09            jr   6841
ROM3:6838 CF               rst  08
ROM3:6839 0F               rrca 
ROM3:683A 0A               ld   a,(bc)
ROM3:683B CD C4 5F         call 5FC4
ROM3:683E CF               rst  08
ROM3:683F 07               rlca 
ROM3:6840 06 D1            ld   b,D1
ROM3:6842 C1               pop  bc
ROM3:6843 F1               pop  af
ROM3:6844 C9               ret
Dragon Treasure
ROM3:6845 F5               push af
ROM3:6846 C5               push bc
ROM3:6847 D5               push de
ROM3:6848 FA D7 C8         ld   a,(C8D7)
ROM3:684B 4F               ld   c,a
ROM3:684C FA D8 C8         ld   a,(C8D8)
ROM3:684F 47               ld   b,a            ;bc = card_id
ROM3:6850 16 0E            ld   d,0E
ROM3:6852 CF               rst  08
ROM3:6853 0D               dec  c
ROM3:6854 08 FE 01         ld   (01FE),sp
ROM3:6857 20 26            jr   nz,687F
ROM3:6859 CF               rst  08
ROM3:685A 0D               dec  c
ROM3:685B 0A               ld   a,(bc)
ROM3:685C FE 00            cp   a,00
ROM3:685E 20 16            jr   nz,6876
ROM3:6860 FA 3A C7         ld   a,(C73A)
ROM3:6863 47               ld   b,a
ROM3:6864 FA 3B C7         ld   a,(C73B)
ROM3:6867 4F               ld   c,a
ROM3:6868 CD E8 50         call 50E8
ROM3:686B CD C4 5F         call 5FC4
ROM3:686E 01 3B 01         ld   bc,013B
ROM3:6871 CD A8 61         call 61A8
ROM3:6874 18 09            jr   687F
ROM3:6876 CF               rst  08
ROM3:6877 0F               rrca 
ROM3:6878 0A               ld   a,(bc)
ROM3:6879 CD C4 5F         call 5FC4
ROM3:687C CF               rst  08
ROM3:687D 07               rlca 
ROM3:687E 06 D1            ld   b,D1
ROM3:6880 C1               pop  bc
ROM3:6881 F1               pop  af
ROM3:6882 C9               ret
Electro-whip
ROM3:6883 F5               push af
ROM3:6884 C5               push bc
ROM3:6885 D5               push de
ROM3:6886 FA D7 C8         ld   a,(C8D7)
ROM3:6889 4F               ld   c,a
ROM3:688A FA D8 C8         ld   a,(C8D8)
ROM3:688D 47               ld   b,a            ;bc = card_id
ROM3:688E 16 0F            ld   d,0F
ROM3:6890 CF               rst  08
ROM3:6891 0D               dec  c
ROM3:6892 08 FE 01         ld   (01FE),sp
ROM3:6895 20 26            jr   nz,68BD
ROM3:6897 CF               rst  08
ROM3:6898 0D               dec  c
ROM3:6899 0A               ld   a,(bc)
ROM3:689A FE 00            cp   a,00
ROM3:689C 20 16            jr   nz,68B4
ROM3:689E FA 3A C7         ld   a,(C73A)
ROM3:68A1 47               ld   b,a
ROM3:68A2 FA 3B C7         ld   a,(C73B)
ROM3:68A5 4F               ld   c,a
ROM3:68A6 CD E8 50         call 50E8
ROM3:68A9 CD C4 5F         call 5FC4
ROM3:68AC 01 3C 01         ld   bc,013C
ROM3:68AF CD A8 61         call 61A8
ROM3:68B2 18 09            jr   68BD
ROM3:68B4 CF               rst  08
ROM3:68B5 0F               rrca 
ROM3:68B6 0A               ld   a,(bc)
ROM3:68B7 CD C4 5F         call 5FC4
ROM3:68BA CF               rst  08
ROM3:68BB 07               rlca 
ROM3:68BC 06 D1            ld   b,D1
ROM3:68BE C1               pop  bc
ROM3:68BF F1               pop  af
ROM3:68C0 C9               ret
Cyber Shield
ROM3:68C1 F5               push af
ROM3:68C2 C5               push bc
ROM3:68C3 D5               push de
ROM3:68C4 FA D7 C8         ld   a,(C8D7)
ROM3:68C7 4F               ld   c,a
ROM3:68C8 FA D8 C8         ld   a,(C8D8)
ROM3:68CB 47               ld   b,a            ;bc = card_id
ROM3:68CC 16 10            ld   d,10
ROM3:68CE CF               rst  08
ROM3:68CF 0D               dec  c
ROM3:68D0 08 FE 01         ld   (01FE),sp
ROM3:68D3 20 26            jr   nz,68FB
ROM3:68D5 CF               rst  08
ROM3:68D6 0D               dec  c
ROM3:68D7 0A               ld   a,(bc)
ROM3:68D8 FE 00            cp   a,00
ROM3:68DA 20 16            jr   nz,68F2
ROM3:68DC FA 3A C7         ld   a,(C73A)
ROM3:68DF 47               ld   b,a
ROM3:68E0 FA 3B C7         ld   a,(C73B)
ROM3:68E3 4F               ld   c,a
ROM3:68E4 CD E8 50         call 50E8
ROM3:68E7 CD C4 5F         call 5FC4
ROM3:68EA 01 3D 01         ld   bc,013D
ROM3:68ED CD A8 61         call 61A8
ROM3:68F0 18 09            jr   68FB
ROM3:68F2 CF               rst  08
ROM3:68F3 0F               rrca 
ROM3:68F4 0A               ld   a,(bc)
ROM3:68F5 CD C4 5F         call 5FC4
ROM3:68F8 CF               rst  08
ROM3:68F9 07               rlca 
ROM3:68FA 06 D1            ld   b,D1
ROM3:68FC C1               pop  bc
ROM3:68FD F1               pop  af
ROM3:68FE C9               ret
Mystical Moon
ROM3:68FF F5               push af
ROM3:6900 C5               push bc
ROM3:6901 D5               push de
ROM3:6902 FA D7 C8         ld   a,(C8D7)
ROM3:6905 4F               ld   c,a
ROM3:6906 FA D8 C8         ld   a,(C8D8)
ROM3:6909 47               ld   b,a            ;bc = card_id
ROM3:690A 16 11            ld   d,11
ROM3:690C CF               rst  08
ROM3:690D 0D               dec  c
ROM3:690E 08 FE 01         ld   (01FE),sp
ROM3:6911 20 26            jr   nz,6939
ROM3:6913 CF               rst  08
ROM3:6914 0D               dec  c
ROM3:6915 0A               ld   a,(bc)
ROM3:6916 FE 00            cp   a,00
ROM3:6918 20 16            jr   nz,6930
ROM3:691A FA 3A C7         ld   a,(C73A)
ROM3:691D 47               ld   b,a
ROM3:691E FA 3B C7         ld   a,(C73B)
ROM3:6921 4F               ld   c,a
ROM3:6922 CD E8 50         call 50E8
ROM3:6925 CD C4 5F         call 5FC4
ROM3:6928 01 3F 01         ld   bc,013F
ROM3:692B CD A8 61         call 61A8
ROM3:692E 18 09            jr   6939
ROM3:6930 CF               rst  08
ROM3:6931 0F               rrca 
ROM3:6932 0A               ld   a,(bc)
ROM3:6933 CD C4 5F         call 5FC4
ROM3:6936 CF               rst  08
ROM3:6937 07               rlca 
ROM3:6938 06 D1            ld   b,D1
ROM3:693A C1               pop  bc
ROM3:693B F1               pop  af
ROM3:693C C9               ret
Malevolent Nuzzler
ROM3:693D F5               push af
ROM3:693E C5               push bc
ROM3:693F D5               push de
ROM3:6940 FA D7 C8         ld   a,(C8D7)
ROM3:6943 4F               ld   c,a
ROM3:6944 FA D8 C8         ld   a,(C8D8)
ROM3:6947 47               ld   b,a            ;bc = card_id
ROM3:6948 16 12            ld   d,12
ROM3:694A CF               rst  08
ROM3:694B 0D               dec  c
ROM3:694C 08 FE 01         ld   (01FE),sp
ROM3:694F 20 26            jr   nz,6977
ROM3:6951 CF               rst  08
ROM3:6952 0D               dec  c
ROM3:6953 0A               ld   a,(bc)
ROM3:6954 FE 00            cp   a,00
ROM3:6956 20 16            jr   nz,696E
ROM3:6958 FA 3A C7         ld   a,(C73A)
ROM3:695B 47               ld   b,a
ROM3:695C FA 3B C7         ld   a,(C73B)
ROM3:695F 4F               ld   c,a
ROM3:6960 CD E8 50         call 50E8
ROM3:6963 CD C4 5F         call 5FC4
ROM3:6966 01 41 01         ld   bc,0141
ROM3:6969 CD A8 61         call 61A8
ROM3:696C 18 09            jr   6977
ROM3:696E CF               rst  08
ROM3:696F 0F               rrca 
ROM3:6970 0A               ld   a,(bc)
ROM3:6971 CD C4 5F         call 5FC4
ROM3:6974 CF               rst  08
ROM3:6975 07               rlca 
ROM3:6976 06 D1            ld   b,D1
ROM3:6978 C1               pop  bc
ROM3:6979 F1               pop  af
ROM3:697A C9               ret
Violet Crystal
ROM3:697B F5               push af
ROM3:697C C5               push bc
ROM3:697D D5               push de
ROM3:697E FA D7 C8         ld   a,(C8D7)
ROM3:6981 4F               ld   c,a
ROM3:6982 FA D8 C8         ld   a,(C8D8)
ROM3:6985 47               ld   b,a            ;bc = card_id
ROM3:6986 16 13            ld   d,13
ROM3:6988 CF               rst  08
ROM3:6989 0D               dec  c
ROM3:698A 08 FE 01         ld   (01FE),sp
ROM3:698D 20 26            jr   nz,69B5
ROM3:698F CF               rst  08
ROM3:6990 0D               dec  c
ROM3:6991 0A               ld   a,(bc)
ROM3:6992 FE 00            cp   a,00
ROM3:6994 20 16            jr   nz,69AC
ROM3:6996 FA 3A C7         ld   a,(C73A)
ROM3:6999 47               ld   b,a
ROM3:699A FA 3B C7         ld   a,(C73B)
ROM3:699D 4F               ld   c,a
ROM3:699E CD E8 50         call 50E8
ROM3:69A1 CD C4 5F         call 5FC4
ROM3:69A4 01 42 01         ld   bc,0142
ROM3:69A7 CD A8 61         call 61A8
ROM3:69AA 18 09            jr   69B5
ROM3:69AC CF               rst  08
ROM3:69AD 0F               rrca 
ROM3:69AE 0A               ld   a,(bc)
ROM3:69AF CD C4 5F         call 5FC4
ROM3:69B2 CF               rst  08
ROM3:69B3 07               rlca 
ROM3:69B4 06 D1            ld   b,D1
ROM3:69B6 C1               pop  bc
ROM3:69B7 F1               pop  af
ROM3:69B8 C9               ret
Book of Secret Art
ROM3:69B9 F5               push af
ROM3:69BA C5               push bc
ROM3:69BB D5               push de
ROM3:69BC FA D7 C8         ld   a,(C8D7)
ROM3:69BF 4F               ld   c,a
ROM3:69C0 FA D8 C8         ld   a,(C8D8)
ROM3:69C3 47               ld   b,a            ;bc = card_id
ROM3:69C4 16 14            ld   d,14
ROM3:69C6 CF               rst  08
ROM3:69C7 0D               dec  c
ROM3:69C8 08 FE 01         ld   (01FE),sp
ROM3:69CB 20 26            jr   nz,69F3
ROM3:69CD CF               rst  08
ROM3:69CE 0D               dec  c
ROM3:69CF 0A               ld   a,(bc)
ROM3:69D0 FE 00            cp   a,00
ROM3:69D2 20 16            jr   nz,69EA
ROM3:69D4 FA 3A C7         ld   a,(C73A)
ROM3:69D7 47               ld   b,a
ROM3:69D8 FA 3B C7         ld   a,(C73B)
ROM3:69DB 4F               ld   c,a
ROM3:69DC CD E8 50         call 50E8
ROM3:69DF CD C4 5F         call 5FC4
ROM3:69E2 01 43 01         ld   bc,0143
ROM3:69E5 CD A8 61         call 61A8
ROM3:69E8 18 09            jr   69F3
ROM3:69EA CF               rst  08
ROM3:69EB 0F               rrca 
ROM3:69EC 0A               ld   a,(bc)
ROM3:69ED CD C4 5F         call 5FC4
ROM3:69F0 CF               rst  08
ROM3:69F1 07               rlca 
ROM3:69F2 06 D1            ld   b,D1
ROM3:69F4 C1               pop  bc
ROM3:69F5 F1               pop  af
ROM3:69F6 C9               ret
Invigoration
ROM3:69F7 F5               push af
ROM3:69F8 C5               push bc
ROM3:69F9 D5               push de
ROM3:69FA FA D7 C8         ld   a,(C8D7)
ROM3:69FD 4F               ld   c,a
ROM3:69FE FA D8 C8         ld   a,(C8D8)
ROM3:6A01 47               ld   b,a            ;bc = card_id
ROM3:6A02 16 15            ld   d,15
ROM3:6A04 CF               rst  08
ROM3:6A05 0D               dec  c
ROM3:6A06 08 FE 01         ld   (01FE),sp
ROM3:6A09 20 26            jr   nz,6A31
ROM3:6A0B CF               rst  08
ROM3:6A0C 0D               dec  c
ROM3:6A0D 0A               ld   a,(bc)
ROM3:6A0E FE 00            cp   a,00
ROM3:6A10 20 16            jr   nz,6A28
ROM3:6A12 FA 3A C7         ld   a,(C73A)
ROM3:6A15 47               ld   b,a
ROM3:6A16 FA 3B C7         ld   a,(C73B)
ROM3:6A19 4F               ld   c,a
ROM3:6A1A CD E8 50         call 50E8
ROM3:6A1D CD C4 5F         call 5FC4
ROM3:6A20 01 44 01         ld   bc,0144
ROM3:6A23 CD A8 61         call 61A8
ROM3:6A26 18 09            jr   6A31
ROM3:6A28 CF               rst  08
ROM3:6A29 0F               rrca 
ROM3:6A2A 0A               ld   a,(bc)
ROM3:6A2B CD C4 5F         call 5FC4
ROM3:6A2E CF               rst  08
ROM3:6A2F 07               rlca 
ROM3:6A30 06 D1            ld   b,D1
ROM3:6A32 C1               pop  bc
ROM3:6A33 F1               pop  af
ROM3:6A34 C9               ret
Machine Conversion
ROM3:6A35 F5               push af
ROM3:6A36 C5               push bc
ROM3:6A37 D5               push de
ROM3:6A38 FA D7 C8         ld   a,(C8D7)
ROM3:6A3B 4F               ld   c,a
ROM3:6A3C FA D8 C8         ld   a,(C8D8)
ROM3:6A3F 47               ld   b,a            ;bc = card_id
ROM3:6A40 16 16            ld   d,16
ROM3:6A42 CF               rst  08
ROM3:6A43 0D               dec  c
ROM3:6A44 08 FE 01         ld   (01FE),sp
ROM3:6A47 20 26            jr   nz,6A6F
ROM3:6A49 CF               rst  08
ROM3:6A4A 0D               dec  c
ROM3:6A4B 0A               ld   a,(bc)
ROM3:6A4C FE 00            cp   a,00
ROM3:6A4E 20 16            jr   nz,6A66
ROM3:6A50 FA 3A C7         ld   a,(C73A)
ROM3:6A53 47               ld   b,a
ROM3:6A54 FA 3B C7         ld   a,(C73B)
ROM3:6A57 4F               ld   c,a
ROM3:6A58 CD E8 50         call 50E8
ROM3:6A5B CD C4 5F         call 5FC4
ROM3:6A5E 01 45 01         ld   bc,0145
ROM3:6A61 CD A8 61         call 61A8
ROM3:6A64 18 09            jr   6A6F
ROM3:6A66 CF               rst  08
ROM3:6A67 0F               rrca 
ROM3:6A68 0A               ld   a,(bc)
ROM3:6A69 CD C4 5F         call 5FC4
ROM3:6A6C CF               rst  08
ROM3:6A6D 07               rlca 
ROM3:6A6E 06 D1            ld   b,D1
ROM3:6A70 C1               pop  bc
ROM3:6A71 F1               pop  af
ROM3:6A72 C9               ret
Raise Body Heat
ROM3:6A73 F5               push af
ROM3:6A74 C5               push bc
ROM3:6A75 D5               push de
ROM3:6A76 FA D7 C8         ld   a,(C8D7)
ROM3:6A79 4F               ld   c,a
ROM3:6A7A FA D8 C8         ld   a,(C8D8)
ROM3:6A7D 47               ld   b,a            ;bc = card_id
ROM3:6A7E 16 17            ld   d,17
ROM3:6A80 CF               rst  08
ROM3:6A81 0D               dec  c
ROM3:6A82 08 FE 01         ld   (01FE),sp
ROM3:6A85 20 26            jr   nz,6AAD
ROM3:6A87 CF               rst  08
ROM3:6A88 0D               dec  c
ROM3:6A89 0A               ld   a,(bc)
ROM3:6A8A FE 00            cp   a,00
ROM3:6A8C 20 16            jr   nz,6AA4
ROM3:6A8E FA 3A C7         ld   a,(C73A)
ROM3:6A91 47               ld   b,a
ROM3:6A92 FA 3B C7         ld   a,(C73B)
ROM3:6A95 4F               ld   c,a
ROM3:6A96 CD E8 50         call 50E8
ROM3:6A99 CD C4 5F         call 5FC4
ROM3:6A9C 01 46 01         ld   bc,0146
ROM3:6A9F CD A8 61         call 61A8
ROM3:6AA2 18 09            jr   6AAD
ROM3:6AA4 CF               rst  08
ROM3:6AA5 0F               rrca 
ROM3:6AA6 0A               ld   a,(bc)
ROM3:6AA7 CD C4 5F         call 5FC4
ROM3:6AAA CF               rst  08
ROM3:6AAB 07               rlca 
ROM3:6AAC 06 D1            ld   b,D1
ROM3:6AAE C1               pop  bc
ROM3:6AAF F1               pop  af
ROM3:6AB0 C9               ret
Follow Wind
ROM3:6AB1 F5               push af
ROM3:6AB2 C5               push bc
ROM3:6AB3 D5               push de
ROM3:6AB4 FA D7 C8         ld   a,(C8D7)
ROM3:6AB7 4F               ld   c,a
ROM3:6AB8 FA D8 C8         ld   a,(C8D8)
ROM3:6ABB 47               ld   b,a            ;bc = card_id
ROM3:6ABC 16 18            ld   d,18
ROM3:6ABE CF               rst  08
ROM3:6ABF 0D               dec  c
ROM3:6AC0 08 FE 01         ld   (01FE),sp
ROM3:6AC3 20 26            jr   nz,6AEB
ROM3:6AC5 CF               rst  08
ROM3:6AC6 0D               dec  c
ROM3:6AC7 0A               ld   a,(bc)
ROM3:6AC8 FE 00            cp   a,00
ROM3:6ACA 20 16            jr   nz,6AE2
ROM3:6ACC FA 3A C7         ld   a,(C73A)
ROM3:6ACF 47               ld   b,a
ROM3:6AD0 FA 3B C7         ld   a,(C73B)
ROM3:6AD3 4F               ld   c,a
ROM3:6AD4 CD E8 50         call 50E8
ROM3:6AD7 CD C4 5F         call 5FC4
ROM3:6ADA 01 47 01         ld   bc,0147
ROM3:6ADD CD A8 61         call 61A8
ROM3:6AE0 18 09            jr   6AEB
ROM3:6AE2 CF               rst  08
ROM3:6AE3 0F               rrca 
ROM3:6AE4 0A               ld   a,(bc)
ROM3:6AE5 CD C4 5F         call 5FC4
ROM3:6AE8 CF               rst  08
ROM3:6AE9 07               rlca 
ROM3:6AEA 06 D1            ld   b,D1
ROM3:6AEC C1               pop  bc
ROM3:6AED F1               pop  af
ROM3:6AEE C9               ret
Power of Kaishin
ROM3:6AEF F5               push af
ROM3:6AF0 C5               push bc
ROM3:6AF1 D5               push de
ROM3:6AF2 FA D7 C8         ld   a,(C8D7)
ROM3:6AF5 4F               ld   c,a
ROM3:6AF6 FA D8 C8         ld   a,(C8D8)
ROM3:6AF9 47               ld   b,a            ;bc = card_id
ROM3:6AFA 16 19            ld   d,19
ROM3:6AFC CF               rst  08
ROM3:6AFD 0D               dec  c
ROM3:6AFE 08 FE 01         ld   (01FE),sp
ROM3:6B01 20 26            jr   nz,6B29
ROM3:6B03 CF               rst  08
ROM3:6B04 0D               dec  c
ROM3:6B05 0A               ld   a,(bc)
ROM3:6B06 FE 00            cp   a,00
ROM3:6B08 20 16            jr   nz,6B20
ROM3:6B0A FA 3A C7         ld   a,(C73A)
ROM3:6B0D 47               ld   b,a
ROM3:6B0E FA 3B C7         ld   a,(C73B)
ROM3:6B11 4F               ld   c,a
ROM3:6B12 CD E8 50         call 50E8
ROM3:6B15 CD C4 5F         call 5FC4
ROM3:6B18 01 48 01         ld   bc,0148
ROM3:6B1B CD A8 61         call 61A8
ROM3:6B1E 18 09            jr   6B29
ROM3:6B20 CF               rst  08
ROM3:6B21 0F               rrca 
ROM3:6B22 0A               ld   a,(bc)
ROM3:6B23 CD C4 5F         call 5FC4
ROM3:6B26 CF               rst  08
ROM3:6B27 07               rlca 
ROM3:6B28 06 D1            ld   b,D1
ROM3:6B2A C1               pop  bc
ROM3:6B2B F1               pop  af
ROM3:6B2C C9               ret

Stop Defense

ROM3:6B2D F5               push af
ROM3:6B2E C5               push bc
ROM3:6B2F CD 88 2A         call 2A88
ROM3:6B32 0E 01            ld   c,01
ROM3:6B34 06 00            ld   b,00
ROM3:6B36 78               ld   a,b
ROM3:6B37 FE 05            cp   a,05
ROM3:6B39 30 13            jr   nc,6B4E
ROM3:6B3B CD F5 4E         call 4EF5
ROM3:6B3E FE 00            cp   a,00
ROM3:6B40 20 09            jr   nz,6B4B
ROM3:6B42 CD 3C 50         call 503C
ROM3:6B45 CD 4E 1F         call 1F4E
ROM3:6B48 CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
ROM3:6B4B 04               inc  b
ROM3:6B4C 18 E8            jr   6B36
ROM3:6B4E CD B0 5F         call 5FB0
ROM3:6B51 CD 68 41         call 4168
ROM3:6B54 3E 13            ld   a,13
ROM3:6B56 CF               rst  08
ROM3:6B57 0B               dec  bc
ROM3:6B58 06 C1            ld   b,C1
ROM3:6B5A F1               pop  af
ROM3:6B5B C9               ret

Dragon Capture Jar

ROM3:6B5C F5               push af
ROM3:6B5D C5               push bc
ROM3:6B5E D5               push de
ROM3:6B5F 1E 01            ld   e,01
ROM3:6B61 0E 01            ld   c,01
ROM3:6B63 06 00            ld   b,00
ROM3:6B65 78               ld   a,b
ROM3:6B66 FE 05            cp   a,05
ROM3:6B68 30 11            jr   nc,6B7B
ROM3:6B6A 3E 00            ld   a,00
ROM3:6B6C CD 57 51         call 5157
ROM3:6B6F FE 00            cp   a,00
ROM3:6B71 20 05            jr   nz,6B78
ROM3:6B73 CD AF 1F         call 1FAF
ROM3:6B76 1E 00            ld   e,00
ROM3:6B78 04               inc  b
ROM3:6B79 18 EA            jr   6B65
ROM3:6B7B CD B0 5F         call 5FB0
ROM3:6B7E CD 68 41         call 4168
ROM3:6B81 3E 1C            ld   a,1C
ROM3:6B83 CF               rst  08
ROM3:6B84 0B               dec  bc
ROM3:6B85 06 D1            ld   b,D1
ROM3:6B87 C1               pop  bc
ROM3:6B88 F1               pop  af
ROM3:6B89 C9               ret

Swords of Revealing Light

ROM3:6B8A F5               push af
ROM3:6B8B C5               push bc
ROM3:6B8C D5               push de
ROM3:6B8D CD C4 2A         call 2AC4
ROM3:6B90 0E 01            ld   c,01
ROM3:6B92 06 00            ld   b,00
ROM3:6B94 78               ld   a,b
ROM3:6B95 FE 05            cp   a,05
ROM3:6B97 30 0F            jr   nc,6BA8
ROM3:6B99 CD 9D 19         call 199D            ;Update card column and row
ROM3:6B9C CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM3:6B9F CD 3C 50         call 503C
ROM3:6BA2 CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
ROM3:6BA5 04               inc  b
ROM3:6BA6 18 EC            jr   6B94
ROM3:6BA8 0E 02            ld   c,02
ROM3:6BAA 06 01            ld   b,01
ROM3:6BAC 78               ld   a,b
ROM3:6BAD FE 06            cp   a,06
ROM3:6BAF 30 0F            jr   nc,6BC0
ROM3:6BB1 CD 9D 19         call 199D            ;Update card column and row
ROM3:6BB4 CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM3:6BB7 CD 3C 50         call 503C
ROM3:6BBA CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
ROM3:6BBD 04               inc  b
ROM3:6BBE 18 EC            jr   6BAC
ROM3:6BC0 CD B0 5F         call 5FB0
ROM3:6BC3 CD 68 41         call 4168
ROM3:6BC6 3E 2F            ld   a,2F
ROM3:6BC8 CF               rst  08
ROM3:6BC9 0B               dec  bc
ROM3:6BCA 06 D1            ld   b,D1
ROM3:6BCC C1               pop  bc
ROM3:6BCD F1               pop  af
ROM3:6BCE C9               ret

Dark-Piercing Light

ROM3:6BCF F5               push af
ROM3:6BD0 C5               push bc
ROM3:6BD1 D5               push de
ROM3:6BD2 0E 01            ld   c,01
ROM3:6BD4 06 00            ld   b,00
ROM3:6BD6 78               ld   a,b
ROM3:6BD7 FE 05            cp   a,05
ROM3:6BD9 30 0F            jr   nc,6BEA
ROM3:6BDB CD 9D 19         call 199D            ;Update card column and row
ROM3:6BDE CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM3:6BE1 CD 3C 50         call 503C
ROM3:6BE4 CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
ROM3:6BE7 04               inc  b
ROM3:6BE8 18 EC            jr   6BD6
ROM3:6BEA 0E 02            ld   c,02
ROM3:6BEC 06 01            ld   b,01
ROM3:6BEE 78               ld   a,b
ROM3:6BEF FE 06            cp   a,06
ROM3:6BF1 30 0F            jr   nc,6C02
ROM3:6BF3 CD 9D 19         call 199D            ;Update card column and row
ROM3:6BF6 CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM3:6BF9 CD 3C 50         call 503C
ROM3:6BFC CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
ROM3:6BFF 04               inc  b
ROM3:6C00 18 EC            jr   6BEE
ROM3:6C02 CD B0 5F         call 5FB0
ROM3:6C05 CD 68 41         call 4168
ROM3:6C08 3E 31            ld   a,31
ROM3:6C0A CF               rst  08
              => 0B 06                          ;Display text box
ROM3:6C0D D1               pop de
ROM3:6C0E C1               pop  bc
ROM3:6C0F F1               pop  af
ROM3:6C10 C9               ret

Spellbinding Circle

ROM3:6C11 F5               push af
ROM3:6C12 C5               push bc
ROM3:6C13 D5               push de
ROM3:6C14 0E 01            ld   c,01
ROM3:6C16 06 00            ld   b,00
ROM3:6C18 78               ld   a,b
ROM3:6C19 FE 05            cp   a,05
ROM3:6C1B 30 10            jr   nc,6C2D
ROM3:6C1D CD F5 4E         call 4EF5
ROM3:6C20 FE 00            cp   a,00
ROM3:6C22 20 06            jr   nz,6C2A
ROM3:6C24 CD BB 1E         call 1EBB
ROM3:6C27 CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
ROM3:6C2A 04               inc  b
ROM3:6C2B 18 EB            jr   6C18
ROM3:6C2D CD B0 5F         call 5FB0
ROM3:6C30 CD 68 41         call 4168
ROM3:6C33 3E 30            ld   a,30
ROM3:6C35 CF               rst  08
ROM3:6C36 0B               dec  bc
ROM3:6C37 06 D1            ld   b,D1
ROM3:6C39 C1               pop  bc
ROM3:6C3A F1               pop  af
ROM3:6C3B C9               ret

Elegant Egotist

ROM3:6C3C F5               push af
ROM3:6C3D C5               push bc
ROM3:6C3E D5               push de
ROM3:6C3F CD C4 5F         call 5FC4
ROM3:6C42 FA D7 C8         ld   a,(C8D7)
ROM3:6C45 4F               ld   c,a
ROM3:6C46 FA D8 C8         ld   a,(C8D8)
ROM3:6C49 47               ld   b,a            ;bc = card_id
ROM3:6C4A 11 3E 00         ld   de,003E        ;0d62, Harpie Lady
ROM3:6C4D CD 77 1A         call 1A77
ROM3:6C50 FE 00            cp   a,00
ROM3:6C52 20 30            jr   nz,6C84
ROM3:6C54 CD 84 28         call 2884
ROM3:6C57 FA 3A C7         ld   a,(C73A)
ROM3:6C5A 47               ld   b,a
ROM3:6C5B FA 3B C7         ld   a,(C73B)
ROM3:6C5E 4F               ld   c,a
ROM3:6C5F CD 9D 19         call 199D            ;Update card column and row
ROM3:6C62 CD B3 19         call 19B3            ;00s card_id and set card_status to 0x10 in current_card_zone
ROM3:6C65 01 3F 00         ld   bc,003F
ROM3:6C68 CF               rst  08
ROM3:6C69 09               add  hl,bc
ROM3:6C6A 01 CF 13         ld   bc,13CF
ROM3:6C6D 01 79 EA         ld   bc,EA79
ROM3:6C70 DD               -    
ROM3:6C71 C7               rst  00
ROM3:6C72 78               ld   a,b
ROM3:6C73 EA DE C7         ld   (C7DE),a
ROM3:6C76 CD 4E 1F         call 1F4E
ROM3:6C79 CD F2 1E         call 1EF2
ROM3:6C7C CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
ROM3:6C7F 3E 11            ld   a,11
ROM3:6C81 CF               rst  08
ROM3:6C82 0B               dec  bc
ROM3:6C83 06 D1            ld   b,D1
ROM3:6C85 C1               pop  bc
ROM3:6C86 F1               pop  af
ROM3:6C87 C9               ret

Widespread Ruin

ROM3:6C88 F5               push af
ROM3:6C89 CD 54 28         call 2854
ROM3:6C8C CD D0 5E         call 5ED0
ROM3:6C8F CD 68 41         call 4168
ROM3:6C92 F1               pop  af
ROM3:6C93 C9               ret

House of Adhesive Trap

ROM3:6C94 F5               push af
ROM3:6C95 CD 54 28         call 2854
ROM3:6C98 CD D0 5E         call 5ED0
ROM3:6C9B CD 68 41         call 4168
ROM3:6C9E F1               pop  af
ROM3:6C9F C9               ret

Eatgaboon

ROM3:6CA0 F5               push af
ROM3:6CA1 CD 54 28         call 2854
ROM3:6CA4 CD D0 5E         call 5ED0
ROM3:6CA7 CD 68 41         call 4168
ROM3:6CAA F1               pop  af
ROM3:6CAB C9               ret

Bear Trap

ROM3:6CAC F5               push af
ROM3:6CAD CD 54 28         call 2854
ROM3:6CB0 CD D0 5E         call 5ED0
ROM3:6CB3 CD 68 41         call 4168
ROM3:6CB6 F1               pop  af
ROM3:6CB7 C9               ret

Invisible Wire

ROM3:6CB8 F5               push af
ROM3:6CB9 CD 54 28         call 2854
ROM3:6CBC CD D0 5E         call 5ED0
ROM3:6CBF CD 68 41         call 4168
ROM3:6CC2 F1               pop  af
ROM3:6CC3 C9               ret

Acid Trap Hole

ROM3:6CC4 F5               push af
ROM3:6CC5 CD 54 28         call 2854
ROM3:6CC8 CD D0 5E         call 5ED0
ROM3:6CCB CD 68 41         call 4168
ROM3:6CCE F1               pop  af
ROM3:6CCF C9               ret

Goblin Fan

ROM3:6CD0 F5               push af
ROM3:6CD1 CD 54 28         call 2854
ROM3:6CD4 CD D0 5E         call 5ED0
ROM3:6CD7 CD 68 41         call 4168
ROM3:6CDA F1               pop  af
ROM3:6CDB C9               ret

Simochi Allergy

ROM3:6CDC F5               push af
ROM3:6CDD CD 54 28         call 2854
ROM3:6CE0 CD D0 5E         call 5ED0
ROM3:6CE3 CD 68 41         call 4168
ROM3:6CE6 F1               pop  af
ROM3:6CE7 C9               ret

Reverse Trap

ROM3:6CE8 F5               push af
ROM3:6CE9 CD 54 28         call 2854
ROM3:6CEC CD D0 5E         call 5ED0
ROM3:6CEF CD 68 41         call 4168
ROM3:6CF2 F1               pop  af
ROM3:6CF3 C9               ret

Fake Trap

ROM3:6CF4 F5               push af
ROM3:6CF5 CD 54 28         call 2854
ROM3:6CF8 CD D0 5E         call 5ED0
ROM3:6CFB CD 68 41         call 4168
ROM3:6CFE F1               pop  af
ROM3:6CFF C9               ret

Rituals 1

Black Luster Ritual
ROM3:6D00 F5               push af
ROM3:6D01 C5               push bc
ROM3:6D02 D5               push de
ROM3:6D03 01 00 00         ld   bc,0000
ROM3:6D06 CF               rst  08
ROM3:6D07 27               daa  
ROM3:6D08 08 50 59         ld   (5950),sp
ROM3:6D0B 0E 02            ld   c,02
ROM3:6D0D 06 01            ld   b,01
ROM3:6D0F 78               ld   a,b
ROM3:6D10 FE 06            cp   a,06
ROM3:6D12 30 0A            jr   nc,6D1E
ROM3:6D14 CD 2E 52         call 522E
ROM3:6D17 FE 00            cp   a,00
ROM3:6D19 28 03            jr   z,6D1E
ROM3:6D1B 04               inc  b
ROM3:6D1C 18 F1            jr   6D0F
ROM3:6D1E 78               ld   a,b
ROM3:6D1F FE 06            cp   a,06
ROM3:6D21 28 0A            jr   z,6D2D
ROM3:6D23 3E 00            ld   a,00
ROM3:6D25 CF               rst  08
ROM3:6D26 25               dec  h
ROM3:6D27 08 3E 45         ld   (453E),sp
ROM3:6D2A CF               rst  08
ROM3:6D2B 0B               dec  bc
ROM3:6D2C 06 CD            ld   b,CD
ROM3:6D2E B0               or   b
ROM3:6D2F 5F               ld   e,a
ROM3:6D30 CD 68 41         call 4168
ROM3:6D33 D1               pop  de
ROM3:6D34 C1               pop  bc
ROM3:6D35 F1               pop  af
ROM3:6D36 C9               ret
Zera Ritual
ROM3:6D37 F5               push af
ROM3:6D38 C5               push bc
ROM3:6D39 D5               push de
ROM3:6D3A 01 00 01         ld   bc,0100
ROM3:6D3D CF               rst  08
ROM3:6D3E 27               daa  
ROM3:6D3F 08 50 59         ld   (5950),sp
ROM3:6D42 0E 02            ld   c,02
ROM3:6D44 06 01            ld   b,01
ROM3:6D46 78               ld   a,b
ROM3:6D47 FE 06            cp   a,06
ROM3:6D49 30 0A            jr   nc,6D55
ROM3:6D4B CD 2E 52         call 522E
ROM3:6D4E FE 00            cp   a,00
ROM3:6D50 28 03            jr   z,6D55
ROM3:6D52 04               inc  b
ROM3:6D53 18 F1            jr   6D46
ROM3:6D55 78               ld   a,b
ROM3:6D56 FE 06            cp   a,06
ROM3:6D58 28 0A            jr   z,6D64
ROM3:6D5A 3E 01            ld   a,01
ROM3:6D5C CF               rst  08
ROM3:6D5D 25               dec  h
ROM3:6D5E 08 3E 46         ld   (463E),sp
ROM3:6D61 CF               rst  08
ROM3:6D62 0B               dec  bc
ROM3:6D63 06 CD            ld   b,CD
ROM3:6D65 B0               or   b
ROM3:6D66 5F               ld   e,a
ROM3:6D67 CD 68 41         call 4168
ROM3:6D6A D1               pop  de
ROM3:6D6B C1               pop  bc
ROM3:6D6C F1               pop  af
ROM3:6D6D C9               ret
War-lion Ritual
ROM3:6D6E F5               push af
ROM3:6D6F C5               push bc
ROM3:6D70 D5               push de
ROM3:6D71 01 00 02         ld   bc,0200
ROM3:6D74 CF               rst  08
ROM3:6D75 27               daa  
ROM3:6D76 08 50 59         ld   (5950),sp
ROM3:6D79 0E 02            ld   c,02
ROM3:6D7B 06 01            ld   b,01
ROM3:6D7D 78               ld   a,b
ROM3:6D7E FE 06            cp   a,06
ROM3:6D80 30 0A            jr   nc,6D8C
ROM3:6D82 CD 2E 52         call 522E
ROM3:6D85 FE 00            cp   a,00
ROM3:6D87 28 03            jr   z,6D8C
ROM3:6D89 04               inc  b
ROM3:6D8A 18 F1            jr   6D7D
ROM3:6D8C 78               ld   a,b
ROM3:6D8D FE 06            cp   a,06
ROM3:6D8F 28 0A            jr   z,6D9B
ROM3:6D91 3E 02            ld   a,02
ROM3:6D93 CF               rst  08
ROM3:6D94 25               dec  h
ROM3:6D95 08 3E 48         ld   (483E),sp
ROM3:6D98 CF               rst  08
ROM3:6D99 0B               dec  bc
ROM3:6D9A 06 CD            ld   b,CD
ROM3:6D9C B0               or   b
ROM3:6D9D 5F               ld   e,a
ROM3:6D9E CD 68 41         call 4168
ROM3:6DA1 D1               pop  de
ROM3:6DA2 C1               pop  bc
ROM3:6DA3 F1               pop  af
ROM3:6DA4 C9               ret
Beastly Mirror Ritual
ROM3:6DA5 F5               push af
ROM3:6DA6 C5               push bc
ROM3:6DA7 D5               push de
ROM3:6DA8 01 00 03         ld   bc,0300
ROM3:6DAB CF               rst  08
ROM3:6DAC 27               daa  
ROM3:6DAD 08 50 59         ld   (5950),sp
ROM3:6DB0 0E 02            ld   c,02
ROM3:6DB2 06 01            ld   b,01
ROM3:6DB4 78               ld   a,b
ROM3:6DB5 FE 06            cp   a,06
ROM3:6DB7 30 0A            jr   nc,6DC3
ROM3:6DB9 CD 2E 52         call 522E
ROM3:6DBC FE 00            cp   a,00
ROM3:6DBE 28 03            jr   z,6DC3
ROM3:6DC0 04               inc  b
ROM3:6DC1 18 F1            jr   6DB4
ROM3:6DC3 78               ld   a,b
ROM3:6DC4 FE 06            cp   a,06
ROM3:6DC6 28 0A            jr   z,6DD2
ROM3:6DC8 3E 03            ld   a,03
ROM3:6DCA CF               rst  08
ROM3:6DCB 25               dec  h
ROM3:6DCC 08 3E 49         ld   (493E),sp
ROM3:6DCF CF               rst  08
ROM3:6DD0 0B               dec  bc
ROM3:6DD1 06 CD            ld   b,CD
ROM3:6DD3 B0               or   b
ROM3:6DD4 5F               ld   e,a
ROM3:6DD5 CD 68 41         call 4168
ROM3:6DD8 D1               pop  de
ROM3:6DD9 C1               pop  bc
ROM3:6DDA F1               pop  af
ROM3:6DDB C9               ret
Ultimate Dragon
ROM3:6DDC F5               push af
ROM3:6DDD C5               push bc
ROM3:6DDE 3E 04            ld   a,04
ROM3:6DE0 CF               rst  08
ROM3:6DE1 29               add  hl,hl
ROM3:6DE2 08 FE 01         ld   (01FE),sp
ROM3:6DE5 20 0D            jr   nz,6DF4
ROM3:6DE7 CD 7C 28         call 287C
ROM3:6DEA 3E 04            ld   a,04
ROM3:6DEC CF               rst  08
ROM3:6DED 23               inc  hl
ROM3:6DEE 08 3E 4A         ld   (4A3E),sp
ROM3:6DF1 CF               rst  08
ROM3:6DF2 0B               dec  bc
ROM3:6DF3 06 CD            ld   b,CD
ROM3:6DF5 B0               or   b
ROM3:6DF6 5F               ld   e,a
ROM3:6DF7 CD 68 41         call 4168
ROM3:6DFA C1               pop  bc
ROM3:6DFB F1               pop  af
ROM3:6DFC C9               ret
Commencement Dance
ROM3:6DFD F5               push af
ROM3:6DFE C5               push bc
ROM3:6DFF D5               push de
ROM3:6E00 01 00 08         ld   bc,0800
ROM3:6E03 CF               rst  08
ROM3:6E04 27               daa  
ROM3:6E05 08 50 59         ld   (5950),sp
ROM3:6E08 0E 02            ld   c,02
ROM3:6E0A 06 01            ld   b,01
ROM3:6E0C 78               ld   a,b
ROM3:6E0D FE 06            cp   a,06
ROM3:6E0F 30 0A            jr   nc,6E1B
ROM3:6E11 CD 2E 52         call 522E
ROM3:6E14 FE 00            cp   a,00
ROM3:6E16 28 03            jr   z,6E1B
ROM3:6E18 04               inc  b
ROM3:6E19 18 F1            jr   6E0C
ROM3:6E1B 78               ld   a,b
ROM3:6E1C FE 06            cp   a,06
ROM3:6E1E 28 0A            jr   z,6E2A
ROM3:6E20 3E 08            ld   a,08
ROM3:6E22 CF               rst  08
ROM3:6E23 25               dec  h
ROM3:6E24 08 3E 4B         ld   (4B3E),sp
ROM3:6E27 CF               rst  08
ROM3:6E28 0B               dec  bc
ROM3:6E29 06 CD            ld   b,CD
ROM3:6E2B B0               or   b
ROM3:6E2C 5F               ld   e,a
ROM3:6E2D CD 68 41         call 4168
ROM3:6E30 D1               pop  de
ROM3:6E31 C1               pop  bc
ROM3:6E32 F1               pop  af
ROM3:6E33 C9               ret
Hamburger Recipe
ROM3:6E34 F5               push af
ROM3:6E35 C5               push bc
ROM3:6E36 D5               push de
ROM3:6E37 01 00 09         ld   bc,0900
ROM3:6E3A CF               rst  08
ROM3:6E3B 27               daa  
ROM3:6E3C 08 50 59         ld   (5950),sp
ROM3:6E3F 0E 02            ld   c,02
ROM3:6E41 06 01            ld   b,01
ROM3:6E43 78               ld   a,b
ROM3:6E44 FE 06            cp   a,06
ROM3:6E46 30 0A            jr   nc,6E52
ROM3:6E48 CD 2E 52         call 522E
ROM3:6E4B FE 00            cp   a,00
ROM3:6E4D 28 03            jr   z,6E52
ROM3:6E4F 04               inc  b
ROM3:6E50 18 F1            jr   6E43
ROM3:6E52 78               ld   a,b
ROM3:6E53 FE 06            cp   a,06
ROM3:6E55 28 0A            jr   z,6E61
ROM3:6E57 3E 09            ld   a,09
ROM3:6E59 CF               rst  08
ROM3:6E5A 25               dec  h
ROM3:6E5B 08 3E 4C         ld   (4C3E),sp
ROM3:6E5E CF               rst  08
ROM3:6E5F 0B               dec  bc
ROM3:6E60 06 CD            ld   b,CD
ROM3:6E62 B0               or   b
ROM3:6E63 5F               ld   e,a
ROM3:6E64 CD 68 41         call 4168
ROM3:6E67 D1               pop  de
ROM3:6E68 C1               pop  bc
ROM3:6E69 F1               pop  af
ROM3:6E6A C9               ret
Revival of Sennen Genjin
ROM3:6E6B F5               push af
ROM3:6E6C C5               push bc
ROM3:6E6D D5               push de
ROM3:6E6E 01 00 0A         ld   bc,0A00
ROM3:6E71 CF               rst  08
ROM3:6E72 27               daa  
ROM3:6E73 08 50 59         ld   (5950),sp
ROM3:6E76 0E 02            ld   c,02
ROM3:6E78 06 01            ld   b,01
ROM3:6E7A 78               ld   a,b
ROM3:6E7B FE 06            cp   a,06
ROM3:6E7D 30 0A            jr   nc,6E89
ROM3:6E7F CD 2E 52         call 522E
ROM3:6E82 FE 00            cp   a,00
ROM3:6E84 28 03            jr   z,6E89
ROM3:6E86 04               inc  b
ROM3:6E87 18 F1            jr   6E7A
ROM3:6E89 78               ld   a,b
ROM3:6E8A FE 06            cp   a,06
ROM3:6E8C 28 0A            jr   z,6E98
ROM3:6E8E 3E 0A            ld   a,0A
ROM3:6E90 CF               rst  08
ROM3:6E91 25               dec  h
ROM3:6E92 08 3E 4D         ld   (4D3E),sp
ROM3:6E95 CF               rst  08
ROM3:6E96 0B               dec  bc
ROM3:6E97 06 CD            ld   b,CD
ROM3:6E99 B0               or   b
ROM3:6E9A 5F               ld   e,a
ROM3:6E9B CD 68 41         call 4168
ROM3:6E9E D1               pop  de
ROM3:6E9F C1               pop  bc
ROM3:6EA0 F1               pop  af
ROM3:6EA1 C9               ret
Novox's Prayer
ROM3:6EA2 F5               push af
ROM3:6EA3 C5               push bc
ROM3:6EA4 D5               push de
ROM3:6EA5 01 00 0B         ld   bc,0B00
ROM3:6EA8 CF               rst  08
ROM3:6EA9 27               daa  
ROM3:6EAA 08 50 59         ld   (5950),sp
ROM3:6EAD 0E 02            ld   c,02
ROM3:6EAF 06 01            ld   b,01
ROM3:6EB1 78               ld   a,b
ROM3:6EB2 FE 06            cp   a,06
ROM3:6EB4 30 0A            jr   nc,6EC0
ROM3:6EB6 CD 2E 52         call 522E
ROM3:6EB9 FE 00            cp   a,00
ROM3:6EBB 28 03            jr   z,6EC0
ROM3:6EBD 04               inc  b
ROM3:6EBE 18 F1            jr   6EB1
ROM3:6EC0 78               ld   a,b
ROM3:6EC1 FE 06            cp   a,06
ROM3:6EC3 28 0A            jr   z,6ECF
ROM3:6EC5 3E 0B            ld   a,0B
ROM3:6EC7 CF               rst  08
ROM3:6EC8 25               dec  h
ROM3:6EC9 08 3E 4E         ld   (4E3E),sp
ROM3:6ECC CF               rst  08
ROM3:6ECD 0B               dec  bc
ROM3:6ECE 06 CD            ld   b,CD
ROM3:6ED0 B0               or   b
ROM3:6ED1 5F               ld   e,a
ROM3:6ED2 CD 68 41         call 4168
ROM3:6ED5 D1               pop  de
ROM3:6ED6 C1               pop  bc
ROM3:6ED7 F1               pop  af
ROM3:6ED8 C9               ret
Curse of Tri-Horned Dragon
ROM3:6ED9 F5               push af
ROM3:6EDA C5               push bc
ROM3:6EDB D5               push de
ROM3:6EDC 01 00 0C         ld   bc,0C00
ROM3:6EDF CF               rst  08
ROM3:6EE0 27               daa  
ROM3:6EE1 08 50 59         ld   (5950),sp
ROM3:6EE4 0E 02            ld   c,02
ROM3:6EE6 06 01            ld   b,01
ROM3:6EE8 78               ld   a,b
ROM3:6EE9 FE 06            cp   a,06
ROM3:6EEB 30 0A            jr   nc,6EF7
ROM3:6EED CD 2E 52         call 522E
ROM3:6EF0 FE 00            cp   a,00
ROM3:6EF2 28 03            jr   z,6EF7
ROM3:6EF4 04               inc  b
ROM3:6EF5 18 F1            jr   6EE8
ROM3:6EF7 78               ld   a,b
ROM3:6EF8 FE 06            cp   a,06
ROM3:6EFA 28 0A            jr   z,6F06
ROM3:6EFC 3E 0C            ld   a,0C
ROM3:6EFE CF               rst  08
ROM3:6EFF 25               dec  h
ROM3:6F00 08 3E 4F         ld   (4F3E),sp
ROM3:6F03 CF               rst  08
ROM3:6F04 0B               dec  bc
ROM3:6F05 06 CD            ld   b,CD
ROM3:6F07 B0               or   b
ROM3:6F08 5F               ld   e,a
ROM3:6F09 CD 68 41         call 4168
ROM3:6F0C D1               pop  de
ROM3:6F0D C1               pop  bc
ROM3:6F0E F1               pop  af
ROM3:6F0F C9               ret
Revived Serpent Night Dragon
ROM3:6F10 F5               push af
ROM3:6F11 C5               push bc
ROM3:6F12 D5               push de
ROM3:6F13 01 00 0D         ld   bc,0D00
ROM3:6F16 CF               rst  08
ROM3:6F17 27               daa  
ROM3:6F18 08 50 59         ld   (5950),sp
ROM3:6F1B 0E 02            ld   c,02
ROM3:6F1D 06 01            ld   b,01
ROM3:6F1F 78               ld   a,b
ROM3:6F20 FE 06            cp   a,06
ROM3:6F22 30 0A            jr   nc,6F2E
ROM3:6F24 CD 2E 52         call 522E
ROM3:6F27 FE 00            cp   a,00
ROM3:6F29 28 03            jr   z,6F2E
ROM3:6F2B 04               inc  b
ROM3:6F2C 18 F1            jr   6F1F
ROM3:6F2E 78               ld   a,b
ROM3:6F2F FE 06            cp   a,06
ROM3:6F31 28 0A            jr   z,6F3D
ROM3:6F33 3E 0D            ld   a,0D
ROM3:6F35 CF               rst  08
ROM3:6F36 25               dec  h
ROM3:6F37 08 3E 5A         ld   (5A3E),sp
ROM3:6F3A CF               rst  08
ROM3:6F3B 0B               dec  bc
ROM3:6F3C 06 CD            ld   b,CD
ROM3:6F3E B0               or   b
ROM3:6F3F 5F               ld   e,a
ROM3:6F40 CD 68 41         call 4168
ROM3:6F43 D1               pop  de
ROM3:6F44 C1               pop  bc
ROM3:6F45 F1               pop  af
ROM3:6F46 C9               ret

Harpie's Feather Duster

ROM3:6F47 F5               push af
ROM3:6F48 CF               rst  08
ROM3:6F49 13               inc  de
ROM3:6F4A 0A               ld   a,(bc)
ROM3:6F4B CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:6F4E CD 68 41         call 4168
ROM3:6F51 3E 47            ld   a,47
ROM3:6F53 CF               rst  08
ROM3:6F54 0B               dec  bc
ROM3:6F55 06 F1            ld   b,F1
ROM3:6F57 C9               ret

Equip Spells 2

Magical Labyrinth
ROM3:6F58 F5               push af
ROM3:6F59 C5               push bc
ROM3:6F5A D5               push de
ROM3:6F5B FA D7 C8         ld   a,(C8D7)
ROM3:6F5E 4F               ld   c,a
ROM3:6F5F FA D8 C8         ld   a,(C8D8)
ROM3:6F62 47               ld   b,a            ;bc = card_id
ROM3:6F63 16 1A            ld   d,1A
ROM3:6F65 CF               rst  08
ROM3:6F66 0D               dec  c
ROM3:6F67 08 FE 01         ld   (01FE),sp
ROM3:6F6A 20 26            jr   nz,6F92
ROM3:6F6C CF               rst  08
ROM3:6F6D 0D               dec  c
ROM3:6F6E 0A               ld   a,(bc)
ROM3:6F6F FE 00            cp   a,00
ROM3:6F71 20 16            jr   nz,6F89
ROM3:6F73 FA 3A C7         ld   a,(C73A)
ROM3:6F76 47               ld   b,a
ROM3:6F77 FA 3B C7         ld   a,(C73B)
ROM3:6F7A 4F               ld   c,a
ROM3:6F7B CD E8 50         call 50E8
ROM3:6F7E CD C4 5F         call 5FC4
ROM3:6F81 01 8C 02         ld   bc,028C
ROM3:6F84 CD A8 61         call 61A8
ROM3:6F87 18 09            jr   6F92
ROM3:6F89 CF               rst  08
ROM3:6F8A 0F               rrca 
ROM3:6F8B 0A               ld   a,(bc)
ROM3:6F8C CD C4 5F         call 5FC4
ROM3:6F8F CF               rst  08
ROM3:6F90 07               rlca 
ROM3:6F91 06 D1            ld   b,D1
ROM3:6F93 C1               pop  bc
ROM3:6F94 F1               pop  af
ROM3:6F95 C9               ret
Salamandra
ROM3:6F96 F5               push af
ROM3:6F97 C5               push bc
ROM3:6F98 D5               push de
ROM3:6F99 FA D7 C8         ld   a,(C8D7)
ROM3:6F9C 4F               ld   c,a
ROM3:6F9D FA D8 C8         ld   a,(C8D8)
ROM3:6FA0 47               ld   b,a            ;bc = card_id
ROM3:6FA1 16 1B            ld   d,1B
ROM3:6FA3 CF               rst  08
ROM3:6FA4 0D               dec  c
ROM3:6FA5 08 FE 01         ld   (01FE),sp
ROM3:6FA8 20 26            jr   nz,6FD0
ROM3:6FAA CF               rst  08
ROM3:6FAB 0D               dec  c
ROM3:6FAC 0A               ld   a,(bc)
ROM3:6FAD FE 00            cp   a,00
ROM3:6FAF 20 16            jr   nz,6FC7
ROM3:6FB1 FA 3A C7         ld   a,(C73A)
ROM3:6FB4 47               ld   b,a
ROM3:6FB5 FA 3B C7         ld   a,(C73B)
ROM3:6FB8 4F               ld   c,a
ROM3:6FB9 CD E8 50         call 50E8
ROM3:6FBC CD C4 5F         call 5FC4
ROM3:6FBF 01 8E 02         ld   bc,028E
ROM3:6FC2 CD A8 61         call 61A8
ROM3:6FC5 18 09            jr   6FD0
ROM3:6FC7 CF               rst  08
ROM3:6FC8 0F               rrca 
ROM3:6FC9 0A               ld   a,(bc)
ROM3:6FCA CD C4 5F         call 5FC4
ROM3:6FCD CF               rst  08
ROM3:6FCE 07               rlca 
ROM3:6FCF 06 D1            ld   b,D1
ROM3:6FD1 C1               pop  bc
ROM3:6FD2 F1               pop  af
ROM3:6FD3 C9               ret
Kunai with Chain
ROM3:6FD4 F5               push af
ROM3:6FD5 C5               push bc
ROM3:6FD6 D5               push de
ROM3:6FD7 FA D7 C8         ld   a,(C8D7)
ROM3:6FDA 4F               ld   c,a
ROM3:6FDB FA D8 C8         ld   a,(C8D8)
ROM3:6FDE 47               ld   b,a            ;bc = card_id
ROM3:6FDF 16 1C            ld   d,1C
ROM3:6FE1 CF               rst  08
ROM3:6FE2 0D               dec  c
ROM3:6FE3 08 FE 01         ld   (01FE),sp
ROM3:6FE6 20 26            jr   nz,700E
ROM3:6FE8 CF               rst  08
ROM3:6FE9 0D               dec  c
ROM3:6FEA 0A               ld   a,(bc)
ROM3:6FEB FE 00            cp   a,00
ROM3:6FED 20 16            jr   nz,7005
ROM3:6FEF FA 3A C7         ld   a,(C73A)
ROM3:6FF2 47               ld   b,a
ROM3:6FF3 FA 3B C7         ld   a,(C73B)
ROM3:6FF6 4F               ld   c,a
ROM3:6FF7 CD E8 50         call 50E8
ROM3:6FFA CD C4 5F         call 5FC4
ROM3:6FFD 01 8B 02         ld   bc,028B
ROM3:7000 CD A8 61         call 61A8
ROM3:7003 18 09            jr   700E
ROM3:7005 CF               rst  08
ROM3:7006 0F               rrca 
ROM3:7007 0A               ld   a,(bc)
ROM3:7008 CD C4 5F         call 5FC4
ROM3:700B CF               rst  08
ROM3:700C 07               rlca 
ROM3:700D 06 D1            ld   b,D1
ROM3:700F C1               pop  bc
ROM3:7010 F1               pop  af
ROM3:7011 C9               ret
Bright Castle
ROM3:7012 F5               push af
ROM3:7013 C5               push bc
ROM3:7014 D5               push de
ROM3:7015 FA D7 C8         ld   a,(C8D7)
ROM3:7018 4F               ld   c,a
ROM3:7019 FA D8 C8         ld   a,(C8D8)
ROM3:701C 47               ld   b,a            ;bc = card_id
ROM3:701D 16 1D            ld   d,1D
ROM3:701F CF               rst  08
ROM3:7020 0D               dec  c
ROM3:7021 08 FE 01         ld   (01FE),sp
ROM3:7024 20 26            jr   nz,704C
ROM3:7026 CF               rst  08
ROM3:7027 0D               dec  c
ROM3:7028 0A               ld   a,(bc)
ROM3:7029 FE 00            cp   a,00
ROM3:702B 20 16            jr   nz,7043
ROM3:702D FA 3A C7         ld   a,(C73A)
ROM3:7030 47               ld   b,a
ROM3:7031 FA 3B C7         ld   a,(C73B)
ROM3:7034 4F               ld   c,a
ROM3:7035 CD E8 50         call 50E8
ROM3:7038 CD C4 5F         call 5FC4
ROM3:703B 01 9C 02         ld   bc,029C
ROM3:703E CD A8 61         call 61A8
ROM3:7041 18 09            jr   704C
ROM3:7043 CF               rst  08
ROM3:7044 0F               rrca 
ROM3:7045 0A               ld   a,(bc)
ROM3:7046 CD C4 5F         call 5FC4
ROM3:7049 CF               rst  08
ROM3:704A 07               rlca 
ROM3:704B 06 D1            ld   b,D1
ROM3:704D C1               pop  bc
ROM3:704E F1               pop  af
ROM3:704F C9               ret

Crush Card

ROM3:7050 F5               push af
ROM3:7051 C5               push bc
ROM3:7052 0E 01            ld   c,01
ROM3:7054 06 00            ld   b,00
ROM3:7056 78               ld   a,b
ROM3:7057 FE 05            cp   a,05
ROM3:7059 30 24            jr   nc,707F
ROM3:705B CD F5 4E         call 4EF5
ROM3:705E FE 00            cp   a,00
ROM3:7060 20 1A            jr   nz,707C
ROM3:7062 CF               rst  08
ROM3:7063 0B               dec  bc
ROM3:7064 07               rlca 
ROM3:7065 C5               push bc
ROM3:7066 FA A7 C6         ld   a,(C6A7)
ROM3:7069 4F               ld   c,a
ROM3:706A FA A8 C6         ld   a,(C6A8)
ROM3:706D 47               ld   b,a
ROM3:706E 11 00 15         ld   de,1500        ;≥ 1500 ATK
ROM3:7071 CD 86 1A         call 1A86
ROM3:7074 C1               pop  bc
ROM3:7075 FE 02            cp   a,02
ROM3:7077 28 03            jr   z,707C
ROM3:7079 CD AF 1F         call 1FAF
ROM3:707C 04               inc  b
ROM3:707D 18 D7            jr   7056
ROM3:707F CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:7082 CD 9C 28         call 289C
ROM3:7085 CD 68 41         call 4168
ROM3:7088 3E 3C            ld   a,3C
ROM3:708A CF               rst  08
ROM3:708B 0B               dec  bc
ROM3:708C 06 C1            ld   b,C1
ROM3:708E F1               pop  af
ROM3:708F C9               ret

Shadow Spell

ROM3:7090 F5               push af
ROM3:7091 C5               push bc
ROM3:7092 0E 01            ld   c,01
ROM3:7094 06 00            ld   b,00
ROM3:7096 78               ld   a,b
ROM3:7097 FE 05            cp   a,05
ROM3:7099 30 13            jr   nc,70AE
ROM3:709B CD F5 4E         call 4EF5
ROM3:709E FE 00            cp   a,00
ROM3:70A0 20 09            jr   nz,70AB
ROM3:70A2 CD BB 1E         call 1EBB
ROM3:70A5 CD BB 1E         call 1EBB
ROM3:70A8 CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
ROM3:70AB 04               inc  b
ROM3:70AC 18 E8            jr   7096
ROM3:70AE CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:70B1 CD 68 41         call 4168
ROM3:70B4 3E 44            ld   a,44
ROM3:70B6 CF               rst  08
ROM3:70B7 0B               dec  bc
ROM3:70B8 06 C1            ld   b,C1
ROM3:70BA F1               pop  af
ROM3:70BB C9               ret

Rituals 2

Turtle Oath
ROM3:70BC F5               push af
ROM3:70BD C5               push bc
ROM3:70BE D5               push de
ROM3:70BF 01 00 0E         ld   bc,0E00
ROM3:70C2 CF               rst  08
ROM3:70C3 27               daa  
ROM3:70C4 08 50 59         ld   (5950),sp
ROM3:70C7 0E 02            ld   c,02
ROM3:70C9 06 01            ld   b,01
ROM3:70CB 78               ld   a,b
ROM3:70CC FE 06            cp   a,06
ROM3:70CE 30 0A            jr   nc,70DA
ROM3:70D0 CD 2E 52         call 522E
ROM3:70D3 FE 00            cp   a,00
ROM3:70D5 28 03            jr   z,70DA
ROM3:70D7 04               inc  b
ROM3:70D8 18 F1            jr   70CB
ROM3:70DA 78               ld   a,b
ROM3:70DB FE 06            cp   a,06
ROM3:70DD 28 0A            jr   z,70E9
ROM3:70DF 3E 0E            ld   a,0E
ROM3:70E1 CF               rst  08
ROM3:70E2 25               dec  h
ROM3:70E3 08 3E 5B         ld   (5B3E),sp
ROM3:70E6 CF               rst  08
ROM3:70E7 0B               dec  bc
ROM3:70E8 06 CD            ld   b,CD
ROM3:70EA B0               or   b
ROM3:70EB 5F               ld   e,a
ROM3:70EC CD 68 41         call 4168
ROM3:70EF D1               pop  de
ROM3:70F0 C1               pop  bc
ROM3:70F1 F1               pop  af
ROM3:70F2 C9               ret
Contract of Mask
ROM3:70F3 F5               push af
ROM3:70F4 C5               push bc
ROM3:70F5 D5               push de
ROM3:70F6 01 00 0F         ld   bc,0F00
ROM3:70F9 CF               rst  08
ROM3:70FA 27               daa  
ROM3:70FB 08 50 59         ld   (5950),sp
ROM3:70FE 0E 02            ld   c,02
ROM3:7100 06 01            ld   b,01
ROM3:7102 78               ld   a,b
ROM3:7103 FE 06            cp   a,06
ROM3:7105 30 0A            jr   nc,7111
ROM3:7107 CD 2E 52         call 522E
ROM3:710A FE 00            cp   a,00
ROM3:710C 28 03            jr   z,7111
ROM3:710E 04               inc  b
ROM3:710F 18 F1            jr   7102
ROM3:7111 78               ld   a,b
ROM3:7112 FE 06            cp   a,06
ROM3:7114 28 0A            jr   z,7120
ROM3:7116 3E 0F            ld   a,0F
ROM3:7118 CF               rst  08
ROM3:7119 25               dec  h
ROM3:711A 08 3E 5C         ld   (5C3E),sp
ROM3:711D CF               rst  08
ROM3:711E 0B               dec  bc
ROM3:711F 06 CD            ld   b,CD
ROM3:7121 B0               or   b
ROM3:7122 5F               ld   e,a
ROM3:7123 CD 68 41         call 4168
ROM3:7126 D1               pop  de
ROM3:7127 C1               pop  bc
ROM3:7128 F1               pop  af
ROM3:7129 C9               ret
Resurrection of Chakra
ROM3:712A F5               push af
ROM3:712B C5               push bc
ROM3:712C D5               push de
ROM3:712D 01 00 10         ld   bc,1000
ROM3:7130 CF               rst  08
ROM3:7131 27               daa  
ROM3:7132 08 50 59         ld   (5950),sp
ROM3:7135 0E 02            ld   c,02
ROM3:7137 06 01            ld   b,01
ROM3:7139 78               ld   a,b
ROM3:713A FE 06            cp   a,06
ROM3:713C 30 0A            jr   nc,7148
ROM3:713E CD 2E 52         call 522E
ROM3:7141 FE 00            cp   a,00
ROM3:7143 28 03            jr   z,7148
ROM3:7145 04               inc  b
ROM3:7146 18 F1            jr   7139
ROM3:7148 78               ld   a,b
ROM3:7149 FE 06            cp   a,06
ROM3:714B 28 0A            jr   z,7157
ROM3:714D 3E 10            ld   a,10
ROM3:714F CF               rst  08
ROM3:7150 25               dec  h
ROM3:7151 08 3E 5D         ld   (5D3E),sp
ROM3:7154 CF               rst  08
ROM3:7155 0B               dec  bc
ROM3:7156 06 CD            ld   b,CD
ROM3:7158 B0               or   b
ROM3:7159 5F               ld   e,a
ROM3:715A CD 68 41         call 4168
ROM3:715D D1               pop  de
ROM3:715E C1               pop  bc
ROM3:715F F1               pop  af
ROM3:7160 C9               ret
Puppet Ritual
ROM3:7161 F5               push af
ROM3:7162 C5               push bc
ROM3:7163 D5               push de
ROM3:7164 01 00 11         ld   bc,1100
ROM3:7167 CF               rst  08
ROM3:7168 27               daa  
ROM3:7169 08 50 59         ld   (5950),sp
ROM3:716C 0E 02            ld   c,02
ROM3:716E 06 01            ld   b,01
ROM3:7170 78               ld   a,b
ROM3:7171 FE 06            cp   a,06
ROM3:7173 30 0A            jr   nc,717F
ROM3:7175 CD 2E 52         call 522E
ROM3:7178 FE 00            cp   a,00
ROM3:717A 28 03            jr   z,717F
ROM3:717C 04               inc  b
ROM3:717D 18 F1            jr   7170
ROM3:717F 78               ld   a,b
ROM3:7180 FE 06            cp   a,06
ROM3:7182 28 0A            jr   z,718E
ROM3:7184 3E 11            ld   a,11
ROM3:7186 CF               rst  08
ROM3:7187 25               dec  h
ROM3:7188 08 3E 5E         ld   (5E3E),sp
ROM3:718B CF               rst  08
ROM3:718C 0B               dec  bc
ROM3:718D 06 CD            ld   b,CD
ROM3:718F B0               or   b
ROM3:7190 5F               ld   e,a
ROM3:7191 CD 68 41         call 4168
ROM3:7194 D1               pop  de
ROM3:7195 C1               pop  bc
ROM3:7196 F1               pop  af
ROM3:7197 C9               ret
Javelin Beetle Pact
ROM3:7198 F5               push af
ROM3:7199 C5               push bc
ROM3:719A D5               push de
ROM3:719B 01 00 12         ld   bc,1200
ROM3:719E CF               rst  08
ROM3:719F 27               daa  
ROM3:71A0 08 50 59         ld   (5950),sp
ROM3:71A3 0E 02            ld   c,02
ROM3:71A5 06 01            ld   b,01
ROM3:71A7 78               ld   a,b
ROM3:71A8 FE 06            cp   a,06
ROM3:71AA 30 0A            jr   nc,71B6
ROM3:71AC CD 2E 52         call 522E
ROM3:71AF FE 00            cp   a,00
ROM3:71B1 28 03            jr   z,71B6
ROM3:71B3 04               inc  b
ROM3:71B4 18 F1            jr   71A7
ROM3:71B6 78               ld   a,b
ROM3:71B7 FE 06            cp   a,06
ROM3:71B9 28 0A            jr   z,71C5
ROM3:71BB 3E 12            ld   a,12
ROM3:71BD CF               rst  08
ROM3:71BE 25               dec  h
ROM3:71BF 08 3E 5F         ld   (5F3E),sp
ROM3:71C2 CF               rst  08
ROM3:71C3 0B               dec  bc
ROM3:71C4 06 CD            ld   b,CD
ROM3:71C6 B0               or   b
ROM3:71C7 5F               ld   e,a
ROM3:71C8 CD 68 41         call 4168
ROM3:71CB D1               pop  de
ROM3:71CC C1               pop  bc
ROM3:71CD F1               pop  af
ROM3:71CE C9               ret
Garma Sword Oath
ROM3:71CF F5               push af
ROM3:71D0 C5               push bc
ROM3:71D1 D5               push de
ROM3:71D2 01 00 13         ld   bc,1300
ROM3:71D5 CF               rst  08
ROM3:71D6 27               daa  
ROM3:71D7 08 50 59         ld   (5950),sp
ROM3:71DA 0E 02            ld   c,02
ROM3:71DC 06 01            ld   b,01
ROM3:71DE 78               ld   a,b
ROM3:71DF FE 06            cp   a,06
ROM3:71E1 30 0A            jr   nc,71ED
ROM3:71E3 CD 2E 52         call 522E
ROM3:71E6 FE 00            cp   a,00
ROM3:71E8 28 03            jr   z,71ED
ROM3:71EA 04               inc  b
ROM3:71EB 18 F1            jr   71DE
ROM3:71ED 78               ld   a,b
ROM3:71EE FE 06            cp   a,06
ROM3:71F0 28 0A            jr   z,71FC
ROM3:71F2 3E 13            ld   a,13
ROM3:71F4 CF               rst  08
ROM3:71F5 25               dec  h
ROM3:71F6 08 3E 60         ld   (603E),sp
ROM3:71F9 CF               rst  08
ROM3:71FA 0B               dec  bc
ROM3:71FB 06 CD            ld   b,CD
ROM3:71FD B0               or   b
ROM3:71FE 5F               ld   e,a
ROM3:71FF CD 68 41         call 4168
ROM3:7202 D1               pop  de
ROM3:7203 C1               pop  bc
ROM3:7204 F1               pop  af
ROM3:7205 C9               ret
Cosmo Queen's Prayer
ROM3:7206 F5               push af
ROM3:7207 C5               push bc
ROM3:7208 D5               push de
ROM3:7209 01 00 14         ld   bc,1400
ROM3:720C CF               rst  08
ROM3:720D 27               daa  
ROM3:720E 08 50 59         ld   (5950),sp
ROM3:7211 0E 02            ld   c,02
ROM3:7213 06 01            ld   b,01
ROM3:7215 78               ld   a,b
ROM3:7216 FE 06            cp   a,06
ROM3:7218 30 0A            jr   nc,7224
ROM3:721A CD 2E 52         call 522E
ROM3:721D FE 00            cp   a,00
ROM3:721F 28 03            jr   z,7224
ROM3:7221 04               inc  b
ROM3:7222 18 F1            jr   7215
ROM3:7224 78               ld   a,b
ROM3:7225 FE 06            cp   a,06
ROM3:7227 28 0A            jr   z,7233
ROM3:7229 3E 14            ld   a,14
ROM3:722B CF               rst  08
ROM3:722C 25               dec  h
ROM3:722D 08 3E 61         ld   (613E),sp
ROM3:7230 CF               rst  08
ROM3:7231 0B               dec  bc
ROM3:7232 06 CD            ld   b,CD
ROM3:7234 B0               or   b
ROM3:7235 5F               ld   e,a
ROM3:7236 CD 68 41         call 4168
ROM3:7239 D1               pop  de
ROM3:723A C1               pop  bc
ROM3:723B F1               pop  af
ROM3:723C C9               ret
Revival of Skeleton
ROM3:723D F5               push af
ROM3:723E C5               push bc
ROM3:723F D5               push de
ROM3:7240 01 00 15         ld   bc,1500
ROM3:7243 CF               rst  08
ROM3:7244 27               daa  
ROM3:7245 08 50 59         ld   (5950),sp
ROM3:7248 0E 02            ld   c,02
ROM3:724A 06 01            ld   b,01
ROM3:724C 78               ld   a,b
ROM3:724D FE 06            cp   a,06
ROM3:724F 30 0A            jr   nc,725B
ROM3:7251 CD 2E 52         call 522E
ROM3:7254 FE 00            cp   a,00
ROM3:7256 28 03            jr   z,725B
ROM3:7258 04               inc  b
ROM3:7259 18 F1            jr   724C
ROM3:725B 78               ld   a,b
ROM3:725C FE 06            cp   a,06
ROM3:725E 28 0A            jr   z,726A
ROM3:7260 3E 15            ld   a,15
ROM3:7262 CF               rst  08
ROM3:7263 25               dec  h
ROM3:7264 08 3E 62         ld   (623E),sp
ROM3:7267 CF               rst  08
ROM3:7268 0B               dec  bc
ROM3:7269 06 CD            ld   b,CD
ROM3:726B B0               or   b
ROM3:726C 5F               ld   e,a
ROM3:726D CD 68 41         call 4168
ROM3:7270 D1               pop  de
ROM3:7271 C1               pop  bc
ROM3:7272 F1               pop  af
ROM3:7273 C9               ret
Fortress Whale's Oath
ROM3:7274 F5               push af
ROM3:7275 C5               push bc
ROM3:7276 D5               push de
ROM3:7277 01 00 16         ld   bc,1600
ROM3:727A CF               rst  08
ROM3:727B 27               daa  
ROM3:727C 08 50 59         ld   (5950),sp
ROM3:727F 0E 02            ld   c,02
ROM3:7281 06 01            ld   b,01
ROM3:7283 78               ld   a,b
ROM3:7284 FE 06            cp   a,06
ROM3:7286 30 0A            jr   nc,7292
ROM3:7288 CD 2E 52         call 522E
ROM3:728B FE 00            cp   a,00
ROM3:728D 28 03            jr   z,7292
ROM3:728F 04               inc  b
ROM3:7290 18 F1            jr   7283
ROM3:7292 78               ld   a,b
ROM3:7293 FE 06            cp   a,06
ROM3:7295 28 0A            jr   z,72A1
ROM3:7297 3E 16            ld   a,16
ROM3:7299 CF               rst  08
ROM3:729A 25               dec  h
ROM3:729B 08 3E 63         ld   (633E),sp
ROM3:729E CF               rst  08
ROM3:729F 0B               dec  bc
ROM3:72A0 06 CD            ld   b,CD
ROM3:72A2 B0               or   b
ROM3:72A3 5F               ld   e,a
ROM3:72A4 CD 68 41         call 4168
ROM3:72A7 D1               pop  de
ROM3:72A8 C1               pop  bc
ROM3:72A9 F1               pop  af
ROM3:72AA C9               ret
Curse of Millennium Shield
ROM3:72AB F5               push af
ROM3:72AC C5               push bc
ROM3:72AD D5               push de
ROM3:72AE 01 00 05         ld   bc,0500
ROM3:72B1 CF               rst  08
ROM3:72B2 27               daa  
ROM3:72B3 08 50 59         ld   (5950),sp
ROM3:72B6 0E 02            ld   c,02
ROM3:72B8 06 01            ld   b,01
ROM3:72BA 78               ld   a,b
ROM3:72BB FE 06            cp   a,06
ROM3:72BD 30 0A            jr   nc,72C9
ROM3:72BF CD 2E 52         call 522E
ROM3:72C2 FE 00            cp   a,00
ROM3:72C4 28 03            jr   z,72C9
ROM3:72C6 04               inc  b
ROM3:72C7 18 F1            jr   72BA
ROM3:72C9 78               ld   a,b
ROM3:72CA FE 06            cp   a,06
ROM3:72CC 28 0A            jr   z,72D8
ROM3:72CE 3E 05            ld   a,05
ROM3:72D0 CF               rst  08
ROM3:72D1 25               dec  h
ROM3:72D2 08 3E 40         ld   (403E),sp
ROM3:72D5 CF               rst  08
ROM3:72D6 0B               dec  bc
ROM3:72D7 06 CD            ld   b,CD
ROM3:72D9 B0               or   b
ROM3:72DA 5F               ld   e,a
ROM3:72DB CD 68 41         call 4168
ROM3:72DE D1               pop  de
ROM3:72DF C1               pop  bc
ROM3:72E0 F1               pop  af
ROM3:72E1 C9               ret
Yamadron Ritual
ROM3:72E2 F5               push af
ROM3:72E3 C5               push bc
ROM3:72E4 D5               push de
ROM3:72E5 01 00 06         ld   bc,0600
ROM3:72E8 CF               rst  08
ROM3:72E9 27               daa  
ROM3:72EA 08 50 59         ld   (5950),sp
ROM3:72ED 0E 02            ld   c,02
ROM3:72EF 06 01            ld   b,01
ROM3:72F1 78               ld   a,b
ROM3:72F2 FE 06            cp   a,06
ROM3:72F4 30 0A            jr   nc,7300
ROM3:72F6 CD 2E 52         call 522E
ROM3:72F9 FE 00            cp   a,00
ROM3:72FB 28 03            jr   z,7300
ROM3:72FD 04               inc  b
ROM3:72FE 18 F1            jr   72F1
ROM3:7300 78               ld   a,b
ROM3:7301 FE 06            cp   a,06
ROM3:7303 28 0A            jr   z,730F
ROM3:7305 3E 06            ld   a,06
ROM3:7307 CF               rst  08
ROM3:7308 25               dec  h
ROM3:7309 08 3E 41         ld   (413E),sp
ROM3:730C CF               rst  08
ROM3:730D 0B               dec  bc
ROM3:730E 06 CD            ld   b,CD
ROM3:7310 B0               or   b
ROM3:7311 5F               ld   e,a
ROM3:7312 CD 68 41         call 4168
ROM3:7315 D1               pop  de
ROM3:7316 C1               pop  bc
ROM3:7317 F1               pop  af
ROM3:7318 C9               ret
Gate Guardian Ritual
ROM3:7319 F5               push af
ROM3:731A C5               push bc
ROM3:731B 3E 07            ld   a,07
ROM3:731D CF               rst  08
ROM3:731E 29               add  hl,hl
ROM3:731F 08 FE 01         ld   (01FE),sp
ROM3:7322 20 0D            jr   nz,7331
ROM3:7324 CD 7C 28         call 287C
ROM3:7327 3E 07            ld   a,07
ROM3:7329 CF               rst  08
ROM3:732A 23               inc  hl
ROM3:732B 08 3E 42         ld   (423E),sp
ROM3:732E CF               rst  08
ROM3:732F 0B               dec  bc
ROM3:7330 06 CD            ld   b,CD
ROM3:7332 B0               or   b
ROM3:7333 5F               ld   e,a
ROM3:7334 CD 68 41         call 4168
ROM3:7337 C1               pop  bc
ROM3:7338 F1               pop  af
ROM3:7339 C9               ret

Warrior Elimination

ROM3:733A F5               push af
ROM3:733B C5               push bc
ROM3:733C D5               push de
ROM3:733D 1E 01            ld   e,01
ROM3:733F 0E 01            ld   c,01
ROM3:7341 06 00            ld   b,00
ROM3:7343 78               ld   a,b
ROM3:7344 FE 05            cp   a,05
ROM3:7346 30 11            jr   nc,7359
ROM3:7348 3E 03            ld   a,03
ROM3:734A CD 57 51         call 5157
ROM3:734D FE 00            cp   a,00
ROM3:734F 20 05            jr   nz,7356
ROM3:7351 CD AF 1F         call 1FAF
ROM3:7354 1E 00            ld   e,00
ROM3:7356 04               inc  b
ROM3:7357 18 EA            jr   7343
ROM3:7359 CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:735C CD 9C 28         call 289C
ROM3:735F CD 68 41         call 4168
ROM3:7362 3E 34            ld   a,34
ROM3:7364 CF               rst  08
ROM3:7365 0B               dec  bc
ROM3:7366 06 D1            ld   b,D1
ROM3:7368 C1               pop  bc
ROM3:7369 F1               pop  af
ROM3:736A C9               ret

Cursebreaker

ROM3:736B F5               push af
ROM3:736C C5               push bc
ROM3:736D 0E 02            ld   c,02
ROM3:736F 06 01            ld   b,01
ROM3:7371 78               ld   a,b
ROM3:7372 FE 06            cp   a,06
ROM3:7374 30 16            jr   nc,738C
ROM3:7376 CD 9D 19         call 199D            ;Update card column and row
ROM3:7379 CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM3:737C CD 9D 51         call 519D
ROM3:737F FE 00            cp   a,00
ROM3:7381 20 06            jr   nz,7389
ROM3:7383 CD DD 1E         call 1EDD
ROM3:7386 CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
ROM3:7389 04               inc  b
ROM3:738A 18 E5            jr   7371
ROM3:738C CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:738F CD 68 41         call 4168
ROM3:7392 3E 36            ld   a,36
ROM3:7394 CF               rst  08
ROM3:7395 0B               dec  bc
ROM3:7396 06 C1            ld   b,C1
ROM3:7398 F1               pop  af
ROM3:7399 C9               ret

Eternal Rest

ROM3:739A F5               push af
ROM3:739B C5               push bc
ROM3:739C D5               push de
ROM3:739D 1E 01            ld   e,01
ROM3:739F 0E 01            ld   c,01
ROM3:73A1 06 00            ld   b,00
ROM3:73A3 78               ld   a,b
ROM3:73A4 FE 05            cp   a,05
ROM3:73A6 30 11            jr   nc,73B9
ROM3:73A8 3E 02            ld   a,02
ROM3:73AA CD 57 51         call 5157
ROM3:73AD FE 00            cp   a,00
ROM3:73AF 20 05            jr   nz,73B6
ROM3:73B1 CD AF 1F         call 1FAF
ROM3:73B4 1E 00            ld   e,00
ROM3:73B6 04               inc  b
ROM3:73B7 18 EA            jr   73A3
ROM3:73B9 CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:73BC CD 68 41         call 4168
ROM3:73BF 3E 37            ld   a,37
ROM3:73C1 CF               rst  08
ROM3:73C2 0B               dec  bc
ROM3:73C3 06 D1            ld   b,D1
ROM3:73C5 C1               pop  bc
ROM3:73C6 F1               pop  af
ROM3:73C7 C9               ret

Equip Spells 3

Megamorph
ROM3:73C8 F5               push af
ROM3:73C9 C5               push bc
ROM3:73CA D5               push de
ROM3:73CB FA D7 C8         ld   a,(C8D7)
ROM3:73CE 4F               ld   c,a
ROM3:73CF FA D8 C8         ld   a,(C8D8)
ROM3:73D2 47               ld   b,a            ;bc = card_id
ROM3:73D3 16 1E            ld   d,1E
ROM3:73D5 CF               rst  08             ;There's still a card_id check for Megamorph, even though it can be equipped to any monster
ROM3:73D6 0D               dec  c
ROM3:73D7 08 FE 01         ld   (01FE),sp
ROM3:73DA 20 26            jr   nz,7402
ROM3:73DC CF               rst  08
ROM3:73DD 0D               dec  c
ROM3:73DE 0A               ld   a,(bc)
ROM3:73DF FE 00            cp   a,00
ROM3:73E1 20 16            jr   nz,73F9
ROM3:73E3 FA 3A C7         ld   a,(C73A)
ROM3:73E6 47               ld   b,a
ROM3:73E7 FA 3B C7         ld   a,(C73B)
ROM3:73EA 4F               ld   c,a
ROM3:73EB CD E8 50         call 50E8
ROM3:73EE CD C4 5F         call 5FC4
ROM3:73F1 01 91 02         ld   bc,0291
ROM3:73F4 CD A8 61         call 61A8
ROM3:73F7 18 09            jr   7402
ROM3:73F9 CF               rst  08
ROM3:73FA 0F               rrca 
ROM3:73FB 0A               ld   a,(bc)
ROM3:73FC CD C4 5F         call 5FC4
ROM3:73FF CF               rst  08
ROM3:7400 07               rlca 
ROM3:7401 06 D1            ld   b,D1
ROM3:7403 C1               pop  bc
ROM3:7404 F1               pop  af
ROM3:7405 C9               ret
Metalmorph
ROM3:7406 F5               push af
ROM3:7407 C5               push bc
ROM3:7408 D5               push de
ROM3:7409 CD C4 5F         call 5FC4
ROM3:740C FA D7 C8         ld   a,(C8D7)
ROM3:740F 4F               ld   c,a
ROM3:7410 FA D8 C8         ld   a,(C8D8)
ROM3:7413 47               ld   b,a            ;bc = card_id
ROM3:7414 11 87 01         ld   de,0187        ;de = 0d391, Zoa
ROM3:7417 CD 77 1A         call 1A77
ROM3:741A FE 00            cp   a,00
ROM3:741C 20 32            jr   nz,7450
ROM3:741E CD 84 28         call 2884
ROM3:7421 FA 3A C7         ld   a,(C73A)
ROM3:7424 47               ld   b,a
ROM3:7425 FA 3B C7         ld   a,(C73B)
ROM3:7428 4F               ld   c,a
ROM3:7429 CD 9D 19         call 199D            ;Update card column and row
ROM3:742C CD B3 19         call 19B3            ;00s card_id and set card_status to 0x10 in current_card_zone
ROM3:742F 01 88 01         ld   bc,0188         ;bc = 0d392, Metalzoa
ROM3:7432 CF               rst  08
ROM3:7433 09               add  hl,bc
ROM3:7434 01 CF 13         ld   bc,13CF
ROM3:7437 01 79 EA         ld   bc,EA79
ROM3:743A DD               -    
ROM3:743B C7               rst  00
ROM3:743C 78               ld   a,b
ROM3:743D EA DE C7         ld   (C7DE),a
ROM3:7440 CD 4E 1F         call 1F4E
ROM3:7443 CD F2 1E         call 1EF2
ROM3:7446 CD C8 19         call 19C8           ;Copy current_card_id and current_card_status in [bc]
ROM3:7449 3E 39            ld   a,39
ROM3:744B CF               rst  08
ROM3:744C 0B               dec  bc
ROM3:744D 06 18            ld   b,18
ROM3:744F 3C               inc  a
ROM3:7450 11 52 00         ld   de,0052        ;de = 0d82, Red-eyes B. Dragon
ROM3:7453 CD 77 1A         call 1A77
ROM3:7456 FE 00            cp   a,00
ROM3:7458 20 32            jr   nz,748C
ROM3:745A CD 84 28         call 2884
ROM3:745D FA 3A C7         ld   a,(C73A)
ROM3:7460 47               ld   b,a
ROM3:7461 FA 3B C7         ld   a,(C73B)
ROM3:7464 4F               ld   c,a
ROM3:7465 CD 9D 19         call 199D            ;Update card column and row
ROM3:7468 CD B3 19         call 19B3            ;00s card_id and set card_status to 0x10 in current_card_zone
ROM3:746B 01 E6 02         ld   bc,02E6         ;bc = 0d742, R.eye B. M. Dragon
ROM3:746E CF               rst  08
ROM3:746F 09               add  hl,bc
ROM3:7470 01 CF 13         ld   bc,13CF
ROM3:7473 01 79 EA         ld   bc,EA79
ROM3:7476 DD               -    
ROM3:7477 C7               rst  00
ROM3:7478 78               ld   a,b
ROM3:7479 EA DE C7         ld   (C7DE),a
ROM3:747C CD 4E 1F         call 1F4E
ROM3:747F CD F2 1E         call 1EF2
ROM3:7482 CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
ROM3:7485 3E 39            ld   a,39
ROM3:7487 CF               rst  08
ROM3:7488 0B               dec  bc
ROM3:7489 06 18            ld   b,18
ROM3:748B 00               nop  
ROM3:748C D1               pop  de
ROM3:748D C1               pop  bc
ROM3:748E F1               pop  af
ROM3:748F C9               ret
Winged Trumpeter
ROM3:7490 F5               push af
ROM3:7491 C5               push bc
ROM3:7492 D5               push de
ROM3:7493 FA D7 C8         ld   a,(C8D7)
ROM3:7496 4F               ld   c,a
ROM3:7497 FA D8 C8         ld   a,(C8D8)
ROM3:749A 47               ld   b,a            ;bc = card_id
ROM3:749B 16 1F            ld   d,1F
ROM3:749D CF               rst  08
ROM3:749E 0D               dec  c
ROM3:749F 08 FE 01         ld   (01FE),sp
ROM3:74A2 20 26            jr   nz,74CA
ROM3:74A4 CF               rst  08
ROM3:74A5 0D               dec  c
ROM3:74A6 0A               ld   a,(bc)
ROM3:74A7 FE 00            cp   a,00
ROM3:74A9 20 16            jr   nz,74C1
ROM3:74AB FA 3A C7         ld   a,(C73A)
ROM3:74AE 47               ld   b,a
ROM3:74AF FA 3B C7         ld   a,(C73B)
ROM3:74B2 4F               ld   c,a
ROM3:74B3 CD E8 50         call 50E8
ROM3:74B6 CD C4 5F         call 5FC4
ROM3:74B9 01 93 02         ld   bc,0293
ROM3:74BC CD A8 61         call 61A8
ROM3:74BF 18 09            jr   74CA
ROM3:74C1 CF               rst  08
ROM3:74C2 0F               rrca 
ROM3:74C3 0A               ld   a,(bc)
ROM3:74C4 CD C4 5F         call 5FC4
ROM3:74C7 CF               rst  08
ROM3:74C8 07               rlca 
ROM3:74C9 06 D1            ld   b,D1
ROM3:74CB C1               pop  bc
ROM3:74CC F1               pop  af
ROM3:74CD C9               ret

Stain Storm

ROM3:74CE F5               push af
ROM3:74CF C5               push bc
ROM3:74D0 D5               push de
ROM3:74D1 1E 01            ld   e,01
ROM3:74D3 0E 01            ld   c,01
ROM3:74D5 06 00            ld   b,00
ROM3:74D7 78               ld   a,b
ROM3:74D8 FE 05            cp   a,05
ROM3:74DA 30 11            jr   nc,74ED
ROM3:74DC 3E 0E            ld   a,0E
ROM3:74DE CD 57 51         call 5157
ROM3:74E1 FE 00            cp   a,00
ROM3:74E3 20 05            jr   nz,74EA
ROM3:74E5 CD AF 1F         call 1FAF
ROM3:74E8 1E 00            ld   e,00
ROM3:74EA 04               inc  b
ROM3:74EB 18 EA            jr   74D7
ROM3:74ED CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:74F0 CD 68 41         call 4168
ROM3:74F3 3E 3B            ld   a,3B
ROM3:74F5 CF               rst  08
ROM3:74F6 0B               dec  bc
ROM3:74F7 06 D1            ld   b,D1
ROM3:74F9 C1               pop  bc
ROM3:74FA F1               pop  af
ROM3:74FB C9               ret

Eradicating Aerosol

ROM3:74FC F5               push af
ROM3:74FD C5               push bc
ROM3:74FE D5               push de
ROM3:74FF 1E 01            ld   e,01
ROM3:7501 0E 01            ld   c,01
ROM3:7503 06 00            ld   b,00
ROM3:7505 78               ld   a,b
ROM3:7506 FE 05            cp   a,05
ROM3:7508 30 11            jr   nc,751B
ROM3:750A 3E 09            ld   a,09
ROM3:750C CD 57 51         call 5157
ROM3:750F FE 00            cp   a,00
ROM3:7511 20 05            jr   nz,7518
ROM3:7513 CD AF 1F         call 1FAF
ROM3:7516 1E 00            ld   e,00
ROM3:7518 04               inc  b
ROM3:7519 18 EA            jr   7505
ROM3:751B CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:751E CD 68 41         call 4168
ROM3:7521 3E 3D            ld   a,3D
ROM3:7523 CF               rst  08
ROM3:7524 0B               dec  bc
ROM3:7525 06 D1            ld   b,D1
ROM3:7527 C1               pop  bc
ROM3:7528 F1               pop  af
ROM3:7529 C9               ret

Breath of Light

ROM3:752A F5               push af
ROM3:752B C5               push bc
ROM3:752C D5               push de
ROM3:752D 1E 01            ld   e,01
ROM3:752F 0E 01            ld   c,01
ROM3:7531 06 00            ld   b,00
ROM3:7533 78               ld   a,b
ROM3:7534 FE 05            cp   a,05
ROM3:7536 30 11            jr   nc,7549
ROM3:7538 3E 12            ld   a,12
ROM3:753A CD 57 51         call 5157
ROM3:753D FE 00            cp   a,00
ROM3:753F 20 05            jr   nz,7546
ROM3:7541 CD AF 1F         call 1FAF
ROM3:7544 1E 00            ld   e,00
ROM3:7546 04               inc  b
ROM3:7547 18 EA            jr   7533
ROM3:7549 CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:754C CD 68 41         call 4168
ROM3:754F 3E 3E            ld   a,3E
ROM3:7551 CF               rst  08
ROM3:7552 0B               dec  bc
ROM3:7553 06 D1            ld   b,D1
ROM3:7555 C1               pop  bc
ROM3:7556 F1               pop  af
ROM3:7557 C9               ret

Eternal Drought

ROM3:7558 F5               push af
ROM3:7559 C5               push bc
ROM3:755A D5               push de
ROM3:755B 1E 01            ld   e,01
ROM3:755D 0E 01            ld   c,01
ROM3:755F 06 00            ld   b,00
ROM3:7561 78               ld   a,b
ROM3:7562 FE 05            cp   a,05
ROM3:7564 30 11            jr   nc,7577
ROM3:7566 3E 0C            ld   a,0C
ROM3:7568 CD 57 51         call 5157
ROM3:756B FE 00            cp   a,00
ROM3:756D 20 05            jr   nz,7574
ROM3:756F CD AF 1F         call 1FAF
ROM3:7572 1E 00            ld   e,00
ROM3:7574 04               inc  b
ROM3:7575 18 EA            jr   7561
ROM3:7577 CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:757A CD 68 41         call 4168
ROM3:757D 3E 3F            ld   a,3F
ROM3:757F CF               rst  08
ROM3:7580 0B               dec  bc
ROM3:7581 06 D1            ld   b,D1
ROM3:7583 C1               pop  bc
ROM3:7584 F1               pop  af
ROM3:7585 C9               ret

Inexperienced Spy

ROM3:7586 F5               push af
ROM3:7587 C5               push bc
ROM3:7588 01 00 00         ld   bc,0000
ROM3:758B 78               ld   a,b
ROM3:758C FE 05            cp   a,05
ROM3:758E 30 0F            jr   nc,759F
ROM3:7590 CD 9D 19         call 199D            ;Update card column and row
ROM3:7593 CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM3:7596 CD 3C 50         call 503C
ROM3:7599 CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
ROM3:759C 04               inc  b
ROM3:759D 18 EC            jr   758B
ROM3:759F CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:75A2 CD 68 41         call 4168
ROM3:75A5 3E 66            ld   a,66
ROM3:75A7 CF               rst  08
ROM3:75A8 0B               dec  bc
ROM3:75A9 06 C1            ld   b,C1
ROM3:75AB F1               pop  af
ROM3:75AC C9               ret

Rituals 3

Dark Magic Ritual
ROM3:75AD F5               push af
ROM3:75AE C5               push bc
ROM3:75AF D5               push de
ROM3:75B0 01 00 17         ld   bc,1700
ROM3:75B3 CF               rst  08
ROM3:75B4 27               daa  
ROM3:75B5 08 50 59         ld   (5950),sp
ROM3:75B8 0E 02            ld   c,02
ROM3:75BA 06 01            ld   b,01
ROM3:75BC 78               ld   a,b
ROM3:75BD FE 06            cp   a,06
ROM3:75BF 30 0A            jr   nc,75CB
ROM3:75C1 CD 2E 52         call 522E
ROM3:75C4 FE 00            cp   a,00
ROM3:75C6 28 03            jr   z,75CB
ROM3:75C8 04               inc  b
ROM3:75C9 18 F1            jr   75BC
ROM3:75CB 78               ld   a,b
ROM3:75CC FE 06            cp   a,06
ROM3:75CE 28 0A            jr   z,75DA
ROM3:75D0 3E 17            ld   a,17
ROM3:75D2 CF               rst  08
ROM3:75D3 25               dec  h
ROM3:75D4 08 3E 64         ld   (643E),sp
ROM3:75D7 CF               rst  08
ROM3:75D8 0B               dec  bc
ROM3:75D9 06 CD            ld   b,CD
ROM3:75DB B0               or   b
ROM3:75DC 5F               ld   e,a
ROM3:75DD CD 68 41         call 4168
ROM3:75E0 D1               pop  de
ROM3:75E1 C1               pop  bc
ROM3:75E2 F1               pop  af
ROM3:75E3 C9               ret

Pot of Greed

ROM3:75E4 F5               push af
ROM3:75E5 CD 28 45         call 4528          ;Draw a card
ROM3:75E8 CD 28 45         call 4528          ;Draw a card
ROM3:75EB CD ED 7B         call 7BED
ROM3:75EE CD B0 5F         call 5FB0          ;Removes card from Player's Hand
ROM3:75F1 3E 65            ld   a,65
ROM3:75F3 CF               rst  08
                 => 0B 06
ROM3:75F6 F1               pop  af
ROM3:75F7 C9               ret

Restructer Revolution

ROM3:75F8 F5               push af
ROM3:75F9 C5               push bc
ROM3:75FA E5               push hl
ROM3:75FB CD C2 5B         call 5BC2
ROM3:75FE CD 42 4F         call 4F42
ROM3:7601 06 00            ld   b,00
ROM3:7603 4F               ld   c,a
ROM3:7604 CB 21            sla  c
ROM3:7606 21 1F 76         ld   hl,761F
ROM3:7609 09               add  hl,bc
ROM3:760A 2A               ldi  a,(hl)
ROM3:760B 46               ld   b,(hl)
ROM3:760C 4F               ld   c,a
ROM3:760D CD D8 5C         call 5CD8
ROM3:7610 CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:7613 CD 7B 5D         call 5D7B
ROM3:7616 3E 67            ld   a,67
ROM3:7618 CF               rst  08
ROM3:7619 0B               dec  bc
ROM3:761A 06 E1            ld   b,E1
ROM3:761C C1               pop  bc
ROM3:761D F1               pop  af
ROM3:761E C9               ret

Last Day of Witch

ROM3:761F 00               nop  
ROM3:7620 00               nop  
ROM3:7621 00               nop  
ROM3:7622 02               ld   (bc),a
ROM3:7623 00               nop  
ROM3:7624 04               inc  b
ROM3:7625 00               nop  
ROM3:7626 06 00            ld   b,00
ROM3:7628 08 00 10         ld   (1000),sp
ROM3:762B F5               push af
ROM3:762C C5               push bc
ROM3:762D D5               push de
ROM3:762E E5               push hl
ROM3:762F 1E 01            ld   e,01
ROM3:7631 0E 01            ld   c,01
ROM3:7633 06 00            ld   b,00
ROM3:7635 78               ld   a,b
ROM3:7636 FE 05            cp   a,05
ROM3:7638 30 11            jr   nc,764B
ROM3:763A 3E 01            ld   a,01
ROM3:763C CD 57 51         call 5157
ROM3:763F FE 00            cp   a,00
ROM3:7641 20 05            jr   nz,7648
ROM3:7643 CD AF 1F         call 1FAF
ROM3:7646 1E 00            ld   e,00
ROM3:7648 04               inc  b
ROM3:7649 18 EA            jr   7635
ROM3:764B CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:764E CD 68 41         call 4168
ROM3:7651 3E 68            ld   a,68
ROM3:7653 CF               rst  08
ROM3:7654 0B               dec  bc
ROM3:7655 06 E1            ld   b,E1
ROM3:7657 D1               pop  de
ROM3:7658 C1               pop  bc
ROM3:7659 F1               pop  af
ROM3:765A C9               ret

Exile of the Wicked

ROM3:765B F5               push af
ROM3:765C C5               push bc
ROM3:765D D5               push de
ROM3:765E E5               push hl
ROM3:765F 1E 01            ld   e,01
ROM3:7661 0E 01            ld   c,01
ROM3:7663 06 00            ld   b,00
ROM3:7665 78               ld   a,b
ROM3:7666 FE 05            cp   a,05
ROM3:7668 30 11            jr   nc,767B
ROM3:766A 3E 07            ld   a,07
ROM3:766C CD 57 51         call 5157
ROM3:766F FE 00            cp   a,00
ROM3:7671 20 05            jr   nz,7678
ROM3:7673 CD AF 1F         call 1FAF
ROM3:7676 1E 00            ld   e,00
ROM3:7678 04               inc  b
ROM3:7679 18 EA            jr   7665
ROM3:767B CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:767E CD 68 41         call 4168
ROM3:7681 3E 69            ld   a,69
ROM3:7683 CF               rst  08
ROM3:7684 0B               dec  bc
ROM3:7685 06 E1            ld   b,E1
ROM3:7687 D1               pop  de
ROM3:7688 C1               pop  bc
ROM3:7689 F1               pop  af
ROM3:768A C9               ret

Multiply

ROM3:768B F5               push af
ROM3:768C C5               push bc
ROM3:768D D5               push de
ROM3:768E 0E 02            ld   c,02
ROM3:7690 11 3A 00         ld   de,003A
ROM3:7693 CD 4D 52         call 524D
ROM3:7696 FE 00            cp   a,00
ROM3:7698 20 45            jr   nz,76DF
ROM3:769A 01 02 01         ld   bc,0102
ROM3:769D 78               ld   a,b
ROM3:769E FE 06            cp   a,06
ROM3:76A0 30 22            jr   nc,76C4
ROM3:76A2 CD F5 4E         call 4EF5
ROM3:76A5 FE 01            cp   a,01
ROM3:76A7 20 18            jr   nz,76C1
ROM3:76A9 3E 3A            ld   a,3A
ROM3:76AB EA DD C7         ld   (C7DD),a
ROM3:76AE 3E 00            ld   a,00
ROM3:76B0 EA DE C7         ld   (C7DE),a
ROM3:76B3 3E 10            ld   a,10
ROM3:76B5 EA DF C7         ld   (C7DF),a
ROM3:76B8 CD 4E 1F         call 1F4E
ROM3:76BB CD F2 1E         call 1EF2
ROM3:76BE CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
ROM3:76C1 04               inc  b
ROM3:76C2 18 D9            jr   769D
ROM3:76C4 01 02 01         ld   bc,0102
ROM3:76C7 78               ld   a,b
ROM3:76C8 FE 06            cp   a,06
ROM3:76CA 30 13            jr   nc,76DF
ROM3:76CC 11 3A 00         ld   de,003A
ROM3:76CF CD 2E 52         call 522E
ROM3:76D2 FE 00            cp   a,00
ROM3:76D4 20 06            jr   nz,76DC
ROM3:76D6 CD 08 1F         call 1F08
ROM3:76D9 CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
ROM3:76DC 04               inc  b
ROM3:76DD 18 E8            jr   76C7
ROM3:76DF CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:76E2 3E 6A            ld   a,6A
ROM3:76E4 CF               rst  08
ROM3:76E5 0B               dec  bc
ROM3:76E6 06 D1            ld   b,D1
ROM3:76E8 C1               pop  bc
ROM3:76E9 F1               pop  af
ROM3:76EA C9               ret

Change of Heart

ROM3:76EB F5               push af
ROM3:76EC C5               push bc
ROM3:76ED E5               push hl
ROM3:76EE CD 0C 51         call 510C
ROM3:76F1 FE 06            cp   a,06
ROM3:76F3 28 28            jr   z,771D
ROM3:76F5 6F               ld   l,a
ROM3:76F6 CD D2 51         call 51D2            ;Check highest ATK enemy Monster
ROM3:76F9 FE 00            cp   a,00
ROM3:76FB 20 20            jr   nz,771D
ROM3:76FD 0E 01            ld   c,01
ROM3:76FF CD 9D 19         call 199D            ;Update card column and row
ROM3:7702 CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM3:7705 CD B3 19         call 19B3            ;00s card_id and set card_status to 0x10 in current_card_zone
ROM3:7708 45               ld   b,l
ROM3:7709 0E 02            ld   c,02
ROM3:770B CD 9D 19         call 199D            ;Update card column and row
ROM3:770E CD 13 1F         call 1F13
ROM3:7711 CD 4E 1F         call 1F4E
ROM3:7714 CD F2 1E         call 1EF2
ROM3:7717 CD 29 1F         call 1F29
ROM3:771A CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
ROM3:771D CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:7720 CD 68 41         call 4168
ROM3:7723 3E 6B            ld   a,6B
ROM3:7725 CF               rst  08
ROM3:7726 0B               dec  bc
ROM3:7727 06 E1            ld   b,E1
ROM3:7729 C1               pop  bc
ROM3:772A F1               pop  af
ROM3:772B C9               ret

Black Illusion Ritual

ROM3:772C F5               push af
ROM3:772D C5               push bc
ROM3:772E D5               push de
ROM3:772F 01 00 18         ld   bc,1800
ROM3:7732 CF               rst  08
ROM3:7733 27               daa  
ROM3:7734 08 50 59         ld   (5950),sp
ROM3:7737 0E 02            ld   c,02
ROM3:7739 06 01            ld   b,01
ROM3:773B 78               ld   a,b
ROM3:773C FE 06            cp   a,06
ROM3:773E 30 0A            jr   nc,774A
ROM3:7740 CD 2E 52         call 522E
ROM3:7743 FE 00            cp   a,00
ROM3:7745 28 03            jr   z,774A
ROM3:7747 04               inc  b
ROM3:7748 18 F1            jr   773B
ROM3:774A 78               ld   a,b
ROM3:774B FE 06            cp   a,06
ROM3:774D 28 0A            jr   z,7759
ROM3:774F 3E 18            ld   a,18
ROM3:7751 CF               rst  08
ROM3:7752 25               dec  h
ROM3:7753 08 3E 6C         ld   (6C3E),sp
ROM3:7756 CF               rst  08
ROM3:7757 0B               dec  bc
ROM3:7758 06 CD            ld   b,CD
ROM3:775A B0               or   b
ROM3:775B 5F               ld   e,a
ROM3:775C CD 68 41         call 4168
ROM3:775F D1               pop  de
ROM3:7760 C1               pop  bc
ROM3:7761 F1               pop  af
ROM3:7762 C9               ret

Anti Raigeki

ROM3:7763 CD 54 28         call 2854
ROM3:7766 CD D0 5E         call 5ED0
ROM3:7769 CD 68 41         call 4168
ROM3:776C C9               ret

Brain Control

ROM3:776D F5               push af
ROM3:776E C5               push bc
ROM3:776F E5               push hl
ROM3:7770 CD 0C 51         call 510C
ROM3:7773 FE 06            cp   a,06
ROM3:7775 28 28            jr   z,779F
ROM3:7777 6F               ld   l,a
ROM3:7778 CD D2 51         call 51D2            ;Check highest ATK enemy Monster
ROM3:777B FE 00            cp   a,00
ROM3:777D 20 20            jr   nz,779F
ROM3:777F 0E 01            ld   c,01
ROM3:7781 CD 9D 19         call 199D            ;Update card column and row
ROM3:7784 CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM3:7787 CD B3 19         call 19B3            ;00s card_id and set card_status to 0x10 in current_card_zone
ROM3:778A 45               ld   b,l
ROM3:778B 0E 02            ld   c,02
ROM3:778D CD 9D 19         call 199D            ;Update card column and row
ROM3:7790 CD 13 1F         call 1F13
ROM3:7793 CD 4E 1F         call 1F4E
ROM3:7796 CD F2 1E         call 1EF2
ROM3:7799 CD 1E 1F         call 1F1E
ROM3:779C CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
ROM3:779F CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:77A2 CD 68 41         call 4168
ROM3:77A5 3E 6E            ld   a,6E
ROM3:77A7 CF               rst  08
ROM3:77A8 0B               dec  bc
ROM3:77A9 06 E1            ld   b,E1
ROM3:77AB C1               pop  bc
ROM3:77AC F1               pop  af
ROM3:77AD C9               ret

Monster Reborn

ROM3:77AE F5               push af
ROM3:77AF C5               push bc
ROM3:77B0 E5               push hl
ROM3:77B1 CD 0C 51         call 510C
ROM3:77B4 FE 06            cp   a,06
ROM3:77B6 28 2A            jr   z,77E2
ROM3:77B8 6F               ld   l,a
ROM3:77B9 CD DB 2D         call 2DDB
ROM3:77BC CD 3F 1A         call 1A3F
ROM3:77BF FE 00            cp   a,00
ROM3:77C1 20 1F            jr   nz,77E2
ROM3:77C3 79               ld   a,c
ROM3:77C4 EA DD C7         ld   (C7DD),a
ROM3:77C7 78               ld   a,b
ROM3:77C8 EA DE C7         ld   (C7DE),a          ;Updates card_id to bc
ROM3:77CB 3E 10            ld   a,10
ROM3:77CD EA DF C7         ld   (C7DF),a          ;Sets card_status to 0x10
ROM3:77D0 45               ld   b,l
ROM3:77D1 0E 02            ld   c,02
ROM3:77D3 CD 9D 19         call 199D            ;Update card column and row
ROM3:77D6 CD 13 1F         call 1F13
ROM3:77D9 CD 4E 1F         call 1F4E
ROM3:77DC CD F2 1E         call 1EF2
ROM3:77DF CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
ROM3:77E2 CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:77E5 CD 68 41         call 4168
ROM3:77E8 3E 6F            ld   a,6F
ROM3:77EA CF               rst  08
ROM3:77EB 0B               dec  bc
ROM3:77EC 06 E1            ld   b,E1
ROM3:77EE C1               pop  bc
ROM3:77EF F1               pop  af
ROM3:77F0 C9               ret

Infinite Dismissal

ROM3:77F1 F5               push af
ROM3:77F2 CD 54 28         call 2854
ROM3:77F5 CD D0 5E         call 5ED0
ROM3:77F8 CD 68 41         call 4168
ROM3:77FB F1               pop  af
ROM3:77FC C9               ret

7 Completed

ROM3:77FD F5               push af
ROM3:77FE C5               push bc
ROM3:77FF D5               push de
ROM3:7800 E5               push hl
ROM3:7801 FA D7 C8         ld   a,(C8D7)
ROM3:7804 4F               ld   c,a
ROM3:7805 FA D8 C8         ld   a,(C8D8)
ROM3:7808 47               ld   b,a          ;bc = card_id
ROM3:7809 16 20            ld   d,20
ROM3:780B CF               rst  08
                  => 0D 08
ROM3:780E FE 01            cp   a,01
ROM3:7810 20 26            jr   nz,7838
ROM3:7812 CF               rst  08
                  => 0D 0A
ROM3:7815 FE 00            cp   a,00
ROM3:7817 20 16            jr   nz,782F
ROM3:7819 FA 3A C7         ld   a,(C73A)
ROM3:781C 47               ld   b,a
ROM3:781D FA 3B C7         ld   a,(C73B)
ROM3:7820 4F               ld   c,a
ROM3:7821 CD E8 50         call 50E8
ROM3:7824 CD C4 5F         call 5FC4
ROM3:7827 01 84 03         ld   bc,0384
ROM3:782A CD A8 61         call 61A8
ROM3:782D 18 09            jr   7838
ROM3:782F CF               rst  08
                  => 0F 0A
ROM3:7832 CD C4 5F         call 5FC4
ROM3:7835 CF               rst  08
                  => 07 06
ROM3:7838 E1               pop  hl
ROM3:7839 D1               pop  de
ROM3:783A C1               pop  bc
ROM3:783B F1               pop  af
ROM3:783C C9               ret

Beckon to Darkness

ROM3:783D F5               push af
ROM3:783E C5               push bc
ROM3:783F E5               push hl
ROM3:7840 CD 0C 51         call 510C
ROM3:7843 FE 06            cp   a,06
ROM3:7845 28 12            jr   z,7859
ROM3:7847 CD D2 51         call 51D2            ;Check highest ATK enemy Monster
ROM3:784A FE 00            cp   a,00
ROM3:784C 20 0B            jr   nz,7859
ROM3:784E 0E 01            ld   c,01
ROM3:7850 CD 9D 19         call 199D            ;Update card column and row
ROM3:7853 CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROM3:7856 CD B3 19         call 19B3            ;00s card_id and set card_status to 0x10 in current_card_zone
ROM3:7859 CD B0 5F         call 5FB0		;Removes card from Player's Hand
ROM3:785C CD 68 41         call 4168
ROM3:785F 3E 70            ld   a,70
ROM3:7861 CF               rst  08
                    => 0B 06
ROM3:7864 E1               pop  hl
ROM3:7865 C1               pop  bc
ROM3:7866 F1               pop  af
ROM3:7867 C9               ret

Torrential Tribute

ROM3:7868 F5               push af
ROM3:7869 CD 54 28         call 2854
ROM3:786C CD D0 5E         call 5ED0
ROM3:786F CD 68 41         call 4168
ROM3:7872 F1               pop  af
ROM3:7873 C9               ret

Gravedigger Ghoul

ROM3:7874 F5               push af
ROM3:7875 CD F0 2D         call 2DF0
ROM3:7878 CD FD 2D         call 2DFD
ROM3:787B CD B0 5F         call 5FB0
ROM3:787E CD 68 41         call 4168
ROM3:7881 3E 71            ld   a,71
ROM3:7883 CF               rst  08
ROM3:7884 0B               dec  bc
ROM3:7885 06 F1            ld   b,F1
ROM3:7887 C9               ret

Heavy Storm

ROM3:7888 F5               push af
ROM3:7889 C5               push bc
ROM3:788A D5               push de
ROM3:788B E5               push hl
ROM3:788C CF               rst  08
ROM3:788D 13               inc  de
ROM3:788E 0A               ld   a,(bc)
ROM3:788F CF               rst  08
ROM3:7890 11 0A 01         ld   de,010A
ROM3:7893 01 00 78         ld   bc,7800
ROM3:7896 FE 05            cp   a,05
ROM3:7898 30 06            jr   nc,78A0
ROM3:789A CD AF 1F         call 1FAF
ROM3:789D 04               inc  b
ROM3:789E 18 F5            jr   7895
ROM3:78A0 01 02 01         ld   bc,0102
ROM3:78A3 78               ld   a,b
ROM3:78A4 FE 06            cp   a,06
ROM3:78A6 30 06            jr   nc,78AE
ROM3:78A8 CD 96 1F         call 1F96
ROM3:78AB 04               inc  b
ROM3:78AC 18 F5            jr   78A3
ROM3:78AE CD B0 5F         call 5FB0
ROM3:78B1 CD 68 41         call 4168
ROM3:78B4 3E 72            ld   a,72
ROM3:78B6 CF               rst  08
ROM3:78B7 0B               dec  bc
ROM3:78B8 06 E1            ld   b,E1
ROM3:78BA D1               pop  de
ROM3:78BB C1               pop  bc
ROM3:78BC F1               pop  af
ROM3:78BD C9               ret

Final Destiny

ROM3:78BE F5               push af
ROM3:78BF C5               push bc
ROM3:78C0 D5               push de
ROM3:78C1 E5               push hl
ROM3:78C2 CF               rst  08
ROM3:78C3 13               inc  de
ROM3:78C4 0A               ld   a,(bc)
ROM3:78C5 CF               rst  08
ROM3:78C6 11 0A 01         ld   de,010A
ROM3:78C9 00               nop  
ROM3:78CA 00               nop  
ROM3:78CB 78               ld   a,b
ROM3:78CC FE 05            cp   a,05
ROM3:78CE 30 06            jr   nc,78D6
ROM3:78D0 CD AF 1F         call 1FAF
ROM3:78D3 04               inc  b
ROM3:78D4 18 F5            jr   78CB
ROM3:78D6 01 03 01         ld   bc,0103
ROM3:78D9 78               ld   a,b
ROM3:78DA FE 06            cp   a,06
ROM3:78DC 30 06            jr   nc,78E4
ROM3:78DE CD 96 1F         call 1F96
ROM3:78E1 04               inc  b
ROM3:78E2 18 F5            jr   78D9
ROM3:78E4 01 01 00         ld   bc,0001
ROM3:78E7 78               ld   a,b
ROM3:78E8 FE 05            cp   a,05
ROM3:78EA 30 06            jr   nc,78F2
ROM3:78EC CD AF 1F         call 1FAF
ROM3:78EF 04               inc  b
ROM3:78F0 18 F5            jr   78E7
ROM3:78F2 01 02 01         ld   bc,0102
ROM3:78F5 78               ld   a,b
ROM3:78F6 FE 06            cp   a,06
ROM3:78F8 30 06            jr   nc,7900
ROM3:78FA CD 96 1F         call 1F96
ROM3:78FD 04               inc  b
ROM3:78FE 18 F5            jr   78F5
ROM3:7900 CD B0 5F         call 5FB0
ROM3:7903 CD 68 41         call 4168
ROM3:7906 3E 73            ld   a,73
ROM3:7908 CF               rst  08
ROM3:7909 0B               dec  bc
ROM3:790A 06 E1            ld   b,E1
ROM3:790C D1               pop  de
ROM3:790D C1               pop  bc
ROM3:790E F1               pop  af
ROM3:790F C9               ret

Messenger of Peace

ROM3:7910 F5               push af
ROM3:7911 C5               push bc
ROM3:7912 D5               push de
ROM3:7913 0E 01            ld   c,01
ROM3:7915 06 00            ld   b,00
ROM3:7917 78               ld   a,b
ROM3:7918 FE 05            cp   a,05
ROM3:791A 30 2D            jr   nc,7949
ROM3:791C CD F5 4E         call 4EF5
ROM3:791F FE 00            cp   a,00
ROM3:7921 20 23            jr   nz,7946
ROM3:7923 CF               rst  08
ROM3:7924 0B               dec  bc
ROM3:7925 07               rlca 
ROM3:7926 C5               push bc
ROM3:7927 FA A7 C6         ld   a,(C6A7)
ROM3:792A 4F               ld   c,a
ROM3:792B FA A8 C6         ld   a,(C6A8)
ROM3:792E 47               ld   b,a
ROM3:792F 11 00 15         ld   de,1500         ;1500 ATK
ROM3:7932 CD 86 1A         call 1A86
ROM3:7935 C1               pop  bc
ROM3:7936 FE 02            cp   a,02
ROM3:7938 28 0C            jr   z,7946
ROM3:793A CD 9D 19         call 199D
ROM3:793D CD E0 19         call 19E0
ROM3:7940 CD 08 1F         call 1F08
ROM3:7943 CD C8 19         call 19C8
ROM3:7946 04               inc  b
ROM3:7947 18 CE            jr   7917
ROM3:7949 CD B0 5F         call 5FB0
ROM3:794C CD 68 41         call 4168
ROM3:794F 3E 75            ld   a,75
ROM3:7951 CF               rst  08
ROM3:7952 0B               dec  bc
ROM3:7953 06 D1            ld   b,D1
ROM3:7955 C1               pop  bc
ROM3:7956 F1               pop  af
ROM3:7957 C9               ret

Darkness Approaches

ROM3:7958 F5               push af
ROM3:7959 C5               push bc
ROM3:795A 01 02 01         ld   bc,0102
ROM3:795D 78               ld   a,b
ROM3:795E FE 06            cp   a,06
ROM3:7960 30 16            jr   nc,7978
ROM3:7962 CD F5 4E         call 4EF5
ROM3:7965 FE 00            cp   a,00
ROM3:7967 20 0C            jr   nz,7975
ROM3:7969 CD 9D 19         call 199D
ROM3:796C CD E0 19         call 19E0
ROM3:796F CD FD 1E         call 1EFD
ROM3:7972 CD C8 19         call 19C8
ROM3:7975 04               inc  b
ROM3:7976 18 E5            jr   795D
ROM3:7978 CD B0 5F         call 5FB0
ROM3:797B CD 68 41         call 4168
ROM3:797E 3E 74            ld   a,74
ROM3:7980 CF               rst  08
ROM3:7981 0B               dec  bc
ROM3:7982 06 C1            ld   b,C1
ROM3:7984 F1               pop  af
ROM3:7985 C9               ret

Magic Trap Ritual effects handling

Load Magic Trap Ritual effect pointer

ROM3:7986 C5               push bc
ROM3:7987 E5               push hl
ROM3:7988 06 00            ld   b,00
ROM3:798A 4F               ld   c,a
ROM3:798B CB 21            sla  c
ROM3:798D CB 10            rl   b
ROM3:798F 21 9E 79         ld   hl,799E
ROM3:7992 09               add  hl,bc
ROM3:7993 2A               ldi  a,(hl)
ROM3:7994 66               ld   h,(hl)
ROM3:7995 6F               ld   l,a
ROM3:7996 01 9B 79         ld   bc,799B
ROM3:7999 C5               push bc
ROM3:799A E9               jp   hl
ROM3:799B E1               pop  hl
ROM3:799C C1               pop  bc
ROM3:799D C9               ret

Magic Trap Ritual effects pointers

  • 0xF99E-0xFA99 - List of pointers to each Magic / Trap / Ritual effect subroutine
ROM3:799E
CC 61 - No effect (ret)
DD 61 - 
15 62 - (Summon Monster card from hand)
33 62 - Forest
44 62 - Wasteland
55 62 - Mountain
66 62 - Sogen
77 62 - Umi
88 62 - Yami
99 62 - Mooyan Curry
C7 62 - Red Medicine
F5 62 - Goblin's Secret Remedy
23 63 - Soul of the Pure
51 63 - Dian Keto the Cure Master
7F 63 - Sparks
AD 63 - Hinotama
DD 63 - Final Flame
0D 64 - Ookazi
3D 64 - Tremendous Fire
6D 64 - Dark Hole
A0 64 - Raigeki
E1 64 - Legendary Sword
1F 65 - Sword of Ruin
5D 65 - Dark Energy
9B 65 - Axe of Despair
D9 65 - Lazer Cannon Armor
17 66 - Insect Armor with Laser Cannon
55 66 - Elf's Light
93 66 - Beast Fangs
D1 66 - Steel Shell
0F 67 - Vile Germs
4D 67 - Black Pendant
8B 67 - Silver Bow & Arrow
C9 67 - Horn of Light
07 68 - Horn of the Unicorn
45 68 - Dragon Treasure
83 68 - Electro-whip
C1 68 - Cyber Shield
FF 68 - Mystical Moon
3D 69 - Malevolent Nuzzler
7B 69 - Violet Crystal
B9 69 - Book of Secret Art
F7 69 - Invigoration
35 6A - Machine Conversion
73 6A - Raise Body Heat
B1 6A - Follow Wind
EF 6A - Power of Kaishin
CD 61 - 
2D 6B - Stop Defense
5C 6B - Dragon Capture Jar
8A 6B - Swords of Revealing Light
CF 6B - Dark-Piercing Light
11 6C - Spellbinding Circle
3C 6C - Elegant Egotist
D6 61 - 
88 6C - Widespread Ruin
94 6C - House of Adhesive Trap
A0 6C - Eatgaboon
AC 6C - Bear Trap
B8 6C - Invisible Wire
C4 6C - Acid Trap Hole
D0 6C - Goblin Fan
DC 6C - Simochi Allergy
E8 6C - Reverse Trap
F4 6C - Fake Trap
00 6D - Black Luster Ritual
37 6D - Zera Ritual
6E 6D - War-lion Ritual
A5 6D - Beastly Mirror Ritual
DC 6D - Ultimate Dragon
FD 6D - Commencement Dance
34 6E - Hamburger Recipe
6B 6E - Revival of Sennen Genjin
A2 6E - Novox's Prayer
D9 6E - Curse of Tri-Horned Dragon
10 6F - Revived Serpent Night Dragon
47 6F - Harpie's Feather Duster
58 6F - Magical Labyrinth
96 6F - Salamandra
D4 6F - Kunai with Chain
12 70 - Bright Castle
50 70 - Crush Card
90 70 - Shadow Spell
BC 70 - Turtle Oath
F3 70 - Contract of Mask
2A 71 - Resurrection of Chakra
61 71 - Puppet Ritual
98 71 - Javelin Beetle Pact
CF 71 - Garma Sword Oath
06 72 - Cosmo Queen's Prayer
3D 72 - Revival of Skeleton
74 72 - Fortress Whale's Oath
AB 72 - Curse of Millennium Shield
E2 72 - Yamadron Ritual
19 73 - Gate Guardian Ritual
3A 73 - Warrior Elimination
6B 73 - Cursebreaker
9A 73 - Eternal Rest
C8 73 - Megamorph
06 74 - Metalmorph
90 74 - Winged Trumpeter
CE 74 - Stain Storm
FC 74 - Eradicating Aerosol
2A 75 - Breath of Light
58 75 - Eternal Drought
86 75 - Inexperienced Spy
AD 75 - Dark Magic Ritual
E4 75 - Pot of Greed
F8 75 - Restructer Revolution
2B 76 - Last Day of Witch
5B 76 - Exile of the Wicked
8B 76 - Multiply
EB 76 - Change of Heart
2C 77 - Black Illusion Ritual
63 77 - Anti Raigeki
6D 77 - Brain Control
AE 77 - Monster Reborn
F1 77 - Infinite Dismissal
FD 77 - 7 Completed
3D 78 - Beckon to Darkness
68 78 - Torrential Tribute
74 78 - Gravedigger Ghoul
88 78 - Heavy Storm
BE 78 - Final Destiny
10 79 - Messenger of Peace
58 79 - Darkness Approaches

3:7D22

ROM3:7D22 F5               push af
ROM3:7D23 C5               push bc
ROM3:7D24 D5               push de
ROM3:7D25 CD AD 5A         call 5AAD
ROM3:7D28 3E 10            ld   a,10
ROM3:7D2A CD F7 21         call 21F7
ROM3:7D2D FA FB C7         ld   a,(C7FB)
ROM3:7D30 4F               ld   c,a
ROM3:7D31 FA FC C7         ld   a,(C7FC)
ROM3:7D34 47               ld   b,a
ROM3:7D35 FA F9 C7         ld   a,(C7F9)
ROM3:7D38 5F               ld   e,a
ROM3:7D39 FA FA C7         ld   a,(C7FA)
ROM3:7D3C 57               ld   d,a
ROM3:7D3D CD AF 59         call 59AF
ROM3:7D40 7B               ld   a,e
ROM3:7D41 FE 00            cp   a,00
ROM3:7D43 20 0A            jr   nz,7D4F
ROM3:7D45 CD A1 5B         call 5BA1
ROM3:7D48 FE 02            cp   a,02
ROM3:7D4A 28 03            jr   z,7D4F
ROM3:7D4C CD C3 5A         call 5AC3
ROM3:7D4F D1               pop  de
ROM3:7D50 C1               pop  bc
ROM3:7D51 F1               pop  af
ROM3:7D52 C9               ret  

ret (fallback or removed ?)

ROM3:7D53 C9               ret  

3:7D54 (set wCADC to 0)

ROM3:7D54 F5               push af
ROM3:7D55 AF               xor  a
ROM3:7D56 EA DC CA         ld   (CADC),a
ROM3:7D59 F1               pop  af
ROM3:7D5A C9               ret

3:7D5B

ROM3:7D5B F5               push af
ROM3:7D5C FA DC CA         ld   a,(CADC)
ROM3:7D5F C6 01            add  a,01
ROM3:7D61 EA DC CA         ld   (CADC),a
ROM3:7D64 F1               pop  af
ROM3:7D65 C9               ret  

3:7D66

ROM3:7D66 C5               push bc
ROM3:7D67 CD 7B 7D         call 7D7B          ;Check card type, for Monster card or Ritual card
ROM3:7D6A 4F               ld   c,a
ROM3:7D6B FA DC CA         ld   a,(CADC)
ROM3:7D6E 47               ld   b,a           ;b = wCADC
ROM3:7D6F 79               ld   a,c
ROM3:7D70 90               sub  b
ROM3:7D71 4F               ld   c,a
ROM3:7D72 FE 00            cp   a,00
ROM3:7D74 30 02            jr   nc,7D78
ROM3:7D76 0E 00            ld   c,00
ROM3:7D78 79               ld   a,c
ROM3:7D79 C1               pop  bc
ROM3:7D7A C9               ret

Check card type, for Monster card or Ritual card

ROM3:7D7B C5               push bc
ROM3:7D7C E5               push hl
ROM3:7D7D CF               rst  08
ROM3:7D7E 03               inc  bc
ROM3:7D7F 07               rlca 
ROM3:7D80 FA AF C6         ld   a,(C6AF)       ;Card Effect IDs (Magic Ritual Trap)
ROM3:7D83 FE 02            cp   a,02
ROM3:7D85 20 14            jr   nz,7D9B        ;if not a Monster card, jump to 3:7D9B
ROM3:7D87 06 00            ld   b,00
ROM3:7D89 FA AD C6         ld   a,(C6AD)       ;Card Level
ROM3:7D8C 4F               ld   c,a
ROM3:7D8D 21 BC 7D         ld   hl,7DBC
ROM3:7D90 09               add  hl,bc
ROM3:7D91 4E               ld   c,(hl)
ROM3:7D92 79               ld   a,c
ROM3:7D93 FE 03            cp   a,03
ROM3:7D95 38 02            jr   c,7D99
ROM3:7D97 0E 03            ld   c,03
ROM3:7D99 18 1D            jr   7DB8
ROM3:7D9B 0E 00            ld   c,00
ROM3:7D9D FA AB C6         ld   a,(C6AB)       ;Card Type
ROM3:7DA0 FE 16            cp   a,16
ROM3:7DA2 20 14            jr   nz,7DB8        ;if (Card Type ≠ Ritual) ,jump to 7:7DB8
ROM3:7DA4 0E 02            ld   c,02
ROM3:7DA6 FA AF C6         ld   a,(C6AF)       ;Card Effect IDs (Magic Ritual Trap)
ROM3:7DA9 FE 45            cp   a,45
ROM3:7DAB 20 02            jr   nz,7DAF        ;if (Card Effect ID ≠ Ultimate Dragon), jump to 7:7DAF
ROM3:7DAD 0E 00            ld   c,00
ROM3:7DAF FA AF C6         ld   a,(C6AF)       ;Card Effect IDs (Magic Ritual Trap)
ROM3:7DB2 FE 5E            cp   a,5E
ROM3:7DB4 20 02            jr   nz,7DB8        ;if (Card Effect ID ≠ Gate Guardian Ritual, jump to 7:7DB8
ROM3:7DB6 0E 00            ld   c,00
ROM3:7DB8 79               ld   a,c
ROM3:7DB9 E1               pop  hl
ROM3:7DBA C1               pop  bc
ROM3:7DBB C9               ret

Bank 4

Menu ID handling

4:43CB

ROM4:43CB CD AC 27         call 27AC
ROM4:43CE F1               pop  af
ROM4:43CF C9               ret  

4:43D0

ROM4:43D0 3E 04            ld   a,04
ROM4:43D2 CD 87 0F         call 0F87
ROM4:43D5 CD 09 44         call 4409          ;Decrement Menu ID
ROM4:43D8 CD 1C 44         call 441C
ROM4:43DB CD 7D 11         call 117D
ROM4:43DE AF               xor  a             ;a = 0
ROM4:43DF C9               ret  

4:43E0

ROM4:43E0 3E 04            ld   a,04
ROM4:43E2 CD 87 0F         call 0F87
ROM4:43E5 CD F7 43         call 43F7          ;Increment Menu ID
ROM4:43E8 CD 1C 44         call 441C
ROM4:43EB CD 7D 11         call 117D
ROM4:43EE AF               xor  a             ;a = 0
ROM4:43EF C9               ret  

Sets Menu ID to 0

ROM4:43F0 F5               push af
ROM4:43F1 AF               xor  a             ;a = 0
ROM4:43F2 EA B4 C8         ld   (C8B4),a      ;menu_id = 0
ROM4:43F5 F1               pop  af
ROM4:43F6 C9               ret  

Increment Menu ID

ROM4:43F7 F5               push af
ROM4:43F8 CD 34 28         call 2834
ROM4:43FB FA B4 C8         ld   a,(C8B4)
ROM4:43FE 3C               inc  a             ;a++
ROM4:43FF FE 05            cp   a,05          ;Max Menu ID is 4
ROM4:4401 20 01            jr   nz,4404
ROM4:4403 AF               xor  a
ROM4:4404 EA B4 C8         ld   (C8B4),a
ROM4:4407 F1               pop  af
ROM4:4408 C9               ret  

Decrement Menu ID

ROM4:4409 F5               push af
ROM4:440A CD 34 28         call 2834
ROM4:440D FA B4 C8         ld   a,(C8B4)
ROM4:4410 3D               dec  a             ;a--
ROM4:4411 FE FF            cp   a,FF          ;Min Menu ID is 0
ROM4:4413 20 02            jr   nz,4417
ROM4:4415 3E 04            ld   a,04
ROM4:4417 EA B4 C8         ld   (C8B4),a
ROM4:441A F1               pop  af
ROM4:441B C9               ret  

4:441C

ROM4:441C F5               push af
ROM4:441D C5               push bc
ROM4:441E D5               push de
ROM4:441F E5               push hl
ROM4:4420 CD 79 13         call 1379
ROM4:4423 06 00            ld   b,00
ROM4:4425 FA B4 C8         ld   a,(C8B4)      ;a = menu_id
ROM4:4428 4F               ld   c,a
ROM4:4429 CB 21            sla  c
ROM4:442B 21 4C 44         ld   hl,444C
ROM4:442E 09               add  hl,bc         ;hl = 0x444C + (menu_id × 2)
ROM4:442F 2A               ldi  a,(hl)
ROM4:4430 66               ld   h,(hl)
ROM4:4431 6F               ld   l,a           ;hl = (hl)
ROM4:4432 11 00 C5         ld   de,C500
ROM4:4435 2A               ldi  a,(hl)
ROM4:4436 47               ld   b,a
ROM4:4437 78               ld   a,b
ROM4:4438 FE 00            cp   a,00
ROM4:443A 28 0B            jr   z,4447
ROM4:443C 0E 04            ld   c,04
ROM4:443E 2A               ldi  a,(hl)
ROM4:443F 12               ld   (de),a
ROM4:4440 13               inc  de
ROM4:4441 0D               dec  c
ROM4:4442 20 FA            jr   nz,443E
ROM4:4444 05               dec  b
ROM4:4445 18 F0            jr   4437
ROM4:4447 E1               pop  hl
ROM4:4448 D1               pop  de
ROM4:4449 C1               pop  bc
ROM4:444A F1               pop  af
ROM4:444B C9               ret  

SRAM Operations

SRAM Initialization

  • 0x1118D-0x111A4 - Blanks SRAM (New Game)
ROM4:518D F5               push af
ROM4:518E C5               push bc
ROM4:518F D5               push de
ROM4:5190 E5               push hl
ROM4:5191 21 00 A0         ld   hl,A000
ROM4:5194 AF               xor  a
ROM4:5195 06 20            ld   b,20
ROM4:5197 0E 00            ld   c,00
ROM4:5199 22               ldi  (hl),a
ROM4:519A 0D               dec  c
ROM4:519B 20 FC            jr   nz,5199
ROM4:519D 05               dec  b
ROM4:519E 20 F7            jr   nz,5197
ROM4:51A0 E1               pop  hl
ROM4:51A1 D1               pop  de
ROM4:51A2 C1               pop  bc
ROM4:51A3 F1               pop  af
ROM4:51A4 C9               ret

Initialize new save file (PRNG, Trunk, Starter Deck, HRAM flags, Duel Records, etc.)

ROM4:51A5 CD F1 29         call 29F1           ;Copy PRNG states to wC9AB-wC9AF, and set hFFD9-hFFDC to 0
ROM4:51A8 CF               rst  08
          => 05 01         ;Initialize cards in trunk
ROM4:51AB CD BF 24         call 24BF           ;Initialize Duel Records
ROM4:51AE CD 2B 24         call 242B           ;Starter deck copy
ROM4:51B1 CF               rst  08
          => 0B 09         ;00s wCA64-wCAD5 ?
ROM4:51B4 CF               rst  08
          => 37 05         ;Deck Capacity Initialization
ROM4:51B7 CD FB 1D         call 1DFB           ;PRNG
ROM4:51BA C9               ret

SRAM KONAMI check

  • 0x11367-0x1136D - Date of build and « !KONAMI » string used to check SRAM existence.
00 08 02 00 31 4B 4F 4E 41 4D 49
August 02, 2000 - !KONAMI

Data copy from SRAM to HRAM

  • 0x113C1-0x113F3 - Copies some data (Deck Capacity...) from SRAM to HRAM
ROM4:53C1 F5               push af
ROM4:53C2 C5               push bc
ROM4:53C3 D5               push de
ROM4:53C4 E5               push hl
ROM4:53C5 11 00 A0         ld   de,A000
ROM4:53C8 01 F4 53         ld   bc,53F4
ROM4:53CB 0A               ld   a,(bc)
ROM4:53CC 6F               ld   l,a
ROM4:53CD 03               inc  bc
ROM4:53CE 0A               ld   a,(bc)
ROM4:53CF 67               ld   h,a
ROM4:53D0 03               inc  bc
ROM4:53D1 FE 00            cp   a,00
ROM4:53D3 20 05            jr   nz,53DA
ROM4:53D5 7D               ld   a,l
ROM4:53D6 FE 00            cp   a,00
ROM4:53D8 28 11            jr   z,53EB
ROM4:53DA 0A               ld   a,(bc)
ROM4:53DB E0 70            ld   (ff00+70),a
ROM4:53DD 03               inc  bc
ROM4:53DE C5               push bc
ROM4:53DF 0A               ld   a,(bc)
ROM4:53E0 4F               ld   c,a
ROM4:53E1 1A               ld   a,(de)
ROM4:53E2 22               ldi  (hl),a
ROM4:53E3 13               inc  de
ROM4:53E4 0D               dec  c
ROM4:53E5 20 FA            jr   nz,53E1
ROM4:53E7 C1               pop  bc
ROM4:53E8 03               inc  bc
ROM4:53E9 18 E0            jr   53CB
ROM4:53EB 3E 01            ld   a,01
ROM4:53ED E0 70            ld   (ff00+70),a
ROM4:53EF E1               pop  hl
ROM4:53F0 D1               pop  de
ROM4:53F1 C1               pop  bc
ROM4:53F2 F1               pop  af
ROM4:53F3 C9               ret

Bank 5

Duel text

  • 0x14834 - Text pointers
  • 0x14950 - Duel text, cards effects text

Load card Illustration ?

ROM5:5E38 F5               push af
ROM5:5E39 C5               push bc
ROM5:5E3A D5               push de
ROM5:5E3B E5               push hl
ROM5:5E3C 3E 05            ld   a,05
ROM5:5E3E CD E0 12         call 12E0       ;WRAM Bank switch
ROM5:5E41 3E 4F            ld   a,4F
ROM5:5E43 CD CB 11         call 11CB
ROM5:5E46 CD 5B 19         call 195B
ROM5:5E49 3E 1E            ld   a,1E             ;ROM Bank ?
ROM5:5E4B CD 87 0F         call 0F87
ROM5:5E4E CD 8E 11         call 118E
ROM5:5E51 CD 70 5E         call 5E70
ROM5:5E54 CD 7D 11         call 117D
ROM5:5E57 01 00 80         ld   bc,8000          ;VRAM
ROM5:5E5A 3E 1E            ld   a,1E             ;ROM Bank ?
ROM5:5E5C CD 87 0F         call 0F87
ROM5:5E5F CD 8E 11         call 118E
ROM5:5E62 CD 70 5E         call 5E70
ROM5:5E65 CD 7D 11         call 117D
ROM5:5E68 CD 04 13         call 1304       ;WRAM Bank restore
ROM5:5E6B E1               pop  hl
ROM5:5E6C D1               pop  de
ROM5:5E6D C1               pop  bc
ROM5:5E6E F1               pop  af

5:5E6F (ret)

ROM5:5E6F C9               ret

5:5E70

ROM5:5E70 F5               push af
ROM5:5E71 C5               push bc
ROM5:5E72 E5               push hl
ROM5:5E73 21 00 D0         ld   hl,D000
ROM5:5E76 0E 0A            ld   c,0A
ROM5:5E78 CD 11 02         call 0211
ROM5:5E7B 0D               dec  c
ROM5:5E7C 20 FA            jr   nz,5E78
ROM5:5E7E E1               pop  hl
ROM5:5E7F C1               pop  bc
ROM5:5E80 F1               pop  af
ROM5:5E81 C9               ret

Deck Capacity

Deck Capacity Initialization

0x15E96-0x15EA0 - Initializes Deck Capacity at 1600 when New Game is selected

ROM5:5E96 F5               push af
ROM5:5E97 3E 40            ld   a,40
ROM5:5E99 E0 D7            ld   (ff00+D7),a
ROM5:5E9B 3E 06            ld   a,06
ROM5:5E9D E0 D8            ld   (ff00+D8),a      ;Copies 0x640, 1600 in decimal, to (FFD7)
ROM5:5E9F F1               pop  af
ROM5:5EA0 C9               ret

Load Deck Capacity in bc

ROM5:5EA1 F5               push af
ROM5:5EA2 F0 D7            ld   a,(ff00+D7)
ROM5:5EA4 4F               ld   c,a
ROM5:5EA5 F0 D8            ld   a,(ff00+D8)
ROM5:5EA7 47               ld   b,a
ROM5:5EA8 F1               pop  af
ROM5:5EA9 C9               ret  

Load Deck Capacity in bc, Duelist Level in e

ROM5:5EAA C5               push bc
ROM5:5EAB F0 D7            ld   a,(ff00+D7)
ROM5:5EAD 4F               ld   c,a
ROM5:5EAE F0 D8            ld   a,(ff00+D8)
ROM5:5EB0 47               ld   b,a
ROM5:5EB1 CD B6 5E         call 5EB6           ;Duelist Level calculation
ROM5:5EB4 C1               pop  bc
ROM5:5EB5 C9               ret  

Duelist Level calculation

ROM5:5EB6 C5               push bc
ROM5:5EB7 D5               push de
ROM5:5EB8 79               ld   a,c
ROM5:5EB9 D6 40            sub  a,40
ROM5:5EBB 5F               ld   e,a
ROM5:5EBC 78               ld   a,b
ROM5:5EBD DE 06            sbc  a,06
ROM5:5EBF 57               ld   d,a            ;de = Deck_Capacity - 1600
ROM5:5EC0 01 03 00         ld   bc,0003
ROM5:5EC3 CD 90 14         call 1490           ;de ÷ 3
ROM5:5EC6 7B               ld   a,e
ROM5:5EC7 C6 48            add  a,48           ;Duelist Level += 72
ROM5:5EC9 5F               ld   e,a
ROM5:5ECA 7A               ld   a,d
ROM5:5ECB CE 00            adc  a,00
ROM5:5ECD 57               ld   d,a
ROM5:5ECE 7A               ld   a,d
ROM5:5ECF FE 00            cp   a,00
ROM5:5ED1 28 02            jr   z,5ED5         ;if(Duelist_Level ≤ 255), jump to 5:5ED5
ROM5:5ED3 1E FF            ld   e,FF           ;else Duelist_Level = 255
ROM5:5ED5 7B               ld   a,e
ROM5:5ED6 D1               pop  de
ROM5:5ED7 C1               pop  bc
ROM5:5ED8 C9               ret

Copy string to VRAM

ROM5:6095 F5               push af
ROM5:6096 C5               push bc
ROM5:6097 D5               push de
ROM5:6098 E5               push hl
ROM5:6099 CF               rst  08
ROM5:609A 13               inc  de
ROM5:609B 08 3E 14         ld   (143E),sp
ROM5:609E CF               rst  08
ROM5:609F 05               dec  b
ROM5:60A0 0E CF            ld   c,CF
ROM5:60A2 07               rlca 
ROM5:60A3 0E 21            ld   c,21
ROM5:60A5 21 99 11         ld   hl,1199
ROM5:60A8 C1               pop  bc
ROM5:60A9 C5               push bc
ROM5:60AA FA D5 C5         ld   a,(C5D5)          ;# of characters to display
ROM5:60AD 4F               ld   c,a
ROM5:60AE 1A               ld   a,(de)
ROM5:60AF CF               rst  08
ROM5:60B0 11 08 FA         ld   de,FA08
ROM5:60B3 D7               rst  10
ROM5:60B4 C5               push bc
ROM5:60B5 22               ldi  (hl),a
ROM5:60B6 13               inc  de
ROM5:60B7 0D               dec  c
ROM5:60B8 20 F4            jr   nz,60AE
ROM5:60BA 3E 80            ld   a,80
ROM5:60BC 22               ldi  (hl),a
ROM5:60BD 3E 71            ld   a,71
ROM5:60BF 22               ldi  (hl),a
ROM5:60C0 21 41 99         ld   hl,9941
ROM5:60C3 11 C1 C5         ld   de,C5C1
ROM5:60C6 FA D5 C5         ld   a,(C5D5)
ROM5:60C9 4F               ld   c,a
ROM5:60CA 1A               ld   a,(de)
ROM5:60CB CF               rst  08
ROM5:60CC 11 08 FA         ld   de,FA08
ROM5:60CF D8               ret  c
ROM5:60D0 C5               push bc
ROM5:60D1 22               ldi  (hl),a
ROM5:60D2 13               inc  de
ROM5:60D3 0D               dec  c
ROM5:60D4 20 F4            jr   nz,60CA
ROM5:60D6 3E 23            ld   a,23
ROM5:60D8 22               ldi  (hl),a
ROM5:60D9 3E 4F            ld   a,4F
ROM5:60DB 22               ldi  (hl),a
ROM5:60DC 3E 6D            ld   a,6D
ROM5:60DE 22               ldi  (hl),a
ROM5:60DF 3E 43            ld   a,43
ROM5:60E1 22               ldi  (hl),a
ROM5:60E2 E1               pop  hl
ROM5:60E3 D1               pop  de
ROM5:60E4 C1               pop  bc
ROM5:60E5 F1               pop  af
ROM5:60E6 C9               ret

Bank 6

rst 08 pointers

ROM6:4002
524D
5246
400E - Display text box & loads music / sound effect
4134
41B4 - Display battle textbox - Magic/Trap/Ritual
5A30

Display text box & loads music / sound effect

ROM6:400E F5               push af
ROM6:400F FA AC C8         ld   a,(C8AC)          ;Monster Effect textbox or Magic/Trap/Ritual textbox
ROM6:4012 FE 01            cp   a,01
ROM6:4014 20 03            jr   nz,4019           ;if (!monster_effect_textbox), jump to 6:4019
ROM6:4016 CD 22 40         call 4022              ;Monster Effect textbox
ROM6:4019 FE 02            cp   a,02
ROM6:401B 20 03            jr   nz,4020           ;if (!magictrapritual_effect_textbox), jump to 6:4020
ROM6:401D CD 46 40         call 4046              ;Magic/Trap/Ritual textbox
ROM6:4020 F1               pop  af
ROM6:4021 C9               ret

6:4022 (Monster Effect textbox and Music / Sound Effect ?)

ROM6:4022 F5               push af
ROM6:4023 FA EB C7         ld   a,(C7EB)
ROM6:4026 FE 01            cp   a,01
ROM6:4028 20 0B            jr   nz,4035		;If this is not Campaign mode, jump to 6:4035
ROM6:402A CD 46 52         call 5246
ROM6:402D CF               rst  08
         => 03 04
ROM6:4030 CD 04 28         call 2804           ;Music / Sound Effect subroutine ?
ROM6:4033 18 0F            jr   4044
ROM6:4035 CF               rst  08
         => 67 03
ROM6:4038 CD 46 52         call 5246
ROM6:403B CF               rst  08
         => 65 03
ROM6:403E CF               rst  08
         => 03 04
ROM6:4041 CD 04 28         call 2804           ;Music / Sound Effect subroutine ?
ROM6:4044 F1               pop  af
ROM6:4045 C9               ret

6:4046 (Magic/Trap/Ritual textbox ?)

ROM6:4046 F5               push af
ROM6:4047 FA EB C7         ld   a,(C7EB)
ROM6:404A FE 01            cp   a,01
ROM6:404C 20 3E            jr   nz,408C
ROM6:404E CD E5 40         call 40E5
ROM6:4051 FE 00            cp   a,00
ROM6:4053 20 06            jr   nz,405B
ROM6:4055 CD B7 44         call 44B7
ROM6:4058 CF               rst  08
         => 55 03
ROM6:405B FE 01            cp   a,01
ROM6:405D 20 06            jr   nz,4065
ROM6:405F CD 69 41         call 4169
ROM6:4062 CF               rst  08
         => 55 03
ROM6:4065 FE 02            cp   a,02
ROM6:4067 20 06            jr   nz,406F
ROM6:4069 CD 72 46         call 4672
ROM6:406C CF               rst  08
         => 55 03
ROM6:406F FE 03            cp   a,03
ROM6:4071 20 06            jr   nz,4079
ROM6:4073 CD 1E 4D         call 4D1E
ROM6:4076 CF               rst  08
         => 55 03
ROM6:4079 FE 04            cp   a,04
ROM6:407B 20 06            jr   nz,4083
ROM6:407D CD 3E 4F         call 4F3E
ROM6:4080 CF               rst  08
         => 55 03
ROM6:4083 FE 05            cp   a,05
ROM6:4085 20 03            jr   nz,408A
ROM6:4087 CD AC 41         call 41AC
ROM6:408A 18 57            jr   40E3
ROM6:408C CD E5 40         call 40E5
ROM6:408F FE 00            cp   a,00
ROM6:4091 20 03            jr   nz,4096
ROM6:4093 CF               rst  08
         => 55 03
ROM6:4096 FE 01            cp   a,01
ROM6:4098 20 0C            jr   nz,40A6
ROM6:409A CF               rst  08
         => 69 03
ROM6:409D CD 69 41         call 4169
ROM6:40A0 CF               rst  08
         => 65 03
ROM6:40A3 CF               rst  08
         => 55 03
ROM6:40A6 FE 02            cp   a,02
ROM6:40A8 20 0C            jr   nz,40B6
ROM6:40AA CF               rst  08
         => 69 03
ROM6:40AD CD 72 46         call 4672
ROM6:40B0 CF               rst  08
         => 65 03
ROM6:40B3 CF               rst  08
         => 55 03
ROM6:40B6 FE 03            cp   a,03
ROM6:40B8 20 0C            jr   nz,40C6
ROM6:40BA CF               rst  08
         => 66 03
ROM6:40BD CD 1E 4D         call 4D1E
ROM6:40C0 CF               rst  08
         => 65 03
ROM6:40C3 CF               rst  08
         => 55 03
ROM6:40C6 FE 04            cp   a,04
ROM6:40C8 20 0C            jr   nz,40D6
ROM6:40CA CF               rst  08
         => 69 03
ROM6:40CD CD 3E 4F         call 4F3E
ROM6:40D0 CF               rst  08
         => 65 03
ROM6:40D3 CF               rst  08
         => 55 03
ROM6:40D6 FE 05            cp   a,05
ROM6:40D8 20 09            jr   nz,40E3
ROM6:40DA CF               rst  08
         => 6B 03
ROM6:40DD CD AC 41         call 41AC
ROM6:40E0 CF               rst  08
         => 65 03
ROM6:40E3 F1               pop  af
ROM6:40E4 C9               ret

6:40E5

ROM6:40E5 C5               push bc
ROM6:40E6 D5               push de
ROM6:40E7 1E 00            ld   e,00
ROM6:40E9 FA F6 C8         ld   a,(C8F6)
ROM6:40EC 4F               ld   c,a
ROM6:40ED FA F7 C8         ld   a,(C8F7)
ROM6:40F0 47               ld   b,a
ROM6:40F1 CF               rst  08
         => 03 07
ROM6:40F4 FA FC C8         ld   a,(C8FC)
ROM6:40F7 FE 03            cp   a,03
ROM6:40F9 20 04            jr   nz,40FF
ROM6:40FB 3E 03            ld   a,03
ROM6:40FD 18 32            jr   4131
ROM6:40FF FA FC C8         ld   a,(C8FC)
ROM6:4102 FE 04            cp   a,04
ROM6:4104 20 04            jr   nz,410A
ROM6:4106 3E 04            ld   a,04
ROM6:4108 18 27            jr   4131
ROM6:410A FA FC C8         ld   a,(C8FC)
ROM6:410D FE 05            cp   a,05
ROM6:410F 20 04            jr   nz,4115
ROM6:4111 3E 05            ld   a,05
ROM6:4113 18 1C            jr   4131
ROM6:4115 FA AF C6         ld   a,(C6AF)
ROM6:4118 FE 02            cp   a,02
ROM6:411A 20 0B            jr   nz,4127
ROM6:411C FA FC C8         ld   a,(C8FC)
ROM6:411F FE 01            cp   a,01
ROM6:4121 20 02            jr   nz,4125
ROM6:4123 1E 01            ld   e,01
ROM6:4125 18 09            jr   4130
ROM6:4127 FA FC C8         ld   a,(C8FC)
ROM6:412A FE 02            cp   a,02
ROM6:412C 28 02            jr   z,4130
ROM6:412E 1E 02            ld   e,02
ROM6:4130 7B               ld   a,e
ROM6:4131 D1               pop  de
ROM6:4132 C1               pop  bc
ROM6:4133 C9               ret  

Battle textbox - Magic/Trap/Ritual

Display battle textbox - Magic/Trap/Ritual

ROM6:41B4 F5               push af
ROM6:41B5 C5               push bc
ROM6:41B6 E5               push hl
ROM6:41B7 F5               push af
ROM6:41B8 3E 02            ld   a,02
ROM6:41BA EA AC C8         ld   (C8AC),a    ;Magic/Trap/Ritual textbox
ROM6:41BD 3E 00            ld   a,00
ROM6:41BF EA FC C8         ld   (C8FC),a
ROM6:41C2 F1               pop  af          ;a = textbox_id
ROM6:41C3 06 00            ld   b,00
ROM6:41C5 4F               ld   c,a
ROM6:41C6 CB 21            sla  c           ;c = textbox_id × 2
ROM6:41C8 21 F3 41         ld   hl,41F3
ROM6:41CB 09               add  hl,bc       ;hl = pointer_to_card_name_id_1
ROM6:41CC 2A               ldi  a,(hl)
ROM6:41CD EA F6 C8         ld   (C8F6),a
ROM6:41D0 2A               ldi  a,(hl)
ROM6:41D1 EA F7 C8         ld   (C8F7),a    ;wC8F6 = card_name_id_1
ROM6:41D4 21 DF 42         ld   hl,42DF
ROM6:41D7 09               add  hl,bc       ;hl = pointer_to_card_name_id_2
ROM6:41D8 2A               ldi  a,(hl)
ROM6:41D9 EA F8 C8         ld   (C8F8),a
ROM6:41DC 2A               ldi  a,(hl)
ROM6:41DD EA F9 C8         ld   (C8F9),a    ;wC8F8 = card_name_id_2
ROM6:41E0 21 CB 43         ld   hl,43CB
ROM6:41E3 09               add  hl,bc       ;hl = pointer_to_card_name_id_3
ROM6:41E4 2A               ldi  a,(hl)
ROM6:41E5 EA FA C8         ld   (C8FA),a
ROM6:41E8 2A               ldi  a,(hl)
ROM6:41E9 EA FB C8         ld   (C8FB),a    ;wC8FA = card_name_id_3, only used by Elegant Egotist and Metalmorph
ROM6:41EC CD 0E 40         call 400E
ROM6:41EF E1               pop  hl
ROM6:41F0 C1               pop  bc
ROM6:41F1 F1               pop  af
ROM6:41F2 C9               ret

Textbox card_name_id_1 array - Magic/Trap/Ritual

ROM6:41F3
2D 01 - Legendary Sword
2E 01 - Sword of Ruin
2F 01 - Dark Energy
30 01 - Axe of Despair
31 01 - Lazer Cannon Armor
32 01 - Insect Armor with
33 01 - Elf's Light
34 01 - Beast Fangs
35 01 - Steel Shell
36 01 - Vile Germs
37 01 - Black Pendant
38 01 - Silver Bow & Arrow
39 01 - Horn of Light
3A 01 - Horn of the Unicor
3B 01 - Dragon Treasure
3C 01 - Electro-whip
3D 01 - Cyber Shield
3E 01 - Elegant Egotist
3F 01 - Mystical Moon
40 01 - Stop Defense
41 01 - Malevolent Nuzzler
42 01 - Violet Crystal
43 01 - Book of Secret Art
44 01 - Invigoration
45 01 - Machine Conversion
46 01 - Raise Body Heat
47 01 - Follow Wind
48 01 - Power of Kaishin
49 01 - Dragon Capture Jar
4A 01 - Forest
4B 01 - Wasteland
4C 01 - Mountain
4D 01 - Sogen
4E 01 - Umi
4F 01 - Yami
50 01 - Dark Hole
51 01 - Raigeki
52 01 - Mooyan Curry
53 01 - Red Medicine
54 01 - Goblin's Secret Re
55 01 - Soul of the Pure
56 01 - Dian Keto the Cure
57 01 - Sparks
58 01 - Hinotama
59 01 - Final Flame
5A 01 - Ookazi
5B 01 - Tremendous Fire
5C 01 - Swords of Revealin
5D 01 - Spellbinding Circl
5E 01 - Dark-piercing Ligh
8B 02 - Kunai with Chain
8C 02 - Magical Labyrinth
8D 02 - Warrior Eliminatio
8E 02 - Salamandra
8F 02 - Cursebreaker
90 02 - Eternal Rest
91 02 - Megamorph
92 02 - Metalmorph
93 02 - Winged Trumpeter
94 02 - Stain Storm
95 02 - Crush Card
96 02 - Eradicating Aeroso
97 02 - Breath of Light
98 02 - Eternal Draught
99 02 - Curse of Millenniu
9A 02 - Yamadron Ritual
9B 02 - Gate Guardian Ritu
9C 02 - Bright Castle
9D 02 - Shadow Spell
9E 02 - Black Luster Ritua
9F 02 - Zera Ritual
A0 02 - Harpie's Feather D
A1 02 - War-lion Ritual
A2 02 - Beastly Mirror Rit
A3 02 - Ultimate Dragon
A4 02 - Commencement Dance
A5 02 - Hamburger Recipe
A6 02 - Revival of Sennen
A7 02 - Novox's Prayer
A8 02 - Curse of Tri-Horne
A9 02 - House of Adhesive
AA 02 - Eatgaboon
AB 02 - Bear Trap
AC 02 - Invisible Wire
AD 02 - Acid Trap Hole
AE 02 - Widespread Ruin
AF 02 - Goblin Fan
B0 02 - Simochi Allergy
B1 02 - Reverse Trap
B2 02 - Fake Trap
B3 02 - Revived Serpent Ni
B4 02 - Turtle Oath
B5 02 - Contract of Mask
B6 02 - Resurrection of Ch
B7 02 - Puppet Ritual
B8 02 - Javelin Beetle Pac
B9 02 - Garma Sword Oath
BA 02 - Cosmo Queen's Pray
BB 02 - Revival of Skeleto
BC 02 - Fortress Whale's O
D2 02 - Dark Magic Ritual
15 03 - Pot of Greed
16 03 - The Inexperienced
14 03 - Restructer Revolut
13 03 - Last Day of Witch
12 03 - Exile of the Wicke
11 03 - Multiply
10 03 - Change of Heart
0F 03 - Black Illusion Rit
0E 03 - Anti Raigeki
0D 03 - Brain Control
7F 03 - Monster Reborn
82 03 - Beckon to Darkness
80 03 - Gravedigger Ghoul
7E 03 - Heavy Storm
7D 03 - Final Destiny
7C 03 - Darkness Approaches
7B 03 - Messenger of Peace

Textbox card_name_id_2 array - Magic/Trap/Ritual

ROM6:42DF

Textbox card_name_id_3 array - Magic/Trap/Ritual

ROM6:43CB

Graphics 1

  • 0x019B40 - « This game is designed for use on GAME BOY ® COLOR only »

Bank 7

Card data

7:4078

ROM7:4078 F5               push af
ROM7:4079 C5               push bc
ROM7:407A 47               ld   b,a
ROM7:407B FA AB C6         ld   a,(C6AB)
ROM7:407E 4F               ld   c,a
ROM7:407F CD 6B 43         call 436B
ROM7:4082 4F               ld   c,a
ROM7:4083 CD 0D 43         call 430D
ROM7:4086 CD 41 43         call 4341
ROM7:4089 C1               pop  bc
ROM7:408A F1               pop  af
ROM7:408B C9               ret  

7:408C

ROM7:408C F5               push af
ROM7:408D 78               ld   a,b
ROM7:408E EA A5 C6         ld   (C6A5),a
ROM7:4091 79               ld   a,c
ROM7:4092 EA A6 C6         ld   (C6A6),a
ROM7:4095 F1               pop  af
ROM7:4096 C9               ret  

Read card data - main routine

ROM7:4097 F5               push af
ROM7:4098 C5               push bc
ROM7:4099 CD 3F 1A         call 1A3F          ;Checks if bc ≠ 0
ROM7:409C FE 00            cp   a,00
ROM7:409E 20 05            jr   nz,40A5       ;if(card_ID == 0), jump to 7:40A5 (fail-safe)
ROM7:40A0 CD AB 40         call 40AB          ;Read card data
ROM7:40A3 18 03            jr   40A8
ROM7:40A5 CD 0E 41         call 410E          ;Set fail-safe card data
ROM7:40A8 C1               pop  bc
ROM7:40A9 F1               pop  af
ROM7:40AA C9               ret
Read card data
ROM7:40AB F5               push af
ROM7:40AC C5               push bc
ROM7:40AD D5               push de
ROM7:40AE E5               push hl
ROM7:40AF 79               ld   a,c
ROM7:40B0 EA A3 C6         ld   (C6A3),a            ;wC6A3 = Card ID
ROM7:40B3 78               ld   a,b
ROM7:40B4 EA A4 C6         ld   (C6A4),a
ROM7:40B7 21 4C 52         ld   hl,524C             ;Card Type array
ROM7:40BA 09               add  hl,bc               ;pointer = 0x524C + (card_ID)
ROM7:40BB 7E               ld   a,(hl)
ROM7:40BC EA AB C6         ld   (C6AB),a            ;wC6AB = Card Type
ROM7:40BF 21 D1 55         ld   hl,55D1             ;Card Cost array
ROM7:40C2 09               add  hl,bc               ;pointer = 0x55D1 + (card_ID)
ROM7:40C3 7E               ld   a,(hl)
ROM7:40C4 EA AC C6         ld   (C6AC),a            ;wC6AC = Card Cost
ROM7:40C7 21 56 59         ld   hl,5956             ;Card Alignment array
ROM7:40CA 09               add  hl,bc               ;pointer = 0x5956 + (card_ID)
ROM7:40CB 7E               ld   a,(hl)
ROM7:40CC EA AE C6         ld   (C6AE),a            ;wC6AE = Card Alignment
ROM7:40CF 21 DB 5C         ld   hl,5CDB             ;Card Effect (Magic, Rituals and Traps) array
ROM7:40D2 09               add  hl,bc               ;pointer = 0x5CDB + (card_ID)
ROM7:40D3 7E               ld   a,(hl)
ROM7:40D4 EA AF C6         ld   (C6AF),a            ;wC6AF = Card Effect (Magic, Rituals and Traps)
ROM7:40D7 21 60 60         ld   hl,6060             ;Card Effect (Monster) array
ROM7:40DA 09               add  hl,bc               ;pointer = 0x6060 + (card_ID)
ROM7:40DB 7E               ld   a,(hl)
ROM7:40DC EA B0 C6         ld   (C6B0),a            ;wC6B0 = Card Effect (Monster)
ROM7:40DF 21 49 64         ld   hl,6449             ;Card Level array
ROM7:40E2 09               add  hl,bc               ;pointer = 0x6449 + (card_ID)
ROM7:40E3 7E               ld   a,(hl)
ROM7:40E4 EA AD C6         ld   (C6AD),a            ;wC6AD = Card Level
ROM7:40E7 CB 21            sla  c                   ;bc = card_ID × 2
ROM7:40E9 CB 10            rl   b
ROM7:40EB 21 90 43         ld   hl,4390             ;Card ATK array
ROM7:40EE 09               add  hl,bc               ;pointer = 0x4390 + (card_ID × 2)
ROM7:40EF 2A               ldi  a,(hl)
ROM7:40F0 56               ld   d,(hl)
ROM7:40F1 5F               ld   e,a
ROM7:40F2 7B               ld   a,e
ROM7:40F3 EA A7 C6         ld   (C6A7),a            ;wC6A7 = Card ATK
ROM7:40F6 7A               ld   a,d
ROM7:40F7 EA A8 C6         ld   (C6A8),a
ROM7:40FA 21 9A 4A         ld   hl,4A9A             ;Card DEF array
ROM7:40FD 09               add  hl,bc               ;pointer = 0x4A9A + (card_ID × 2)
ROM7:40FE 2A               ldi  a,(hl)
ROM7:40FF 56               ld   d,(hl)
ROM7:4100 5F               ld   e,a
ROM7:4101 7B               ld   a,e
ROM7:4102 EA A9 C6         ld   (C6A9),a            ;wC6A9 = Card DEF
ROM7:4105 7A               ld   a,d
ROM7:4106 EA AA C6         ld   (C6AA),a
ROM7:4109 E1               pop  hl
ROM7:410A D1               pop  de
ROM7:410B C1               pop  bc
ROM7:410C F1               pop  af
ROM7:410D C9               ret
Set fail-safe card data
ROM7:410E F5               push af
ROM7:410F 79               ld   a,c
ROM7:4110 EA A3 C6         ld   (C6A3),a            ;Card_ID = bc
ROM7:4113 78               ld   a,b
ROM7:4114 EA A4 C6         ld   (C6A4),a
ROM7:4117 3E 17            ld   a,17
ROM7:4119 EA AB C6         ld   (C6AB),a            ;Card_Type = 0x17 (Invalid)
ROM7:411C 3E 00            ld   a,00
ROM7:411E EA AC C6         ld   (C6AC),a            ;Card_Cost = 0
ROM7:4121 3E 0B            ld   a,0B
ROM7:4123 EA AE C6         ld   (C6AE),a            ;Card_Alignment = 0x0B (Non-Monster Card)
ROM7:4126 3E 02            ld   a,02
ROM7:4128 EA AF C6         ld   (C6AF),a            ;Card_Effect_MagicRitualTrap = 0x02 (Monster card)
ROM7:412B 3E FF            ld   a,FF
ROM7:412D EA A7 C6         ld   (C6A7),a            ;Card_ATK = 0xFFFF
ROM7:4130 3E FF            ld   a,FF
ROM7:4132 EA A8 C6         ld   (C6A8),a
ROM7:4135 3E FF            ld   a,FF
ROM7:4137 EA A9 C6         ld   (C6A9),a            ;Card_DEF = 0xFFFF
ROM7:413A 3E FF            ld   a,FF
ROM7:413C EA AA C6         ld   (C6AA),a
ROM7:413F F1               pop  af
ROM7:4140 C9               ret

Cards data arrays

Cards ATK
  • 0x1C390 : ATK
Cards DEF
  • 0x1CA9A : DEF
Cards Types
  • 0x1D24C : Types
Cards Costs
  • 0x1D5D1 : Costs
Cards Alignments
  • 0x1D956 : Alignments
Cards Effects IDs (Magic, Rituals and Traps)
Cards Effects IDs (Effect Monsters)
Cards Levels
  • 0x1E449 : Cards Levels

Bank 8

Graphics 2

  • 0x20100-0x20510 - Character table

Player's Effect Monsters subroutines

Effect Monsters handling

Load Effect Monster effect pointer
ROM8:65FC F5               push af
ROM8:65FD C5               push bc
ROM8:65FE E5               push hl
ROM8:65FF FA E1 CA         ld   a,(CAE1)
ROM8:6602 47               ld   b,a
ROM8:6603 FA E2 CA         ld   a,(CAE2)
ROM8:6606 4F               ld   c,a
ROM8:6607 CD 9D 19         call 199D
ROM8:660A CD E0 19         call 19E0
ROM8:660D FA DD C7         ld   a,(C7DD)
ROM8:6610 4F               ld   c,a
ROM8:6611 FA DE C7         ld   a,(C7DE)
ROM8:6614 47               ld   b,a
ROM8:6615 CF               rst  08
             => 03 07
ROM8:6618 3E 00            ld   a,00
ROM8:661A 47               ld   b,a
ROM8:661B FA B0 C6         ld   a,(C6B0)         ;a = effect_monster_id
ROM8:661E 4F               ld   c,a
ROM8:661F CB 21            sla  c                ;c = effect_monster_id × 2
ROM8:6621 21 31 66         ld   hl,6631
ROM8:6624 09               add  hl,bc
ROM8:6625 2A               ldi  a,(hl)
ROM8:6626 66               ld   h,(hl)
ROM8:6627 6F               ld   l,a              ;hl = pointer to the Effect Monster's subroutine
ROM8:6628 01 2D 66         ld   bc,662D
ROM8:662B C5               push bc
ROM8:662C E9               jp   hl               ;jump to the Effect Monster's subroutine
ROM8:662D E1               pop  hl
ROM8:662E C1               pop  bc
ROM8:662F F1               pop  af
ROM8:6630 C9               ret  
Effect Monsters effect pointers
  • 0x22631-0x2269E - Effect Monsters' subroutines pointers
ROM8:6631
9F 66 - 00 - No Effect
A7 66 - 01 - Reaper of the Card
B8 66 - 02 - Fairy's Gift
CC 66 - 03 - Relinquished
03 67 - 04 - Thousand-eyes Restrict
43 67 - 05 - Skelengel
53 67 - 06 - Harpie Lady
81 67 - 07 - Harpie Lady Sister
B5 67 - 08 - Time Wizard
F9 67 - 09 - Castle of D. Magic
43 68 - 0A - Mystical Elf
71 68 - 0B - Curse of Dragon
7E 68 - 0C - Flame Swordsman
A4 68 - 0D - Giant Rock Soldier
B1 68 - 0E - Battle Ox
D7 68 - 0F - Monster Tamer
05 69 - 10 - Pumpking the King
45 69 - 11 - Mammoth Graveyard
6C 69 - 12 - Catapult Turtle
B5 69 - 13 - Goddess of Whim
D4 69 - 14 - Spirit of the Mountain
E1 69 - 15 - Dragon Seeker
07 6A - 16 - Trap Master
39 6A - 17 - Fiend's Hand
5E 6A - 18 - Faceless Mage
8B 6A - 19 - Electric Lizard
AE 6A - 1A - D. Magician Girl
E6 6A - 1B - Wodan the Resident
13 6B - 1C - M-warrior #1
41 6B - 1D - M-warrior #2
6F 6B - 1E - Red Archery Girl
97 6B - 1F - Lady of Faith
AB 6B - 20 - Fire Reaper
BF 6B - 21 - Kairyu-shin
CC 6B - 22 - Gyakutenno Megami
06 6C - 23 - Monster Eye
2B 6C - 24 - Doron
66 6C - 25 - Swamp Battleguard
94 6C - 26 - Lava Battleguard
C2 6C - 27 - Trent
CF 6C - 28 - Labyrinth Tank
07 6D - 29 - Spirit of the Book
51 6D - 2A - Hourglass of Life
7A 6D - 2B - Beastking of the Swamp
A4 6D - 2C - Nemuriko
E0 6D - 2D - Toad Master
27 6E - 2E - Hoshiningen
5F 6E - 2F - Invitation to a Dark Sleep
8C 6E - 30 - Witch's Apprentice
C4 6E - 31 - Mystic Lamp
E8 6E - 32 - Leghul
0C 6F - 33 - Insect Queen
39 6F - 34 - Obelisk the Tourmentor
5C 6F - 35 - Slifer the Sky Dragon
87 6F - 36 - The Winged Dragon of Ra

Bank 9

Cards Passwords

0x2454F : Passwords

9:5564 - 00s wCA64-wCAD5

ROM9:5564 F5               push af
ROM9:5565 C5               push bc
ROM9:5566 E5               push hl
ROM9:5567 21 64 CA         ld   hl,CA64
ROM9:556A AF               xor  a                ;a = 0
ROM9:556B 0E 71            ld   c,71             ;c = 0x71 ; 0d113
ROM9:556D 22               ldi  (hl),a           ;write 00 in wCA64-wCAD5
ROM9:556E 0D               dec  c
ROM9:556F 20 FC            jr   nz,556D          ;loop to 9:556D 113 times
ROM9:5571 E1               pop  hl
ROM9:5572 C1               pop  bc
ROM9:5573 F1               pop  af
ROM9:5574 C9               ret

Bank A

Opponent's decks

0x28087-0x28716 : Opponent decks

Weevil

0x28087-0x280D6

FB 02 32 00 32 02 D1 00 FA 01 C4 01 16 01 61 02 
E5 01 F5 01 DC 01 61 03 31 01 36 00 FB 02 32 00 
32 02 D1 00 FA 01 FA 02 61 02 E5 01 F5 01 DC 01 
32 01 FC 02 FB 02 32 00 32 02 D1 00 FA 01 C4 01 
34 00 61 02 E5 01 F5 01 DC 01 61 03 83 03 25 03

3× Zarigun
3× Winged Cleaver
3× Needle Worm
3× Bladefly
3× Gale Dogra
1× Soldier Ant
3× Korogashi
3× Basic Insect
3× Parasite Paracide
2× Dragon Pirate Soldier
1× Petit Moth

1× Infinite Dismissal

Mako Tsunami

0x28177-0x281C6

8E 01 E4 01 D5 01 0C 02 BC 01 B4 01 DB 01 21 01
A7 00 89 01 ED 00 84 02 98 00 CE 02 8E 01 E4 01
D5 01 0C 02 BC 01 B4 01 DB 01 21 01 A7 00 89 01
ED 00 84 02 98 00 81 03 8E 01 E4 01 D5 01 0C 02
BC 01 B4 01 DB 01 21 01 A7 00 89 01 ED 00 84 02

1× Whale Fortress

3× Star Boy
2× Melting Red Shadow
3× White Dolphin
3× Haniwa
3× Turu-Purun
3× Change Slime
3× Ancient Jar
3× Flame Viper
3× Amoeba
3× Sinister Serpent
3× Armed Ninja
3× Ooguchi
3× Zone Eater

1× Torrential Tribute

A:4D64

ROMA:4D64 F5               push af
ROMA:4D65 C5               push bc
ROMA:4D66 3E 02            ld   a,02
ROMA:4D68 EA AC C8         ld   (C8AC),a
ROMA:4D6B 3E 03            ld   a,03
ROMA:4D6D EA FC C8         ld   (C8FC),a
ROMA:4D70 FA 62 CA         ld   a,(CA62)
ROMA:4D73 47               ld   b,a
ROMA:4D74 FA 63 CA         ld   a,(CA63)
ROMA:4D77 4F               ld   c,a
ROMA:4D78 CD 9D 19         call 199D            ;Update card column and row
ROMA:4D7B CD E0 19         call 19E0            ;Update current_card_id and current_card_status
ROMA:4D7E FA DD C7         ld   a,(C7DD)	// Current card ID
ROMA:4D81 EA F6 C8         ld   (C8F6),a
ROMA:4D84 FA DE C7         ld   a,(C7DE)
ROMA:4D87 EA F7 C8         ld   (C8F7),a
ROMA:4D8A 3E 81            ld   a,81
ROMA:4D8C EA F8 C8         ld   (C8F8),a
ROMA:4D8F 3E 03            ld   a,03
ROMA:4D91 EA F9 C8         ld   (C8F9),a
ROMA:4D94 0E 02            ld   c,02
ROMA:4D96 06 01            ld   b,01
ROMA:4D98 78               ld   a,b
ROMA:4D99 FE 06            cp   a,06
ROMA:4D9B 30 06            jr   nc,4DA3
ROMA:4D9D CD 96 1F         call 1F96		// Destroy Player's card
ROMA:4DA0 04               inc  b
ROMA:4DA1 18 F5            jr   4D98
ROMA:4DA3 CD 1D 47         call 471D
ROMA:4DA6 C1               pop  bc
ROMA:4DA7 F1               pop  af
ROMA:4DA8 C9               ret

Bank B

Limited cards

0x2C04D-0x2C0AC : Limited cards

ROMB:404D
11 00 12 00 13 00 14 00 15 00 38 00 39 00 43 00
48 00 87 00 E0 00 02 01 16 01 50 01 51 01 56 01
5C 01 91 02 AC 02 AD 02 AE 02 DB 02 DE 02 0D 03
10 03 11 03 15 03 40 03 41 03 42 03 7D 03 7E 03
7F 03 81 03 82 03 64 01 65 01 68 01 6A 01 6C 01
6D 01 76 01 7C 01 BD 02 BE 02 BF 02 C0 02 C1 02
C2 02 C4 02 C5 02 C6 02 CB 02 CC 02 CD 02 CE 02
CF 02 D0 02 D1 02 00 00

Checks if the card is allowed in the version

ROMB:40AF C5               push bc
ROMB:40B0 D5               push de
ROMB:40B1 E5               push hl
ROMB:40B2 AF               xor  a
ROMB:40B3 CB 38            srl  b
ROMB:40B5 CB 19            rr   c
ROMB:40B7 1F               rra  
ROMB:40B8 CB 38            srl  b
ROMB:40BA CB 19            rr   c
ROMB:40BC 1F               rra  
ROMB:40BD CB 38            srl  b
ROMB:40BF CB 19            rr   c              ;bc >> 3
ROMB:40C1 1F               rra  
ROMB:40C2 1F               rra  
ROMB:40C3 CB 37            swap a
ROMB:40C5 F5               push af
ROMB:40C6 21 DC 40         ld   hl,40DC
ROMB:40C9 CD 4D 2A         call 2A4D
ROMB:40CC FE 01            cp   a,01
ROMB:40CE 20 03            jr   nz,40D3        ;if the player didn't beat Pegasus 5 times, hl = 0x40DC
ROMB:40D0 21 4D 41         ld   hl,414D        ;else hl = 0x414D
ROMB:40D3 09               add  hl,bc
ROMB:40D4 F1               pop  af
ROMB:40D5 CD CB 16         call 16CB
ROMB:40D8 E1               pop  hl
ROMB:40D9 D1               pop  de
ROMB:40DA C1               pop  bc
ROMB:40DB C9               ret  

Allowed cards flags

The blocks for pre-credits and post-credits allowed cards are each 904 bits long

0x2C0DC - Allowed cards flags (pre-credits)

ROMB:40DC
10 F9 01 30 01 08 18 20 31 C0 07 00 70 4E 01 A6
22 C6 AF EF 6D FB FF FF FF FC DE EF FC F3 EB FF
EE FF BF FE AF 77 F9 8B FF FD 7C 40 00 00 00 40
F8 FF EF FF FF DD FF FF 9B FF 3F FD EF FF E7 FF
FF FF FF EB 7F FF DF FF 7F FF EF BF EF FF FF FF
FF FF DD 8F F7 FF FF 1F 08 03 00 04 48 97 9F 66
E1 5F BD F7 97 E7 FF FF F8 FB 9B FF FF 7F F0 37
17

0x2C14D - Allowed cards flags (post-credits)

ROMB:414D
10 F9 01 30 01 08 FE E3 39 C1 07 00 70 4E 01 A6
22 C6 AF EF 6D FB FF FF FF FC DE EF FC F3 EB FF
EE FF FF FE AF 77 FF FB FF FD 7D 40 0A C2 BF 41
FC FF EF FF FF DD FF FF 9B FF 3F FD EF FF E7 FF
FF FF FF EB 7F FF DF FF 7F FF EF BF EF FF FF FF
FF FF DD 8F F7 FF FF 1F 08 03 00 04 48 97 9F 7E
E1 5F BD F7 F7 E7 FF FF FC FB 9B FF FF 7F F0 37
17

Bit flags

01 02 04 08 10 20 40 80

Bank E

Copy Player's Name

ROME:6AAF F5               push af
ROME:6AB0 C5               push bc
ROME:6AB1 D5               push de
ROME:6AB2 E5               push hl
ROME:6AB3 21 CB 6A         ld   hl,6ACB       ;Player's name
ROME:6AB6 11 C1 C5         ld   de,C5C1       ;where to copy the string
ROME:6AB9 0E 08            ld   c,08          ;# of characters to copy
ROME:6ABB 2A               ldi  a,(hl)
ROME:6ABC 12               ld   (de),a
ROME:6ABD 13               inc  de
ROME:6ABE 0D               dec  c
ROME:6ABF 20 FA            jr   nz,6ABB
ROME:6AC1 3E 03            ld   a,03          ;# of characters to display
ROME:6AC3 EA D5 C5         ld   (C5D5),a
ROME:6AC6 E1               pop  hl
ROME:6AC7 D1               pop  de
ROME:6AC8 C1               pop  bc
ROME:6AC9 F1               pop  af
ROME:6ACA C9               ret  
  • 0x3AACB - Player's Name

Bank 10

Debug Character Viewer

10:4101

RO10:4101 C5               push bc
RO10:4102 E5               push hl
RO10:4103 3E 02            ld   a,02
RO10:4105 CD 87 0F         call 0F87
RO10:4108 CD 7D 11         call 117D
RO10:410B FA 55 CA         ld   a,(CA55)
RO10:410E FE 18            cp   a,18
RO10:4110 30 10            jr   nc,4122
RO10:4112 FA 55 CA         ld   a,(CA55)
RO10:4115 EA 32 C7         ld   (C732),a
RO10:4118 AF               xor  a
RO10:4119 EA 33 C7         ld   (C733),a
RO10:411C CF               rst  08
RO10:411D 03               inc  bc
RO10:411E 02               ld   (bc),a
RO10:411F CF               rst  08
RO10:4120 11 02 3E         ld   de,3E02
RO10:4123 01 E1 C1         ld   bc,C1E1
RO10:4126 C9               ret  

10:4127

RO10:4127 14               inc  d
RO10:4128 15               dec  d
RO10:4129 16 17            ld   d,17
RO10:412B 3E 02            ld   a,02
RO10:412D CD 87 0F         call 0F87
RO10:4130 CD 7D 11         call 117D
RO10:4133 3E 01            ld   a,01
RO10:4135 C9               ret  

Increment Character ID

RO10:4136 FA 55 CA         ld   a,(CA55)
RO10:4139 C6 01            add  a,01
RO10:413B EA 55 CA         ld   (CA55),a
RO10:413E 3E 06            ld   a,06         ;(C5AE)=6, then ?
RO10:4140 CD 87 0F         call 0F87
RO10:4143 CD 60 41         call 4160
RO10:4146 CD 7D 11         call 117D
RO10:4149 AF               xor  a
RO10:414A C9               ret

Decrement Character ID

RO10:414B FA 55 CA         ld   a,(CA55)
RO10:414E D6 01            sub  a,01
RO10:4150 EA 55 CA         ld   (CA55),a
RO10:4153 3E 06            ld   a,06
RO10:4155 CD 87 0F         call 0F87
RO10:4158 CD 60 41         call 4160
RO10:415B CD 7D 11         call 117D
RO10:415E AF               xor  a
RO10:415F C9               ret  

10:4160

RO10:4160 F5               push af
RO10:4161 C5               push bc
RO10:4162 01 46 98         ld   bc,9846
RO10:4165 CD 8E 11         call 118E
RO10:4168 FA 55 CA         ld   a,(CA55)
RO10:416B EA E7 C5         ld   (C5E7),a
RO10:416E 3E 00            ld   a,00
RO10:4170 EA E8 C5         ld   (C5E8),a
RO10:4173 CD 61 15         call 1561
RO10:4176 78               ld   a,b
RO10:4177 E6 0F            and  a,0F
RO10:4179 3C               inc  a
RO10:417A CD CF 11         call 11CF
RO10:417D 79               ld   a,c
RO10:417E E6 F0            and  a,F0
RO10:4180 CB 37            swap a
RO10:4182 3C               inc  a
RO10:4183 CD CF 11         call 11CF
RO10:4186 79               ld   a,c
RO10:4187 E6 0F            and  a,0F
RO10:4189 3C               inc  a
RO10:418A CD CF 11         call 11CF
RO10:418D AF               xor  a
RO10:418E 0E 11            ld   c,11
RO10:4190 CD CF 11         call 11CF
RO10:4193 0D               dec  c
RO10:4194 20 FA            jr   nz,4190
RO10:4196 C1               pop  bc
RO10:4197 F1               pop  af
RO10:4198 C9               ret

Bank 14 - CPU AI program

CPU Card Effects

AI Field Spell

AI - Forest
RO14:4ABE C5               push bc
RO14:4ABF D5               push de
RO14:4AC0 CF               rst  08
                => 6B 0D
RO14:4AC3 CF               rst  08
                => 6D 0D
RO14:4AC6 CF               rst  08
                => 6F 0D
RO14:4AC9 CF               rst  08
                => 71 0D
RO14:4ACC 3E 01            ld   a,01
RO14:4ACE CD 51 5B         call 5B51
RO14:4AD1 3E 01            ld   a,01          ;Forest
RO14:4AD3 CD BB 5B         call 5BBB
RO14:4AD6 3E 00            ld   a,00
RO14:4AD8 D1               pop  de
RO14:4AD9 C1               pop  bc
RO14:4ADA C9               ret
AI - Wasteland
RO14:4ADB C5               push bc
RO14:4ADC D5               push de
RO14:4ADD CF               rst  08
                => 6B 0D
RO14:4AE0 CF               rst  08
                => 6D 0D
RO14:4AE3 CF               rst  08
                => 6F 0D
RO14:4AE6 CF               rst  08
                => 71 0D
RO14:4AE9 3E 01            ld   a,01
RO14:4AEB CD 51 5B         call 5B51
RO14:4AEE 3E 02            ld   a,02          ;Wasteland
RO14:4AF0 CD BB 5B         call 5BBB
RO14:4AF3 3E 00            ld   a,00
RO14:4AF5 D1               pop  de
RO14:4AF6 C1               pop  bc
RO14:4AF7 C9               ret
AI - Mountain
RO14:4AF8 C5               push bc
RO14:4AF9 D5               push de
RO14:4AFA CF               rst  08
                => 6B 0D
RO14:4AFD CF               rst  08
                => 6D 0D
RO14:4B00 CF               rst  08
                => 6F 0D
RO14:4B03 CF               rst  08
                => 71 0D
RO14:4B06 3E 01            ld   a,01
RO14:4B08 CD 51 5B         call 5B51
RO14:4B0B 3E 03            ld   a,03          ;Mountain
RO14:4B0D CD BB 5B         call 5BBB
RO14:4B10 3E 00            ld   a,00
RO14:4B12 D1               pop  de
RO14:4B13 C1               pop  bc
RO14:4B14 C9               ret
AI - Sogen
RO14:4B15 C5               push bc
RO14:4B16 D5               push de
RO14:4B17 CF               rst  08
                => 6B 0D
RO14:4B1A CF               rst  08
                => 6D 0D
RO14:4B1D CF               rst  08
                => 6F 0D
RO14:4B20 CF               rst  08
                => 71 0D
RO14:4B23 3E 01            ld   a,01
RO14:4B25 CD 51 5B         call 5B51
RO14:4B28 3E 04            ld   a,04          ;Sogen
RO14:4B2A CD BB 5B         call 5BBB
RO14:4B2D 3E 00            ld   a,00
RO14:4B2F D1               pop  de
RO14:4B30 C1               pop  bc
RO14:4B31 C9               ret
AI - Umi
RO14:4B32 C5               push bc
RO14:4B33 D5               push de
RO14:4B34 CF               rst  08
                => 6B 0D
RO14:4B37 CF               rst  08
                => 6D 0D
RO14:4B3A CF               rst  08
                => 6F 0D
RO14:4B3D CF               rst  08
                => 71 0D
RO14:4B40 3E 01            ld   a,01
RO14:4B42 CD 51 5B         call 5B51
RO14:4B45 3E 05            ld   a,05          ;Umi
RO14:4B47 CD BB 5B         call 5BBB
RO14:4B4A 3E 00            ld   a,00
RO14:4B4C D1               pop  de
RO14:4B4D C1               pop  bc
RO14:4B4E C9               ret
AI - Yami
RO14:4B4F C5               push bc
RO14:4B50 D5               push de
RO14:4B51 CF               rst  08
                => 6B 0D
RO14:4B54 CF               rst  08
                => 6D 0D
RO14:4B57 CF               rst  08
                => 6F 0D
RO14:4B5A CF               rst  08
                => 71 0D
RO14:4B5D 3E 01            ld   a,01
RO14:4B5F CD 51 5B         call 5B51
RO14:4B62 3E 06            ld   a,06          ;Yami
RO14:4B64 CD BB 5B         call 5BBB
RO14:4B67 3E 00            ld   a,00
RO14:4B69 D1               pop  de
RO14:4B6A C1               pop  bc
RO14:4B6B C9               ret

AI Healing Spell

AI - Mooyan Curry
RO14:4B6C C5               push bc
RO14:4B6D 01 00 02         ld   bc,0200
RO14:4B70 CD AB 5B         call 5BAB          ;AI - Healing and Damage amount
RO14:4B73 3E 01            ld   a,01
RO14:4B75 CD 9C 5B         call 5B9C
RO14:4B78 CF               rst  08
                => 27 0D
RO14:4B7B FE 01            cp   a,01
RO14:4B7D 20 04            jr   nz,4B83
RO14:4B7F 3E 06            ld   a,06
RO14:4B81 18 02            jr   4B85
RO14:4B83 3E 05            ld   a,05
RO14:4B85 CD 51 5B         call 5B51
RO14:4B88 3E 00            ld   a,00
RO14:4B8A C1               pop  bc
RO14:4B8B C9               ret
AI - Red Medicine
RO14:4B8C C5               push bc
RO14:4B8D 01 00 05         ld   bc,0500
RO14:4B90 CD AB 5B         call 5BAB          ;AI - Healing and Damage amount
RO14:4B93 3E 01            ld   a,01
RO14:4B95 CD 9C 5B         call 5B9C
RO14:4B98 CF               rst  08
                => 27 0D
RO14:4B9B FE 01            cp   a,01
RO14:4B9D 20 04            jr   nz,4BA3
RO14:4B9F 3E 06            ld   a,06
RO14:4BA1 18 02            jr   4BA5
RO14:4BA3 3E 05            ld   a,05
RO14:4BA5 CD 51 5B         call 5B51
RO14:4BA8 3E 00            ld   a,00
RO14:4BAA C1               pop  bc
RO14:4BAB C9               ret
AI - Goblin's Secret Remedy
RO14:4BAC C5               push bc
RO14:4BAD 01 00 10         ld   bc,1000
RO14:4BB0 CD AB 5B         call 5BAB          ;AI - Healing and Damage amount
RO14:4BB3 3E 01            ld   a,01
RO14:4BB5 CD 9C 5B         call 5B9C
RO14:4BB8 CF               rst  08
                => 27 0D
RO14:4BBB FE 01            cp   a,01
RO14:4BBD 20 04            jr   nz,4BC3
RO14:4BBF 3E 06            ld   a,06
RO14:4BC1 18 02            jr   4BC5
RO14:4BC3 3E 05            ld   a,05
RO14:4BC5 CD 51 5B         call 5B51
RO14:4BC8 3E 00            ld   a,00
RO14:4BCA C1               pop  bc
RO14:4BCB C9               ret
AI - Soul of the Pure
RO14:4BCC C5               push bc
RO14:4BCD 01 00 20         ld   bc,2000
RO14:4BD0 CD AB 5B         call 5BAB          ;AI - Healing and Damage amount
RO14:4BD3 3E 01            ld   a,01
RO14:4BD5 CD 9C 5B         call 5B9C
RO14:4BD8 CF               rst  08
                => 27 0D
RO14:4BDB FE 01            cp   a,01
RO14:4BDD 20 04            jr   nz,4BE3
RO14:4BDF 3E 06            ld   a,06
RO14:4BE1 18 02            jr   4BE5
RO14:4BE3 3E 05            ld   a,05
RO14:4BE5 CD 51 5B         call 5B51
RO14:4BE8 3E 00            ld   a,00
RO14:4BEA C1               pop  bc
RO14:4BEB C9               ret
AI - Dian Keto the Cure Master
RO14:4BEC C5               push bc
RO14:4BED 01 00 50         ld   bc,5000
RO14:4BF0 CD AB 5B         call 5BAB          ;AI - Healing and Damage amount
RO14:4BF3 3E 01            ld   a,01
RO14:4BF5 CD 9C 5B         call 5B9C
RO14:4BF8 CF               rst  08
                => 27 0D
RO14:4BFB FE 01            cp   a,01
RO14:4BFD 20 04            jr   nz,4C03
RO14:4BFF 3E 06            ld   a,06
RO14:4C01 18 02            jr   4C05
RO14:4C03 3E 05            ld   a,05
RO14:4C05 CD 51 5B         call 5B51
RO14:4C08 3E 00            ld   a,00
RO14:4C0A C1               pop  bc
RO14:4C0B C9               ret

AI Damage Spell

AI - Sparks
RO14:4C0C C5               push bc
RO14:4C0D 01 50 00         ld   bc,0050
RO14:4C10 CD AB 5B         call 5BAB          ;AI - Healing and Damage amount
RO14:4C13 CF               rst  08
                => 27 0D
RO14:4C16 FE 01            cp   a,01
RO14:4C18 20 04            jr   nz,4C1E
RO14:4C1A 3E 01            ld   a,01
RO14:4C1C 18 02            jr   4C20
RO14:4C1E 3E 00            ld   a,00
RO14:4C20 CD 9C 5B         call 5B9C
RO14:4C23 3E 06            ld   a,06
RO14:4C25 CD 51 5B         call 5B51
RO14:4C28 3E 00            ld   a,00
RO14:4C2A C1               pop  bc
RO14:4C2B C9               ret
AI - Hinotama
RO14:4C2C C5               push bc
RO14:4C2D 01 00 01         ld   bc,0100
RO14:4C30 CD AB 5B         call 5BAB          ;AI - Healing and Damage amount
RO14:4C33 CD AB 5B         call 5BAB          ;AI - Healing and Damage amount (sic, they called it twice by mistake)
RO14:4C36 CF               rst  08
                => 27 0D
RO14:4C39 FE 01            cp   a,01
RO14:4C3B 20 04            jr   nz,4C41
RO14:4C3D 3E 01            ld   a,01
RO14:4C3F 18 02            jr   4C43
RO14:4C41 3E 00            ld   a,00
RO14:4C43 CD 9C 5B         call 5B9C
RO14:4C46 3E 06            ld   a,06
RO14:4C48 CD 51 5B         call 5B51
RO14:4C4B 3E 00            ld   a,00
RO14:4C4D C1               pop  bc
RO14:4C4E C9               ret
AI - Final Flame
RO14:4C4F C5               push bc
RO14:4C50 01 00 02         ld   bc,0200
RO14:4C53 CD AB 5B         call 5BAB          ;AI - Healing and Damage amount
RO14:4C56 CF               rst  08
                => 27 0D
RO14:4C59 FE 01            cp   a,01
RO14:4C5B 20 04            jr   nz,4C61
RO14:4C5D 3E 01            ld   a,01
RO14:4C5F 18 02            jr   4C63
RO14:4C61 3E 00            ld   a,00
RO14:4C63 CD 9C 5B         call 5B9C
RO14:4C66 3E 06            ld   a,06
RO14:4C68 CD 51 5B         call 5B51
RO14:4C6B 3E 00            ld   a,00
RO14:4C6D C1               pop  bc
RO14:4C6E C9               ret
AI - Ookazi
RO14:4C6F C5               push bc
RO14:4C70 01 00 05         ld   bc,0500
RO14:4C73 CD AB 5B         call 5BAB          ;AI - Healing and Damage amount
RO14:4C76 CF               rst  08
                => 27 0D
RO14:4C79 FE 01            cp   a,01
RO14:4C7B 20 04            jr   nz,4C81
RO14:4C7D 3E 01            ld   a,01
RO14:4C7F 18 02            jr   4C83
RO14:4C81 3E 00            ld   a,00
RO14:4C83 CD 9C 5B         call 5B9C
RO14:4C86 3E 06            ld   a,06
RO14:4C88 CD 51 5B         call 5B51
RO14:4C8B 3E 00            ld   a,00
RO14:4C8D C1               pop  bc
RO14:4C8E C9               ret
AI - Tremendous Fire
RO14:4C8F C5               push bc
RO14:4C90 01 00 10         ld   bc,1000
RO14:4C93 CD AB 5B         call 5BAB          ;AI - Healing and Damage amount
RO14:4C96 CF               rst  08
                => 27 0D
RO14:4C99 FE 01            cp   a,01
RO14:4C9B 20 04            jr   nz,4CA1
RO14:4C9D 3E 01            ld   a,01
RO14:4C9F 18 02            jr   4CA3
RO14:4CA1 3E 00            ld   a,00
RO14:4CA3 CD 9C 5B         call 5B9C
RO14:4CA6 3E 06            ld   a,06
RO14:4CA8 CD 51 5B         call 5B51
RO14:4CAB 3E 00            ld   a,00
RO14:4CAD C1               pop  bc
RO14:4CAE C9               ret

AI - Dark Hole

RO14:4CAF C5               push bc
RO14:4CB0 CF               rst  08
                => 4F 0D
RO14:4CB3 CF               rst  08
                => 4D 0D
RO14:4CB6 CF               rst  08
                => 43 0D
RO14:4CB9 CF               rst  08
                => 41 0D
RO14:4CBC 3E 07            ld   a,07
RO14:4CBE CD 51 5B         call 5B51
RO14:4CC1 CD 62 49         call 4962
RO14:4CC4 3E 00            ld   a,00
RO14:4CC6 C1               pop  bc
RO14:4CC7 C9               ret

AI - Raigeki

RO14:4CC8 C5               push bc
RO14:4CC9 CF               rst  08
                => 43 0D
RO14:4CCC CF               rst  08
                => 41 0D
RO14:4CCF 3E 07            ld   a,07
RO14:4CD1 CD 51 5B         call 5B51
RO14:4CD4 CF               rst  08
                => 27 0D
RO14:4CD7 FE 01            cp   a,01
RO14:4CD9 20 05            jr   nz,4CE0
RO14:4CDB CD 69 49         call 4969
RO14:4CDE 18 03            jr   4CE3
RO14:4CE0 CD 86 49         call 4986
RO14:4CE3 3E 00            ld   a,00
RO14:4CE5 C1               pop  bc
RO14:4CE6 C9               ret

AI - Equip Spells 1

AI - Legendary Sword
RO14:4CE7 C5               push bc
RO14:4CE8 0E 01            ld   c,01
RO14:4CEA 3E 00            ld   a,00
RO14:4CEC CF               rst  08
                => 17 0D
RO14:4CEF CD F4 47         call 47F4
RO14:4CF2 CD 92 48         call 4892
RO14:4CF5 FE 00            cp   a,00
RO14:4CF7 20 0C            jr   nz,4D05
RO14:4CF9 3E 01            ld   a,01
RO14:4CFB CD B6 5B         call 5BB6
RO14:4CFE 3E 00            ld   a,00
RO14:4D00 CF               rst  08
                => 2F 0D
RO14:4D03 0E 00            ld   c,00
RO14:4D05 79               ld   a,c
RO14:4D06 C1               pop  bc
RO14:4D07 C9               ret
AI - Sword of Ruin
RO14:4D08 C5               push bc
RO14:4D09 0E 01            ld   c,01
RO14:4D0B 3E 01            ld   a,01
RO14:4D0D CF               rst  08
                => 17 0D
RO14:4D10 CD F4 47         call 47F4
RO14:4D13 CD 92 48         call 4892
RO14:4D16 FE 00            cp   a,00
RO14:4D18 20 0C            jr   nz,4D26
RO14:4D1A 3E 01            ld   a,01
RO14:4D1C CD B6 5B         call 5BB6
RO14:4D1F 3E 00            ld   a,00
RO14:4D21 CF               rst  08
                => 2F 0D
RO14:4D24 0E 00            ld   c,00
RO14:4D26 79               ld   a,c
RO14:4D27 C1               pop  bc
RO14:4D28 C9               ret
AI - Dark Energy
RO14:4D29 C5               push bc
RO14:4D2A 0E 01            ld   c,01
RO14:4D2C 3E 02            ld   a,02
RO14:4D2E CF               rst  08
                => 17 0D
RO14:4D31 CD F4 47         call 47F4
RO14:4D34 CD 92 48         call 4892
RO14:4D37 FE 00            cp   a,00
RO14:4D39 20 0C            jr   nz,4D47
RO14:4D3B 3E 01            ld   a,01
RO14:4D3D CD B6 5B         call 5BB6
RO14:4D40 3E 00            ld   a,00
RO14:4D42 CF               rst  08
                => 2F 0D
RO14:4D45 0E 00            ld   c,00
RO14:4D47 79               ld   a,c
RO14:4D48 C1               pop  bc
RO14:4D49 C9               ret
AI - Axe of Despair
RO14:4D4A C5               push bc
RO14:4D4B 0E 01            ld   c,01
RO14:4D4D 3E 03            ld   a,03
RO14:4D4F CF               rst  08
                => 17 0D
RO14:4D52 CD F4 47         call 47F4
RO14:4D55 CD 92 48         call 4892
RO14:4D58 FE 00            cp   a,00
RO14:4D5A 20 0C            jr   nz,4D68
RO14:4D5C 3E 01            ld   a,01
RO14:4D5E CD B6 5B         call 5BB6
RO14:4D61 3E 00            ld   a,00
RO14:4D63 CF               rst  08
                => 2F 0D
RO14:4D66 0E 00            ld   c,00
RO14:4D68 79               ld   a,c
RO14:4D69 C1               pop  bc
RO14:4D6A C9               ret
AI - Lazer Cannon Armor
RO14:4D6B C5               push bc
RO14:4D6C 0E 01            ld   c,01
RO14:4D6E 3E 04            ld   a,04
RO14:4D70 CF               rst  08
                => 17 0D
RO14:4D73 CD F4 47         call 47F4
RO14:4D76 CD 92 48         call 4892
RO14:4D79 FE 00            cp   a,00
RO14:4D7B 20 0C            jr   nz,4D89
RO14:4D7D 3E 01            ld   a,01
RO14:4D7F CD B6 5B         call 5BB6
RO14:4D82 3E 00            ld   a,00
RO14:4D84 CF               rst  08
                => 2F 0D
RO14:4D87 0E 00            ld   c,00
RO14:4D89 79               ld   a,c
RO14:4D8A C1               pop  bc
RO14:4D8B C9               ret
AI - Insect Armor with Laser Cannon
RO14:4D8C C5               push bc
RO14:4D8D 0E 01            ld   c,01
RO14:4D8F 3E 05            ld   a,05
RO14:4D91 CF               rst  08
                => 17 0D
RO14:4D94 CD F4 47         call 47F4
RO14:4D97 CD 92 48         call 4892
RO14:4D9A FE 00            cp   a,00
RO14:4D9C 20 0C            jr   nz,4DAA
RO14:4D9E 3E 01            ld   a,01
RO14:4DA0 CD B6 5B         call 5BB6
RO14:4DA3 3E 00            ld   a,00
RO14:4DA5 CF               rst  08
                => 2F 0D
RO14:4DA8 0E 00            ld   c,00
RO14:4DAA 79               ld   a,c
RO14:4DAB C1               pop  bc
RO14:4DAC C9               ret
AI - Elf's Light
RO14:4DAD C5               push bc
RO14:4DAE 0E 01            ld   c,01
RO14:4DB0 3E 06            ld   a,06
RO14:4DB2 CF               rst  08
                => 17 0D
RO14:4DB5 CD F4 47         call 47F4
RO14:4DB8 CD 92 48         call 4892
RO14:4DBB FE 00            cp   a,00
RO14:4DBD 20 0C            jr   nz,4DCB
RO14:4DBF 3E 01            ld   a,01
RO14:4DC1 CD B6 5B         call 5BB6
RO14:4DC4 3E 00            ld   a,00
RO14:4DC6 CF               rst  08
                => 2F 0D
RO14:4DC9 0E 00            ld   c,00
RO14:4DCB 79               ld   a,c
RO14:4DCC C1               pop  bc
RO14:4DCD C9               ret
AI - Beast Fangs
RO14:4DCE C5               push bc
RO14:4DCF 0E 01            ld   c,01
RO14:4DD1 3E 07            ld   a,07
RO14:4DD3 CF               rst  08
                => 17 0D
RO14:4DD6 CD F4 47         call 47F4
RO14:4DD9 CD 92 48         call 4892
RO14:4DDC FE 00            cp   a,00
RO14:4DDE 20 0C            jr   nz,4DEC
RO14:4DE0 3E 01            ld   a,01
RO14:4DE2 CD B6 5B         call 5BB6
RO14:4DE5 3E 00            ld   a,00
RO14:4DE7 CF               rst  08
                => 2F 0D
RO14:4DEA 0E 00            ld   c,00
RO14:4DEC 79               ld   a,c
RO14:4DED C1               pop  bc
RO14:4DEE C9               ret
AI - Steel Shell
RO14:4DEF C5               push bc
RO14:4DF0 0E 01            ld   c,01
RO14:4DF2 3E 08            ld   a,08
RO14:4DF4 CF               rst  08
                => 17 0D
RO14:4DF7 CD F4 47         call 47F4
RO14:4DFA CD 92 48         call 4892
RO14:4DFD FE 00            cp   a,00
RO14:4DFF 20 0C            jr   nz,4E0D
RO14:4E01 3E 01            ld   a,01
RO14:4E03 CD B6 5B         call 5BB6
RO14:4E06 3E 00            ld   a,00
RO14:4E08 CF               rst  08
                => 2F 0D
RO14:4E0B 0E 00            ld   c,00
RO14:4E0D 79               ld   a,c
RO14:4E0E C1               pop  bc
RO14:4E0F C9               ret
AI - Vile Germs
RO14:4E10 C5               push bc
RO14:4E11 0E 01            ld   c,01
RO14:4E13 3E 09            ld   a,09
RO14:4E15 CF               rst  08
                => 17 0D
RO14:4E18 CD F4 47         call 47F4
RO14:4E1B CD 92 48         call 4892
RO14:4E1E FE 00            cp   a,00
RO14:4E20 20 0C            jr   nz,4E2E
RO14:4E22 3E 01            ld   a,01
RO14:4E24 CD B6 5B         call 5BB6
RO14:4E27 3E 00            ld   a,00
RO14:4E29 CF               rst  08
                => 2F 0D
RO14:4E2C 0E 00            ld   c,00
RO14:4E2E 79               ld   a,c
RO14:4E2F C1               pop  bc
RO14:4E30 C9               ret
AI - Black Pendant
RO14:4E31 C5               push bc
RO14:4E32 0E 01            ld   c,01
RO14:4E34 3E 0A            ld   a,0A
RO14:4E36 CF               rst  08
                => 17 0D
RO14:4E39 CD F4 47         call 47F4
RO14:4E3C CD 92 48         call 4892
RO14:4E3F FE 00            cp   a,00
RO14:4E41 20 0C            jr   nz,4E4F
RO14:4E43 3E 01            ld   a,01
RO14:4E45 CD B6 5B         call 5BB6
RO14:4E48 3E 00            ld   a,00
RO14:4E4A CF               rst  08
                => 2F 0D
RO14:4E4D 0E 00            ld   c,00
RO14:4E4F 79               ld   a,c
RO14:4E50 C1               pop  bc
RO14:4E51 C9               ret
AI - Silver Bow & Arrow
RO14:4E52 C5               push bc
RO14:4E53 0E 01            ld   c,01
RO14:4E55 3E 0B            ld   a,0B
RO14:4E57 CF               rst  08
                => 17 0D
RO14:4E5A CD F4 47         call 47F4
RO14:4E5D CD 92 48         call 4892
RO14:4E60 FE 00            cp   a,00
RO14:4E62 20 0C            jr   nz,4E70
RO14:4E64 3E 01            ld   a,01
RO14:4E66 CD B6 5B         call 5BB6
RO14:4E69 3E 00            ld   a,00
RO14:4E6B CF               rst  08
                => 2F 0D
RO14:4E6E 0E 00            ld   c,00
RO14:4E70 79               ld   a,c
RO14:4E71 C1               pop  bc
RO14:4E72 C9               ret
AI - Horn of Light
RO14:4E73 C5               push bc
RO14:4E74 0E 01            ld   c,01
RO14:4E76 3E 0C            ld   a,0C
RO14:4E78 CF               rst  08
                => 17 0D
RO14:4E7B CD F4 47         call 47F4
RO14:4E7E CD 92 48         call 4892
RO14:4E81 FE 00            cp   a,00
RO14:4E83 20 0C            jr   nz,4E91
RO14:4E85 3E 01            ld   a,01
RO14:4E87 CD B6 5B         call 5BB6
RO14:4E8A 3E 00            ld   a,00
RO14:4E8C CF               rst  08
                => 2F 0D
RO14:4E8F 0E 00            ld   c,00
RO14:4E91 79               ld   a,c
RO14:4E92 C1               pop  bc
RO14:4E93 C9               ret
AI - Horn of the Unicorn
RO14:4E94 C5               push bc
RO14:4E95 0E 01            ld   c,01
RO14:4E97 3E 0D            ld   a,0D
RO14:4E99 CF               rst  08
                => 17 0D
RO14:4E9C CD F4 47         call 47F4
RO14:4E9F CD 92 48         call 4892
RO14:4EA2 FE 00            cp   a,00
RO14:4EA4 20 0C            jr   nz,4EB2
RO14:4EA6 3E 01            ld   a,01
RO14:4EA8 CD B6 5B         call 5BB6
RO14:4EAB 3E 00            ld   a,00
RO14:4EAD CF               rst  08
                => 2F 0D
RO14:4EB0 0E 00            ld   c,00
RO14:4EB2 79               ld   a,c
RO14:4EB3 C1               pop  bc
RO14:4EB4 C9               ret
AI - Dragon Treasure
RO14:4EB5 C5               push bc
RO14:4EB6 0E 01            ld   c,01
RO14:4EB8 3E 0E            ld   a,0E
RO14:4EBA CF               rst  08
                => 17 0D
RO14:4EBD CD F4 47         call 47F4
RO14:4EC0 CD 92 48         call 4892
RO14:4EC3 FE 00            cp   a,00
RO14:4EC5 20 0C            jr   nz,4ED3
RO14:4EC7 3E 01            ld   a,01
RO14:4EC9 CD B6 5B         call 5BB6
RO14:4ECC 3E 00            ld   a,00
RO14:4ECE CF               rst  08
                => 2F 0D
RO14:4ED1 0E 00            ld   c,00
RO14:4ED3 79               ld   a,c
RO14:4ED4 C1               pop  bc
RO14:4ED5 C9               ret
AI - Electro-whip
RO14:4ED6 C5               push bc
RO14:4ED7 0E 01            ld   c,01
RO14:4ED9 3E 0F            ld   a,0F
RO14:4EDB CF               rst  08
                => 17 0D
RO14:4EDE CD F4 47         call 47F4
RO14:4EE1 CD 92 48         call 4892
RO14:4EE4 FE 00            cp   a,00
RO14:4EE6 20 0C            jr   nz,4EF4
RO14:4EE8 3E 01            ld   a,01
RO14:4EEA CD B6 5B         call 5BB6
RO14:4EED 3E 00            ld   a,00
RO14:4EEF CF               rst  08
                => 2F 0D
RO14:4EF2 0E 00            ld   c,00
RO14:4EF4 79               ld   a,c
RO14:4EF5 C1               pop  bc
RO14:4EF6 C9               ret
AI - Cyber Shield
RO14:4EF7 C5               push bc
RO14:4EF8 0E 01            ld   c,01
RO14:4EFA 3E 10            ld   a,10
RO14:4EFC CF               rst  08
                => 17 0D
RO14:4EFF CD F4 47         call 47F4
RO14:4F02 CD 92 48         call 4892
RO14:4F05 FE 00            cp   a,00
RO14:4F07 20 0C            jr   nz,4F15
RO14:4F09 3E 01            ld   a,01
RO14:4F0B CD B6 5B         call 5BB6
RO14:4F0E 3E 00            ld   a,00
RO14:4F10 CF               rst  08
                => 2F 0D
RO14:4F13 0E 00            ld   c,00
RO14:4F15 79               ld   a,c
RO14:4F16 C1               pop  bc
RO14:4F17 C9               ret
AI - Mystical Moon
RO14:4F18 C5               push bc
RO14:4F19 0E 01            ld   c,01
RO14:4F1B 3E 11            ld   a,11
RO14:4F1D CF               rst  08
                => 17 0D
RO14:4F20 CD F4 47         call 47F4
RO14:4F23 CD 92 48         call 4892
RO14:4F26 FE 00            cp   a,00
RO14:4F28 20 0C            jr   nz,4F36
RO14:4F2A 3E 01            ld   a,01
RO14:4F2C CD B6 5B         call 5BB6
RO14:4F2F 3E 00            ld   a,00
RO14:4F31 CF               rst  08
                => 2F 0D
RO14:4F34 0E 00            ld   c,00
RO14:4F36 79               ld   a,c
RO14:4F37 C1               pop  bc
RO14:4F38 C9               ret
AI - Malevolent Nuzzler
RO14:4F39 C5               push bc
RO14:4F3A 0E 01            ld   c,01
RO14:4F3C 3E 12            ld   a,12
RO14:4F3E CF               rst  08
                => 17 0D
RO14:4F41 CD F4 47         call 47F4
RO14:4F44 CD 92 48         call 4892
RO14:4F47 FE 00            cp   a,00
RO14:4F49 20 0C            jr   nz,4F57
RO14:4F4B 3E 01            ld   a,01
RO14:4F4D CD B6 5B         call 5BB6
RO14:4F50 3E 00            ld   a,00
RO14:4F52 CF               rst  08
                => 2F 0D
RO14:4F55 0E 00            ld   c,00
RO14:4F57 79               ld   a,c
RO14:4F58 C1               pop  bc
RO14:4F59 C9               ret
AI - Violet Crystal
RO14:4F5A C5               push bc
RO14:4F5B 0E 01            ld   c,01
RO14:4F5D 3E 13            ld   a,13
RO14:4F5F CF               rst  08
                => 17 0D
RO14:4F62 CD F4 47         call 47F4
RO14:4F65 CD 92 48         call 4892
RO14:4F68 FE 00            cp   a,00
RO14:4F6A 20 0C            jr   nz,4F78
RO14:4F6C 3E 01            ld   a,01
RO14:4F6E CD B6 5B         call 5BB6
RO14:4F71 3E 00            ld   a,00
RO14:4F73 CF               rst  08
                => 2F 0D
RO14:4F76 0E 00            ld   c,00
RO14:4F78 79               ld   a,c
RO14:4F79 C1               pop  bc
RO14:4F7A C9               ret
AI - Book of Secret Art
RO14:4F7B C5               push bc
RO14:4F7C 0E 01            ld   c,01
RO14:4F7E 3E 14            ld   a,14
RO14:4F80 CF               rst  08
                => 17 0D
RO14:4F83 CD F4 47         call 47F4
RO14:4F86 CD 92 48         call 4892
RO14:4F89 FE 00            cp   a,00
RO14:4F8B 20 0C            jr   nz,4F99
RO14:4F8D 3E 01            ld   a,01
RO14:4F8F CD B6 5B         call 5BB6
RO14:4F92 3E 00            ld   a,00
RO14:4F94 CF               rst  08
                => 2F 0D
RO14:4F97 0E 00            ld   c,00
RO14:4F99 79               ld   a,c
RO14:4F9A C1               pop  bc
RO14:4F9B C9               ret
AI - Invigoration
RO14:4F9C C5               push bc
RO14:4F9D 0E 01            ld   c,01
RO14:4F9F 3E 15            ld   a,15
RO14:4FA1 CF               rst  08
                => 17 0D
RO14:4FA4 CD F4 47         call 47F4
RO14:4FA7 CD 92 48         call 4892
RO14:4FAA FE 00            cp   a,00
RO14:4FAC 20 0C            jr   nz,4FBA
RO14:4FAE 3E 01            ld   a,01
RO14:4FB0 CD B6 5B         call 5BB6
RO14:4FB3 3E 00            ld   a,00
RO14:4FB5 CF               rst  08
                => 2F 0D
RO14:4FB8 0E 00            ld   c,00
RO14:4FBA 79               ld   a,c
RO14:4FBB C1               pop  bc
RO14:4FBC C9               ret
AI - Machine Conversion
RO14:4FBD C5               push bc
RO14:4FBE 0E 01            ld   c,01
RO14:4FC0 3E 16            ld   a,16
RO14:4FC2 CF               rst  08
                => 17 0D
RO14:4FC5 CD F4 47         call 47F4
RO14:4FC8 CD 92 48         call 4892
RO14:4FCB FE 00            cp   a,00
RO14:4FCD 20 0C            jr   nz,4FDB
RO14:4FCF 3E 01            ld   a,01
RO14:4FD1 CD B6 5B         call 5BB6
RO14:4FD4 3E 00            ld   a,00
RO14:4FD6 CF               rst  08
                => 2F 0D
RO14:4FD9 0E 00            ld   c,00
RO14:4FDB 79               ld   a,c
RO14:4FDC C1               pop  bc
RO14:4FDD C9               ret
AI - Raise Body Heat
RO14:4FDE C5               push bc
RO14:4FDF 0E 01            ld   c,01
RO14:4FE1 3E 17            ld   a,17
RO14:4FE3 CF               rst  08
                => 17 0D
RO14:4FE6 CD F4 47         call 47F4
RO14:4FE9 CD 92 48         call 4892
RO14:4FEC FE 00            cp   a,00
RO14:4FEE 20 0C            jr   nz,4FFC
RO14:4FF0 3E 01            ld   a,01
RO14:4FF2 CD B6 5B         call 5BB6
RO14:4FF5 3E 00            ld   a,00
RO14:4FF7 CF               rst  08
                => 2F 0D
RO14:4FFA 0E 00            ld   c,00
RO14:4FFC 79               ld   a,c
RO14:4FFD C1               pop  bc
RO14:4FFE C9               ret
AI - Follow Wind
RO14:4FFF C5               push bc
RO14:5000 0E 01            ld   c,01
RO14:5002 3E 18            ld   a,18
RO14:5004 CF               rst  08
                => 17 0D
RO14:5007 CD F4 47         call 47F4
RO14:500A CD 92 48         call 4892
RO14:500D FE 00            cp   a,00
RO14:500F 20 0C            jr   nz,501D
RO14:5011 3E 01            ld   a,01
RO14:5013 CD B6 5B         call 5BB6
RO14:5016 3E 00            ld   a,00
RO14:5018 CF               rst  08
                => 2F 0D
RO14:501B 0E 00            ld   c,00
RO14:501D 79               ld   a,c
RO14:501E C1               pop  bc
RO14:501F C9               ret
AI - Power of Kaishin
RO14:5020 C5               push bc
RO14:5021 0E 01            ld   c,01
RO14:5023 3E 19            ld   a,19
RO14:5025 CF               rst  08
                => 17 0D
RO14:5028 CD F4 47         call 47F4
RO14:502B CD 92 48         call 4892
RO14:502E FE 00            cp   a,00
RO14:5030 20 0C            jr   nz,503E
RO14:5032 3E 01            ld   a,01
RO14:5034 CD B6 5B         call 5BB6
RO14:5037 3E 00            ld   a,00
RO14:5039 CF               rst  08
                => 2F 0D
RO14:503C 0E 00            ld   c,00
RO14:503E 79               ld   a,c
RO14:503F C1               pop  bc
RO14:5040 C9               ret

AI - Fail-safe, a = 1

RO14:5041 3E 01            ld   a,01
RO14:5043 C9               ret

AI - Stop Defense

RO14:5044 C5               push bc
RO14:5045 D5               push de
RO14:5046 E5               push hl
RO14:5047 1E 01            ld   e,01
RO14:5049 CD 9E 2A         call 2A9E
RO14:504C CF               rst  08
                => 35 0D
RO14:504F 2E 00            ld   l,00
RO14:5051 16 01            ld   d,01
RO14:5053 42               ld   b,d
RO14:5054 0E 02            ld   c,02
RO14:5056 CD 9D 19         call 199D
RO14:5059 CD E0 19         call 19E0
RO14:505C FA DD C7         ld   a,(C7DD)
RO14:505F 4F               ld   c,a
RO14:5060 FA DE C7         ld   a,(C7DE)
RO14:5063 47               ld   b,a
RO14:5064 CF               rst  08
                => 63 0D
RO14:5067 FE 00            cp   a,00
RO14:5069 20 07            jr   nz,5072
RO14:506B 42               ld   b,d
RO14:506C 0E 02            ld   c,02
RO14:506E CD 70 5B         call 5B70
RO14:5071 2C               inc  l
RO14:5072 14               inc  d
RO14:5073 7A               ld   a,d
RO14:5074 FE 06            cp   a,06
RO14:5076 38 DB            jr   c,5053
RO14:5078 7D               ld   a,l
RO14:5079 CF               rst  08
                => 41 0D
RO14:507C CF               rst  08
                => 3F 0D
RO14:507F CF               rst  08
                => 3D 0D
RO14:5082 3E 00            ld   a,00
RO14:5084 CD 9C 5B         call 5B9C
RO14:5087 3E 0C            ld   a,0C
RO14:5089 CD 51 5B         call 5B51
RO14:508C 1E 00            ld   e,00
RO14:508E 7B               ld   a,e
RO14:508F E1               pop  hl
RO14:5090 D1               pop  de
RO14:5091 C1               pop  bc
RO14:5092 C9               ret

AI - Dragon Capture Jar

RO14:5098 3E 00            ld   a,00
RO14:509A CD ED 48         call 48ED
RO14:509D 3E 00            ld   a,00
RO14:509F C9               ret

AI - Swords of Revealing Light

RO14:50A0 CD E8 2A         call 2AE8
RO14:50A3 CF               rst  08
                => 33 0D
RO14:50A6 3E 00            ld   a,00
RO14:50A8 EA F4 D4         ld   (D4F4),a
RO14:50AB CD 9C 5B         call 5B9C
RO14:50AE 3E 0D            ld   a,0D
RO14:50B0 CD 51 5B         call 5B51
RO14:50B3 CD 62 49         call 4962
RO14:50B6 3E 00            ld   a,00
RO14:50B8 C9               ret

AI - Dark-Piercing Light

RO14:50B9 CF               rst  08
                => 47 0D
RO14:50BC CF               rst  08
                => 45 0D
RO14:50BF 3E 0E            ld   a,0E
RO14:50C1 CD 51 5B         call 5B51
RO14:50C4 CD 62 49         call 4962
RO14:50C7 3E 00            ld   a,00
RO14:50C9 C9               ret

AI - Spellbinding Circle

RO14:50CA CF               rst  08
                => 3B 0D
RO14:50CD CF               rst  08
                => 39 0D
RO14:50D0 3E 00            ld   a,00
RO14:50D2 EA F4 D4         ld   (D4F4),a
RO14:50D5 CD 9C 5B         call 5B9C
RO14:50D8 3E 01            ld   a,01
RO14:50DA CD B6 5B         call 5BB6
RO14:50DD CD 86 49         call 4986
RO14:50E0 3E 09            ld   a,09
RO14:50E2 CD 51 5B         call 5B51
RO14:50E5 3E 00            ld   a,00
RO14:50E7 C9               ret

AI - Elegant Egotist

RO14:50E8 C5               push bc
RO14:50E9 D5               push de
RO14:50EA E5               push hl
RO14:50EB 2E 01            ld   l,01
RO14:50ED CF               rst  08
                => 17 0D
RO14:50F0 CD 70 5B         call 5B70
RO14:50F3 CD 9D 19         call 199D
RO14:50F6 CD E0 19         call 19E0
RO14:50F9 CD 78 1F         call 1F78
RO14:50FC FE 00            cp   a,00
RO14:50FE 20 38            jr   nz,5138          ;if (card_frozen), get out of this function
RO14:5100 FA DD C7         ld   a,(C7DD)
RO14:5103 4F               ld   c,a
RO14:5104 FA DE C7         ld   a,(C7DE)
RO14:5107 47               ld   b,a              ;bc = current_card_id 
RO14:5108 11 3E 00         ld   de,003E          ;de = harpie_lady
RO14:510B CD 77 1A         call 1A77
RO14:510E FE 00            cp   a,00
RO14:5110 20 1A            jr   nz,512C          ;if (current_card_id ≠ harpie_lady), jump to 14:512C
RO14:5112 CD 86 5D         call 5D86
RO14:5115 3E 0F            ld   a,0F
RO14:5117 CD 51 5B         call 5B51
RO14:511A 01 3F 00         ld   bc,003F          ;bc = harpie_lady_sisters
RO14:511D CD 91 5D         call 5D91
RO14:5120 CD A0 5B         call 5BA0
RO14:5123 3E 01            ld   a,01
RO14:5125 CF               rst  08
                => 37 0D
RO14:5128 2E 00            ld   l,00
RO14:512A 18 0C            jr   5138
RO14:512C 3E 02            ld   a,02
RO14:512E CD FE 5C         call 5CFE
RO14:5131 3E 0A            ld   a,0A
RO14:5133 CD 51 5B         call 5B51
RO14:5136 2E 00            ld   l,00
RO14:5138 7D               ld   a,l
RO14:5139 E1               pop  hl
RO14:513A D1               pop  de
RO14:513B C1               pop  bc
RO14:513C C9               ret

AI - Fail-safe, a = 1

RO14:513D 3E 01            ld   a,01
RO14:513F C9               ret

AI - Trap cards 1 (set)

AI - Widespread Ruin
RO14:5140 3E 01            ld   a,01
RO14:5142 CD D9 48         call 48D9
RO14:5145 3E 00            ld   a,00
RO14:5147 C9               ret
AI - House of Adhesive Trap
RO14:5148 3E 02            ld   a,02
RO14:514A CD D9 48         call 48D9
RO14:514D 3E 00            ld   a,00
RO14:514F C9               ret
AI - Eatgaboon
RO14:5150 3E 03            ld   a,03
RO14:5152 CD D9 48         call 48D9
RO14:5155 3E 00            ld   a,00
RO14:5157 C9               ret
AI - Bear Trap
RO14:5158 3E 04            ld   a,04
RO14:515A CD D9 48         call 48D9
RO14:515D 3E 00            ld   a,00
RO14:515F C9               ret
AI - Invisible Wire
RO14:5160 3E 05            ld   a,05
RO14:5162 CD D9 48         call 48D9
RO14:5165 3E 00            ld   a,00
RO14:5167 C9               ret
AI - Acid Trap Hole
RO14:5168 3E 06            ld   a,06
RO14:516A CD D9 48         call 48D9
RO14:516D 3E 00            ld   a,00
RO14:516F C9               ret
AI - Goblin Fan
RO14:5170 3E 07            ld   a,07
RO14:5172 CD D9 48         call 48D9
RO14:5175 3E 00            ld   a,00
RO14:5177 C9               ret
AI - Simochi Allergy
RO14:5178 3E 08            ld   a,08
RO14:517A CD D9 48         call 48D9
RO14:517D 3E 00            ld   a,00
RO14:517F C9               ret
AI - Reverse Trap
RO14:5180 3E 09            ld   a,09
RO14:5182 CD D9 48         call 48D9
RO14:5185 3E 00            ld   a,00
RO14:5187 C9               ret
AI - Fake Trap
RO14:5188 3E 0A            ld   a,0A
RO14:518A CD D9 48         call 48D9
RO14:518D 3E 00            ld   a,00
RO14:518F C9               ret

AI - Rituals 1

AI cannot play Black Luster Ritual
RO14:5190 3E 01            ld   a,01
RO14:5192 C9               ret
AI cannot play Zera Ritual
RO14:5193 3E 01            ld   a,01
RO14:5195 C9               ret
AI cannot play War-lion Ritual
RO14:5196 3E 01            ld   a,01
RO14:5198 C9               ret
AI cannot play Beastly Mirror Ritual
RO14:5199 3E 01            ld   a,01
RO14:519B C9               ret
AI cannot play Ultimate Dragon
RO14:519C 3E 01            ld   a,01
RO14:519E C9               ret
AI cannot play Commencement Dance
RO14:519F 3E 01            ld   a,01
RO14:51A1 C9               ret
AI cannot play Hamburger Recipe
RO14:51A2 3E 01            ld   a,01
RO14:51A4 C9               ret
AI cannot play Revival of Sennen Genjin
RO14:51A5 3E 01            ld   a,01
RO14:51A7 C9               ret
AI cannot play Novox's Prayer
RO14:51A8 3E 01            ld   a,01
RO14:51AA C9               ret
AI cannot play Curse of Tri-Horned Dragon
RO14:51AB 3E 01            ld   a,01
RO14:51AD C9               ret
AI cannot play Revived Serpent Night Dragon
RO14:51AE 3E 01            ld   a,01
RO14:51B0 C9               ret

AI - Harpie's Feather Duster

RO14:51B1 CF               rst  08
               => 55 0D
RO14:51B4 CF               rst  08
               => 53 0D
RO14:51B7 3E 08            ld   a,08
RO14:51B9 CD 51 5B         call 5B51
RO14:51BC 3E 00            ld   a,00
RO14:51BE CD 9C 5B         call 5B9C
RO14:51C1 3E 00            ld   a,00
RO14:51C3 C9               ret

AI - Equip Spells 2

AI - Magical Labyrinth
RO14:51C4 C5               push bc
RO14:51C5 0E 01            ld   c,01
RO14:51C7 3E 1A            ld   a,1A
RO14:51C9 CF               rst  08
               => 17 0D
RO14:51CC CD F4 47         call 47F4
RO14:51CF CD 92 48         call 4892
RO14:51D2 FE 00            cp   a,00
RO14:51D4 20 0C            jr   nz,51E2
RO14:51D6 3E 01            ld   a,01
RO14:51D8 CD B6 5B         call 5BB6
RO14:51DB 3E 00            ld   a,00
RO14:51DD CF               rst  08
               => 2F 0D
RO14:51E0 0E 00            ld   c,00
RO14:51E2 79               ld   a,c
RO14:51E3 C1               pop  bc
RO14:51E4 C9               ret
AI - Salamandra
RO14:51E5 C5               push bc
RO14:51E6 0E 01            ld   c,01
RO14:51E8 3E 1B            ld   a,1B
RO14:51EA CF               rst  08
               => 17 0D
RO14:51ED CD F4 47         call 47F4
RO14:51F0 CD 92 48         call 4892
RO14:51F3 FE 00            cp   a,00
RO14:51F5 20 0C            jr   nz,5203
RO14:51F7 3E 01            ld   a,01
RO14:51F9 CD B6 5B         call 5BB6
RO14:51FC 3E 00            ld   a,00
RO14:51FE CF               rst  08
               => 2F 0D
RO14:5201 0E 00            ld   c,00
RO14:5203 79               ld   a,c
RO14:5204 C1               pop  bc
RO14:5205 C9               ret
AI - Kunai with Chain
RO14:5206 C5               push bc
RO14:5207 0E 01            ld   c,01
RO14:5209 3E 1C            ld   a,1C
RO14:520B CF               rst  08
               => 17 0D
RO14:520E CD F4 47         call 47F4
RO14:5211 CD 92 48         call 4892
RO14:5214 FE 00            cp   a,00
RO14:5216 20 0C            jr   nz,5224
RO14:5218 3E 01            ld   a,01
RO14:521A CD B6 5B         call 5BB6
RO14:521D 3E 00            ld   a,00
RO14:521F CF               rst  08
               => 2F 0D
RO14:5222 0E 00            ld   c,00
RO14:5224 79               ld   a,c
RO14:5225 C1               pop  bc
RO14:5226 C9               ret
AI - Bright Castle
RO14:5227 C5               push bc
RO14:5228 0E 01            ld   c,01
RO14:522A 3E 1D            ld   a,1D
RO14:522C CF               rst  08
               => 17 0D
RO14:522F CD F4 47         call 47F4
RO14:5232 CD 92 48         call 4892
RO14:5235 FE 00            cp   a,00
RO14:5237 20 0C            jr   nz,5245
RO14:5239 3E 01            ld   a,01
RO14:523B CD B6 5B         call 5BB6
RO14:523E 3E 00            ld   a,00
RO14:5240 CF               rst  08
               => 2F 0D
RO14:5243 0E 00            ld   c,00
RO14:5245 79               ld   a,c
RO14:5246 C1               pop  bc
RO14:5247 C9               ret

AI - Crush Card

RO14:5248 D5               push de
RO14:5249 3E 07            ld   a,07
RO14:524B CD 51 5B         call 5B51
RO14:524E 3E 00            ld   a,00
RO14:5250 CD 9C 5B         call 5B9C
RO14:5253 11 00 15         ld   de,1500         ;1500 ATK
RO14:5256 CD 22 4A         call 4A22
RO14:5259 3E 00            ld   a,00
RO14:525B D1               pop  de
RO14:525C C9               ret

AI - Shadow Spell

RO14:525D CF               rst  08
              => 3B 0D
RO14:5260 CF               rst  08
              => 39 0D
RO14:5263 3E 00            ld   a,00
RO14:5265 EA F4 D4         ld   (D4F4),a
RO14:5268 CD 9C 5B         call 5B9C
RO14:526B 3E 02            ld   a,02
RO14:526D CD B6 5B         call 5BB6
RO14:5270 CD 86 49         call 4986
RO14:5273 3E 09            ld   a,09
RO14:5275 CD 51 5B         call 5B51
RO14:5278 3E 00            ld   a,00
RO14:527A C9               ret

AI - Rituals 2

AI cannot play Turtle Oath
RO14:527B 3E 01            ld   a,01
RO14:527D C9               ret
AI cannot play Contract of Mask
RO14:527E 3E 01            ld   a,01
RO14:5280 C9               ret
AI cannot play Resurrection of Chakra
RO14:5281 3E 01            ld   a,01
RO14:5283 C9               ret
AI cannot play Puppet Ritual
RO14:5284 3E 01            ld   a,01
RO14:5286 C9               ret
AI cannot play Javelin Beetle Pact
RO14:5287 3E 01            ld   a,01
RO14:5289 C9               ret
AI cannot play Garma Sword Oath
RO14:528A 3E 01            ld   a,01
RO14:528C C9               ret
AI cannot play Cosmo Queen's Prayer
RO14:528D 3E 01            ld   a,01
RO14:528F C9               ret
AI cannot play Revival of Skeleton
RO14:5290 3E 01            ld   a,01
RO14:5292 C9               ret
AI cannot play Fortress Whale's Oath
RO14:5293 3E 01            ld   a,01
RO14:5295 C9               ret
AI cannot play Curse of Millennium Shield
RO14:5296 3E 01            ld   a,01
RO14:5298 C9               ret
AI cannot play Yamadron Ritual
RO14:5299 3E 01            ld   a,01
RO14:529B C9               ret
AI cannot play Gate Guardian Ritual
RO14:529C 3E 01            ld   a,01
RO14:529E C9               ret

AI - Warrior Elimination

RO14:529F 3E 00            ld   a,00
RO14:52A1 EA F4 D4         ld   (D4F4),a
RO14:52A4 3E 03            ld   a,03
RO14:52A6 CD ED 48         call 48ED
RO14:52A9 3E 00            ld   a,00
RO14:52AB C9               ret

AI - Cursebreaker

RO14:52AC CF               rst  08
              => 4B 0D
RO14:52AF CF               rst  08
              => 49 0D
RO14:52B2 3E 01            ld   a,01
RO14:52B4 EA F4 D4         ld   (D4F4),a
RO14:52B7 CD 9C 5B         call 5B9C
RO14:52BA CD 2D 48         call 482D
RO14:52BD 3E 00            ld   a,00
RO14:52BF C9               ret

AI - Eternal Rest

RO14:52C0 3E 00            ld   a,00
RO14:52C2 EA F4 D4         ld   (D4F4),a
RO14:52C5 3E 02            ld   a,02
RO14:52C7 CD ED 48         call 48ED
RO14:52CA 3E 00            ld   a,00
RO14:52CC C9               ret

AI - Equip Spells 3

AI - Megamorph
RO14:52CD C5               push bc
RO14:52CE 0E 01            ld   c,01
RO14:52D0 3E 1E            ld   a,1E
RO14:52D2 CF               rst  08
              => 17 0D
RO14:52D5 CD F4 47         call 47F4
RO14:52D8 CD 92 48         call 4892
RO14:52DB FE 00            cp   a,00
RO14:52DD 20 0C            jr   nz,52EB
RO14:52DF 3E 01            ld   a,01
RO14:52E1 CD B6 5B         call 5BB6
RO14:52E4 3E 00            ld   a,00
RO14:52E6 CF               rst  08
              => 2F 0D
RO14:52E9 0E 00            ld   c,00
RO14:52EB 79               ld   a,c
RO14:52EC C1               pop  bc
RO14:52ED C9               ret
AI - Metalmorph
RO14:52EE C5               push bc
RO14:52EF D5               push de
RO14:52F0 E5               push hl
RO14:52F1 2E 01            ld   l,01
RO14:52F3 CF               rst  08
              => 17 0D
RO14:52F6 CD 70 5B         call 5B70
RO14:52F9 CD 9D 19         call 199D
RO14:52FC CD E0 19         call 19E0
RO14:52FF CD 78 1F         call 1F78
RO14:5302 FE 00            cp   a,00
RO14:5304 20 64            jr   nz,536A
RO14:5306 FA DD C7         ld   a,(C7DD)
RO14:5309 4F               ld   c,a
RO14:530A FA DE C7         ld   a,(C7DE)
RO14:530D 47               ld   b,a              ;bc = current_card_id
RO14:530E 11 87 01         ld   de,0187          ;de = 0d391, Zoa
RO14:5311 CD 77 1A         call 1A77
RO14:5314 FE 00            cp   a,00
RO14:5316 20 1A            jr   nz,5332
RO14:5318 CD 86 5D         call 5D86
RO14:531B 3E 0F            ld   a,0F
RO14:531D CD 51 5B         call 5B51
RO14:5320 01 88 01         ld   bc,0188          ;bc = 0d392, Metalzoa
RO14:5323 CD 91 5D         call 5D91
RO14:5326 CD A0 5B         call 5BA0
RO14:5329 3E 01            ld   a,01
RO14:532B CF               rst  08
              => 37 0D
RO14:532E 2E 00            ld   l,00
RO14:5330 18 38            jr   536A
RO14:5332 FA DD C7         ld   a,(C7DD)
RO14:5335 4F               ld   c,a
RO14:5336 FA DE C7         ld   a,(C7DE)
RO14:5339 47               ld   b,a              ;bc = current_card_id
RO14:533A 11 52 00         ld   de,0052          ;de = 0d82, Red-eyes B. Dragon
RO14:533D CD 77 1A         call 1A77
RO14:5340 FE 00            cp   a,00
RO14:5342 20 1A            jr   nz,535E
RO14:5344 CD 86 5D         call 5D86
RO14:5347 3E 0F            ld   a,0F
RO14:5349 CD 51 5B         call 5B51
RO14:534C 01 E6 02         ld   bc,02E6          ;bc = 0d742, R.eye B. M. Dragon
RO14:534F CD 91 5D         call 5D91
RO14:5352 CD A0 5B         call 5BA0
RO14:5355 3E 01            ld   a,01
RO14:5357 CF               rst  08
              => 37 0D
RO14:535A 2E 00            ld   l,00
RO14:535C 18 0C            jr   536A
RO14:535E 3E 02            ld   a,02
RO14:5360 CD FE 5C         call 5CFE
RO14:5363 3E 0A            ld   a,0A
RO14:5365 CD 51 5B         call 5B51
RO14:5368 2E 00            ld   l,00
RO14:536A 7D               ld   a,l
RO14:536B E1               pop  hl
RO14:536C D1               pop  de
RO14:536D C1               pop  bc
RO14:536E C9               ret
AI - Winged Trumpeter
RO14:536F C5               push bc
RO14:5370 0E 01            ld   c,01
RO14:5372 3E 1F            ld   a,1F
RO14:5374 CF               rst  08
              => 17 0D
RO14:5377 CD F4 47         call 47F4
RO14:537A CD 92 48         call 4892
RO14:537D FE 00            cp   a,00
RO14:537F 20 0C            jr   nz,538D
RO14:5381 3E 01            ld   a,01
RO14:5383 CD B6 5B         call 5BB6
RO14:5386 3E 00            ld   a,00
RO14:5388 CF               rst  08
              => 2F 0D
RO14:538B 0E 00            ld   c,00
RO14:538D 79               ld   a,c
RO14:538E C1               pop  bc
RO14:538F C9               ret

AI - Stain Storm

RO14:5390 3E 00            ld   a,00
RO14:5392 EA F4 D4         ld   (D4F4),a
RO14:5395 3E 0E            ld   a,0E
RO14:5397 CD ED 48         call 48ED
RO14:539A 3E 00            ld   a,00
RO14:539C C9               ret

AI - Eradicating Aerosol

RO14:539D 3E 00            ld   a,00
RO14:539F EA F4 D4         ld   (D4F4),a
RO14:53A2 3E 09            ld   a,09
RO14:53A4 CD ED 48         call 48ED
RO14:53A7 3E 00            ld   a,00
RO14:53A9 C9               ret

AI - Breath of Light

RO14:53AA 3E 00            ld   a,00
RO14:53AC EA F4 D4         ld   (D4F4),a
RO14:53AF 3E 12            ld   a,12
RO14:53B1 CD ED 48         call 48ED
RO14:53B4 3E 00            ld   a,00
RO14:53B6 C9               ret

AI - Eternal Drought

RO14:53B7 3E 00            ld   a,00
RO14:53B9 EA F4 D4         ld   (D4F4),a
RO14:53BC 3E 0C            ld   a,0C
RO14:53BE CD ED 48         call 48ED
RO14:53C1 3E 00            ld   a,00
RO14:53C3 C9               ret

AI cannot use Inexperienced Spy

RO14:53C4 3E 01            ld   a,01
RO14:53C6 C9               ret

AI - Rituals 3

AI cannot use Dark Magic Ritual
RO14:53C7 3E 01            ld   a,01
RO14:53C9 C9               ret

AI cannot use Pot of Greed

RO14:53CA 3E 01            ld   a,01
RO14:53CC C9               ret

AI - Restructer Revolution

RO14:53CD C5               push bc
RO14:53CE E5               push hl
RO14:53CF CD 8C 4A         call 4A8C
RO14:53D2 06 00            ld   b,00
RO14:53D4 4F               ld   c,a
RO14:53D5 CB 21            sla  c
RO14:53D7 CB 10            rl   b
RO14:53D9 21 F5 53         ld   hl,53F5
RO14:53DC 09               add  hl,bc
RO14:53DD 2A               ldi  a,(hl)
RO14:53DE 46               ld   b,(hl)
RO14:53DF 4F               ld   c,a
RO14:53E0 CD AB 5B         call 5BAB          ;AI - Healing and Damage amount
RO14:53E3 3E 00            ld   a,00
RO14:53E5 EA F4 D4         ld   (D4F4),a
RO14:53E8 CD 9C 5B         call 5B9C
RO14:53EB 3E 06            ld   a,06
RO14:53ED CD 51 5B         call 5B51
RO14:53F0 3E 00            ld   a,00
RO14:53F2 E1               pop  hl
RO14:53F3 C1               pop  bc
RO14:53F4 C9               ret
  • 0x513F5-0x51400 - Restructer Revolution damage array
RO14:53F5
00 00 - 0 monsters
00 02 - 1 monsters
00 04 - 2 monsters
00 06 - 3 monsters
00 08 - 4 monsters
00 10 - 5 monsters

AI - Last Day of Witch

RO14:5401 3E 00            ld   a,00
RO14:5403 EA F4 D4         ld   (D4F4),a
RO14:5406 3E 01            ld   a,01
RO14:5408 CD ED 48         call 48ED
RO14:540B 3E 00            ld   a,00
RO14:540D C9               ret

AI - Exile of the Wicked

RO14:540E 3E 00            ld   a,00
RO14:5410 EA F4 D4         ld   (D4F4),a
RO14:5413 3E 07            ld   a,07
RO14:5415 CD ED 48         call 48ED
RO14:5418 3E 00            ld   a,00
RO14:541A C9               ret

AI - Multiply

RO14:541B C5               push bc
RO14:541C D5               push de
RO14:541D E5               push hl
RO14:541E 2E 01            ld   l,01
RO14:5420 CF               rst  08
RO14:5421 4F               ld   c,a
RO14:5422 0D               dec  c
RO14:5423 CF               rst  08
RO14:5424 4D               ld   c,l
RO14:5425 0D               dec  c
RO14:5426 11 3A 00         ld   de,003A          ;de = 0d58, Kuriboh
RO14:5429 26 00            ld   h,00
RO14:542B 06 00            ld   b,00
RO14:542D 0E 01            ld   c,01
RO14:542F CD 9D 19         call 199D
RO14:5432 CD E0 19         call 19E0
RO14:5435 FA DD C7         ld   a,(C7DD)
RO14:5438 BB               cp   e
RO14:5439 20 10            jr   nz,544B
RO14:543B FA DE C7         ld   a,(C7DE)
RO14:543E BA               cp   d
RO14:543F 20 0A            jr   nz,544B
RO14:5441 24               inc  h
RO14:5442 CD 4E 1F         call 1F4E
RO14:5445 CD 08 1F         call 1F08
RO14:5448 CD C8 19         call 19C8
RO14:544B 04               inc  b
RO14:544C 78               ld   a,b
RO14:544D FE 05            cp   a,05
RO14:544F 38 DE            jr   c,542F
RO14:5451 7C               ld   a,h
RO14:5452 FE 00            cp   a,00
RO14:5454 28 11            jr   z,5467
RO14:5456 42               ld   b,d
RO14:5457 4B               ld   c,e
RO14:5458 CD 86 5D         call 5D86
RO14:545B CD A0 5B         call 5BA0
RO14:545E CD A3 49         call 49A3
RO14:5461 2E 00            ld   l,00
RO14:5463 3E 13            ld   a,13
RO14:5465 18 07            jr   546E
RO14:5467 3E 02            ld   a,02
RO14:5469 CD FE 5C         call 5CFE
RO14:546C 2E 0A            ld   l,0A
RO14:546E CD 51 5B         call 5B51
RO14:5471 7D               ld   a,l
RO14:5472 E1               pop  hl
RO14:5473 D1               pop  de
RO14:5474 C1               pop  bc
RO14:5475 C9               ret

AI - Change of Heart

RO14:5476 C5               push bc
RO14:5477 E5               push hl
RO14:5478 2E 01            ld   l,01
RO14:547A CF               rst  08
         => 29 03
RO14:547D FE 05            cp   a,05
RO14:547F 30 35            jr   nc,54B6
RO14:5481 67               ld   h,a
RO14:5482 CF               rst  08
         => 15 0D
RO14:5485 CF               rst  08
         => 61 0D
RO14:5488 FE 00            cp   a,00
RO14:548A 20 2A            jr   nz,54B6
RO14:548C CD 70 5B         call 5B70
RO14:548F FA A7 C6         ld   a,(C6A7)
RO14:5492 4F               ld   c,a
RO14:5493 FA A8 C6         ld   a,(C6A8)
RO14:5496 47               ld   b,a
RO14:5497 CF               rst  08
         => 1D 0D
RO14:549A FA A9 C6         ld   a,(C6A9)
RO14:549D 4F               ld   c,a
RO14:549E FA AA C6         ld   a,(C6AA)
RO14:54A1 47               ld   b,a
RO14:54A2 CF               rst  08
         => 1B 0D
RO14:54A5 44               ld   b,h
RO14:54A6 0E 01            ld   c,01
RO14:54A8 CD 70 5B         call 5B70
RO14:54AB 3E 01            ld   a,01
RO14:54AD CF               rst  08
        => 31 0D
RO14:54B0 2E 00            ld   l,00
RO14:54B2 3E 11            ld   a,11
RO14:54B4 18 07            jr   54BD
RO14:54B6 3E 02            ld   a,02
RO14:54B8 CD FE 5C         call 5CFE
RO14:54BB 3E 0A            ld   a,0A
RO14:54BD CD 51 5B         call 5B51
RO14:54C0 7D               ld   a,l
RO14:54C1 E1               pop  hl
RO14:54C2 C1               pop  bc
RO14:54C3 C9               ret

AI - Rituals 4

AI cannot use Black Illusion Ritual
RO14:54C4 3E 01            ld   a,01
RO14:54C6 C9               ret

AI - Trap cards 2 (set)

AI - Anti Raigeki
RO14:54C7 3E 0B            ld   a,0B
RO14:54C9 CD D9 48         call 48D9
RO14:54CC 3E 00            ld   a,00
RO14:54CE C9               ret

AI - Brain Control

RO14:54CF C5               push bc
RO14:54D0 E5               push hl
RO14:54D1 2E 01            ld   l,01
RO14:54D3 CF               rst  08
RO14:54D4 29               add  hl,hl
RO14:54D5 03               inc  bc
RO14:54D6 FE 05            cp   a,05
RO14:54D8 30 35            jr   nc,550F
RO14:54DA 67               ld   h,a
RO14:54DB CF               rst  08
RO14:54DC 15               dec  d
RO14:54DD 0D               dec  c
RO14:54DE CF               rst  08
RO14:54DF 61               ld   h,c
RO14:54E0 0D               dec  c
RO14:54E1 FE 00            cp   a,00
RO14:54E3 20 2A            jr   nz,550F
RO14:54E5 CD 70 5B         call 5B70
RO14:54E8 FA A7 C6         ld   a,(C6A7)
RO14:54EB 4F               ld   c,a
RO14:54EC FA A8 C6         ld   a,(C6A8)
RO14:54EF 47               ld   b,a
RO14:54F0 CF               rst  08
RO14:54F1 1D               dec  e
RO14:54F2 0D               dec  c
RO14:54F3 FA A9 C6         ld   a,(C6A9)
RO14:54F6 4F               ld   c,a
RO14:54F7 FA AA C6         ld   a,(C6AA)
RO14:54FA 47               ld   b,a
RO14:54FB CF               rst  08
RO14:54FC 1B               dec  de
RO14:54FD 0D               dec  c
RO14:54FE 44               ld   b,h
RO14:54FF 0E 01            ld   c,01
RO14:5501 CD 70 5B         call 5B70
RO14:5504 3E 01            ld   a,01
RO14:5506 CF               rst  08
RO14:5507 31 0D 2E         ld   sp,2E0D
RO14:550A 00               nop
RO14:550B 3E 10            ld   a,10
RO14:550D 18 07            jr   5516
RO14:550F 3E 02            ld   a,02
RO14:5511 CD FE 5C         call 5CFE
RO14:5514 3E 0A            ld   a,0A
RO14:5516 CD 51 5B         call 5B51
RO14:5519 7D               ld   a,l
RO14:551A E1               pop  hl
RO14:551B C1               pop  bc
RO14:551C C9               ret

AI - Monster Reborn

RO14:551D C5               push bc
RO14:551E E5               push hl
RO14:551F 2E 01            ld   l,01
RO14:5521 CF               rst  08
RO14:5522 29               add  hl,hl
RO14:5523 03               inc  bc
RO14:5524 FE 05            cp   a,05
RO14:5526 30 21            jr   nc,5549
RO14:5528 67               ld   h,a
RO14:5529 FA DD CA         ld   a,(CADD)
RO14:552C 4F               ld   c,a
RO14:552D FA DE CA         ld   a,(CADE)
RO14:5530 47               ld   b,a
RO14:5531 CF               rst  08
RO14:5532 63               ld   h,e
RO14:5533 0D               dec  c
RO14:5534 FE 00            cp   a,00
RO14:5536 20 11            jr   nz,5549
RO14:5538 3E 01            ld   a,01
RO14:553A CF               rst  08
RO14:553B 2D               dec  l
RO14:553C 0D               dec  c
RO14:553D 44               ld   b,h
RO14:553E 0E 01            ld   c,01
RO14:5540 CD 70 5B         call 5B70
RO14:5543 2E 00            ld   l,00
RO14:5545 3E 14            ld   a,14
RO14:5547 18 07            jr   5550
RO14:5549 3E 02            ld   a,02
RO14:554B CD FE 5C         call 5CFE
RO14:554E 3E 0A            ld   a,0A
RO14:5550 CD 51 5B         call 5B51
RO14:5553 7D               ld   a,l
RO14:5554 E1               pop  hl
RO14:5555 C1               pop  bc
RO14:5556 C9               ret

AI - Trap cards 3 (set)

AI - Infinite Dismissal
RO14:5557 3E 0C            ld   a,0C
RO14:5559 CD D9 48         call 48D9
RO14:555C 3E 00            ld   a,00
RO14:555E C9               ret

AI - Equip Spells 4

AI - 7 Completed
RO14:555F C5               push bc
RO14:5560 0E 01            ld   c,01
RO14:5562 CF               rst  08
RO14:5563 17               rla  
RO14:5564 0D               dec  c
RO14:5565 CD F4 47         call 47F4
RO14:5568 3E 20            ld   a,20
RO14:556A CD 92 48         call 4892
RO14:556D FE 00            cp   a,00
RO14:556F 20 0C            jr   nz,557D
RO14:5571 3E 01            ld   a,01
RO14:5573 CD B6 5B         call 5BB6
RO14:5576 3E 00            ld   a,00
RO14:5578 CF               rst  08
RO14:5579 2F               cpl  
RO14:557A 0D               dec  c
RO14:557B 0E 00            ld   c,00
RO14:557D 79               ld   a,c
RO14:557E C1               pop  bc
RO14:557F C9               ret

AI - Beckon to Darkness

RO14:5580 C5               push bc
RO14:5581 E5               push hl
RO14:5582 2E 01            ld   l,01
RO14:5584 CF               rst  08
RO14:5585 15               dec  d
RO14:5586 0D               dec  c
RO14:5587 CF               rst  08
RO14:5588 61               ld   h,c
RO14:5589 0D               dec  c
RO14:558A FE 00            cp   a,00
RO14:558C 20 1F            jr   nz,55AD
RO14:558E CD 70 5B         call 5B70
RO14:5591 FA A7 C6         ld   a,(C6A7)
RO14:5594 4F               ld   c,a
RO14:5595 FA A8 C6         ld   a,(C6A8)
RO14:5598 47               ld   b,a
RO14:5599 CF               rst  08
RO14:559A 1D               dec  e
RO14:559B 0D               dec  c
RO14:559C FA A9 C6         ld   a,(C6A9)
RO14:559F 4F               ld   c,a
RO14:55A0 FA AA C6         ld   a,(C6AA)
RO14:55A3 47               ld   b,a
RO14:55A4 CF               rst  08
RO14:55A5 1B               dec  de
RO14:55A6 0D               dec  c
RO14:55A7 2E 00            ld   l,00
RO14:55A9 3E 07            ld   a,07
RO14:55AB 18 07            jr   55B4
RO14:55AD 3E 02            ld   a,02
RO14:55AF CD FE 5C         call 5CFE
RO14:55B2 3E 0A            ld   a,0A
RO14:55B4 CD 51 5B         call 5B51
RO14:55B7 7D               ld   a,l
RO14:55B8 E1               pop  hl
RO14:55B9 C1               pop  bc
RO14:55BA C9               ret

AI - Trap cards 4 (set)

AI - Torrential Tribute
RO14:55BB 3E 0D            ld   a,0D
RO14:55BD CD D9 48         call 48D9
RO14:55C0 3E 00            ld   a,00
RO14:55C2 C9               ret

14:5B9C (AI - wD529)

RO14:5B9C EA 29 D5         ld   (D529),a
RO14:5B9F C9               ret

14:5BA0 (AI - wD52C-wD52D)

RO14:5BA0 F5               push af
RO14:5BA1 79               ld   a,c
RO14:5BA2 EA 2C D5         ld   (D52C),a
RO14:5BA5 78               ld   a,b
RO14:5BA6 EA 2D D5         ld   (D52D),a
RO14:5BA9 F1               pop  af
RO14:5BAA C9               ret

14:5BAB (AI - Healing and Damage amount ?)

RO14:5BAB F5               push af
RO14:5BAC 79               ld   a,c
RO14:5BAD EA 2E D5         ld   (D52E),a
RO14:5BB0 78               ld   a,b
RO14:5BB1 EA 2F D5         ld   (D52F),a
RO14:5BB4 F1               pop  af
RO14:5BB5 C9               ret

14:5BB6 (AI - wD530)

RO14:5BB6 7F               ld   a,a
RO14:5BB7 EA 30 D5         ld   (D530),a
RO14:5BBA C9               ret

14:5BBB (AI - wD52A)

RO14:5BBB 7F               ld   a,a
RO14:5BBC EA 2A D5         ld   (D52A),a
RO14:5BBF C9               ret

14:5BC0 (AI - wD52B)

RO14:5BC0 7F               ld   a,a
RO14:5BC1 EA 2B D5         ld   (D52B),a
RO14:5BC4 C9               ret

14:5DBE

RO14:5DBE CD 9D 19         call 199D            ;Update card column and row
RO14:5DC1 CD E0 19         call 19E0            ;Update current_card_id and current_card_status
RO14:5DC4 CD 4E 1F         call 1F4E            ;Hide Player's Card, Level -1 ?
RO14:5DC7 CD 08 1F         call 1F08            ;Freeze Card
RO14:5DCA CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
RO14:5DCD C1               pop  bc
RO14:5DCE C9               ret

14:5DCF (AI - ?)

RO14:5DCF C5               push bc
RO14:5DD0 CF               rst  08
                 => 39 03
RO14:5DD3 CF               rst  08
                 => 37 03
RO14:5DD6 01 00 10         ld   bc,1000
RO14:5DD9 79               ld   a,c
RO14:5DDA EA F9 C7         ld   (C7F9),a
RO14:5DDD 78               ld   a,b
RO14:5DDE EA FA C7         ld   (C7FA),a
RO14:5DE1 3E 0A            ld   a,0A
RO14:5DE3 CF               rst  08
                 => 3B 03
RO14:5DE6 CF               rst  08
                 => 31 03 
RO14:5DE9 CF               rst  08
                 => 19 0D
RO14:5DEC CD 9D 19         call 199D            ;Update card column and row
RO14:5DEF CD E0 19         call 19E0            ;Update current_card_id and current_card_status
RO14:5DF2 CD 4E 1F         call 1F4E            ;Hide Player's Card, Level -1 ?
RO14:5DF5 CD 08 1F         call 1F08            ;Freeze Card
RO14:5DF8 CD C8 19         call 19C8            ;Copy current_card_id and current_card_status in [bc]
RO14:5DFB C1               pop  bc
RO14:5DFC C9               ret

Bank 18

Cards names

0x60014-0x63F4F - Cards names

Bank D0

Miscellaneous Text

0x340EFD - Password Entry screen text

Bank FE-FF

Cards texts

0x3F8002-0x3FFE87 - Cards Text