git.y1.nz

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.