pokecrystal/home/handshake.asm

43 lines
595 B
NASM
Raw Normal View History

2018-06-24 14:09:41 +00:00
PrinterReceive::
2016-05-27 14:41:59 +00:00
homecall _PrinterReceive
2015-12-15 23:59:49 +00:00
ret
2018-06-24 14:09:41 +00:00
AskSerial::
; send out a handshake while serial int is off
2016-05-11 21:16:03 +00:00
ld a, [wPrinterConnectionOpen]
bit 0, a
ret z
2016-05-11 21:16:03 +00:00
; if we're still interpreting data, don't try to receive
ld a, [wPrinterOpcode]
and a
ret nz
; once every 6 frames
2016-05-11 21:16:03 +00:00
ld hl, wHandshakeFrameDelay
inc [hl]
ld a, [hl]
cp 6
ret c
xor a
ld [hl], a
2016-05-11 21:16:03 +00:00
ld a, 12
ld [wPrinterOpcode], a
; handshake
ld a, $88
ldh [rSB], a
; switch to internal clock
2019-05-05 16:14:46 +00:00
ld a, (0 << rSC_ON) | (1 << rSC_CLOCK)
ldh [rSC], a
; start transfer
2019-05-05 16:14:46 +00:00
ld a, (1 << rSC_ON) | (1 << rSC_CLOCK)
ldh [rSC], a
ret