113 lines
2.1 KiB
NASM
113 lines
2.1 KiB
NASM
SEG programSegment
|
|
; Initialized variables
|
|
; ----------------------------------------------------------------------
|
|
|
|
; Intro counter
|
|
introCounter:
|
|
BYTE #$4
|
|
|
|
; Intro string x position, and next increment
|
|
introX:
|
|
BYTE #$0
|
|
introXinc:
|
|
BYTE #$1
|
|
|
|
; Delay
|
|
delay:
|
|
BYTE #$ff
|
|
|
|
; Costants
|
|
; ----------------------------------------------------------------------
|
|
|
|
; Status of the game (costants pre-processor defined, sort of enum)
|
|
ST_INTRO0 = 0
|
|
ST_INTRO1 = 1
|
|
ST_INTRO2 = 2
|
|
ST_INTRO3 = 3
|
|
ST_INTRO4 = 4
|
|
ST_INTRO5 = 5
|
|
ST_INTRO6 = 6
|
|
ST_INTRO7 = 7
|
|
ST_INTRO8 = 8
|
|
ST_MENURESET = 64
|
|
ST_MENU = 65
|
|
ST_LEVEL_TITLE = 128
|
|
ST_LEVEL_LOAD = 129
|
|
ST_PLAY = 130
|
|
ST_DELAY = 131
|
|
ST_END = 132
|
|
ST_PAUSE = 255
|
|
|
|
; Screen features
|
|
SCREEN_W = 40
|
|
SCREEN_H = 24
|
|
|
|
; Tiles
|
|
; -----
|
|
EMPTY_TILE = $e0
|
|
SNAKE_TILE = $e1
|
|
FOOD_TILE = $e2
|
|
WALL_TILE = $e3
|
|
|
|
; Tiles colors
|
|
; Note: these colors will be picked by the level select routine
|
|
; thus their order must match those of the values assigned to tiles
|
|
tilesColors:
|
|
EMPTY_COLOR:
|
|
BYTE $0
|
|
SNAKE_COLOR:
|
|
BYTE $d
|
|
FOOD_COLOR:
|
|
BYTE $a
|
|
WALL_COLOR:
|
|
BYTE $8
|
|
|
|
; Strings
|
|
; ----------------------------------------------------------------------
|
|
|
|
gameoverString:
|
|
BYTE "GAME IS OVER"
|
|
BYTE #0
|
|
intro2string:
|
|
BYTE "RETROFFICINA.GLGPROGRAMS.IT"
|
|
BYTE #0
|
|
intro3string:
|
|
#if DEBUG = 1
|
|
BYTE "DBG RELS"
|
|
#else
|
|
BYTE "2017 (C) 2021"
|
|
#endif
|
|
BYTE #0
|
|
levelIntroString:
|
|
BYTE "NEXT LEVEL"
|
|
BYTE #0
|
|
scoreString:
|
|
BYTE "SCORE PART"
|
|
BYTE #0
|
|
noMoreLevelsString:
|
|
BYTE "NO MORE LEVELS"
|
|
BYTE #0
|
|
introStringA1:
|
|
BYTE "RETROFFICINA"
|
|
BYTE #$0
|
|
introStringA2:
|
|
BYTE "AND"
|
|
BYTE #$0
|
|
introStringA3:
|
|
BYTE "GIOMBA"
|
|
BYTE #$0
|
|
introStringA4:
|
|
BYTE "PRESENT"
|
|
BYTE #$0
|
|
introStringA5:
|
|
BYTE "A COMMODORE 64"
|
|
BYTE #$0
|
|
introStringA6:
|
|
BYTE "VIDEOGAME"
|
|
BYTE #$0
|
|
|
|
; Levels
|
|
; ----------------------------------------------------------------------
|
|
levelsList:
|
|
INCBIN "../res.bin/levels.bin"
|