libnds
Macros

Sub engine background registers. More...

Macros

#define BACKGROUND_SUB   (*((bg_attribute *)0x04001008))
 Overlay for sub screen background attributes. More...
 
#define BG_BMP_RAM_SUB(base)   ((u16 *)(((base) * 0x4000) + 0x06200000))
 A macro which returns a u16 pointer to background graphics RAM (sub engine)
 
#define BG_MAP_RAM_SUB(base)   ((u16 *)(((base) * 0x800) + 0x06200000))
 A macro which returns a u16 pointer to background map RAM (sub engine)
 
#define BG_OFFSET_SUB   ((bg_scroll *)(0x04001010))
 Overlay for sub screen background scroll registers. More...
 
#define BG_TILE_RAM_SUB(base)   ((u16 *)(((base) * 0x4000) + 0x06200000))
 A macro which returns a u16 pointer to background tile RAM (sub engine)
 
#define BGCTRL_SUB   ((vu16 *)0x4001008)
 Access to all sub screen background control registers via BGCTRL[x]. More...
 
#define CHAR_BASE_BLOCK_SUB(n)   (((n) * 0x4000) + 0x06200000)
 A macro that returns a u16 pointer to background tile RAM (sub engine). More...
 
#define REG_BG0CNT_SUB   (*(vu16 *)0x4001008)
 Background 0 control register (sub engine) More...
 
#define REG_BG0HOFS_SUB   (*(vu16 *)0x4001010)
 Background 0 horizontal scroll register (sub engine)
 
#define REG_BG0VOFS_SUB   (*(vu16 *)0x4001012)
 Background 0 vertical scroll register (sub engine)
 
#define REG_BG1CNT_SUB   (*(vu16 *)0x400100A)
 Background 1 control register (sub engine) More...
 
#define REG_BG1HOFS_SUB   (*(vu16 *)0x4001014)
 Background 1 horizontal scroll register (sub engine)
 
#define REG_BG1VOFS_SUB   (*(vu16 *)0x4001016)
 Background 1 vertical scroll register (sub engine)
 
#define REG_BG2CNT_SUB   (*(vu16 *)0x400100C)
 Background 2 control register (sub engine) More...
 
#define REG_BG2HOFS_SUB   (*(vu16 *)0x4001018)
 Background 2 horizontal scroll register (sub engine)
 
#define REG_BG2PA_SUB   (*(vs16 *)0x4001020)
 Background 2 affine transform (sub engine)
 
#define REG_BG2PB_SUB   (*(vs16 *)0x4001022)
 Background 2 affine transform (sub engine)
 
#define REG_BG2PC_SUB   (*(vs16 *)0x4001024)
 Background 2 affine transform (sub engine)
 
#define REG_BG2PD_SUB   (*(vs16 *)0x4001026)
 Background 2 affine transform (sub engine)
 
#define REG_BG2VOFS_SUB   (*(vu16 *)0x400101A)
 Background 2 vertical scroll register (sub engine)
 
#define REG_BG2X_SUB   (*(vs32 *)0x4001028)
 Background 2 screen offset (sub engine)
 
#define REG_BG2Y_SUB   (*(vs32 *)0x400102C)
 Background 2 screen offset (sub engine)
 
#define REG_BG3CNT_SUB   (*(vu16 *)0x400100E)
 Background 3 control register (sub engine) More...
 
#define REG_BG3HOFS_SUB   (*(vu16 *)0x400101C)
 Background 3 horizontal scroll register (sub engine)
 
#define REG_BG3PA_SUB   (*(vs16 *)0x4001030)
 Background 3 affine transform (sub engine)
 
#define REG_BG3PB_SUB   (*(vs16 *)0x4001032)
 Background 3 affine transform (sub engine)
 
#define REG_BG3PC_SUB   (*(vs16 *)0x4001034)
 Background 3 affine transform (sub engine)
 
#define REG_BG3PD_SUB   (*(vs16 *)0x4001036)
 Background 3 affine transform (sub engine)
 
#define REG_BG3VOFS_SUB   (*(vu16 *)0x400101E)
 Background 3 vertical scroll register (sub engine)
 
#define REG_BG3X_SUB   (*(vs32 *)0x4001038)
 Background 3 screen offset (sub engine)
 
#define REG_BG3Y_SUB   (*(vs32 *)0x400103C)
 Background 3 screen offset (sub engine)
 
#define SCREEN_BASE_BLOCK_SUB(n)   (((n) * 0x800) + 0x06200000)
 A macro that returns a u16 pointer to background map RAM (sub engine). More...
 

Detailed Description

Sub engine background registers.

Macro Definition Documentation

◆ BACKGROUND_SUB

#define BACKGROUND_SUB   (*((bg_attribute *)0x04001008))

Overlay for sub screen background attributes.

Setting the properties of this struct directly sets background registers.

◆ BG_OFFSET_SUB

#define BG_OFFSET_SUB   ((bg_scroll *)(0x04001010))

Overlay for sub screen background scroll registers.

Setting the properties of this struct directly sets background registers.

◆ BGCTRL_SUB

#define BGCTRL_SUB   ((vu16 *)0x4001008)

Access to all sub screen background control registers via BGCTRL[x].

GBATEK Reference

◆ CHAR_BASE_BLOCK_SUB

#define CHAR_BASE_BLOCK_SUB (   n)    (((n) * 0x4000) + 0x06200000)

A macro that returns a u16 pointer to background tile RAM (sub engine).

Use BG_TILE_RAM_SUB instead if possible.

◆ REG_BG0CNT_SUB

#define REG_BG0CNT_SUB   (*(vu16 *)0x4001008)

Background 0 control register (sub engine)

GBATEK Reference

◆ REG_BG1CNT_SUB

#define REG_BG1CNT_SUB   (*(vu16 *)0x400100A)

Background 1 control register (sub engine)

GBATEK Reference

◆ REG_BG2CNT_SUB

#define REG_BG2CNT_SUB   (*(vu16 *)0x400100C)

Background 2 control register (sub engine)

GBATEK Reference

◆ REG_BG3CNT_SUB

#define REG_BG3CNT_SUB   (*(vu16 *)0x400100E)

Background 3 control register (sub engine)

GBATEK Reference

◆ SCREEN_BASE_BLOCK_SUB

#define SCREEN_BASE_BLOCK_SUB (   n)    (((n) * 0x800) + 0x06200000)

A macro that returns a u16 pointer to background map RAM (sub engine).

Use BG_MAP_RAM_SUB instead if possible.