![]() |
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 |