diff options
author | yenatch <yenatch@gmail.com> | 2013-09-08 23:53:04 -0400 |
---|---|---|
committer | yenatch <yenatch@gmail.com> | 2013-09-08 23:53:04 -0400 |
commit | 4778276f33c59bb0bc56cb381d4fe1dc8da1f9b8 (patch) | |
tree | c0b14e6554e8517c947893ee7ea1af9761c8ce1e /common/handshake.asm | |
parent | e7318ed4bc38baebce0f26048b166c76d13c1838 (diff) |
split serial handshake into common/handshake.asm
Diffstat (limited to 'common/handshake.asm')
-rw-r--r-- | common/handshake.asm | 38 |
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 + |