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/mos6502/nes/set_bk_ts.s

      1     .include    "global.s"
      2 
      3     ; NOTE: This overlay arrangement MUST match that of set_bkg/win[_based]_submap
      4     .area   GBDKOVR (PAG, OVR)
      5     _set_bkg_tiles_PARM_3::
      6     _set_bkg_based_tiles_PARM_3::
      7     _set_win_tiles_PARM_3::
      8     _set_win_based_tiles_PARM_3::   .ds 1
      9     ;
     10     _set_bkg_tiles_PARM_4::
     11     _set_bkg_based_tiles_PARM_4::
     12     _set_win_tiles_PARM_4::
     13     _set_win_based_tiles_PARM_4::   .ds 1
     14     ;
     15     _set_bkg_tiles_PARM_5::
     16     _set_bkg_based_tiles_PARM_5::
     17     _set_win_tiles_PARM_5::
     18     _set_win_based_tiles_PARM_5::   .ds 2
     19     ;
     20     _set_bkg_based_tiles_PARM_6::
     21     _set_win_based_tiles_PARM_6::   .ds 1
     22     ;
     23     .padding::                      .ds 1
     24     .xpos:                          .ds 1
     25     .ypos:                          .ds 1
     26     .num_rows:                      .ds 1
     27     .src_tiles:                     .ds 2
     28     .remainder:                     .ds 1
     29     .ppuhi:                         .ds 1
     30 
     31     .define .width          "_set_bkg_submap_PARM_3"
     32     .define .height         "_set_bkg_submap_PARM_4"
     33     .define .tiles          "_set_bkg_submap_PARM_5"
     34     .define .map_width      "_set_bkg_submap_PARM_6"
     35     .define .tile_offset    "_set_bkg_based_submap_PARM_7"
     36 
     37     .area   _HOME
     38 
     39 .ifdef NES_WINDOW_LAYER
     40 _set_win_tiles::
     41     ldy #0
     42     sty *_set_win_based_tiles_PARM_6
     43 _set_win_based_tiles::
     44     tay
     45     lda *__current_vram_cfg_write
     46     pha
     47     ora #PPUHI_WIN
     48     sta *__current_vram_cfg_write
     49     tya
     50     jsr _set_bkg_tiles
     51     pla
     52     sta *__current_vram_cfg_write
     53     rts
     54 .endif
     55 
     56 _set_bkg_tiles::
     57     ldy #0
     58     sty *_set_bkg_based_tiles_PARM_6
     59 _set_bkg_based_tiles::
     60     sta *.xpos
     61     stx *.ypos
     62     lda *_set_bkg_based_tiles_PARM_6
     63     sta *.tile_offset
     64     lda *.width
     65     sta *.map_width
     66     lda *.tiles
     67     sta *.src_tiles
     68     lda *.tiles+1
     69     sta *.src_tiles+1
     70     jmp .set_bkg_common

This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.