Prev: EF04 Up: Map Next: EF6B
EF07: Rolls the ball down the bannister.
Used by the routine at Update_Room00.
Input
Output
Update_RollBall EF07 LD A,(Flag_BaddyInit)
EF0A OR A
EF0B JR NZ,Update_RollBall_0
EF0D LD A,$01
EF0F LD (Flag_BaddyInit),A
EF12 LD HL,$3008
EF15 LD (RollBall_Position),HL
EF18 LD (BitmapX),HL
EF1B LD A,(RollBall_Bmp)
EF1E CALL Bitmap16Draw
EF21 RET
Update_RollBall_0 EF22 LD HL,(RollBall_Position)
EF25 LD (BitmapX),HL
EF28 LD A,(RollBall_Bmp)
EF2B LD B,A
EF2C LD A,L
EF2D CP $B0
EF2F JR NZ,Update_RollBall_3
EF31 LD A,B
EF32 CALL Bitmap16Draw
EF35 INC H
EF36 INC H
EF37 LD A,H
EF38 CP $AA
EF3A JR C,Update_RollBall_1
EF3C LD HL,$3008
Update_RollBall_1 EF3F LD (BitmapX),HL
EF42 LD A,B
EF43 BIT 1,L
EF45 JR NZ,Update_RollBall_2
EF47 INC A
EF48 CP $90
EF4A JR NZ,Update_RollBall_2
EF4C LD A,$8D
Update_RollBall_2 EF4E CALL Bitmap16Draw
EF51 LD (RollBall_Bmp),A
EF54 LD (RollBall_Position),HL
EF57 LD B,$0A
EF59 CALL Wally_HitTest
EF5C RET
Update_RollBall_3 EF5D LD A,B
EF5E CALL Bitmap16Draw
EF61 LD A,L
EF62 INC L
EF63 INC L
EF64 CP $1A
EF66 JR C,Update_RollBall_1
EF68 INC H
EF69 JR Update_RollBall_1
Prev: EF04 Up: Map Next: EF6B