Prev: AFFA Up: Map Next: B56E
B0EA: Routine at B0EA
Used by the routine at Main_routine.
_b0ea B0EA LD A,($AFF9)
B0ED AND A
B0EE CALL Z,_b0ea_58
B0F1 LD HL,_5b00_buffer
B0F4 LD A,($BD33)
B0F7 AND A
B0F8 JP Z,_b0ea_1
B0FB LD DE,$60DB
B0FE LD A,$38
_b0ea_0 B100 LDI
B102 LDI
B104 LDI
B106 LDI
B108 LD BC,$001E
B10B EX DE,HL
B10C ADD HL,BC
B10D EX DE,HL
B10E DEC A
B10F JR NZ,_b0ea_0
_b0ea_1 B111 LD A,($AFF9)
B114 AND A
B115 CALL NZ,_b0ea_58
B118 JP _b0ea_52
_b0ea_2 B11B BIT 1,(IX+$13)
B11F JR Z,_b0ea_3
B121 LD (IX+$13),$00
B125 LD A,(IX+$03)
B128 XOR $02
B12A LD (IX+$03),A
B12D LD E,(IX+$0D)
B130 LD D,(IX+$0E)
B133 LD HL,$0058
B136 ADD HL,DE
B137 LD C,(IX+$05)
B13A LD B,(IX+$06)
B13D AND A
B13E SBC HL,BC
B140 ADD HL,DE
B141 LD (IX+$05),L
B144 LD (IX+$06),H
B147 LD E,(IX+$0F)
B14A LD D,(IX+$10)
B14D LD HL,$0058
B150 ADD HL,DE
B151 LD C,(IX+$07)
B154 LD B,(IX+$08)
B157 AND A
B158 SBC HL,BC
B15A ADD HL,DE
B15B LD (IX+$07),L
B15E LD (IX+$08),H
B161 JR _b0ea_10
_b0ea_3 B163 BIT 0,(IX+$13)
B167 JR Z,_b0ea_4
B169 SET 1,(IX+$13)
B16D LD (IX+$0B),$31
B171 JR _b0ea_10
_b0ea_4 B173 LD A,(IX+$02)
B176 AND A
B177 JR Z,_b0ea_11
_b0ea_5 B179 DEC (IX+$02)
B17C LD A,(IX+$0B)
B17F INC A
B180 CP (IX+$12)
B183 JR C,_b0ea_6
B185 LD A,(IX+$11)
_b0ea_6 B188 LD (IX+$0B),A
B18B LD A,(IX+$03)
B18E BIT 0,A
B190 JR Z,_b0ea_8
B192 LD L,(IX+$07)
B195 LD H,(IX+$08)
B198 DEC HL
B199 CP $03
B19B JR Z,_b0ea_7
B19D INC HL
B19E INC HL
_b0ea_7 B19F LD (IX+$07),L
B1A2 LD (IX+$08),H
B1A5 JR _b0ea_10
_b0ea_8 B1A7 LD L,(IX+$05)
B1AA LD H,(IX+$06)
B1AD DEC HL
B1AE CP $00
B1B0 JR Z,_b0ea_9
B1B2 INC HL
B1B3 INC HL
_b0ea_9 B1B4 LD (IX+$05),L
B1B7 LD (IX+$06),H
B1BA JR _b0ea_10
_b0ea_10 B1BC RET
_b0ea_11 B1BD LD A,(IX+$03)
B1C0 ADD A,(IX+$04)
B1C3 AND $03
B1C5 LD (IX+$03),A
B1C8 LD (IX+$02),$58
B1CC JR _b0ea_5
This entry point is used by the routine at AFFA.
_b0ea_12 B1CE LD IX,$BD39
_b0ea_13 B1D2 LD L,(IX+$00)
B1D5 LD H,(IX+$01)
B1D8 LD A,L
B1D9 OR H
B1DA RET Z
B1DB PUSH HL
B1DC POP IX
B1DE LD A,(Level_Char)
B1E1 CP (IX+$0A)
B1E4 JR NZ,_b0ea_13
B1E6 CALL _b0ea_2
B1E9 LD A,(IX+$03)
B1EC BIT 0,A
B1EE JR NZ,_b0ea_14
B1F0 LD HL,(Position_EW)
B1F3 LD E,(IX+$07)
B1F6 LD D,(IX+$08)
B1F9 AND A
B1FA SBC HL,DE
B1FC JR NZ,_b0ea_13
B1FE LD HL,(Position_NS)
B201 LD E,(IX+$05)
B204 LD D,(IX+$06)
B207 JR _b0ea_15
_b0ea_14 B209 LD HL,(Position_NS)
B20C LD E,(IX+$05)
B20F LD D,(IX+$06)
B212 AND A
B213 SBC HL,DE
B215 JR NZ,_b0ea_13
B217 LD HL,(Position_EW)
B21A LD E,(IX+$07)
B21D LD D,(IX+$08)
_b0ea_15 B220 CALL abs_hl_de
B223 LD DE,$0023
B226 AND A
B227 SBC HL,DE
B229 JR NC,_b0ea_13
B22B ADD HL,DE
B22C LD A,(Stat_ResetGame)
B22F AND A
B230 JR NZ,_b0ea_16
B232 LD A,(IX+$13)
B235 AND A
B236 JR NZ,_b0ea_16
B238 LD A,(Hero_ThroughDoor)
B23B AND A
B23C JR NZ,_b0ea_16
B23E LD A,L
B23F CP $06
B241 JR NC,_b0ea_16
B243 LD A,$13
B245 LD (Stat_ResetGame),A
_b0ea_16 B248 LD A,(Stage_Compass)
B24B XOR (IX+$03)
B24E RRCA
B24F JR NC,_b0ea_13
B251 LD A,(Stage_Compass)
B254 SUB (IX+$03)
B257 RRCA
B258 RRCA
B259 PUSH AF
B25A LD L,(IX+$0B)
B25D CALL Bitmap_GetData
B260 POP AF
B261 PUSH AF
B262 XOR (HL)
B263 JP M,_b0ea_17
B266 LD L,(IX+$0B)
B269 CALL _a345_28
_b0ea_17 B26C LD L,(IX+$0C)
B26F CALL Bitmap_GetData
B272 POP AF
B273 XOR (HL)
B274 JP M,_b0ea_18
B277 LD L,(IX+$0C)
B27A CALL _a345_28
_b0ea_18 B27D XOR A
B27E CALL $B288
B281 JP _b0ea_13
B284 LD BC,$0000
B287 LD BC,$E5DD
B28A LD ($B287),A
B28D BIT 0,A
B28F JR NZ,_b0ea_19
B291 LD L,(IX+$0C)
B294 CALL Bitmap_GetData
B297 LD HL,(Bmp_DataBuffer)
B29A LD ($C588),HL
_b0ea_19 B29D LD L,(IX+$0B)
B2A0 CALL Bitmap_GetData
B2A3 LD A,(HL)
B2A4 AND $7F
B2A6 LD ($C58B),A
B2A9 LD E,A
B2AA LD D,$00
B2AC LD ($B284),DE
B2B0 DEC HL
B2B1 LD A,(HL)
B2B2 AND $7F
B2B4 RLA
B2B5 RLA
B2B6 RLA
B2B7 LD ($C58A),A
B2BA LD HL,(Bmp_DataBuffer)
B2BD PUSH HL
B2BE LD A,(Stage_Compass)
B2C1 BIT 0,A
B2C3 JR Z,_b0ea_20
B2C5 LD HL,(Position_NS)
B2C8 LD E,(IX+$05)
B2CB LD D,(IX+$06)
B2CE JR _b0ea_21
_b0ea_20 B2D0 LD HL,(Position_EW)
B2D3 LD E,(IX+$07)
B2D6 LD D,(IX+$08)
_b0ea_21 B2D9 BIT 1,A
B2DB JR NZ,_b0ea_22
B2DD EX DE,HL
_b0ea_22 B2DE AND A
B2DF SBC HL,DE
B2E1 LD DE,$0020
B2E4 ADD HL,DE
B2E5 LD DE,($B284)
B2E9 AND A
B2EA SBC HL,DE
B2EC JP P,_b0ea_23
B2EF LD A,$01
B2F1 LD ($B286),A
B2F4 LD E,L
B2F5 LD D,H
B2F6 LD A,L
B2F7 CPL
B2F8 LD C,A
B2F9 LD A,H
B2FA CPL
B2FB LD B,A
B2FC INC BC
B2FD INC BC
B2FE SRA B
B300 RR C
B302 LD HL,($C588)
B305 ADD HL,BC
B306 LD ($C588),HL
B309 POP HL
B30A ADD HL,BC
B30B PUSH HL
B30C LD A,($C58B)
B30F SUB C
B310 LD ($C58B),A
B313 XOR A
B314 JR _b0ea_25
_b0ea_23 B316 XOR A
B317 LD ($B286),A
B31A LD E,L
B31B LD D,H
B31C SRA H
B31E RR L
B320 LD BC,$0020
B323 AND A
B324 SBC HL,BC
B326 LD BC,($B284)
B32A AND A
B32B ADC HL,BC
B32D JP M,_b0ea_24
B330 LD A,($C58B)
B333 SUB L
B334 LD ($C58B),A
B337 LD A,$02
B339 LD ($B286),A
_b0ea_24 B33C LD A,E
B33D AND $FE
B33F RRA
_b0ea_25 B340 LD L,(IX+$09)
B343 LD H,$00
B345 ADD HL,HL
B346 LD C,L
B347 LD B,H
B348 ADD HL,HL
B349 ADD HL,HL
B34A ADD HL,HL
B34B ADD HL,HL
B34C ADD HL,BC
B34D LD C,A
B34E LD B,$00
B350 ADD HL,BC
B351 LD BC,Stage_offscreen
B354 ADD HL,BC
B355 LD A,($B287)
B358 BIT 0,A
B35A JR NZ,_b0ea_31
B35C PUSH DE
B35D PUSH HL
B35E LD A,($C58B)
B361 LD C,A
B362 BIT 0,E
B364 JR Z,_b0ea_26
B366 LD A,($B286)
B369 BIT 1,A
B36B JR NZ,_b0ea_26
B36D INC C
_b0ea_26 B36E PUSH IX
B370 LD IX,$6928
B374 LD A,($B287)
B377 AND A
B378 JR NZ,_b0ea_29
B37A LD IX,_7e90
_b0ea_27 B37E LD A,(IX+$00)
B381 OR (IX+$01)
B384 JR Z,_b0ea_29
B386 LD E,(IX+$03)
B389 LD D,$00
B38B LD B,(IX+$02)
_b0ea_28 B38E ADD IX,DE
B390 DJNZ _b0ea_28
B392 LD DE,$0004
B395 ADD IX,DE
B397 JR _b0ea_27
_b0ea_29 B399 LD (IX+$00),L
B39C LD (IX+$01),H
B39F LD (IX+$02),C
B3A2 LD A,($C58A)
B3A5 LD (IX+$03),A
B3A8 LD DE,$0004
B3AB ADD IX,DE
B3AD PUSH IX
B3AF POP DE
B3B0 LD B,$00
_b0ea_30 B3B2 PUSH BC
B3B3 PUSH HL
B3B4 LDIR
B3B6 POP HL
B3B7 LD BC,$0022
B3BA ADD HL,BC
B3BB POP BC
B3BC DEC A
B3BD JR NZ,_b0ea_30
B3BF LD (DE),A
B3C0 INC DE
B3C1 LD (DE),A
B3C2 POP IX
B3C4 POP HL
B3C5 POP DE
_b0ea_31 B3C6 BIT 0,E
B3C8 JR NZ,_b0ea_32
B3CA LD A,($B287)
B3CD BIT 0,A
B3CF JR Z,_b0ea_33
B3D1 CP $01
B3D3 JP Z,_b0ea_42
B3D6 CP $02
B3D8 JP Z,_b0ea_49
B3DB POP IX
B3DD RET
_b0ea_32 B3DE LD A,($B287)
B3E1 BIT 0,A
B3E3 JR Z,_b0ea_36
B3E5 CP $01
B3E7 JP Z,_b0ea_44
B3EA CP $02
B3EC JP Z,_b0ea_49
B3EF POP IX
B3F1 RET
_b0ea_33 B3F2 LD BC,($C58A)
B3F6 LD DE,($C588)
B3FA POP IX
_b0ea_34 B3FC PUSH BC
B3FD PUSH HL
B3FE PUSH DE
B3FF PUSH IX
_b0ea_35 B401 LD A,(DE)
B402 AND (HL)
B403 OR (IX+$00)
B406 LD (HL),A
B407 INC DE
B408 INC HL
B409 INC IX
B40B DJNZ _b0ea_35
B40D LD DE,($B284)
B411 POP IX
B413 ADD IX,DE
B415 POP HL
B416 ADD HL,DE
B417 EX DE,HL
B418 POP HL
B419 LD BC,$0022
B41C ADD HL,BC
B41D POP BC
B41E DEC C
B41F JR NZ,_b0ea_34
B421 POP IX
B423 RET
_b0ea_36 B424 LD BC,($C58A)
B428 EX DE,HL
B429 EXX
B42A POP HL
B42B EXX
B42C LD HL,($C588)
_b0ea_37 B42F PUSH BC
B430 PUSH HL
B431 PUSH DE
B432 LD A,($B286)
B435 AND $01
B437 EXX
B438 PUSH HL
B439 LD C,$00
B43B JR Z,_b0ea_38
B43D DEC HL
B43E LD C,(HL)
B43F INC HL
_b0ea_38 B440 EXX
B441 LD C,$0F
B443 JR Z,_b0ea_39
B445 DEC HL
B446 LD C,(HL)
B447 INC HL
B448 LD A,B
B449 AND A
B44A JR Z,_b0ea_40
_b0ea_39 B44C LD A,C
B44D RRD
B44F LD C,A
B450 LD A,(DE)
B451 AND (HL)
B452 EX AF,AF'
B453 LD A,C
B454 RLD
B456 INC HL
B457 EXX
B458 LD A,C
B459 RRD
B45B LD C,A
B45C EX AF,AF'
B45D OR (HL)
B45E EX AF,AF'
B45F RLD
B461 INC HL
B462 EXX
B463 EX AF,AF'
B464 LD (DE),A
B465 INC DE
B466 DJNZ _b0ea_39
B468 LD A,($B286)
B46B BIT 1,A
B46D JR NZ,_b0ea_41
_b0ea_40 B46F LD A,C
B470 RLA
B471 RLA
B472 RLA
B473 RLA
B474 OR $0F
B476 LD C,A
B477 LD A,(DE)
B478 AND C
B479 EXX
B47A SLA C
B47C SLA C
B47E SLA C
B480 SLA C
B482 OR C
B483 EXX
B484 LD (DE),A
_b0ea_41 B485 EXX
B486 POP HL
B487 LD BC,($B284)
B48B ADD HL,BC
B48C EXX
B48D POP DE
B48E LD HL,$0022
B491 ADD HL,DE
B492 EX DE,HL
B493 POP BC
B494 LD HL,($B284)
B497 ADD HL,BC
B498 POP BC
B499 DEC C
B49A JR NZ,_b0ea_37
B49C POP IX
B49E RET
_b0ea_42 B49F LD A,($C58B)
B4A2 LD C,A
B4A3 LD A,($C58A)
B4A6 LD B,A
B4A7 POP DE
B4A8 EX DE,HL
_b0ea_43 B4A9 PUSH BC
B4AA PUSH HL
B4AB PUSH DE
B4AC LD B,$00
B4AE LDIR
B4B0 POP DE
B4B1 LD HL,$0022
B4B4 ADD HL,DE
B4B5 EX DE,HL
B4B6 POP BC
B4B7 LD HL,($B284)
B4BA ADD HL,BC
B4BB POP BC
B4BC DJNZ _b0ea_43
B4BE POP IX
B4C0 RET
_b0ea_44 B4C1 LD BC,($C58A)
B4C5 EX DE,HL
B4C6 POP HL
_b0ea_45 B4C7 PUSH BC
B4C8 PUSH HL
B4C9 PUSH DE
B4CA LD A,(DE)
B4CB RRA
B4CC RRA
B4CD RRA
B4CE RRA
B4CF AND $0F
B4D1 LD C,A
B4D2 LD A,($B286)
B4D5 AND $01
B4D7 JR Z,_b0ea_46
B4D9 DEC HL
B4DA LD C,(HL)
B4DB INC HL
B4DC LD A,B
B4DD AND A
B4DE JR Z,_b0ea_47
_b0ea_46 B4E0 LD A,C
B4E1 RRD
B4E3 LD C,A
B4E4 LD A,(HL)
B4E5 LD (DE),A
B4E6 LD A,C
B4E7 RLD
B4E9 INC HL
B4EA INC DE
B4EB DJNZ _b0ea_46
B4ED LD A,($B286)
B4F0 BIT 1,A
B4F2 JR NZ,_b0ea_48
_b0ea_47 B4F4 LD A,C
B4F5 RLA
B4F6 RLA
B4F7 RLA
B4F8 RLA
B4F9 AND $F0
B4FB LD C,A
B4FC LD A,(DE)
B4FD AND $0F
B4FF OR C
B500 LD (DE),A
_b0ea_48 B501 POP DE
B502 LD HL,$0022
B505 ADD HL,DE
B506 EX DE,HL
B507 POP BC
B508 LD HL,($B284)
B50B ADD HL,BC
B50C POP BC
B50D DEC C
B50E JR NZ,_b0ea_45
B510 POP IX
B512 RET
_b0ea_49 B513 POP IX
B515 RET
_b0ea_50 B516 LD E,(HL)
B517 INC HL
B518 LD D,(HL)
B519 INC HL
B51A LD C,(HL)
B51B INC HL
B51C LD A,(HL)
B51D INC HL
B51E LD B,$00
_b0ea_51 B520 PUSH BC
B521 PUSH DE
B522 LDIR
B524 POP DE
B525 EX DE,HL
B526 LD BC,$0022
B529 ADD HL,BC
B52A EX DE,HL
B52B POP BC
B52C DEC A
B52D JR NZ,_b0ea_51
B52F RET
_b0ea_52 B530 LD HL,_7e90
B533 LD C,$00
_b0ea_53 B535 LD A,(HL)
B536 INC HL
B537 OR (HL)
B538 JR Z,_b0ea_55
B53A PUSH HL
B53B INC HL
B53C LD B,(HL)
B53D INC HL
B53E LD E,(HL)
B53F INC HL
B540 LD D,$00
_b0ea_54 B542 ADD HL,DE
B543 DJNZ _b0ea_54
B545 INC C
B546 JR _b0ea_53
_b0ea_55 B548 LD A,C
_b0ea_56 B549 AND A
B54A JR Z,_b0ea_57
B54C POP HL
B54D DEC HL
B54E PUSH AF
B54F CALL _b0ea_50
B552 POP AF
B553 DEC A
B554 JR _b0ea_56
_b0ea_57 B556 LD HL,$0000
B559 LD (_7e90),HL
B55C RET
_b0ea_58 B55D LD HL,$6929
B560 LD A,(HL)
B561 DEC HL
B562 OR (HL)
B563 RET Z
B564 CALL _b0ea_50
B567 LD HL,$0000
B56A LD ($6928),HL
B56D RET
Prev: AFFA Up: Map Next: B56E