2 ; Copyright (C
) 2004, 2005 Kent Hansen
.
4 ; This file is part of Neotoxin
.
6 ; Neotoxin is free software
; you can redistribute it
and/or modify
7 ; it under the terms of the GNU General Public License as published by
8 ; the Free Software Foundation
; either version
2 of the License
, or
9 ; (at your option
) any later version
.
11 ; Neotoxin is distributed in the hope that it will be useful
,
12 ; but WITHOUT ANY WARRANTY
; without even the implied warranty of
13 ; MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE
. See the
14 ; GNU General Public License
for more details
.
16 ; You should have received a copy of the GNU General Public License
17 ; along with
this program
; if not, write to the Free Software
18 ; Foundation
, Inc
., 59 Temple Place
, Suite
330, Boston
, MA
02111-1307 USA
25 SPRITE_ADDR_REG
.equ $
2003
26 SPRITE_IO_REG
.equ $
2004
27 SPRITE_DMA_REG
.equ $
4014
29 ; Record that describes a sprite
's attributes.
30 .record sprite_attribs v_flip:1, h_flip:1, pri:1, pad0:3, pal:2
32 SPRITE_ATTR_V_FLIP .equ mask sprite_attribs::v_flip
33 SPRITE_ATTR_H_FLIP .equ mask sprite_attribs::h_flip
34 SPRITE_ATTR_PRI .equ mask sprite_attribs::pri
35 SPRITE_ATTR_PAL .equ mask sprite_attribs::pal
37 ; Structure that describes a sprite.
38 ; The field order is such that it can be DMA'ed directly to sprite RAM
.
46 SPRITE_INDEX_INCR
.equ
15*4
47 SPRITE_BASE_INCR
.equ
17*4
50 .extrn reset_sprites
:proc
51 .extrn next_sprite_index
:proc
53 .extrn sprites
:sprite_state
54 .extrn sprite_index
:byte