summaryrefslogtreecommitdiff
path: root/home/handshake.asm
blob: 2f067e7f6767f59db87f6684fc2a842a7250db7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
PrinterReceive:: ; 2057
	ld a, [hROMBank]
	push af
	ld a, BANK(_PrinterReceive)
	rst Bankswitch

	call _PrinterReceive
	pop af
	rst Bankswitch

	ret
; 2063

AskSerial:: ; 2063
; send out a handshake while serial int is off
	ld a, [wc2d4]
	bit 0, a
	ret z

	ld a, [wc2d5]
	and a
	ret nz

; once every 6 frames
	ld hl, wca8a
	inc [hl]
	ld a, [hl]
	cp 6
	ret c

	xor a
	ld [hl], a

	ld a, $c
	ld [wc2d5], 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