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

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