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 |