Hunchback | Routines |
Prev: 633B | Up: Map | Next: 641D |
Used by the routine at 6490.
|
||||
638C | LD A,($60B1) | Does this level have a pit? | ||
638F | CP $00 | |||
6391 | JR NZ,$639F | Jump forward if not. | ||
6393 | LD A,($60C4) | Does this level have bells? | ||
6396 | CP $00 | |||
6398 | JR NZ,$639F | Jump forward if not. | ||
639A | CALL $677A | Draw the bells and jump forward. | ||
639D | JR $63A2 | |||
639F | CALL $70CA | Check for any collision. | ||
63A2 | LD A,($609F) | Did Quasimodo collide or fall off anything? | ||
63A5 | CP $00 | |||
63A7 | JP NZ,$6831 | Jump forward if so to lose a life. | ||
63AA | LD A,($60BF) | Is Quasimodo on the rope? | ||
63AD | CP $00 | |||
63AF | JP NZ,$6465 | Move forward if so. | ||
63B2 | LD A,($607F) | Is Quasimodo's Y co-ordinate near an object? | ||
63B5 | LD HL,$6082 | |||
63B8 | CP (HL) | |||
63B9 | JR NZ,$63CE | Jump forward if not. | ||
63BB | LD HL,$6083 | Is Quasimodo's X co-ordinate near an object? | ||
63BE | LD A,($6080) | |||
63C1 | CP (HL) | |||
63C2 | JR NZ,$63CE | Jump forward if not. | ||
63C4 | LD HL,$6084 | Is Quasimodo's sub-frame near an object? | ||
63C7 | LD A,($6081) | |||
63CA | CP (HL) | |||
63CB | JP Z,$6490 | Jump forward if so and see if there was a collision. | ||
63CE | NOP | |||
63CF | LD A,($60C5) | Has Quasimodo grabbed a bell? | ||
63D2 | CP $00 | |||
63D4 | JR Z,$63E0 | Jump forward if so. | ||
63D6 | LD A,($60C6) | Do objects need updating? | ||
63D9 | CP $01 | |||
63DB | JP Z,$6490 | Jump forward if so. | ||
63DE | JR $63E8 | Otherwise continue. | ||
63E0 | LD A,($60C6) | Do objects need updating when Quasimodo is on a bell? | ||
63E3 | CP $01 | |||
63E5 | JP Z,$6E73 | Jump forward if so. | ||
63E8 | LD A,($6083) | Draw the next object. | ||
63EB | LD E,A | |||
63EC | LD A,($6082) | |||
63EF | LD D,A | |||
63F0 | LD A,($6084) | |||
63F3 | LD C,A | |||
63F4 | LD A,$04 | |||
63F6 | CALL $B798 | |||
63F9 | LD A,($6083) | |||
63FC | LD E,A | |||
63FD | LD A,($6082) | |||
6400 | ADD A,$10 | |||
6402 | LD D,A | |||
6403 | LD A,($6084) | |||
6406 | ADD A,$04 | |||
6408 | LD C,A | |||
6409 | LD A,$04 | |||
640B | CALL $B798 | |||
640E | LD A,($60C5) | Has Quasimodo grabbed a bell? | ||
6411 | CP $00 | |||
6413 | JR Z,$641D | If not, re-draw | ||
6415 | LD A,$01 | Mark objects as needing updating. | ||
6417 | LD ($60C6),A | |||
641A | JP $6E45 | Jump forward. |
Prev: 633B | Up: Map | Next: 641D |