0.3.1
Pattern Name Data

Modules

 Configurations
 

Macros

#define VDP2_SCRN_PAGE_COUNT_CALCULATE(format)    ((format)->plane_size)
 Not yet documented.
 
#define VDP2_SCRN_PAGE_WIDTH_CALCULATE(format)    (((format)->char_size == VDP2_SCRN_CHAR_SIZE_1X1) ? 64 : 32)
 Not yet documented.
 
#define VDP2_SCRN_PAGE_HEIGHT_CALCULATE(format)    (((format)->char_size == VDP2_SCRN_CHAR_SIZE_1X1) ? 64 : 32)
 Not yet documented.
 
#define VDP2_SCRN_PAGE_DIMENSION_CALCULATE(format)
 Not yet documented.
 
#define VDP2_SCRN_PAGE_COUNT_M_CALCULATE(plane_size)    (plane_size)
 Not yet documented.
 
#define VDP2_SCRN_PAGE_WIDTH_M_CALCULATE(char_size)    (((char_size) == VDP2_SCRN_CHAR_SIZE_1X1) ? 64 : 32)
 Not yet documented.
 
#define VDP2_SCRN_PAGE_HEIGHT_M_CALCULATE(char_size)    (((char_size) == VDP2_SCRN_CHAR_SIZE_1X1) ? 64 : 32)
 Not yet documented.
 
#define VDP2_SCRN_PAGE_DIMENSION_M_CALCULATE(char_size)    (((char_size) == VDP2_SCRN_CHAR_SIZE_1X1) ? (64 * 64) : (32 * 32))
 Not yet documented.
 
#define VDP2_SCRN_PAGE_SIZE_CALCULATE(format)    (VDP2_SCRN_PAGE_DIMENSION_CALCULATE(format) * ((format)->pnd_size * 2))
 
#define VDP2_SCRN_PAGE_SIZE_M_CALCULATE(char_size, pnd_size)    (VDP2_SCRN_PAGE_DIMENSION_M_CALCULATE(char_size) * ((pnd_size) * 2))
 Not yet documented.
 
#define VDP2_SCRN_PLANE_SIZE_CALCULATE(format)    (((format)->plane_size) * VDP2_SCRN_PAGE_SIZE_CALCULATE(format))
 
#define VDP2_SCRN_PLANES_2_CNT_CALCULATE(format)    (VDP2_VRAM_BSIZE_2 / VDP2_SCRN_PLANE_SIZE_CALCULATE((format)))
 Not yet documented.
 
#define VDP2_SCRN_PLANES_4_CNT_CALCULATE(format)    (VDP2_VRAM_BSIZE_4 / VDP2_SCRN_PLANE_SIZE_CALCULATE((format)))
 Not yet documented.
 
#define VDP2_SCRN_PND_CP_NUM(addr)   (((uint32_t)(addr)) >> 5)
 Not yet documented.
 
#define VDP2_SCRN_PND_MODE_0_PAL_NUM(cram_addr)    ((((uint32_t)(cram_addr)) >> 5) & 0x007F)
 Not yet documented.
 
#define VDP2_SCRN_PND_MODE_1_PAL_NUM(cram_addr)    ((((uint32_t)(cram_addr)) >> 5) & 0x007F)
 Not yet documented.
 
#define VDP2_SCRN_PND_MODE_2_PAL_NUM(cram_addr)    ((((uint32_t)(cram_addr)) >> 6) & 0x007F)
 Not yet documented.
 
#define VDP2_SCRN_PND_PAL_NUM(cram_mode, cram_addr)    __CONCAT(VDP2_SCRN_PND_MODE_, __CONCAT(cram_mode, _PAL_NUM))(cram_addr)
 Not yet documented.
 

Detailed Description

Description goes here.

Macro Definition Documentation

◆ VDP2_SCRN_PAGE_COUNT_CALCULATE

#define VDP2_SCRN_PAGE_COUNT_CALCULATE (   format)     ((format)->plane_size)

Not yet documented.

Parameters
format

◆ VDP2_SCRN_PAGE_WIDTH_CALCULATE

#define VDP2_SCRN_PAGE_WIDTH_CALCULATE (   format)     (((format)->char_size == VDP2_SCRN_CHAR_SIZE_1X1) ? 64 : 32)

Not yet documented.

Parameters
format

◆ VDP2_SCRN_PAGE_HEIGHT_CALCULATE

#define VDP2_SCRN_PAGE_HEIGHT_CALCULATE (   format)     (((format)->char_size == VDP2_SCRN_CHAR_SIZE_1X1) ? 64 : 32)

Not yet documented.

Parameters
format

◆ VDP2_SCRN_PAGE_DIMENSION_CALCULATE

#define VDP2_SCRN_PAGE_DIMENSION_CALCULATE (   format)
Value:
(((format)->char_size == VDP2_SCRN_CHAR_SIZE_1X1) \
? (64 * 64) \
: (32 * 32))
@ VDP2_SCRN_CHAR_SIZE_1X1
Not yet documented.
Definition: scrn_cell.h:26

Not yet documented.

Parameters
format

◆ VDP2_SCRN_PAGE_COUNT_M_CALCULATE

#define VDP2_SCRN_PAGE_COUNT_M_CALCULATE (   plane_size)     (plane_size)

Not yet documented.

Parameters
plane_size

◆ VDP2_SCRN_PAGE_WIDTH_M_CALCULATE

#define VDP2_SCRN_PAGE_WIDTH_M_CALCULATE (   char_size)     (((char_size) == VDP2_SCRN_CHAR_SIZE_1X1) ? 64 : 32)

Not yet documented.

Parameters
char_size

◆ VDP2_SCRN_PAGE_HEIGHT_M_CALCULATE

#define VDP2_SCRN_PAGE_HEIGHT_M_CALCULATE (   char_size)     (((char_size) == VDP2_SCRN_CHAR_SIZE_1X1) ? 64 : 32)

Not yet documented.

Parameters
char_size

◆ VDP2_SCRN_PAGE_DIMENSION_M_CALCULATE

#define VDP2_SCRN_PAGE_DIMENSION_M_CALCULATE (   char_size)     (((char_size) == VDP2_SCRN_CHAR_SIZE_1X1) ? (64 * 64) : (32 * 32))

Not yet documented.

Parameters
char_size

◆ VDP2_SCRN_PAGE_SIZE_CALCULATE

#define VDP2_SCRN_PAGE_SIZE_CALCULATE (   format)     (VDP2_SCRN_PAGE_DIMENSION_CALCULATE(format) * ((format)->pnd_size * 2))

Possible values for VDP2_SCRN_PAGE_SIZE_CALCULATE (in bytes):

PND size Cell size Size of page
1-word 2x2 0x0800
2-word 2x2 0x1000
1-word 1x1 0x2000
2-word 1x1 0x4000
  • Page dimension is 64x64 if cell size is 1x1.
  • Page dimension is 32x32 if cell size is 2x2.
Parameters
format

◆ VDP2_SCRN_PAGE_SIZE_M_CALCULATE

#define VDP2_SCRN_PAGE_SIZE_M_CALCULATE (   char_size,
  pnd_size 
)     (VDP2_SCRN_PAGE_DIMENSION_M_CALCULATE(char_size) * ((pnd_size) * 2))

Not yet documented.

Parameters
char_size
pnd_size

◆ VDP2_SCRN_PLANE_SIZE_CALCULATE

#define VDP2_SCRN_PLANE_SIZE_CALCULATE (   format)     (((format)->plane_size) * VDP2_SCRN_PAGE_SIZE_CALCULATE(format))

Possible vales for VDP2_SCRN_PLANE_SIZE_CALCULATE (in bytes):

Plane size PND size Cell size Size of plane
1x1 1-word 1x1 0x2000
1-word 2x2 0x0800
2-word 1x1 0x4000
2-word 2x2 0x1000
2x1 1-word 1x1 0x4000
1-word 2x2 0x1000
2-word 1x1 0x8000
2-word 2x2 0x2000
2x2 1-word 1x1 0x8000
1-word 2x2 0x2000
2-word 1x1 0x10000
2-word 2x2 0x4000
Parameters
format

◆ VDP2_SCRN_PLANES_2_CNT_CALCULATE

#define VDP2_SCRN_PLANES_2_CNT_CALCULATE (   format)     (VDP2_VRAM_BSIZE_2 / VDP2_SCRN_PLANE_SIZE_CALCULATE((format)))

Not yet documented.

Possible values (plane count) that can fit within a 4Mbit VRAM bank:

For plane size 1x1:

Planes/bank Cell size PND size Plane size
16 1x1 1-word 0x2000
64 2x2 1-word 0x0800
8 1x1 2-word 0x4000
32 2x2 2-word 0x1000

For plane size 2x1:

Planes/bank Cell size PND size Plane size
8 1x1 1-word 0x4000
32 2x2 1-word 0x1000
4 1x1 2-word 0x8000
16 2x2 2-word 0x2000

For plane size 2x2:

Planes/bank Cell size PND size Plane size
4 1x1 1-word 0x8000
16 2x2 1-word 0x2000
2 1x1 2-word 0x10000
8 2x2 2-word 0x4000
Parameters
format

◆ VDP2_SCRN_PND_CP_NUM

#define VDP2_SCRN_PND_CP_NUM (   addr)    (((uint32_t)(addr)) >> 5)

Not yet documented.

Parameters
addr

◆ VDP2_SCRN_PND_MODE_0_PAL_NUM

#define VDP2_SCRN_PND_MODE_0_PAL_NUM (   cram_addr)     ((((uint32_t)(cram_addr)) >> 5) & 0x007F)

Not yet documented.

Parameters
cram_addr

◆ VDP2_SCRN_PND_MODE_1_PAL_NUM

#define VDP2_SCRN_PND_MODE_1_PAL_NUM (   cram_addr)     ((((uint32_t)(cram_addr)) >> 5) & 0x007F)

Not yet documented.

Parameters
cram_addr

◆ VDP2_SCRN_PND_MODE_2_PAL_NUM

#define VDP2_SCRN_PND_MODE_2_PAL_NUM (   cram_addr)     ((((uint32_t)(cram_addr)) >> 6) & 0x007F)

Not yet documented.

Parameters
cram_addr

◆ VDP2_SCRN_PND_PAL_NUM

#define VDP2_SCRN_PND_PAL_NUM (   cram_mode,
  cram_addr 
)     __CONCAT(VDP2_SCRN_PND_MODE_, __CONCAT(cram_mode, _PAL_NUM))(cram_addr)

Not yet documented.

Parameters
cram_mode
cram_addr