3. Monsters
[003D3E] 3d3e CD 7A 62 CALL 627Ah AF=FFAC BC=0000 DE=C240 HL=3CC0 SP=CAFE IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
; Monster bank
[00627A] 627a 21 FF FF LD HL,FFFFh AF=FFAC BC=0000 DE=C240 HL=3CC0 SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
[00627D] 627d 36 03 LD (HL),03h AF=FFAC BC=0000 DE=C240 HL=FFFF SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
; Zero out data
[00627F] 627f 21 00 C8 LD HL,C800h AF=FFAC BC=0000 DE=C240 HL=FFFF SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[006282] 6282 11 01 C8 LD DE,C801h AF=FFAC BC=0000 DE=C240 HL=C800 SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[006285] 6285 01 FF 00 LD BC,00FFh AF=FFAC BC=0000 DE=C801 HL=C800 SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[006288] 6288 36 00 LD (HL),00h AF=FFAC BC=00FF DE=C801 HL=C800 SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[00628A] 628a ED B0 LDIR AF=FFAC BC=00FF DE=C801 HL=C800 SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
; More zeros
[00628C] 628c 21 40 C4 LD HL,C440h AF=FFA8 BC=0000 DE=C900 HL=C8FF SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[00628F] 628f 11 41 C4 LD DE,C441h AF=FFA8 BC=0000 DE=C900 HL=C440 SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[006292] 6292 01 7F 00 LD BC,007Fh AF=FFA8 BC=0000 DE=C441 HL=C440 SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[006295] 6295 36 00 LD (HL),00h AF=FFA8 BC=007F DE=C441 HL=C440 SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[006297] 6297 ED B0 LDIR AF=FFA8 BC=007F DE=C441 HL=C440 SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
; Check monster code
[006299] 6299 3A E6 C2 LD A,(C2E6h) AF=FFA8 BC=0000 DE=C4C0 HL=C4BF SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[00629C] 629c 7F LD A,A AF=09A8 BC=0000 DE=C4C0 HL=C4BF SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[00629D] 629d E6 7F AND 7Fh AF=09A8 BC=0000 DE=C4C0 HL=C4BF SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[00629F] 629f C8 RET Z AF=091C BC=0000 DE=C4C0 HL=C4BF SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
; Index into structure
[0062A0] 62a0 6F LD L,A AF=091C BC=0000 DE=C4C0 HL=C4BF SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[0062A1] 62a1 26 00 LD H,00h AF=091C BC=0000 DE=C4C0 HL=C409 SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[0062A3] 62a3 29 ADD HL,HL AF=091C BC=0000 DE=C4C0 HL=0009 SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[0062A4] 62a4 29 ADD HL,HL AF=0904 BC=0000 DE=C4C0 HL=0012 SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[0062A5] 62a5 29 ADD HL,HL AF=0904 BC=0000 DE=C4C0 HL=0024 SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[0062A6] 62a6 29 ADD HL,HL AF=0904 BC=0000 DE=C4C0 HL=0048 SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[0062A7] 62a7 29 ADD HL,HL AF=0904 BC=0000 DE=C4C0 HL=0090 SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
; Base + offset
[0062A8] 62a8 11 7F 86 LD DE,867Fh AF=0904 BC=0000 DE=C4C0 HL=0120 SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[0062AB] 62ab 19 ADD HL,DE AF=0904 BC=0000 DE=867F HL=0120 SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
; Copy 8-letter name
[0062AC] 62ac 11 C8 C2 LD DE,C2C8h AF=0904 BC=0000 DE=867F HL=879F SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[0062AF] 62af 01 08 00 LD BC,0008h AF=0904 BC=0000 DE=C2C8 HL=879F SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[0062B2] 62b2 ED B0 LDIR AF=0904 BC=0008 DE=C2C8 HL=879F SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
; Copy attributes
[0062B4] 62b4 11 58 C2 LD DE,C258h AF=0908 BC=0000 DE=C2D0 HL=87A7 SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[0062B7] 62b7 01 08 00 LD BC,0008h AF=0908 BC=0000 DE=C258 HL=87A7 SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[0062BA] 62ba ED B0 LDIR AF=0908 BC=0008 DE=C258 HL=87A7 SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
; Bitmap bank
[0062BC] 62bc 46 LD B,(HL) AF=0908 BC=0000 DE=C260 HL=87AF SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[0062BD] 62bd 23 INC HL AF=0908 BC=0A00 DE=C260 HL=87AF SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
; Bitmap offset
[0062BE] 62be 7E LD A,(HL) AF=0908 BC=0A00 DE=C260 HL=87B0 SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[0062BF] 62bf 23 INC HL AF=E408 BC=0A00 DE=C260 HL=87B0 SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[0062C0] 62c0 E5 PUSH HL AF=E408 BC=0A00 DE=C260 HL=87B1 SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[0062C1] 62c1 66 LD H,(HL) AF=E408 BC=0A00 DE=C260 HL=87B1 SP=CAFA IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[0062C2] 62c2 6F LD L,A AF=E408 BC=0A00 DE=C260 HL=B7B1 SP=CAFA IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
; Decompress monster graphics
[0062C3] 62c3 78 LD A,B AF=E408 BC=0A00 DE=C260 HL=B7E4 SP=CAFA IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[0062C4] 62c4 32 FF FF LD (FFFFh),A AF=0A08 BC=0A00 DE=C260 HL=B7E4 SP=CAFA IX=C880 IY=C800 P0=00000 P1=04000 P2=0C000 [ROM]
[0062C7] 62c7 11 00 60 LD DE,6000h AF=0A08 BC=0A00 DE=C260 HL=B7E4 SP=CAFA IX=C880 IY=C800 P0=00000 P1=04000 P2=28000 [ROM]
[0062CA] 62ca CD B3 04 CALL 04B3h AF=0A08 BC=0A00 DE=6000 HL=B7E4 SP=CAFA IX=C880 IY=C800 P0=00000 P1=04000 P2=28000 [ROM]
[0062CD] 62cd E1 POP HL AF=0044 BC=0000 DE=6004 HL=BFF9 SP=CAFA IX=C880 IY=C800 P0=00000 P1=04000 P2=28000 [ROM]
[0062CE] 62ce 23 INC HL AF=0044 BC=0000 DE=6004 HL=87B1 SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=28000 [ROM]
[0062CF] 62cf 3E 03 LD A,03h AF=0044 BC=0000 DE=6004 HL=87B2 SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=28000 [ROM]
[0062D1] 62d1 32 FF FF LD (FFFFh),A AF=0344 BC=0000 DE=6004 HL=87B2 SP=CAFC IX=C880 IY=C800 P0=00000 P1=04000 P2=28000 [ROM]
(...)
; _______________________________________________________
[003279] 3279 21 FF FF LD HL,FFFFh AF=0240 BC=0014 DE=785C HL=BAE3 SP=CAFA IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[00327C] 327c 36 02 LD (HL),02h AF=0240 BC=0014 DE=785C HL=FFFF SP=CAFA IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
; Fixed name location (!)
[00327E] 327e 21 C8 C2 LD HL,C2C8h AF=0240 BC=0014 DE=785C HL=FFFF SP=CAFA IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
; Write out monster name (two rows)
[003281] 3281 0E 00 LD C,00h AF=0240 BC=0014 DE=785C HL=C2C8 SP=CAFA IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[003283] 3283 CD C9 32 CALL 32C9h AF=0240 BC=0000 DE=785C HL=C2C8 SP=CAFA IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[003286] 3286 0E 01 LD C,01h AF=1380 BC=0000 DE=789C HL=C2C8 SP=CAFA IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[003288] 3288 CD C9 32 CALL 32C9h AF=1380 BC=0001 DE=789C HL=C2C8 SP=CAFA IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[00328B] 328b 21 E3 BA LD HL,BAE3h AF=1380 BC=0001 DE=78DC HL=C2C8 SP=CAFA IX=C450 IY=C880 P0=00000 P1=04000 P2=08000 [ROM]
[00328E] 328e 01 14 01 LD BC,0114h AF=1380 BC=0001 DE=78DC HL=BAE3 SP=CAFA IX=C450 IY=C880 P0=00000 P1=04000 P2=08000 [ROM]
[003291] 3291 CD AA 3B CALL 3BAAh AF=1380 BC=0114 DE=78DC HL=BAE3 SP=CAFA IX=C450 IY=C880 P0=00000 P1=04000 P2=08000 [ROM]
[003294] 3294 3A E6 C2 LD A,(C2E6h) AF=0244 BC=0014 DE=791C HL=BAF7 SP=CAFA IX=C450 IY=C880 P0=00000 P1=04000 P2=08000 [ROM]
[003297] 3297 FE 49 CP 49h AF=0344 BC=0014 DE=791C HL=BAF7 SP=CAFA IX=C450 IY=C880 P0=00000 P1=04000 P2=08000 [ROM]
[003299] 3299 C8 RET Z AF=03BB BC=0014 DE=791C HL=BAF7 SP=CAFA IX=C450 IY=C880 P0=00000 P1=04000 P2=08000 [ROM]
; ----------------------------------------------------
; Nearly idential to tech2b ($368A-36D8)
; - Source is passed in via HL
; - No VBlank wait
; - $32C9-3308
; Set VRAM spot
[0032C9] 32c9 F3 DI AF=0240 BC=0000 DE=785C HL=C2C8 SP=CAF8 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032CA] 32ca C5 PUSH BC AF=0240 BC=0000 DE=785C HL=C2C8 SP=CAF8 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032CB] 32cb E5 PUSH HL AF=0240 BC=0000 DE=785C HL=C2C8 SP=CAF6 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032CC] 32cc D5 PUSH DE AF=0240 BC=0000 DE=785C HL=C2C8 SP=CAF4 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032CD] 32cd CF RST 08 AF=0240 BC=0000 DE=785C HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032CE] 32ce F5 PUSH AF AF=7840 BC=0000 DE=785C HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032CF] 32cf F1 POP AF AF=7840 BC=0000 DE=785C HL=C2C8 SP=CAF0 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
; Left border
[0032D0] 32d0 3E F3 LD A,F3h AF=7840 BC=0000 DE=785C HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032D2] 32d2 D3 BE OUT (BEh),A AF=F340 BC=0000 DE=785C HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032D4] 32d4 F5 PUSH AF AF=F340 BC=0000 DE=785C HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032D5] 32d5 F1 POP AF AF=F340 BC=0000 DE=785C HL=C2C8 SP=CAF0 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032D6] 32d6 3E 11 LD A,11h AF=F340 BC=0000 DE=785C HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032D8] 32d8 D3 BE OUT (BEh),A AF=1140 BC=0000 DE=785C HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
; 8-letters fixed
[0032DA] 32da 06 08 LD B,08h AF=1140 BC=0000 DE=785C HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032DC] 32dc 7E LD A,(HL) AF=1140 BC=0800 DE=785C HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032DD] 32dd 87 ADD A,A AF=0340 BC=0800 DE=785C HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032DE] 32de 81 ADD A,C AF=0600 BC=0800 DE=785C HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032DF] 32df 11 00 80 LD DE,8000h AF=0600 BC=0800 DE=785C HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032E2] 32e2 83 ADD A,E AF=0600 BC=0800 DE=8000 HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032E3] 32e3 5F LD E,A AF=0600 BC=0800 DE=8000 HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032E4] 32e4 8A ADC A,D AF=0600 BC=0800 DE=8006 HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032E5] 32e5 93 SUB E AF=8680 BC=0800 DE=8006 HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032E6] 32e6 57 LD D,A AF=8082 BC=0800 DE=8006 HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032E7] 32e7 1A LD A,(DE) AF=8082 BC=0800 DE=8006 HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032E8] 32e8 D3 BE OUT (BEh),A AF=C082 BC=0800 DE=8006 HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032EA] 32ea F5 PUSH AF AF=C082 BC=0800 DE=8006 HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032EB] 32eb F1 POP AF AF=C082 BC=0800 DE=8006 HL=C2C8 SP=CAF0 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032EC] 32ec 3E 10 LD A,10h AF=C082 BC=0800 DE=8006 HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032EE] 32ee D3 BE OUT (BEh),A AF=1082 BC=0800 DE=8006 HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032F0] 32f0 23 INC HL AF=1082 BC=0800 DE=8006 HL=C2C8 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032F1] 32f1 10 E9 DJNZ 32DCh AF=1082 BC=0800 DE=8006 HL=C2C9 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032F3] 32f3 F5 PUSH AF AF=1082 BC=0000 DE=8000 HL=C2D0 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032F4] 32f4 F1 POP AF AF=1082 BC=0000 DE=8000 HL=C2D0 SP=CAF0 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032F5] 32f5 3E F3 LD A,F3h AF=1082 BC=0000 DE=8000 HL=C2D0 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032F7] 32f7 D3 BE OUT (BEh),A AF=F382 BC=0000 DE=8000 HL=C2D0 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032F9] 32f9 F5 PUSH AF AF=F382 BC=0000 DE=8000 HL=C2D0 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032FA] 32fa F1 POP AF AF=F382 BC=0000 DE=8000 HL=C2D0 SP=CAF0 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032FB] 32fb 3E 13 LD A,13h AF=F382 BC=0000 DE=8000 HL=C2D0 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032FD] 32fd D3 BE OUT (BEh),A AF=1382 BC=0000 DE=8000 HL=C2D0 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[0032FF] 32ff D1 POP DE AF=1382 BC=0000 DE=8000 HL=C2D0 SP=CAF2 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[003300] 3300 21 40 00 LD HL,0040h AF=1382 BC=0000 DE=785C HL=C2D0 SP=CAF4 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[003303] 3303 19 ADD HL,DE AF=1382 BC=0000 DE=785C HL=0040 SP=CAF4 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[003304] 3304 EB EX DE,HL AF=1380 BC=0000 DE=785C HL=789C SP=CAF4 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[003305] 3305 E1 POP HL AF=1380 BC=0000 DE=789C HL=785C SP=CAF4 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
[003306] 3306 C1 POP BC AF=1380 BC=0000 DE=789C HL=C2C8 SP=CAF6 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
; No VBlank waiting
[003307] 3307 FB EI AF=1380 BC=0000 DE=789C HL=C2C8 SP=CAF8 IX=C450 IY=C880 V P0=00000 P1=04000 P2=08000 [ROM]
3308 C9 RET
; _______________________________________________________
$C69F-CFDE = enemy structures