Prev: 5F40 Up: Map Next: 5F80
5F53: Create Game Window
Used by the routines at LevelNew, PlayerTurnEnds, GameOver_1UP, Game_Restart and StartGame.
Blanks the screen, draws the banner, colours the score line and prints the 1UP, 2UP and HI scores. The in-game text is drawn using the ROM character set, so the screenshots on this page and the others load the ROM and set CHARS to 3C00 (the snapshot does not hold the value that the ROM would have set).
game-window
Blank the screen and write the banner.
CreateWindow 5F53 XOR A Set the border to BLACK.
5F54 OUT ($FE),A
5F56 CALL ResetAttributes Blank the attribute buffer using ResetAttributes.
5F59 CALL ResetScreen Blank the screen buffer using ResetScreen.
5F5C CALL PrintBanner Print the "1UP", "HI" and "2UP" banner using PrintBanner.
Set the attributes for the 1UP lives graphic.
5F5F LD HL,$5808 Point HL at the first cell of the 1UP lives graphic in the attribute buffer (5808).
5F62 LD A,$47 Set the colour to INK:WHITE, PAPER:BLACK (BRIGHT).
5F64 LD (HL),A Colour the first cell of the 1UP lives graphic.
5F65 INC HL Move onto the second cell.
5F66 LD (HL),A Colour the second cell of the 1UP lives graphic.
Set the attributes for the 2UP lives graphic.
5F67 LD HL,$5816 Point HL at the first cell of the 2UP lives graphic in the attribute buffer (5816).
5F6A LD (HL),A Colour the first cell of the 2UP lives graphic.
5F6B INC HL Move onto the second cell.
5F6C LD (HL),A Colour the second cell of the 2UP lives graphic.
Set the attributes for the score line (the whole line is INK:YELLOW, PAPER:BLACK (BRIGHT)).
5F6D LD HL,$5820 Point HL at the start of the score line in the attribute buffer (5820).
5F70 LD BC,$2046 Set the column counter to 20 and the colour to INK:YELLOW, PAPER:BLACK (BRIGHT).
CreateWindow_Loop 5F73 LD (HL),C Colour a cell of the score line.
5F74 INC L Move onto the next column.
5F75 DJNZ CreateWindow_Loop Decrease the column counter by one and loop back to CreateWindow_Loop until the whole score line has been coloured.
Print the three scores.
5F77 CALL Score_1UP Print the 1UP score using Score_1UP.
5F7A CALL Score_2UP Print the 2UP score using Score_2UP.
5F7D JP Score_HI Jump to Score_HI to print the HI score.
View the equivalent code in;
Prev: 5F40 Up: Map Next: 5F80