aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/asm.s10
-rw-r--r--src/driver.s3
2 files changed, 11 insertions, 2 deletions
diff --git a/include/asm.s b/include/asm.s
index 67b195c..09229f9 100644
--- a/include/asm.s
+++ b/include/asm.s
@@ -20,3 +20,13 @@
.macro JAL ADDR
jmp ADDR
.endmacro
+
+;; Pseudo-instruction from 'nasm' that is not available for 'ca65'. An empty
+;; implementation is actually quite accurate, as it's just a way for 'nasm' to
+;; perform extra checks when programmers want to explicitly make the code fall
+;; through.
+.ifndef __NASM__
+ .macro __fallthrough__ arg
+ ;; Nothing to do.
+ .endmacro
+.endif
diff --git a/src/driver.s b/src/driver.s
index 60869c8..183c63f 100644
--- a/src/driver.s
+++ b/src/driver.s
@@ -156,8 +156,7 @@
@do_update:
jsr Player::update
jsr Bullets::update
- JAL sprite_cycling
- ;; TODO: fall through?
+ __fallthrough__ sprite_cycling
.endproc
.proc sprite_cycling