; Zero-page variable locations define ROW $20 ; current row define COL $21 ; current column define POINTER $22 ; ptr: start of row define POINTER_H $23 ; ROM routines define CHRIN $ffcf define SCINIT $ff81 define CHROUT $ffd2 ; constants define DOT_CLR $04 ; dot colour, current position define PATH_CLR $07 ; "path" color, already visited define BORDER_CLR $00 ; border which cannot be touched define FINISH_CLR $05 ; border which cannot be touched setup: lda #$00 sta COL ; set initial COL, ROW will depend on mode tay tax lda #$04 fill_screen: sta $0200,y sta $0300,y sta $0400,y sta $0500,y iny bne fill_screen start_menu: jsr SCINIT ; Erase the screen on setup jsr PRINT ; Usage instructions, prompt for difficulty level dcb "M","a","z","e",32,"G","a","m","e","!",$0D dcb "*",32,32,"G","e","t",32,"t","o",32,"t","h","e",32,"g","r","e","e","n",32,"f","i","n","i","s","h",$0D dcb "*",32,32,"D","o",32,"n","o","t",32,"t","o","u","c","h",32,"t","h","e",32,"m","a","z","e",32,"w","a","l","l","s",$0D dcb "*",32,32,"U","s","e",32,"W","A","S","D",32,"t","o",32,"m","o","v","e",$0D dcb "S","e","l","e","c","t",32,"d","i","f","f","i","c","u","l","t","y",32,"l","e","v","e","l",":",$0D dcb "1",32,"-",32,"E","a","s","y",$0D dcb "2",32,"-",32,"H","a","r","d",$0D dcb "E","n","t","e","r",32,"t","h","e",32,"n","u","m","b","e","r",":",00 get_input: JSR CHRIN ; Use ROM routine to get single character ; Check if easy mode selected, display easy maze check_easy: cmp #$31 ; key == 1 bne check_hard jsr PRINT ; Print selected mode dcb $0D,"N","o","w",32,"p","l","a","y","i","n","g",58,32,"E","A","S","Y",32,"l","e","v","e","l",46,32 dcb "P","r","e","s","s",32,"X",32,"t","o",32,"r","e","s","t","a","r","t",46,00 lda #$02 ; Set starting row to 2 sta ROW clc ldy #$00 draw_easy_maze: ; Draw easy maze on bitmap screen lda MAZE_EASY_1, y sta $0200,y lda MAZE_EASY_2, y sta $0300,y lda MAZE_EASY_3, y sta $0400,y lda MAZE_EASY_4, y sta $0500,y iny bne draw_easy_maze beq play ; Check if hard mode selected, display hard maze check_hard: cmp #$32 ; key == 2 bne get_input ; get input again, if not right. jsr PRINT dcb $0D,"N","o","w",32,"p","l","a","y","i","n","g",58,32,"H","A","R","D",32,"l","e","v","e","l",32 dcb "P","r","e","s","s",32,"X",32,"t","o",32,"r","e","s","t","a","r","t",46,00 lda #$01 ; Set starting row to 1 sta ROW clc ldy #$00 draw_hard_maze: ; Draw hard maze on bitmap screen lda MAZE_HARD_1, y sta $0200,y lda MAZE_HARD_2, y sta $0300,y lda MAZE_HARD_3, y sta $0400,y lda MAZE_HARD_4, y sta $0500,y iny bne draw_hard_maze JSR play play: draw: ; Ensure ROW & COL are in range 0:31 lda ROW and #$1f sta ROW lda COL and #$1f sta COL ; Update POINTER with the location ldy ROW lda table_low,y sta POINTER lda table_high,y sta POINTER_H ; Check if we hit wall or finish ldy COL lda (POINTER), y ; load color at curr position cmp #BORDER_CLR ; check if it's a border color (lost) bne check_won ; PRINT GAME LOST MESSAGE ldy #$00 print_game_over: lda game_over_screen1 , y sta $0200,y ; color pixel on page lda game_over_screen2 , y sta $0300,y lda game_over_screen3 , y sta $0400,y lda game_over_screen4 , y sta $0500,y iny ; increment Y bne print_game_over jsr SCINIT jsr PRINT dcb $0D,"Y","o","u",32,"l","o","s","t","!","!",$0D,00 jsr wait_for_restart check_won: cmp #FINISH_CLR ; check if it's finish color (won) bne continue_game ; PRINT GAME WON MESSAGE lda #$05 ldy #$00 print_game_won: sta $0200,y sta $0300,y sta $0400,y sta $0500,y iny bne print_game_won jsr SCINIT jsr PRINT dcb $0D,"Y","o","u",32,"w","o","n","!","!","!",$0D,00 jsr wait_for_restart continue_game: ; store DOT_CLR at the current location lda #DOT_CLR sta (POINTER),y getkey: lda $ff ; get a keystroke beq getkey ldx #$00 ; clear out the key buffer stx $ff cmp #$58 ; handles X or x beq restart cmp #$78 beq restart pha ; save A lda #PATH_CLR ; color the "path" sta (POINTER),y pla ; restore A cmp #$77 ; 'W' or 'w' beq move_up cmp #$57 beq move_up cmp #$64 ; 'D' or 'd' beq move_right cmp #$44 beq move_right cmp #$73 ; 'S' or 's' beq move_down cmp #$53 beq move_down cmp #$61 ; 'A' or 'a' beq move_left cmp #$41 beq move_left jmp done ; If no movement, do nothing move_up: dec ROW jmp done move_right: inc COL jmp done move_down: inc ROW jmp done move_left: dec COL jmp done restart: jsr setup done: jsr draw wait_for_restart: jsr PRINT dcb $0D,"P","r","e","s","s",32,"a","n","y",32,"k","e","y",32,"t","o",32,"R","E","S","T","A","R","T",".",".",".",00 wait_key_press: lda $ff ; get a keystroke beq wait_key_press jmp setup ; these two tables contain the high and low bytes ; of the addresses of the start of each row table_high: dcb $02,$02,$02,$02,$02,$02,$02,$02 dcb $03,$03,$03,$03,$03,$03,$03,$03 dcb $04,$04,$04,$04,$04,$04,$04,$04 dcb $05,$05,$05,$05,$05,$05,$05,$05, table_low: dcb $00,$20,$40,$60,$80,$a0,$c0,$e0 dcb $00,$20,$40,$60,$80,$a0,$c0,$e0 dcb $00,$20,$40,$60,$80,$a0,$c0,$e0 dcb $00,$20,$40,$60,$80,$a0,$c0,$e0 ; -------------------------------------------------------- ; Print a message ; ; Prints the message in memory immediately after the ; JSR PRINT. The message must be null-terminated and ; 255 characters maximum in length. ; zeropage variables define PRINT_PTR $00 define PRINT_PTR_H $01 PRINT: pla clc adc #$01 sta PRINT_PTR pla sta PRINT_PTR_H tya pha ldy #$00 print_next: lda (PRINT_PTR),y beq print_done jsr CHROUT iny jmp print_next print_done: tya clc adc PRINT_PTR sta PRINT_PTR lda PRINT_PTR_H adc #$00 sta PRINT_PTR_H pla tay lda PRINT_PTR_H pha lda PRINT_PTR pha rts MAZE_EASY_1: DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 00, 00 DCB 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 00, 00 DCB 00, 00, 01, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 00, 00 DCB 00, 00, 01, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 00, 00 DCB 00, 00, 01, 01, 00, 00, 01, 01, 01, 01, 01, 00, 00, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 00, 00, 01, 01, 00, 00 DCB 00, 00, 01, 01, 00, 00, 01, 01, 01, 01, 01, 00, 00, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 00, 00, 01, 01, 00, 00 MAZE_EASY_2: DCB 00, 00, 01, 01, 00, 00, 01, 01, 00, 01, 01, 00, 00, 01, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 00, 00, 01, 01, 00, 00 DCB 00, 00, 01, 01, 01, 01, 01, 01, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 01, 01, 01, 00, 00, 01, 01, 00, 00 DCB 00, 00, 01, 01, 01, 01, 01, 01, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 01, 01, 01, 00, 00, 01, 01, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 00, 00, 00, 00, 01, 01, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 00, 00, 00, 00, 01, 01, 00, 00 DCB 00, 00, 01, 01, 01, 01, 01, 01, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 01, 01, 01, 01, 01, 01, 00, 00 DCB 00, 00, 01, 01, 01, 01, 01, 01, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 01, 01, 01, 01, 01, 01, 00, 00 DCB 00, 00, 01, 01, 00, 00, 01, 01, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 01, 01, 00, 00, 01, 01, 00, 00 MAZE_EASY_3: DCB 00, 00, 01, 01, 00, 00, 01, 01, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 01, 01, 00, 00, 01, 01, 00, 00 DCB 00, 00, 01, 01, 00, 00, 01, 01, 01, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 01, 01, 00, 00, 01, 01, 00, 00 DCB 00, 00, 01, 01, 00, 00, 01, 01, 01, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 01, 01, 00, 00, 01, 01, 00, 00 DCB 00, 00, 01, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 01, 01, 00, 00, 01, 01, 00, 00 DCB 00, 00, 01, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 00, 01, 01, 00, 00, 01, 01, 00, 00 DCB 00, 00, 01, 01, 01, 01, 01, 01, 00, 01, 01, 01, 01, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 01, 01, 01, 00, 00, 01, 01, 00, 00 DCB 00, 00, 01, 01, 01, 01, 01, 01, 00, 01, 01, 01, 01, 01, 01, 00, 00, 01, 01, 00, 00, 01, 01, 01, 01, 01, 00, 00, 01, 01, 00, 00 DCB 00, 00, 00, 00, 00, 00, 01, 01, 00, 01, 01, 00, 00, 00, 00, 00, 00, 01, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 00, 00 MAZE_EASY_4: DCB 00, 00, 01, 01, 01, 01, 01, 01, 00, 01, 01, 01, 01, 01, 01, 00, 00, 01, 01, 01, 01, 01, 01, 00, 01, 01, 01, 01, 01, 01, 00, 00 DCB 00, 00, 01, 01, 01, 01, 01, 01, 00, 01, 01, 01, 01, 01, 01, 00, 00, 01, 01, 01, 01, 01, 01, 00, 01, 01, 01, 01, 01, 01, 00, 00 DCB 00, 00, 01, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 00, 00, 00, 00, 00, 00, 01, 01, 00, 01, 01, 00, 00, 00, 00, 00, 00 DCB 00, 00, 01, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 00, 00, 00, 00, 00, 00, 01, 01, 00, 01, 01, 00, 00, 00, 00, 00, 00 DCB 00, 00, 01, 01, 01, 01, 01, 01, 01, 01, 01, 00, 00, 01, 01, 01, 01, 01, 01, 00, 00, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 05 DCB 00, 00, 01, 01, 01, 01, 01, 01, 01, 01, 01, 00, 00, 01, 01, 01, 01, 01, 01, 00, 00, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 05 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 MAZE_HARD_1: DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 01, 01, 01, 01, 01, 01, 01, 01, 00, 01, 01, 01, 01, 01, 01, 01, 01, 00, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 00 DCB 00, 01, 00, 00, 00, 00, 00, 01, 00, 00, 00, 01, 00, 00, 00, 00, 01, 00, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 00 DCB 00, 01, 01, 01, 00, 01, 00, 01, 01, 01, 01, 01, 00, 01, 01, 01, 01, 00, 01, 01, 01, 01, 01, 00, 01, 01, 01, 01, 01, 01, 01, 00 DCB 00, 00, 00, 01, 00, 01, 00, 00, 00, 00, 00, 00, 00, 01, 00, 00, 00, 00, 01, 00, 00, 00, 01, 00, 00, 00, 00, 00, 00, 00, 01, 00 DCB 00, 01, 01, 01, 00, 01, 00, 01, 01, 01, 01, 01, 00, 01, 00, 01, 01, 01, 01, 01, 01, 00, 01, 01, 01, 01, 01, 01, 01, 00, 01, 00 DCB 00, 01, 00, 00, 00, 01, 00, 01, 00, 01, 00, 00, 00, 01, 00, 01, 00, 00, 00, 00, 00, 00, 01, 00, 00, 00, 00, 00, 01, 00, 01, 00 DCB 00, 01, 00, 01, 00, 01, 01, 01, 00, 01, 01, 01, 01, 01, 00, 01, 00, 00, 01, 01, 01, 00, 01, 00, 01, 01, 01, 01, 01, 00, 01, 00 MAZE_HARD_2: DCB 00, 01, 00, 01, 00, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 00, 01, 00, 00, 00, 01, 00, 00, 00, 00, 00, 00, 00 DCB 00, 01, 00, 01, 00, 01, 00, 01, 01, 01, 00, 01, 01, 01, 01, 01, 01, 01, 01, 00, 01, 01, 01, 00, 01, 00, 01, 01, 01, 01, 01, 00 DCB 00, 01, 00, 01, 00, 01, 00, 01, 00, 01, 00, 00, 00, 00, 00, 00, 01, 00, 00, 00, 00, 00, 01, 00, 01, 00, 01, 00, 00, 00, 01, 00 DCB 00, 01, 00, 01, 00, 01, 00, 01, 00, 01, 01, 01, 01, 01, 00, 00, 01, 00, 01, 01, 01, 01, 01, 00, 01, 01, 01, 01, 01, 00, 01, 00 DCB 00, 01, 00, 01, 00, 01, 00, 01, 00, 00, 00, 00, 00, 01, 00, 00, 01, 00, 00, 00, 00, 00, 01, 00, 01, 00, 00, 00, 00, 00, 01, 00 DCB 00, 01, 00, 01, 00, 01, 01, 01, 00, 01, 01, 01, 00, 01, 00, 00, 01, 00, 01, 01, 01, 00, 01, 00, 01, 00, 01, 01, 01, 01, 01, 00 DCB 00, 01, 00, 01, 00, 00, 00, 00, 00, 01, 00, 00, 00, 01, 00, 00, 01, 00, 01, 00, 01, 00, 01, 00, 00, 00, 01, 00, 00, 00, 01, 00 DCB 00, 01, 00, 01, 01, 01, 01, 01, 01, 01, 01, 01, 00, 01, 00, 00, 01, 00, 01, 00, 01, 00, 01, 01, 01, 00, 01, 00, 00, 00, 01, 00 MAZE_HARD_3: DCB 00, 01, 00, 00, 00, 00, 00, 00, 00, 01, 00, 01, 00, 01, 00, 00, 01, 01, 01, 00, 01, 01, 01, 00, 01, 01, 01, 00, 01, 01, 01, 00 DCB 00, 01, 00, 00, 00, 00, 00, 00, 00, 01, 00, 01, 00, 01, 00, 00, 00, 00, 00, 00, 00, 00, 01, 00, 00, 00, 01, 00, 00, 00, 00, 00 DCB 00, 01, 01, 01, 01, 01, 01, 01, 00, 01, 00, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 00, 01, 01, 01, 00, 01, 00, 01, 01, 01, 00 DCB 00, 01, 00, 00, 00, 00, 00, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 00, 01, 00, 01, 00, 00, 00, 01, 00, 01, 00 DCB 00, 01, 01, 01, 00, 01, 01, 01, 00, 01, 01, 01, 00, 01, 01, 01, 01, 00, 01, 00, 01, 00, 01, 00, 01, 01, 01, 01, 01, 00, 01, 00 DCB 00, 00, 00, 00, 00, 01, 00, 01, 00, 01, 00, 01, 00, 01, 00, 00, 01, 00, 01, 00, 01, 00, 00, 00, 00, 00, 00, 00, 01, 00, 01, 00 DCB 00, 01, 01, 01, 01, 01, 00, 01, 00, 01, 00, 01, 01, 01, 00, 00, 01, 01, 01, 00, 01, 01, 01, 01, 01, 01, 01, 00, 01, 00, 01, 00 DCB 00, 01, 00, 00, 00, 01, 00, 00, 00, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 00, 00, 00, 01, 00 MAZE_HARD_4: DCB 00, 01, 00, 01, 01, 01, 00, 01, 01, 01, 00, 01, 01, 01, 00, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 00, 01, 00, 01, 01, 01, 00 DCB 00, 01, 00, 00, 00, 01, 00, 01, 00, 00, 00, 01, 00, 01, 00, 01, 00, 00, 00, 00, 00, 00, 01, 00, 01, 00, 01, 00, 01, 00, 00, 00 DCB 00, 01, 01, 01, 00, 01, 00, 01, 01, 01, 01, 01, 00, 01, 00, 01, 01, 01, 01, 01, 01, 00, 01, 00, 01, 00, 01, 00, 01, 01, 01, 00 DCB 00, 00, 00, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 00, 00, 00, 00, 00, 00, 01, 00, 01, 00, 01, 00, 01, 00, 00, 00, 01, 00 DCB 00, 01, 01, 01, 00, 01, 01, 01, 01, 01, 00, 01, 01, 01, 00, 01, 01, 01, 01, 01, 01, 00, 01, 00, 01, 00, 01, 00, 01, 01, 01, 00 DCB 00, 01, 00, 00, 00, 01, 00, 01, 00, 00, 00, 01, 00, 00, 00, 01, 00, 00, 00, 00, 00, 00, 01, 00, 00, 00, 01, 00, 01, 00, 01, 00 DCB 00, 01, 01, 01, 01, 01, 00, 01, 01, 01, 01, 01, 00, 01, 01, 01, 01, 01, 01, 01, 01, 00, 01, 01, 01, 01, 01, 01, 01, 00, 01, 05 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 game_over_screen1: DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 game_over_screen2: DCB 00, 00, 00, 00, 00, 02, 02, 02, 00, 00, 00, 02, 02, 02, 00, 00, 02, 00, 00, 00, 02, 00, 02, 02, 02, 02, 02, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 02, 02, 02, 02, 02, 00, 02, 02, 02, 02, 02, 00, 02, 02, 00, 02, 02, 00, 02, 02, 02, 02, 02, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 02, 00, 00, 00, 02, 00, 02, 00, 00, 00, 02, 00, 02, 02, 02, 02, 02, 00, 02, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 02, 00, 00, 00, 00, 00, 02, 02, 02, 02, 02, 00, 02, 00, 02, 00, 02, 00, 02, 02, 02, 02, 02, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 02, 00, 00, 02, 02, 00, 02, 02, 02, 02, 02, 00, 02, 00, 02, 00, 02, 00, 02, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 02, 00, 00, 00, 02, 00, 02, 00, 00, 00, 02, 00, 02, 00, 00, 00, 02, 00, 02, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 02, 02, 02, 00, 00, 02, 00, 00, 00, 02, 00, 02, 00, 00, 00, 02, 00, 02, 02, 02, 02, 02, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 game_over_screen3: DCB 00, 00, 00, 00, 00, 02, 02, 02, 00, 00, 02, 00, 00, 00, 02, 00, 02, 02, 02, 02, 02, 00, 02, 02, 02, 02, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 02, 02, 02, 02, 02, 00, 02, 00, 00, 00, 02, 00, 02, 02, 02, 02, 02, 00, 02, 02, 02, 02, 02, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 02, 02, 00, 02, 02, 00, 02, 00, 00, 00, 02, 00, 02, 00, 00, 00, 00, 00, 02, 00, 00, 00, 02, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 02, 00, 00, 00, 02, 00, 02, 00, 00, 02, 02, 00, 02, 02, 02, 02, 02, 00, 02, 02, 02, 02, 02, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 02, 00, 00, 00, 02, 00, 02, 02, 02, 02, 02, 00, 02, 00, 00, 00, 00, 00, 02, 02, 02, 02, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 02, 00, 00, 00, 02, 00, 02, 02, 02, 02, 00, 00, 02, 00, 00, 00, 00, 00, 02, 00, 00, 00, 02, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 02, 02, 02, 00, 00, 00, 02, 02, 00, 00, 00, 02, 02, 02, 02, 02, 00, 02, 00, 00, 00, 02, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 game_over_screen4: DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 DCB 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00