summaryrefslogtreecommitdiff
path: root/macros/code.asm
diff options
context:
space:
mode:
Diffstat (limited to 'macros/code.asm')
-rw-r--r--macros/code.asm9
1 files changed, 4 insertions, 5 deletions
diff --git a/macros/code.asm b/macros/code.asm
index 5ec214d50..799c27d45 100644
--- a/macros/code.asm
+++ b/macros/code.asm
@@ -35,10 +35,9 @@ jumptable: MACRO
jp hl
ENDM
-; Many mobile functions were dummied out in localization.
-mobile EQUS "ret"
-
maskbits: MACRO
+; masks just enough bits to cover the argument
+; e.g. "maskbits 26" becomes "and %00011111" (since 26 - 1 = %00011001)
; example usage in rejection sampling:
; .loop
; call Random
@@ -47,8 +46,8 @@ maskbits: MACRO
; jr nc, .loop
x = 1
rept 8
-if \1 > x
-x = (x + 1) * 2 +- 1
+if x + 1 < (\1)
+x = x << 1 | 1
endc
endr
and x