Routines |
Prev: 31744 | Up: Map | Next: 31917 |
|
||||
This routine follows the menu selection and draws the decorative border graphics around the main screen play area using the graphics tiles at 33818.
The routine that follows at 31917 adds the colours.
Draw top two rows of decorative screen border
|
||||
31747 | LD A,2 | Number of character rows (2) | ||
31749 | LD (35760),A | |||
31752 | LD A,32 | Start in top left of screen display | ||
31754 | LD (35759),A | Number of columns (32) | ||
31757 | LD HL,16384 | |||
31760 | LD DE,33818 | Start of graphics | ||
31763 | CALL 33267 | Draw onto screen | ||
Draw left-hand column of decorative border (2 character columns, 14 rows)
|
||||
31766 | LD A,2 | Number of columns (2) | ||
31768 | LD (35759),A | |||
31771 | LD A,14 | Number of character rows (14) | ||
31773 | LD (35760),A | |||
31776 | LD DE,34330 | Start of graphics data for this section | ||
31779 | LD HL,16448 | Set screen display address to starting position | ||
31782 | CALL 33267 | Draw onto screen | ||
Draw bottom left third of screen (devil and left-hand side of scroll)
|
||||
31785 | LD A,7 | 7 columns | ||
31787 | LD (35759),A | |||
31790 | LD A,8 | 8 character rows | ||
31792 | LD (35760),A | |||
31795 | LD DE,34554 | Start of graphics data for this section | ||
31798 | LD HL,20480 | Set screen display to starting position | ||
31801 | CALL 33267 | Draw onto screen | ||
Draw right-hand column of decorative border (2 character columns, 14 rows)
|
||||
31804 | LD A,2 | Number of columns (2) | ||
31806 | LD (35759),A | |||
31809 | LD A,14 | Number of character rows (14) | ||
31811 | LD (35760),A | |||
31814 | LD DE,35002 | Start of graphics data for this section | ||
31817 | LD HL,16478 | Set screen display to starting position | ||
31820 | CALL 33267 | Draw onto screen | ||
Draw decorative scroll in bottom third of screen
|
||||
31823 | LD A,18 | 18 columns | ||
31825 | LD HL,20487 | Set and store screen display starting draw position | ||
31828 | LD (35757),HL | |||
31831 | LD (35756),A | Store column counter (18) | ||
31834 | LD DE,35226 | Point to start of scroll graphics data | ||
The scroll is composed of 18 columns composed of the same 1 x 8 (character) column pattern
|
||||
31837 | LD A,1 | Store number of columns (1) | ||
31839 | LD (35759),A | |||
31842 | LD A,8 | Store number of character rows (8) | ||
31844 | LD (35760),A | |||
31847 | LD HL,(35757) | Retrieve screen display address to draw at | ||
31850 | CALL 33267 | Draw on screen | ||
31853 | LD A,(35756) | Column drawn, so reduce column counter by 1 | ||
31856 | DEC A | If all 18 columns are done, jump to next section | ||
31857 | JR Z,31871 | |||
31859 | LD (35756),A | Re-store column counter | ||
31862 | LD HL,(35757) | Retrieve display screen address pointer | ||
31865 | INC HL | Move it one character to the right... | ||
31866 | LD (35757),HL | ...and store it | ||
31869 | JR 31834 | Continue onto next column | ||
Tiny manual graphic tweak to bottom right of scroll (2 bytes)
|
||||
31871 | LD HL,22487 | Screen display address position | ||
31874 | LD (HL),7 | |||
31876 | INC HL | ...and the one to its right. | ||
31877 | LD (HL),255 | |||
Small scroll overlap in bottom right
|
||||
31879 | LD HL,20727 | Set screen display to starting position | ||
31882 | LD DE,35738 | Point to start of graphics data | ||
31885 | LD A,2 | Number of columns (2) | ||
31887 | LD (35759),A | |||
31890 | LD A,1 | Number of character rows (1) | ||
31892 | LD (35760),A | |||
31895 | CALL 33267 | Draw onto screen | ||
Graphics for bottom third of screen, right hand side (angel and right-hand edge of scroll) - 8 rows x 7 columns
|
||||
31898 | LD A,7 | Number of columns (7) | ||
31900 | LD (35759),A | |||
31903 | LD A,8 | Number of character rows (8) | ||
31905 | LD (35760),A | |||
31908 | LD DE,35290 | Point to start of graphics data | ||
31911 | LD HL,20505 | Set screen display to starting position | ||
31914 | CALL 33267 | Draw onto screen |
Prev: 31744 | Up: Map | Next: 31917 |