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 |