Simple SNES shoot-'em-up game.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

46 lines
1.6 KiB

; Definitions of commonly-used special memory addresses.
;
; These are commonly called "registers" in online documentation, even though
; that feels like a misnomer; these aren't necessarily hardware registers in
; the same sense as PC, A, X, Y, and so on. Despite that, I call them
; "registers" too, since that's what everyone else calls them.
;
; Where possible, I have named these register definitions in the same way that
; they're named in Yoshi's venerable snes.txt document.
; $2100: Screen display register [INIDISP]
; Format: x000bbbb
; x: 0 = screen on, 1 = screen off, bbbb: Brightness ($0-$F)
.define INIDISP $2100
; $2121: Color palette selection register [CGADD]
; Entry 0 corresponds to the SNES background color.
.define CGADD $2121
; $2122: Color data register [CGDATA]
; The palette color format is 15-bit: [0bbbbbgg][gggrrrrr].
; You will typically write to this register twice in a row: first for the
; low-order byte (containing green and red) and then for the high-order byte
; (containing blue and green).
.define CGDATA $2122
; $4200: Counter enable [NMITIMEN]
; n-vh---j n: NMI interrupt enable v: vertical counter enable
; h: horizontal counter enable j: joypad enable
.define NMITIMEN $4200
; $4218: Joypad #1 status [JOY1L]
; Format: AXLR0000
.define JOY1L $4218
; $4219: Joypad #1 status [JOY1H]
; Format: BYsSudlr (s=select, S=start, udlr = joypad)
.define JOY1H $4219
; $421A: Joypad #2 status [JOY2L]
; Format: AXLR0000
.define JOY2L $421A
; $421B: Joypad #2 status [JOY2H]
; Format: BYsSudlr (s=select, S=start, udlr = joypad)
.define JOY2H $421B