aboutsummaryrefslogtreecommitdiff
path: root/scroll/include/palettes.s
diff options
context:
space:
mode:
Diffstat (limited to 'scroll/include/palettes.s')
-rw-r--r--scroll/include/palettes.s24
1 files changed, 17 insertions, 7 deletions
diff --git a/scroll/include/palettes.s b/scroll/include/palettes.s
index 9403b7b..1b9f20c 100644
--- a/scroll/include/palettes.s
+++ b/scroll/include/palettes.s
@@ -3,8 +3,18 @@
DEFAULT_COLOR = $11
;; Copies all the palettes for our game into the proper PPU address.
+ ;;
+ ;; NOTE: as explained in `metatile.s`, the engine for the scrolling examples
+ ;; lack the ability to update the attributes for each tile. This is
+ ;; embarrasing, but adding support for it would make these examples more
+ ;; complex than they need to be. Hence we just reproduce the same palette
+ ;; all over and avoid glitches on real hardware or emulators with randomized
+ ;; memory.
.proc init
- PPU_ADDR $3F00
+ lda #$3F
+ sta PPU::ADDRESS
+ lda #$00
+ sta PPU::ADDRESS
ldx #0
@load_palettes_loop:
@@ -17,14 +27,14 @@
palettes:
;; Background
.byte DEFAULT_COLOR, $36, $17, $0F
- .byte DEFAULT_COLOR, $00, $00, $00
- .byte DEFAULT_COLOR, $00, $00, $00
- .byte DEFAULT_COLOR, $00, $00, $00
+ .byte DEFAULT_COLOR, $36, $17, $0F
+ .byte DEFAULT_COLOR, $36, $17, $0F
+ .byte DEFAULT_COLOR, $36, $17, $0F
;; Foreground
.byte DEFAULT_COLOR, $28, $0F, $30
- .byte DEFAULT_COLOR, $00, $00, $00
- .byte DEFAULT_COLOR, $00, $00, $00
- .byte DEFAULT_COLOR, $00, $00, $00
+ .byte DEFAULT_COLOR, $28, $0F, $30
+ .byte DEFAULT_COLOR, $28, $0F, $30
+ .byte DEFAULT_COLOR, $28, $0F, $30
.endproc
.endscope