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