aboutsummaryrefslogtreecommitdiff
path: root/scroll
diff options
context:
space:
mode:
authorMiquel Sabaté Solà <mikisabate@gmail.com>2025-03-07 16:04:42 +0100
committerMiquel Sabaté Solà <mikisabate@gmail.com>2025-03-07 16:07:04 +0100
commitff22231f8a2f3714df701fd7c12b07915adc15e9 (patch)
tree58695f6bd62a9de54d58bc80cae07c4d40c7ad81 /scroll
parent54d9231c26459e12bd2f164f01db2110794639c0 (diff)
downloadcode.nes-ff22231f8a2f3714df701fd7c12b07915adc15e9.tar.gz
code.nes-ff22231f8a2f3714df701fd7c12b07915adc15e9.zip
shared: Add utilities for clearing screens
These are quite mindless, but they are rather useful on simple examples in which we don't care about performance and we just want to show something on the screen. For now this didn't matter much, but on real hardware I was able to reproduce the same glitches as with emulators which randomized memory on both the CPU memory and on the PPU. Hence, just allow some examples to manually reset these regions and avoid silly graphical glitches. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
Diffstat (limited to 'scroll')
-rw-r--r--scroll/roulette.s5
1 files changed, 5 insertions, 0 deletions
diff --git a/scroll/roulette.s b/scroll/roulette.s
index 4b13c22..aca7d72 100644
--- a/scroll/roulette.s
+++ b/scroll/roulette.s
@@ -107,6 +107,7 @@
;;; player around.
.segment "FIXED"
.include "../shared/diskun.s"
+.include "../shared/clear.s"
;;; NOTE: the main bulk of this example. Comments only for the parts which are
;;; specific to this example.
@@ -201,6 +202,10 @@ reset:
;; The main function is used here only for further initialization purposes.
.proc main
+ ;; Clear both screens to avoid funky business, as we are not doing anything
+ ;; specially clever here.
+ CLEAR_SCREENS $20, $24
+
;; Initialize both the palettes and the nametables.
jsr Diskun::init_palettes
jsr init_nametables