summaryrefslogtreecommitdiff
path: root/common/handshake.asm
diff options
context:
space:
mode:
authorBryan Bishop <kanzure@gmail.com>2013-09-09 15:59:08 -0500
committerBryan Bishop <kanzure@gmail.com>2013-09-09 15:59:08 -0500
commit3a2dbb5289e745dfb5f26844148c0981f14e8fcf (patch)
treedfb418aa41502c67ae3f75bab4d3df91b5cfd6c1 /common/handshake.asm
parent37e1aa4e8ec2400ba97db4c767bd3a9fcd43a1ac (diff)
parentabb7f2fa20e49cf56a55c81d4ec86431e3009098 (diff)
Merge branch 'yenatch/split-predefs-specials-stds' into fix-split-predefs-specials-stds
https://github.com/kanzure/pokecrystal/pull/198
Diffstat (limited to 'common/handshake.asm')
-rw-r--r--common/handshake.asm38
1 files changed, 38 insertions, 0 deletions
diff --git a/common/handshake.asm b/common/handshake.asm
new file mode 100644
index 000000000..8ed1473e4
--- /dev/null
+++ b/common/handshake.asm
@@ -0,0 +1,38 @@
+AskSerial: ; 2063
+; send out a handshake while serial int is off
+ ld a, [$c2d4]
+ bit 0, a
+ ret z
+
+ ld a, [$c2d5]
+ and a
+ ret nz
+
+; once every 6 frames
+ ld hl, $ca8a
+ inc [hl]
+ ld a, [hl]
+ cp 6
+ ret c
+
+ xor a
+ ld [hl], a
+
+ ld a, $c
+ ld [$c2d5], a
+
+; handshake
+ ld a, $88
+ ld [rSB], a
+
+; switch to internal clock
+ ld a, %00000001
+ ld [rSC], a
+
+; start transfer
+ ld a, %10000001
+ ld [rSC], a
+
+ ret
+; 208a
+