mirror of
https://github.com/antoinevignau/source.git
synced 2024-12-29 11:30:55 +00:00
67 lines
1.7 KiB
ArmAsm
67 lines
1.7 KiB
ArmAsm
*
|
|
* Pac-Man
|
|
*
|
|
* (c) 1983, Atari
|
|
* (s) 2024, Antoine Vignau
|
|
*
|
|
|
|
sprEMPTY = 0 ; three tile possibilities
|
|
sprDOT = 1
|
|
sprENERGY = 2
|
|
|
|
nbDOTS = 248 ; 244 normal dots & 4 energizer dots
|
|
|
|
L0300 = $0300 ; buffer area to save scores
|
|
|
|
L0800 = $0800 ; $0800..$0BFF
|
|
L0C00 = $0C00 ; board buffers per player ($380 bytes)
|
|
L1000 = $1000 ; P2
|
|
L1380 = $1380 ; P3
|
|
L1700 = $1700 ; P4
|
|
L1A80 = $1A80 ; P5
|
|
|
|
TEXT = $0400
|
|
TEXT2 = $0800
|
|
HGR = $2000
|
|
HGR2 = $4000
|
|
|
|
CH = $24 ; firmware X-pos
|
|
CV = $25 ; firmware Y-pos
|
|
|
|
zpHISCORE = $00 ; (3 bytes) high score
|
|
zpXBIT = $03 ; X from X-coord to X-bit offset
|
|
zpXCOL = $04 ; Y from X-coord to X-col in screen
|
|
zpDECSCORE = $05 ; (3 bytes) the decimal score
|
|
zpTEMP1 = $08
|
|
zpTEMP2 = $09
|
|
zpTEMP3 = $0a
|
|
zpTEMP4 = $0b
|
|
zpX1 = $0c ; (word) start X
|
|
zpX2 = $0e ; (word) end X
|
|
zpY1 = $10 ; (byte) start Y
|
|
zpY2 = $11 ; (byte) end Y
|
|
zpHGR = $12 ; (word) pointer to HGR world
|
|
zpPTR1 = $14 ; (word) 1st pointer
|
|
zpPTR2 = $16 ; (word) 2nd pointer
|
|
zpSPRHEIGHT = $18 ; (byte) sprite height in lines
|
|
zpSPRWIDTH = $1a ; (byte) sprite width in bytes
|
|
zpPTR3 = $1b ; (word)
|
|
zpMONITOR = $1d ; 0: b&w, 1: color
|
|
zp1E = $1e
|
|
zp1F = $1f
|
|
* $20 to $4F are not used
|
|
zpCURPLAYER = $50 ; current player index
|
|
zpNBPLAYERS = $51 ; number of players (1..5)
|
|
zpCURSCORE = $52 ; (3 bytes) score
|
|
zpRANK = $55 ; rank number (ie. the level)
|
|
zpNBDOTS = $56 ; number of dots on the board (248 by default)
|
|
zpNBLIVES = $58 ; number of lives (bit 7 is set)
|
|
zpPTRFRUIT = $5c ; (word) pointer to the fruit sprite
|
|
zpDOTTEMPO = $5e ; tempo for energizer dot blinking
|
|
zpDOTFLAG = $5f ; 0: show dots, 1: hide dots
|
|
zpE0 = $e0 ; 1: Inky, 2: Pinky, 3: Blinky, 4: Clyde
|
|
zpDEMO = $e8 ; 0: game, 1: demo
|
|
zpFGMUSIC = $f4 ; 0: music never played, 1: intro music played
|
|
zpDEVICE = $f5 ; 0: joypad, 1: joystick
|
|
|