summaryrefslogtreecommitdiff
path: root/engine/delay.asm
diff options
context:
space:
mode:
authorBryan Bishop <kanzure@gmail.com>2013-09-08 11:18:39 -0500
committerBryan Bishop <kanzure@gmail.com>2013-09-08 11:18:39 -0500
commit5c4dc08ee451f699471ce69fc8f98265bc80939d (patch)
tree33223a7ef5c01b7fbf4a3a3a176c65b237d5e5ab /engine/delay.asm
parentd4aa6edfa744a45cc82b20cd813462af870b6fef (diff)
parent740f91370db08d2e30c16f34be83c6d14e7d1c60 (diff)
Merge branch 'master' into refactor-preprocessor
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
+