Routines |
Prev: BF9D | Up: Map | Next: C07A |
|
||||
|
||||
C03F | CALL $DEF9 | Clear the scroll status panel at the bottom of the screen | ||
Draw Maroc sprite graphic
|
||||
C042 | LD A,$50 | Set vertical pixel position (from top of playing area) | ||
Sprite drawing loop starts here (return from C09F) - continued until Maroc passes the bottom of the playing area
|
||||
C044 | LD ($EAD2),A | |||
C047 | LD A,$78 | Horizontal pixel position | ||
C049 | LD ($EAD3),A | |||
C04C | LD A,$01 | Set graphics draw/erase flag to 1 (DRAW) | ||
C04E | LD ($EACF),A | |||
C051 | LD HL,($EAC2) | Set graphics display address pointer to Maroc's sprite (97C3) | ||
C054 | CALL $DB98 | Draw Maroc | ||
Print intro sequence/game start text on scroll (731F)
|
||||
C057 | LD A,$24 | Intro sequence/game start message is message number #36 (at 731F) | ||
C059 | CALL $E5A5 | Identify the address location for this text message number | ||
C05C | LD ($EAA1),HL | ...and store | ||
C05F | LD HL,$5048 | Set screen display address to top left of the scroll's text area | ||
C062 | LD ($EAA4),HL | ...and store | ||
C065 | CALL $E2D0 | Call text printing routine | ||
Erase Maroc sprite graphic
|
||||
C068 | LD A,$00 | Set graphics draw/erase flag to 1 (ERASE) | ||
C06A | LD ($EACF),A | ...and store | ||
C06D | LD HL,($EAC2) | Retrieve graphics address pointer | ||
C070 | CALL $DB98 | Erase graphic | ||
Lightning flashes are triggered every 16 pixels that Maroc's sprite moves down the screen.
|
||||
C073 | LD A,($EAD2) | Get vertical (Y) pixel co-ordinate | ||
C076 | AND $0F | Check the last 4 bits (0-15) to see if value = 0 | ||
C078 | JR NZ,$C099 | If not, jump out here and continue to move Maroc downwards. If so, continue to next routine (lightning flash effects) |
Prev: BF9D | Up: Map | Next: C07A |