gbdk-2020 | GameBoy Development Kit |
| download: https://git.y1.nz/archives/gbdk.tar.gz | |
| README | Files | Log | Refs | LICENSE |
gbdk-lib/libc/targets/z80/sms_set_native_data.s
1 .include "global.s"
2
3 .title "VRAM utilities"
4 .module VRAMUtils
5 .area _HOME
6
7 .ez80
8
9 ; void set_sprite_4bpp_data(uint8_t start, uint16_t ntiles, const void *src) __preserves_regs(iyh,iyl);
10 _set_sprite_4bpp_data::
11 ; void set_sprite_native_data(uint8_t start, uint16_t ntiles, const void *src) __preserves_regs(iyh,iyl);
12 _set_sprite_native_data::
13 ld h, #1
14 ld l, a
15
16 ; void set_bkg_native_data(uint16_t start, uint16_t ntiles, const void *src) __preserves_regs(iyh,iyl);
17 _set_bkg_native_data::
18 ; void set_bkg_4bpp_data(uint16_t start, uint16_t ntiles, const void *src) __preserves_regs(iyh,iyl);
19 _set_bkg_4bpp_data::
20 ; void set_native_tile_data(uint16_t start, uint16_t ntiles, const void *src) __preserves_regs(iyh,iyl);
21 _set_native_tile_data::
22 ld b, h
23 ld c, l
24
25 DISABLE_VBLANK_COPY ; switch OFF copy shadow SAT
26
27 ld h, b
28 ld l, c
29
30 add hl, hl
31 add hl, hl
32 add hl, hl
33 add hl, hl
34 add hl, hl
35
36 ld bc, #.VDP_VRAM
37 add hl, bc
38
39 VDP_WRITE_CMD h, l
40
41 pop hl
42 ex (sp), hl
43
44 ld c, #.VDP_DATA
45 inc d
46 inc e
47 jr 2$
48
49 1$:
50 ld b, #32
51 3$:
52 outi
53 jr nz, 3$
54 2$:
55 dec e
56 jp nz, 1$
57
58 dec d
59 jp nz, 1$
60
61 ENABLE_VBLANK_COPY ; switch ON copy shadow SAT
62
63 ret
This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.