2b. Spell processing
; Overworld cast - Alisa
[003594] 3594 21 74 DB LD HL,DB74h AF=0300 BC=0200 DE=7C84 HL=C40F SP=CAEE IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[003597] 3597 11 0C 7A LD DE,7A0Ch AF=0300 BC=0200 DE=7C84 HL=DB74 SP=CAEE IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[00359A] 359a 01 0C 0C LD BC,0C0Ch AF=0300 BC=0200 DE=7A0C HL=DB74 SP=CAEE IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[00359D] 359d CD CA 3B CALL 3BCAh AF=0300 BC=0C0C DE=7A0C HL=DB74 SP=CAEE IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[0035A0] 35a0 C1 POP BC AF=3C40 BC=0C0C DE=7A0C HL=DC04 SP=CAEE IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
[0035A1] 35a1 F1 POP AF AF=3C40 BC=0200 DE=7A0C HL=DC04 SP=CAF0 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
; A *= 8
[0035A2] 35a2 87 ADD A,A AF=0300 BC=0200 DE=7A0C HL=DC04 SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
[0035A3] 35a3 87 ADD A,A AF=0600 BC=0200 DE=7A0C HL=DC04 SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
[0035A4] 35a4 87 ADD A,A AF=0C08 BC=0200 DE=7A0C HL=DC04 SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
; HL = 0(A)
[0035A5] 35a5 6F LD L,A AF=1818 BC=0200 DE=7A0C HL=DC04 SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
[0035A6] 35a6 26 00 LD H,00h AF=1818 BC=0200 DE=7A0C HL=DC18 SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
; DE = HL
[0035A8] 35a8 5D LD E,L AF=1818 BC=0200 DE=7A0C HL=0018 SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
[0035A9] 35a9 54 LD D,H AF=1818 BC=0200 DE=7A18 HL=0018 SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
; HL *= 8
[0035AA] 35aa 29 ADD HL,HL AF=1818 BC=0200 DE=0018 HL=0018 SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
[0035AB] 35ab 29 ADD HL,HL AF=1800 BC=0200 DE=0018 HL=0030 SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
[0035AC] 35ac 29 ADD HL,HL AF=1800 BC=0200 DE=0018 HL=0060 SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
[0035AD] 35ad 19 ADD HL,DE AF=1800 BC=0200 DE=0018 HL=00C0 SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
[0035AE] 35ae 29 ADD HL,HL AF=1800 BC=0200 DE=0018 HL=00D8 SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
[0035AF] 35af 11 DF B6 LD DE,B6DFh AF=1800 BC=0200 DE=0018 HL=01B0 SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
[0035B2] 35b2 19 ADD HL,DE AF=1800 BC=0200 DE=B6DF HL=01B0 SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
; VRAM
[0035B3] 35b3 11 0C 7A LD DE,7A0Ch AF=1800 BC=0200 DE=B6DF HL=B88F SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
; check # spells
[0035B6] 35b6 78 LD A,B AF=1800 BC=0200 DE=7A0C HL=B88F SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
[0035B7] 35b7 B7 OR A AF=0200 BC=0200 DE=7A0C HL=B88F SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
[0035B8] 35b8 CA DA 35 JP Z,35DAh AF=0200 BC=0200 DE=7A0C HL=B88F SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
; set height (top + spells), width
[0035BB] 35bb 87 ADD A,A AF=0200 BC=0200 DE=7A0C HL=B88F SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
[0035BC] 35bc 3C INC A AF=0400 BC=0200 DE=7A0C HL=B88F SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
[0035BD] 35bd 47 LD B,A AF=0500 BC=0200 DE=7A0C HL=B88F SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
[0035BE] 35be 0E 0C LD C,0Ch AF=0500 BC=0500 DE=7A0C HL=B88F SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
[0035C0] 35c0 C5 PUSH BC AF=0500 BC=050C DE=7A0C HL=B88F SP=CAF2 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
[0035C1] 35c1 CD 81 3B CALL 3B81h AF=0500 BC=050C DE=7A0C HL=B88F SP=CAF0 IX=C430 IY=FFFF P0=00000 P1=04000 P2=08000 [ROM]
[0035C4] 35c4 C1 POP BC AF=0244 BC=000C DE=7B4C HL=B8CB SP=CAF0 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
; ----------------------------------------------------
; # blank lines to print + bottom border
[0035C5] 35c5 78 LD A,B AF=0244 BC=050C DE=7B4C HL=B8CB SP=CAF2 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[0035C6] 35c6 87 ADD A,A AF=0544 BC=050C DE=7B4C HL=B8CB SP=CAF2 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[0035C7] 35c7 6F LD L,A AF=0A08 BC=050C DE=7B4C HL=B8CB SP=CAF2 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[0035C8] 35c8 87 ADD A,A AF=0A08 BC=050C DE=7B4C HL=B80A SP=CAF2 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[0035C9] 35c9 85 ADD A,L AF=1410 BC=050C DE=7B4C HL=B80A SP=CAF2 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[0035CA] 35ca 87 ADD A,A AF=1E08 BC=050C DE=7B4C HL=B80A SP=CAF2 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[0035CB] 35cb 21 3F BA LD HL,BA3Fh AF=3C38 BC=050C DE=7B4C HL=B80A SP=CAF2 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[0035CE] 35ce 85 ADD A,L AF=3C38 BC=050C DE=7B4C HL=BA3F SP=CAF2 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[0035CF] 35cf 6F LD L,A AF=7B38 BC=050C DE=7B4C HL=BA3F SP=CAF2 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[0035D0] 35d0 8C ADC A,H AF=7B38 BC=050C DE=7B4C HL=BA7B SP=CAF2 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[0035D1] 35d1 95 SUB L AF=3531 BC=050C DE=7B4C HL=BA7B SP=CAF2 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[0035D2] 35d2 67 LD H,A AF=BABB BC=050C DE=7B4C HL=BA7B SP=CAF2 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[0035D3] 35d3 3E 0C LD A,0Ch AF=BABB BC=050C DE=7B4C HL=BA7B SP=CAF2 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[0035D5] 35d5 90 SUB B AF=0CBB BC=050C DE=7B4C HL=BA7B SP=CAF2 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[0035D6] 35d6 47 LD B,A AF=0702 BC=050C DE=7B4C HL=BA7B SP=CAF2 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[0035D7] 35d7 C3 81 3B JP 3B81h AF=0702 BC=070C DE=7B4C HL=BA7B SP=CAF2 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
; Close window, restore tiles
[0035E3] 35e3 21 74 DB LD HL,DB74h AF=0010 BC=0010 DE=7D0C HL=0200 SP=CAF6 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[0035E6] 35e6 11 0C 7A LD DE,7A0Ch AF=0010 BC=0010 DE=7D0C HL=DB74 SP=CAF6 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[0035E9] 35e9 01 0C 0C LD BC,0C0Ch AF=0010 BC=0010 DE=7A0C HL=DB74 SP=CAF6 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[0035EC] 35ec C3 81 3B JP 3B81h AF=0010 BC=0C0C DE=7A0C HL=DB74 SP=CAF6 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
; -----------------------------------------------------------------
; VRAM cursor
[001EE0] 1ee0 21 8C 7A LD HL,7A8Ch AF=0244 BC=0012 DE=7D0C HL=BAF9 SP=CAF4 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
[001EE3] 1ee3 22 69 C2 LD (C269h),HL AF=0244 BC=0012 DE=7D0C HL=7A8C SP=CAF4 IX=C430 IY=FFFF V P0=00000 P1=04000 P2=08000 [ROM]
; _________________________________________________________________
; Active player names receive a similar treatment
[003014] 3014 21 00 D7 LD HL,D700h AF=0244 BC=0010 DE=7B02 HL=AE63 SP=CAF0 IX=C430 IY=C900 P0=00000 P1=04000 P2=08000 [ROM]
[003017] 3017 11 02 7B LD DE,7B02h AF=0244 BC=0010 DE=7B02 HL=D700 SP=CAF0 IX=C430 IY=C900 P0=00000 P1=04000 P2=08000 [ROM]
[00301A] 301a 01 0C 03 LD BC,030Ch AF=0244 BC=0010 DE=7B02 HL=D700 SP=CAF0 IX=C430 IY=C900 P0=00000 P1=04000 P2=08000 [ROM]
[00301D] 301d CD CA 3B CALL 3BCAh AF=0244 BC=030C DE=7B02 HL=D700 SP=CAF0 IX=C430 IY=C900 P0=00000 P1=04000 P2=08000 [ROM]
; Compute name table offset
[003020] 3020 3A 67 C2 LD A,(C267h) AF=3B40 BC=030C DE=7B02 HL=D724 SP=CAF0 IX=C430 IY=C900 P0=00000 P1=04000 P2=08000 [ROM]
[003023] 3023 87 ADD A,A AF=0040 BC=030C DE=7B02 HL=D724 SP=CAF0 IX=C430 IY=C900 P0=00000 P1=04000 P2=08000 [ROM]
[003024] 3024 87 ADD A,A AF=0040 BC=030C DE=7B02 HL=D724 SP=CAF0 IX=C430 IY=C900 P0=00000 P1=04000 P2=08000 [ROM]
[003025] 3025 6F LD L,A AF=0040 BC=030C DE=7B02 HL=D724 SP=CAF0 IX=C430 IY=C900 P0=00000 P1=04000 P2=08000 [ROM]
; final math
[003026] 3026 87 ADD A,A AF=0040 BC=030C DE=7B02 HL=D700 SP=CAF0 IX=C430 IY=C900 P0=00000 P1=04000 P2=08000 [ROM]
[003027] 3027 87 ADD A,A AF=0040 BC=030C DE=7B02 HL=D700 SP=CAF0 IX=C430 IY=C900 P0=00000 P1=04000 P2=08000 [ROM]
[003028] 3028 87 ADD A,A AF=0040 BC=030C DE=7B02 HL=D700 SP=CAF0 IX=C430 IY=C900 P0=00000 P1=04000 P2=08000 [ROM]
[003029] 3029 85 ADD A,L AF=0040 BC=030C DE=7B02 HL=D700 SP=CAF0 IX=C430 IY=C900 P0=00000 P1=04000 P2=08000 [ROM]
; addition with carry bump
[00302A] 302a 21 0B B4 LD HL,B40Bh AF=0040 BC=030C DE=7B02 HL=D700 SP=CAF0 IX=C430 IY=C900 P0=00000 P1=04000 P2=08000 [ROM]
[00302D] 302d 85 ADD A,L AF=0040 BC=030C DE=7B02 HL=B40B SP=CAF0 IX=C430 IY=C900 P0=00000 P1=04000 P2=08000 [ROM]
[00302E] 302e 6F LD L,A AF=0B08 BC=030C DE=7B02 HL=B40B SP=CAF0 IX=C430 IY=C900 P0=00000 P1=04000 P2=08000 [ROM]
[00302F] 302f 8C ADC A,H AF=0B08 BC=030C DE=7B02 HL=B40B SP=CAF0 IX=C430 IY=C900 P0=00000 P1=04000 P2=08000 [ROM]
[003030] 3030 95 SUB L AF=BFA8 BC=030C DE=7B02 HL=B40B SP=CAF0 IX=C430 IY=C900 P0=00000 P1=04000 P2=08000 [ROM]
[003031] 3031 67 LD H,A AF=B4A2 BC=030C DE=7B02 HL=B40B SP=CAF0 IX=C430 IY=C900 P0=00000 P1=04000 P2=08000 [ROM]
[003032] 3032 C3 81 3B JP 3B81h AF=B4A2 BC=030C DE=7B02 HL=B40B SP=CAF0 IX=C430 IY=C900 P0=00000 P1=04000 P2=08000 [ROM]
[003035] 3035 21 00 D7 LD HL,D700h AF=0100 BC=0001 DE=7BC2 HL=C2AE SP=CAF0 IX=C430 IY=C900 V P0=00000 P1=04000 P2=08000 [ROM]
[003038] 3038 11 02 7B LD DE,7B02h AF=0100 BC=0001 DE=7BC2 HL=D700 SP=CAF0 IX=C430 IY=C900 V P0=00000 P1=04000 P2=08000 [ROM]
[00303B] 303b 01 0C 03 LD BC,030Ch AF=0100 BC=0001 DE=7B02 HL=D700 SP=CAF0 IX=C430 IY=C900 V P0=00000 P1=04000 P2=08000 [ROM]
[00303E] 303e C3 81 3B JP 3B81h AF=0100 BC=030C DE=7B02 HL=D700 SP=CAF0 IX=C430 IY=C900 V P0=00000 P1=04000 P2=08000 [ROM]