summaryrefslogtreecommitdiff
path: root/common/delay.asm
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2013-09-07 23:38:19 -0400
committeryenatch <yenatch@gmail.com>2013-09-07 23:38:19 -0400
commit9f53825ce2701f94470a98b3decd8013fbeba91a (patch)
tree47c7a1380ebf0569eb7d5765b28f25843d636675 /common/delay.asm
parent7a3a4f913b32784480dc297e8a4794934ec87b06 (diff)
move common asm from engine/ to common/
engine/ was getting really bloated and common asm wasnt what it was made for
Diffstat (limited to 'common/delay.asm')
-rw-r--r--common/delay.asm23
1 files changed, 23 insertions, 0 deletions
diff --git a/common/delay.asm b/common/delay.asm
new file mode 100644
index 000000000..4e8b2147c
--- /dev/null
+++ b/common/delay.asm
@@ -0,0 +1,23 @@
+DelayFrame: ; 45a
+; Wait for one frame
+ ld a, 1
+ ld [VBlankOccurred], a
+
+; Wait for the next VBlank, halting to conserve battery
+.halt
+ halt ; rgbasm adds a nop after this instruction by default
+ ld a, [VBlankOccurred]
+ and a
+ jr nz, .halt
+ ret
+; 468
+
+
+DelayFrames: ; 468
+; Wait c frames
+ call DelayFrame
+ dec c
+ jr nz, DelayFrames
+ ret
+; 46f
+