summaryrefslogtreecommitdiff
path: root/engine/delay.asm
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2013-09-03 17:36:55 -0400
committeryenatch <yenatch@gmail.com>2013-09-03 17:36:55 -0400
commitb74e63a20dcdb0cf376977426a9dcbe64586273a (patch)
tree9398efbc22ef1541b0c87e64724d6b256ccd458c /engine/delay.asm
parentd2eeab62eac2213b51371ea7359904f652914db3 (diff)
split out delay functions
Diffstat (limited to 'engine/delay.asm')
-rw-r--r--engine/delay.asm23
1 files changed, 23 insertions, 0 deletions
diff --git a/engine/delay.asm b/engine/delay.asm
new file mode 100644
index 000000000..4e8b2147c
--- /dev/null
+++ b/engine/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
+