1
2;	.title	"CGB support"
3;	.module	CGB
4
5	MODULE	scroll_win
6
7	PUBLIC	scroll_win
8	PUBLIC	_scroll_win
9
10	GLOBAL	set_xy_wtt
11
12	SECTION	code_driver
13
14	INCLUDE	"target/gb/def/gb_globals.def"
15
16;void __LIB__ scroll_win(INT8 x, INT8 y) __smallc NONBANKED;
17scroll_win:
18_scroll_win:
19        LD      HL,sp+4         ; Skip return address
20        XOR     A
21        CP      (HL)            ; Is x != 0
22        JR      Z,scroll_1
23
24        LDH     A,(WX)        ; Yes
25        ADD     (HL)
26        LDH     (WX),A
27scroll_1:
28        LD      HL,sp+2         ; Skip return address
29        XOR     A
30        CP      (HL)            ; Is y != 0
31        JR      Z,scroll_2
32
33        LDH     A,(WY)        ; Yes
34        ADD     (HL)
35        LDH     (WY),A
36scroll_2:
37        RET
38