![]() |
Routines |
| Prev: 7E21 | Up: Map | Next: 8039 |
|
|
||||
|
Draws the graphics for the landscape silhouette used the intro sequence. Graphics are stored at 829F.
Draw a 1-character high middle strip of the landscape containing most of the rolling hills
|
||||
| 7F25 | LD A,$1A | Strip of landscape, 26 columns wide | ||
| 7F27 | LD ($8BAF),A | |||
| 7F2A | LD A,$01 | 1 (character) row high | ||
| 7F2C | LD ($8BB0),A | |||
| 7F2F | LD DE,$829F | Pointer to landscape graphics data | ||
| 7F32 | LD HL,$40E3 | Set screen display address to the left/middle of the screen | ||
| 7F35 | CALL $81F3 | Draw graphics | ||
|
Draw the small trilith-shaped structure over on the left of the scene
|
||||
| 7F38 | LD A,$01 | Just 1 character to draw so 1 column, 1 row | ||
| 7F3A | LD ($8BAF),A | |||
| 7F3D | LD A,$01 | |||
| 7F3F | LD ($8BB0),A | |||
| 7F42 | LD DE,$8377 | Point to graphics data | ||
| 7F45 | LD HL,$40C9 | Point to screen location to draw at | ||
| 7F48 | CALL $81F3 | Draw on screen | ||
|
Draw top section of the thin vertical structure in middle of landscape
|
||||
| 7F4B | LD A,$01 | Just 1 character to draw (1 column, 1 row) | ||
| 7F4D | LD ($8BAF),A | |||
| 7F50 | LD A,$01 | |||
| 7F52 | LD ($8BB0),A | |||
| 7F55 | LD DE,$837F | Point at graphics data | ||
| 7F58 | LD HL,$40D0 | Point to place on screen to draw at | ||
| 7F5B | CALL $81F3 | Draw graphics | ||
|
Cyan highlighted structure on the right of the screen
|
||||
| 7F5E | LD A,$04 | 4 columns | ||
| 7F60 | LD ($8BAF),A | |||
| 7F63 | LD A,$01 | 1 row | ||
| 7F65 | LD ($8BB0),A | |||
| 7F68 | LD DE,$8387 | Point at graphics data | ||
| 7F6B | LD HL,$40D4 | Point at place on screen to draw at | ||
| 7F6E | CALL $81F3 | Draw to screen | ||
|
Highest highlighted structure visible over on the right
|
||||
| 7F71 | LD A,$02 | 2 columns | ||
| 7F73 | LD ($8BAF),A | |||
| 7F76 | LD A,$01 | 1 row | ||
| 7F78 | LD ($8BB0),A | |||
| 7F7B | LD DE,$83A7 | Point at graphics data | ||
| 7F7E | LD HL,$40B5 | Point at place on screen to draw at | ||
| 7F81 | CALL $81F3 | Draw to screen | ||
|
Set the 2 cyan attributes on the structure over on the right
|
||||
| 7F84 | LD HL,$58B5 | First highlight on slightly higher part | ||
| 7F87 | LD (HL),$0D | Cyan colour (INK 5, PAPER 1) | ||
| 7F89 | LD HL,$58D4 | ...and the part to its lower-left | ||
| 7F8C | LD (HL),$0D | |||
|
Lower part of tall cyan highlighted tower structure
|
||||
| 7F8E | LD A,$04 | 4 columns | ||
| 7F90 | LD ($8BAF),A | |||
| 7F93 | LD A,$01 | 1 row | ||
| 7F95 | LD ($8BB0),A | |||
| 7F98 | LD DE,$83B7 | Point at graphics data | ||
| 7F9B | LD HL,$480F | Point at place on screen to draw at | ||
| 7F9E | CALL $81F3 | Draw to screen | ||
|
Set the highlight colour and a few other attributes alongside it
|
||||
| 7FA1 | LD HL,$590F | The bottom of the tower cyan highlight/reflection just drawn | ||
| 7FA4 | LD (HL),$05 | Set to cyan (INK 5, PAPER 0) | ||
| 7FA6 | INC HL | Set the 3 squares to the right of it to blue/black (INK 0, PAPER 1) | ||
| 7FA7 | LD (HL),$08 | |||
| 7FA9 | INC HL | |||
| 7FAA | LD (HL),$08 | |||
| 7FAC | INC HL | |||
| 7FAD | LD (HL),$08 | |||
|
Draw the moon
|
||||
| 7FAF | LD HL,$408D | Point at place on screen to draw at | ||
| 7FB2 | LD A,$01 | Just 1 character so 1 column, 1 row | ||
| 7FB4 | LD ($8BB0),A | |||
| 7FB7 | LD ($8BAF),A | |||
| 7FBA | LD DE,$83D7 | Point at moon graphic data | ||
| 7FBD | CALL $81F3 | Draw it on screen | ||
|
Stars in top right of screen
|
||||
| 7FC0 | LD HL,$4079 | Drawing position set to top right of scene | ||
| 7FC3 | LD A,$01 | 1 row | ||
| 7FC5 | LD ($8BB0),A | |||
| 7FC8 | LD A,$03 | 3 columns (characters) to draw | ||
| 7FCA | LD ($8BAF),A | |||
| 7FCD | LD DE,$83DF | Point at stars graphic data | ||
| 7FD0 | CALL $81F3 | Draw them on screen | ||
|
Stars in top left of screen
|
||||
| 7FD3 | LD HL,$4085 | Draw position in top left of scene | ||
| 7FD6 | LD A,$01 | Just 1 character - 1 row, 1 column | ||
| 7FD8 | LD ($8BB0),A | |||
| 7FDB | LD ($8BAF),A | |||
| 7FDE | LD DE,$83F8 | Point at graphics data | ||
| 7FE1 | CALL $81F3 | Draw them on screen | ||
|
Cyan moon reflection colour and then graphic on right of small trilith
|
||||
| 7FE4 | LD HL,$58CA | Attribute display address location | ||
| 7FE7 | LD (HL),$0D | Cyan colour (INK 5, PAPER 1) | ||
| 7FE9 | LD HL,$40CA | Screen address display location for graphic | ||
| 7FEC | LD A,$01 | 1 character (1 row, 1 column) | ||
| 7FEE | LD ($8BB0),A | |||
| 7FF1 | LD ($8BAF),A | |||
| 7FF4 | LD DE,$8400 | Point at graphics data | ||
| 7FF7 | CALL $81F3 | Draw on screen | ||
|
Cyan moon reflection colour and then graphic on top of small trilith
|
||||
| 7FFA | LD HL,$58A9 | Attribute display address location | ||
| 7FFD | LD (HL),$0D | Cyan colour (INK 5, PAPER 1) | ||
| 7FFF | LD HL,$40A9 | |||
| 8002 | LD A,$01 | 1 character (1 row, 1 column) | ||
| 8004 | LD ($8BB0),A | |||
| 8007 | LD ($8BAF),A | |||
| 800A | LD DE,$8408 | Point at graphics data | ||
| 800D | CALL $81F3 | Draw on screen | ||
|
Cyan moon reflection colour and then graphic on left of small vertical tower
|
||||
| 8010 | LD HL,$58EF | Second character square of tower screen attribute display position | ||
| 8013 | LD (HL),$0D | Cyan colour (INK 5, PAPER 1) | ||
| 8015 | LD HL,$58CF | Top character square of tower screen attribute display position | ||
| 8018 | LD (HL),$0D | Cyan (INK 5, PAPER 1) | ||
|
Next, the graphics
|
||||
| 801A | LD A,$02 | 2 (vertical) rows | ||
| 801C | LD ($8BB0),A | |||
| 801F | LD A,$01 | 1 (character-wide) column | ||
| 8021 | LD ($8BAF),A | |||
| 8024 | LD HL,$8410 | Point at graphics data | ||
| 8027 | LD ($7CC4),HL | |||
| 802A | LD HL,$40CF | |||
| 802D | CALL $8227 | Draw on screen | ||
|
This scene is used both for the intro screen for a new game and the screen where you load a saved game.
|
||||
| 8030 | LD A,($8BAA) | Retrieve the Menu Controls option selected (1-4) | ||
| 8033 | LD E,A | ...and store it in the E register | ||
| 8034 | LD A,($8BAB) | Retrieve the game flag (0 = New Game, 1 = Existing Game) | ||
| 8037 | LD D,A | ...and store it in the D register | ||
| 8038 | RET | |||
| Prev: 7E21 | Up: Map | Next: 8039 |