![]() |
Routines |
| Prev: DA0A | Up: Map | Next: DA88 |
|
|
||||
|
When Maroc's energy runs out, an animation runs where Maroc spins to the top of the screen:
|
||||
| DA4D | CALL $E46C | Maroc out of energy - run 'death' animation routine | ||
|
Set up screen to display Maroc's current rank
|
||||
| DA50 | CALL $E25B | Clear the playing area (pixels) | ||
| DA53 | LD A,$42 | Set the screen attribute colours to INK 2, BRIGHT 1, PAPER 0 | ||
| DA55 | LD ($EAA9),A | |||
| DA58 | LD ($EAA7),A | Also set Maroc's attribute colours to these attributes for this screen, to avoid a white stripe down the middle of the demon... | ||
| DA5B | CALL $E207 | Draw the attribute colours on screen | ||
|
Draw the demon graphic:
|
||||
| DA5E | LD A,$01 | Demon frame number = 1 | ||
| DA60 | LD ($EB50),A | |||
| DA63 | LD A,$58 | Offset for graphic address table at 97C3. Will point to address at 9871, for demon graphics stored at A6CF. | ||
| DA65 | CALL $E0C2 | Set up graphic to draw | ||
| DA68 | LD A,$70 | Horizontal screen position, in pixels | ||
| DA6A | LD ($EAD3),A | |||
| DA6D | LD A,$40 | Vertical position, in pixels, from top of playing area | ||
| DA6F | LD ($EAD2),A | |||
| DA72 | LD A,$01 | Set draw/erase flag to 1 (DRAW) | ||
| DA74 | LD ($EACF),A | |||
| DA77 | LD A,$00 | High byte for horizontal graphic position, 0 indicates that the graphic is on-screen (within the viewport) as opposed to off to the right or left | ||
| DA79 | LD ($EAD4),A | |||
| DA7C | LD HL,($EB51) | Retrieve address pointer for graphics | ||
| DA7F | LD ($EACD),HL | ...and copy into graphics buffer | ||
| DA82 | CALL $DB98 | Draw the demon graphic on screen | ||
| DA85 | JP $C0A3 | Print Maroc's rank on the scroll and play music | ||
| Prev: DA0A | Up: Map | Next: DA88 |