2018-12-25 22:15:35 +00:00
|
|
|
|
; Each tile defines a 384×80 section of the background, which internally are
|
|
|
|
|
; further divided into 5 rows of 16 pixels each.
|
2018-12-27 20:10:47 +00:00
|
|
|
|
|
|
|
|
|
; No idea why ZUN just didn't go with the actually visible space of 384
|
|
|
|
|
; horizontal tiles. That's 8 wasted tiles per row that the game doesn't do
|
|
|
|
|
; anything with?
|
|
|
|
|
TILES_MEMORY_X = 512 / TILE_W
|
|
|
|
|
|
2018-12-29 17:33:27 +00:00
|
|
|
|
; Subdivides each 16×16 tile into two 16×8 halves and marks whether that half
|
|
|
|
|
; should be redrawn by the next call to tiles_redraw_invalidated() if its
|
|
|
|
|
; entry is nonzero.
|
|
|
|
|
public _halftiles_dirty, _halftiles_dirty_end
|
|
|
|
|
_halftiles_dirty db (TILES_MEMORY_X * TILE_FLAGS_Y) dup(?)
|
|
|
|
|
_halftiles_dirty_end label byte
|
|
|
|
|
|
2018-12-28 17:13:25 +00:00
|
|
|
|
; TH04 starts addressing individual tiles directly via their 16-bit offset
|
|
|
|
|
; in the VRAM.
|
2018-12-27 20:10:47 +00:00
|
|
|
|
public _tile_ring
|
|
|
|
|
_tile_ring dw (TILES_MEMORY_X * TILES_Y) dup(?)
|
|
|
|
|
|
2018-12-25 22:15:35 +00:00
|
|
|
|
if GAME eq 5
|
|
|
|
|
public _tile_index_ptr
|
|
|
|
|
_tile_index_ptr dw ?
|
|
|
|
|
else
|
|
|
|
|
public _tile_index
|
|
|
|
|
_tile_index dw ?
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
public _tile_row, _tile_scrollspeed_ptr
|
|
|
|
|
_tile_row db ?
|
|
|
|
|
db ?
|
|
|
|
|
_tile_scrollspeed_ptr dw ?
|