Prev: 31744 Up: Map Next: 31917
31747: Draw decorative screen border graphics
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.
game border full
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