Sprite Attribute Table descprition and utilities

Summary
Sprite Attribute Table descprition and utilities
Sprite entry bitmasks
VDC_SPRITE_CG_MODE_MASKBitmask for CG mode.
VDC_SPRITE_VERTICAL_FLIP_MASKBitmask for sprite vertical flip flag.
VDC_SPRITE_HORIZONTAL_FLIP_MASKBitmask for sprite horizontal flip flag.
VDC_SPRITE_HEIGHT_MASKBitmask for sprite height.
VDC_SPRITE_WIDTH_MASKBitmask for sprite width.
VDC_SPRITE_PRIORITY_MASKBitmask for sprite priority.
VDC_SPRITE_PALETTE_MASKBitmask for sprite palette index.
Sprite CG modes.
VDC_SPRITE_CG_MODE_B01Bitplanes 0 and 1 are read, 2 and 3 are treated as zeroes.
VDC_SPRITE_CG_MODE_B23Bitplanes 2 and 3 are read, 0 and 1 are treated as zeroes.
Sprite size.Sprite width can be 16 or 32.
VDC_SPRITE_HEIGHT_1616 px sprite height.
VDC_SPRITE_HEIGHT_3232 px sprite height.
VDC_SPRITE_HEIGHT_6464 px sprite height.
VDC_SPRITE_WIDTH_1616 px sprite width.
VDC_SPRITE_HEIGHT_3232 px sprite width.
Sprite control flags
VDC_SPRITE_PRIORITY_LOWThe sprite will be displayed in background.
VDC_SPRITE_PRIORITY_HIGHThe sprite will be displayed in foreground.
VDC_SPRITE_HORIZONTAL_FLIPThe sprite will be flipped horizontally.
VDC_SPRITE_VERTICAL_FLIPThe sprite will be flipped vertically.

Sprite entry bitmasks

VDC_SPRITE_CG_MODE_MASK

VDC_SPRITE_CG_MODE_MASK = $0001

Bitmask for CG mode.

VDC_SPRITE_VERTICAL_FLIP_MASK

VDC_SPRITE_VERTICAL_FLIP_MASK = $80

Bitmask for sprite vertical flip flag.

VDC_SPRITE_HORIZONTAL_FLIP_MASK

VDC_SPRITE_HORIZONTAL_FLIP_MASK = $08

Bitmask for sprite horizontal flip flag.

VDC_SPRITE_HEIGHT_MASK

VDC_SPRITE_HEIGHT_MASK = $30

Bitmask for sprite height.

VDC_SPRITE_WIDTH_MASK

VDC_SPRITE_WIDTH_MASK = $01

Bitmask for sprite width.

VDC_SPRITE_PRIORITY_MASK

VDC_SPRITE_PRIORITY_MASK = $0080

Bitmask for sprite priority.

VDC_SPRITE_PALETTE_MASK

VDC_SPRITE_PALETTE_MASK = $000f

Bitmask for sprite palette index.

Sprite CG modes.

VDC_SPRITE_CG_MODE_B01

VDC_SPRITE_CG_MODE_B01 = $00

Bitplanes 0 and 1 are read, 2 and 3 are treated as zeroes.

Note

This is only valid if the VDC MWR register is set to 2 or 3.

VDC_SPRITE_CG_MODE_B23

VDC_SPRITE_CG_MODE_B23 = $01

Bitplanes 2 and 3 are read, 0 and 1 are treated as zeroes.

Note

This is only valid if the VDC MWR register is set to 2 or 3.

Sprite size.

Sprite width can be 16 or 32.  Its height can be 16, 32 or 64.

VDC_SPRITE_HEIGHT_16

VDC_SPRITE_HEIGHT_16 = $00

16 px sprite height.

VDC_SPRITE_HEIGHT_32

VDC_SPRITE_HEIGHT_32 = $10

32 px sprite height.

VDC_SPRITE_HEIGHT_64

VDC_SPRITE_HEIGHT_64 = $20

64 px sprite height.

VDC_SPRITE_WIDTH_16

VDC_SPRITE_WIDTH_16 = $00

16 px sprite width.

VDC_SPRITE_HEIGHT_32

32 px sprite width.

Sprite control flags

VDC_SPRITE_PRIORITY_LOW

VDC_SPRITE_PRIORITY_LOW = $00

The sprite will be displayed in background.

VDC_SPRITE_PRIORITY_HIGH

VDC_SPRITE_PRIORITY_HIGH = $80

The sprite will be displayed in foreground.

VDC_SPRITE_HORIZONTAL_FLIP

VDC_SPRITE_HORIZONTAL_FLIP = $08

The sprite will be flipped horizontally.

VDC_SPRITE_VERTICAL_FLIP

VDC_SPRITE_VERTICAL_FLIP = $80

The sprite will be flipped vertically.

VDC_SPRITE_CG_MODE_MASK = $0001
Bitmask for CG mode.
VDC_SPRITE_VERTICAL_FLIP_MASK = $80
Bitmask for sprite vertical flip flag.
VDC_SPRITE_HORIZONTAL_FLIP_MASK = $08
Bitmask for sprite horizontal flip flag.
VDC_SPRITE_HEIGHT_MASK = $30
Bitmask for sprite height.
VDC_SPRITE_WIDTH_MASK = $01
Bitmask for sprite width.
VDC_SPRITE_PRIORITY_MASK = $0080
Bitmask for sprite priority.
VDC_SPRITE_PALETTE_MASK = $000f
Bitmask for sprite palette index.
VDC_SPRITE_CG_MODE_B01 = $00
Bitplanes 0 and 1 are read, 2 and 3 are treated as zeroes.
VDC_SPRITE_CG_MODE_B23 = $01
Bitplanes 2 and 3 are read, 0 and 1 are treated as zeroes.
VDC_SPRITE_HEIGHT_16 = $00
16 px sprite height.
VDC_SPRITE_HEIGHT_32 = $10
32 px sprite height.
VDC_SPRITE_HEIGHT_64 = $20
64 px sprite height.
VDC_SPRITE_WIDTH_16 = $00
16 px sprite width.
VDC_SPRITE_PRIORITY_LOW = $00
The sprite will be displayed in background.
VDC_SPRITE_PRIORITY_HIGH = $80
The sprite will be displayed in foreground.
VDC_SPRITE_HORIZONTAL_FLIP = $08
The sprite will be flipped horizontally.
VDC_SPRITE_VERTICAL_FLIP = $80
The sprite will be flipped vertically.
Close