|
libnds
|
Contains the basic defnitions for controlling the video hardware. More...
Macros | |
| #define | ARGB16(a, r, g, b) (((a) << 15) | (r) | ((g) << 5) | ((b) << 10)) |
| Macro to convert 5 bit r, g, b components plus 1 bit alpha into a single 16 bit ARGB triplet. | |
| #define | BG_GFX ((u16 *)0x6000000) |
| Background graphics memory. | |
| #define | BG_GFX_SUB ((u16 *)0x6200000) |
| Background graphics memory (sub engine) | |
| #define | BG_PALETTE ((u16 *)0x5000000) |
| Background palette memory. | |
| #define | BG_PALETTE_SUB ((u16 *)0x5000400) |
| Background palette memory (sub engine) | |
| #define | DISPLAY_CHAR_BASE(n) (((n) & 7) << 24) |
| Base of the tileset slot in main background VRAM. Main engine only. | |
| #define | DISPLAY_SCREEN_BASE(n) (((n) & 7) << 27) |
| Base of the tilemap/bitmap slot in main background VRAM. Main engine only. | |
| #define | OAM ((u16 *)0x7000000) |
| Pointer to Object Attribute Memory. | |
| #define | OAM_SUB ((u16 *)0x7000400) |
| Pointer to Object Attribute Memory (Sub engine) | |
| #define | RGB15(r, g, b) ((r) | ((g) << 5) | ((b) << 10)) |
| Macro to convert 5 bit r, g, b components into a single 15 bit RGB triplet. | |
| #define | SPRITE_GFX ((u16 *)0x6400000) |
| Sprite graphics memory. | |
| #define | SPRITE_GFX_SUB ((u16 *)0x6600000) |
| Sprite graphics memory (sub engine) | |
| #define | SPRITE_PALETTE ((u16 *)0x5000200) |
| Sprite palette memory. | |
| #define | SPRITE_PALETTE_SUB ((u16 *)0x5000600) |
| Sprite palette memory (sub engine) | |
| #define | VRAM_A ((u16 *)0x6800000) |
| Pointer to VRAM bank A mapped as LCD. | |
| #define | VRAM_B ((u16 *)0x6820000) |
| Pointer to VRAM bank B mapped as LCD. | |
| #define | VRAM_C ((u16 *)0x6840000) |
| Pointer to VRAM bank C mapped as LCD. | |
| #define | VRAM_D ((u16 *)0x6860000) |
| Pointer to VRAM bank D mapped as LCD. | |
| #define | VRAM_E ((u16 *)0x6880000) |
| Pointer to VRAM bank E mapped as LCD. | |
| #define | VRAM_E_EXT_PALETTE ((_ext_palette *)VRAM_E) |
| Used for accessing VRAM E as an extended palette. | |
| #define | VRAM_F ((u16 *)0x6890000) |
| Pointer to VRAM bank F mapped as LCD. | |
| #define | VRAM_F_EXT_PALETTE ((_ext_palette *)VRAM_F) |
| Used for accessing VRAM F as an extended palette. | |
| #define | VRAM_F_EXT_SPR_PALETTE ((_palette *)VRAM_F) |
| Used for accessing VRAM F as an extended sprite palette. | |
| #define | VRAM_G ((u16 *)0x6894000) |
| Pointer to VRAM bank G mapped as LCD. | |
| #define | VRAM_G_EXT_PALETTE ((_ext_palette *)VRAM_G) |
| Used for accessing VRAM G as an extended palette. | |
| #define | VRAM_G_EXT_SPR_PALETTE ((_palette *)VRAM_G) |
| Used for accessing VRAM G as an extended sprite palette. | |
| #define | VRAM_H ((u16 *)0x6898000) |
| Pointer to VRAM bank H mapped as LCD. | |
| #define | VRAM_H_EXT_PALETTE ((_ext_palette *)VRAM_H) |
| Used for accessing VRAM H as an extended palette. | |
| #define | VRAM_I ((u16 *)0x68A0000) |
| Pointer to VRAM bank I mapped as LCD. | |
| #define | VRAM_I_EXT_SPR_PALETTE ((_palette *)VRAM_I) |
| Used for accessing VRAM I as an extended sprite palette. | |
Typedefs | |
| typedef _palette | _ext_palette[16] |
| Array of 16 256-color palettes. | |
| typedef u16 | _palette[256] |
| Array of 256 15-bit RGB values that represents a palette. | |
Enumerations | |
| enum | VideoMode { MODE_0_2D = ( 0 ) | (1 << 16) , MODE_1_2D = ( 1 ) | (1 << 16) , MODE_2_2D = ( 2 ) | (1 << 16) , MODE_3_2D = ( 3 ) | (1 << 16) , MODE_4_2D = ( 4 ) | (1 << 16) , MODE_5_2D = ( 5 ) | (1 << 16) , MODE_6_2D = ( 6 ) | (1 << 16) , MODE_0_3D = MODE_0_2D | (1 << 8) | (1 << 3) , MODE_1_3D = MODE_1_2D | (1 << 8) | (1 << 3) , MODE_2_3D = MODE_2_2D | (1 << 8) | (1 << 3) , MODE_3_3D = MODE_3_2D | (1 << 8) | (1 << 3) , MODE_4_3D = MODE_5_2D | (1 << 8) | (1 << 3) , MODE_5_3D = MODE_5_2D | (1 << 8) | (1 << 3) , MODE_6_3D = MODE_6_2D | (1 << 8) | (1 << 3) , MODE_FIFO = (3 << 16) , MODE_VRAM_A = (( 0 ) << 18) | (2 << 16) , MODE_VRAM_B = (( 1 ) << 18) | (2 << 16) , MODE_VRAM_C = (( 2 ) << 18) | (2 << 16) , MODE_VRAM_D = (( 3 ) << 18) | (2 << 16) , MODE_FB0 = MODE_VRAM_A , MODE_FB1 = MODE_VRAM_B , MODE_FB2 = MODE_VRAM_C , MODE_FB3 = MODE_VRAM_D } |
| The allowed video modes of the 2D processors. More... | |
| enum | VRAM_A_TYPE { VRAM_A_LCD = 0 , VRAM_A_MAIN_BG = 1 , VRAM_A_MAIN_BG_0x06000000 = 1 | (( 0 ) << 3) , VRAM_A_MAIN_BG_0x06020000 = 1 | (( 1 ) << 3) , VRAM_A_MAIN_BG_0x06040000 = 1 | (( 2 ) << 3) , VRAM_A_MAIN_BG_0x06060000 = 1 | (( 3 ) << 3) , VRAM_A_MAIN_SPRITE = 2 , VRAM_A_MAIN_SPRITE_0x06400000 = 2 | (( 0 ) << 3) , VRAM_A_MAIN_SPRITE_0x06420000 = 2 | (( 1 ) << 3) , VRAM_A_TEXTURE = 3 , VRAM_A_TEXTURE_SLOT0 = 3 | (( 0 ) << 3) , VRAM_A_TEXTURE_SLOT1 = 3 | (( 1 ) << 3) , VRAM_A_TEXTURE_SLOT2 = 3 | (( 2 ) << 3) , VRAM_A_TEXTURE_SLOT3 = 3 | (( 3 ) << 3) } |
| Allowed VRAM bank A modes. More... | |
| enum | VRAM_B_TYPE { VRAM_B_LCD = 0 , VRAM_B_MAIN_BG = 1 | (( 1 ) << 3) , VRAM_B_MAIN_BG_0x06000000 = 1 | (( 0 ) << 3) , VRAM_B_MAIN_BG_0x06020000 = 1 | (( 1 ) << 3) , VRAM_B_MAIN_BG_0x06040000 = 1 | (( 2 ) << 3) , VRAM_B_MAIN_BG_0x06060000 = 1 | (( 3 ) << 3) , VRAM_B_MAIN_SPRITE = 2 , VRAM_B_MAIN_SPRITE_0x06400000 = 2 | (( 0 ) << 3) , VRAM_B_MAIN_SPRITE_0x06420000 = 2 | (( 1 ) << 3) , VRAM_B_TEXTURE = 3 | (( 1 ) << 3) , VRAM_B_TEXTURE_SLOT0 = 3 | (( 0 ) << 3) , VRAM_B_TEXTURE_SLOT1 = 3 | (( 1 ) << 3) , VRAM_B_TEXTURE_SLOT2 = 3 | (( 2 ) << 3) , VRAM_B_TEXTURE_SLOT3 = 3 | (( 3 ) << 3) } |
| Allowed VRAM bank B modes. More... | |
| enum | VRAM_C_TYPE { VRAM_C_LCD = 0 , VRAM_C_MAIN_BG = 1 | (( 2 ) << 3) , VRAM_C_MAIN_BG_0x06000000 = 1 | (( 0 ) << 3) , VRAM_C_MAIN_BG_0x06020000 = 1 | (( 1 ) << 3) , VRAM_C_MAIN_BG_0x06040000 = 1 | (( 2 ) << 3) , VRAM_C_MAIN_BG_0x06060000 = 1 | (( 3 ) << 3) , VRAM_C_ARM7 = 2 , VRAM_C_ARM7_0x06000000 = 2 | (( 0 ) << 3) , VRAM_C_ARM7_0x06020000 = 2 | (( 1 ) << 3) , VRAM_C_SUB_BG = 4 , VRAM_C_SUB_BG_0x06200000 = 4 | (( 0 ) << 3) , VRAM_C_TEXTURE = 3 | (( 2 ) << 3) , VRAM_C_TEXTURE_SLOT0 = 3 | (( 0 ) << 3) , VRAM_C_TEXTURE_SLOT1 = 3 | (( 1 ) << 3) , VRAM_C_TEXTURE_SLOT2 = 3 | (( 2 ) << 3) , VRAM_C_TEXTURE_SLOT3 = 3 | (( 3 ) << 3) } |
| Allowed VRAM bank C modes. More... | |
| enum | VRAM_D_TYPE { VRAM_D_LCD = 0 , VRAM_D_MAIN_BG = 1 | (( 3 ) << 3) , VRAM_D_MAIN_BG_0x06000000 = 1 | (( 0 ) << 3) , VRAM_D_MAIN_BG_0x06020000 = 1 | (( 1 ) << 3) , VRAM_D_MAIN_BG_0x06040000 = 1 | (( 2 ) << 3) , VRAM_D_MAIN_BG_0x06060000 = 1 | (( 3 ) << 3) , VRAM_D_ARM7 = 2 | (( 1 ) << 3) , VRAM_D_ARM7_0x06000000 = 2 | (( 0 ) << 3) , VRAM_D_ARM7_0x06020000 = 2 | (( 1 ) << 3) , VRAM_D_SUB_SPRITE = 4 , VRAM_D_SUB_SPRITE_0x06600000 = 4 , VRAM_D_TEXTURE = 3 | (( 3 ) << 3) , VRAM_D_TEXTURE_SLOT0 = 3 | (( 0 ) << 3) , VRAM_D_TEXTURE_SLOT1 = 3 | (( 1 ) << 3) , VRAM_D_TEXTURE_SLOT2 = 3 | (( 2 ) << 3) , VRAM_D_TEXTURE_SLOT3 = 3 | (( 3 ) << 3) } |
| Allowed VRAM bank D modes. More... | |
| enum | VRAM_E_TYPE { VRAM_E_LCD = 0 , VRAM_E_MAIN_BG = 1 , VRAM_E_MAIN_BG_0x06000000 = 1 , VRAM_E_MAIN_SPRITE = 2 , VRAM_E_MAIN_SPRITE_0x06400000 = 2 , VRAM_E_TEX_PALETTE = 3 , VRAM_E_BG_EXT_PALETTE = 4 } |
| Allowed VRAM bank E modes. More... | |
| enum | VRAM_F_TYPE { VRAM_F_LCD = 0 , VRAM_F_MAIN_BG = 1 , VRAM_F_MAIN_BG_0x06000000 = 1 | (( 0 ) << 3) , VRAM_F_MAIN_BG_0x06004000 = 1 | (( 1 ) << 3) , VRAM_F_MAIN_BG_0x06010000 = 1 | (( 2 ) << 3) , VRAM_F_MAIN_BG_0x06014000 = 1 | (( 3 ) << 3) , VRAM_F_MAIN_SPRITE = 2 , VRAM_F_MAIN_SPRITE_0x06400000 = 2 | (( 0 ) << 3) , VRAM_F_MAIN_SPRITE_0x06404000 = 2 | (( 1 ) << 3) , VRAM_F_MAIN_SPRITE_0x06410000 = 2 | (( 2 ) << 3) , VRAM_F_MAIN_SPRITE_0x06414000 = 2 | (( 3 ) << 3) , VRAM_F_TEX_PALETTE = 3 , VRAM_F_TEX_PALETTE_SLOT0 = 3 | (( 0 ) << 3) , VRAM_F_TEX_PALETTE_SLOT1 = 3 | (( 1 ) << 3) , VRAM_F_TEX_PALETTE_SLOT4 = 3 | (( 2 ) << 3) , VRAM_F_TEX_PALETTE_SLOT5 = 3 | (( 3 ) << 3) , VRAM_F_BG_EXT_PALETTE = 4 , VRAM_F_BG_EXT_PALETTE_SLOT01 = 4 | (( 0 ) << 3) , VRAM_F_BG_EXT_PALETTE_SLOT23 = 4 | (( 1 ) << 3) , VRAM_F_SPRITE_EXT_PALETTE = 5 } |
| Allowed VRAM bank F modes. More... | |
| enum | VRAM_G_TYPE { VRAM_G_LCD = 0 , VRAM_G_MAIN_BG = 1 , VRAM_G_MAIN_BG_0x06000000 = 1 | (( 0 ) << 3) , VRAM_G_MAIN_BG_0x06004000 = 1 | (( 1 ) << 3) , VRAM_G_MAIN_BG_0x06010000 = 1 | (( 2 ) << 3) , VRAM_G_MAIN_BG_0x06014000 = 1 | (( 3 ) << 3) , VRAM_G_MAIN_SPRITE = 2 , VRAM_G_MAIN_SPRITE_0x06400000 = 2 | (( 0 ) << 3) , VRAM_G_MAIN_SPRITE_0x06404000 = 2 | (( 1 ) << 3) , VRAM_G_MAIN_SPRITE_0x06410000 = 2 | (( 2 ) << 3) , VRAM_G_MAIN_SPRITE_0x06414000 = 2 | (( 3 ) << 3) , VRAM_G_TEX_PALETTE = 3 , VRAM_G_TEX_PALETTE_SLOT0 = 3 | (( 0 ) << 3) , VRAM_G_TEX_PALETTE_SLOT1 = 3 | (( 1 ) << 3) , VRAM_G_TEX_PALETTE_SLOT4 = 3 | (( 2 ) << 3) , VRAM_G_TEX_PALETTE_SLOT5 = 3 | (( 3 ) << 3) , VRAM_G_BG_EXT_PALETTE = 4 , VRAM_G_BG_EXT_PALETTE_SLOT01 = 4 | (( 0 ) << 3) , VRAM_G_BG_EXT_PALETTE_SLOT23 = 4 | (( 1 ) << 3) , VRAM_G_SPRITE_EXT_PALETTE = 5 } |
| Allowed VRAM bank G modes. More... | |
| enum | VRAM_H_TYPE { VRAM_H_LCD = 0 , VRAM_H_SUB_BG = 1 , VRAM_H_SUB_BG_0x06200000 = 1 , VRAM_H_SUB_BG_EXT_PALETTE = 2 } |
| Allowed VRAM bank H modes. More... | |
| enum | VRAM_I_TYPE { VRAM_I_LCD = 0 , VRAM_I_SUB_BG_0x06208000 = 1 , VRAM_I_SUB_SPRITE = 2 , VRAM_I_SUB_SPRITE_0x06600000 = 2 , VRAM_I_SUB_SPRITE_EXT_PALETTE = 3 } |
| Allowed VRAM bank I modes. More... | |
Functions | |
| static void | setBackdropColor (const u16 color) |
| Sets the backdrop color of the main engine. | |
| static void | setBackdropColorSub (const u16 color) |
| Sets the backdrop color of the sub engine. | |
| void | setBrightness (int screen, int level) |
| Sets the screens brightness. | |
| static bool | video3DEnabled (void) |
| Determine if 3D is enabled. | |
| static void | videoBgDisable (int number) |
| Disables the specified background on the main engine. | |
| static void | videoBgDisableSub (int number) |
| Disables the specified background on the sub engine. | |
| static void | videoBgEnable (int number) |
| Enables the specified background on the main engine. | |
| static void | videoBgEnableSub (int number) |
| Enables the specified background on the sub engine. | |
| static int | videoGetMode (void) |
| Gets the main 2D engine video mode. | |
| static int | videoGetModeSub (void) |
| Gets the sub 2D engine video mode. | |
| static void | videoSetMode (u32 mode) |
| Sets the main 2D engine video mode. | |
| static void | videoSetModeSub (u32 mode) |
| Sets the sub 2D engine video mode. | |
| u32 | vramDefault (void) |
| Set VRAM banks to basic default. | |
| static void | vramRestoreBanks_EFG (u32 vramTemp) |
| Restore the modes of VRAM banks E, F, and G. | |
| static void | vramRestorePrimaryBanks (u32 vramTemp) |
| Restore the main 4 VRAM bank modes. | |
| static void | vramSetBankA (VRAM_A_TYPE a) |
| Set VRAM bank A to the indicated mapping. | |
| static void | vramSetBankB (VRAM_B_TYPE b) |
| Set VRAM bank B to the indicated mapping. | |
| static void | vramSetBankC (VRAM_C_TYPE c) |
| Set VRAM bank C to the indicated mapping. | |
| static void | vramSetBankD (VRAM_D_TYPE d) |
| Set VRAM bank D to the indicated mapping. | |
| static void | vramSetBankE (VRAM_E_TYPE e) |
| Set VRAM bank E to the indicated mapping. | |
| static void | vramSetBankF (VRAM_F_TYPE f) |
| Set VRAM bank F to the indicated mapping. | |
| static void | vramSetBankG (VRAM_G_TYPE g) |
| Set VRAM bank G to the indicated mapping. | |
| static void | vramSetBankH (VRAM_H_TYPE h) |
| Set VRAM bank H to the indicated mapping. | |
| static void | vramSetBankI (VRAM_I_TYPE i) |
| Set VRAM bank I to the indicated mapping. | |
| u32 | vramSetBanks_EFG (VRAM_E_TYPE e, VRAM_F_TYPE f, VRAM_G_TYPE g) |
| Set the mode of VRAM banks E, F and G. | |
| u32 | vramSetPrimaryBanks (VRAM_A_TYPE a, VRAM_B_TYPE b, VRAM_C_TYPE c, VRAM_D_TYPE d) |
| Set the mode of the main 4 VRAM banks. | |
Contains the basic defnitions for controlling the video hardware.
video.h contains the basic defnitions for controlling the video hardware.
The Nintendo DS has nine banks of video memory which may be put to a variety of uses. They can hold the graphics for your sprites, the textures for your 3D space ships, the tiles for your 2D platformer, or a direct map of pixels to render to the screen. Figuring out how to effectively utilize this flexible but limited amount of memory will be one the most challenging endeavors you will face early homebrew development.
The nine banks can be utilized as enumerated by the VRAM types. Banks are labeled A-I. In order to utilize 2D or 3D texture graphics, memory must be mapped for these purposes.
For instance: If you initialize a 2D background on the main engine you will be expected to define both an offset for its map data and an offset for its tile graphics (bitmapped backgrounds differ slightly). These offsets are referenced from the start of 2D background graphics memory. On the main display 2D background graphics begin at 0x6000000.
Without mapping a VRAM bank to this location data written to your background tile and map offsets will be lost.
VRAM banks can be mapped to specific addresses for specific purposes. In our case, any of the 4 main banks and several of the smaller ones can be mapped to the main 2D background engine. A, B, C and D banks are referred to collectivly as main because they are 128KB and flexible in usage.
The above would map the 128KB of VRAM_A to 0x6000000 for use as main background graphics and maps. You can offset the mapping as well and the available offsets are defined in the VRAM_A_TYPE enumeration.
| #define DISPLAY_CHAR_BASE | ( | n | ) | (((n) & 7) << 24) |
Base of the tileset slot in main background VRAM. Main engine only.
The value can go from 0 to 7.
| #define DISPLAY_SCREEN_BASE | ( | n | ) | (((n) & 7) << 27) |
Base of the tilemap/bitmap slot in main background VRAM. Main engine only.
The value can go from 0 to 7.
| enum VideoMode |
The allowed video modes of the 2D processors.
Main 2D engine
|Mode | BG0 | BG1 | BG2 |BG3 | T = Text | 0 | T | T | T | T | R = Rotation | 1 | T | T | T | R | E = Extended Rotation | 2 | T | T | R | R | L = Large Bitmap background | 3 | T | T | T | E | | 4 | T | T | R | E | | 5 | T | T | E | E |
Sub 2D engine
|Mode | BG0 | BG1 | BG2 |BG3 | | 0 | T | T | T | T | | 1 | T | T | T | R | | 2 | T | T | R | R | | 3 | T | T | T | E | | 4 | T | T | R | E |
| enum VRAM_A_TYPE |
Allowed VRAM bank A modes.
| enum VRAM_B_TYPE |
Allowed VRAM bank B modes.
| enum VRAM_C_TYPE |
Allowed VRAM bank C modes.
| enum VRAM_D_TYPE |
Allowed VRAM bank D modes.
| enum VRAM_E_TYPE |
Allowed VRAM bank E modes.
| enum VRAM_F_TYPE |
Allowed VRAM bank F modes.
| enum VRAM_G_TYPE |
Allowed VRAM bank G modes.
| enum VRAM_H_TYPE |
| enum VRAM_I_TYPE |
|
inlinestatic |
Sets the backdrop color of the main engine.
The backdrop color is displayed when all pixels at a given location are transparent (no sprite or background is visible there).
| color | The color to display. |
|
inlinestatic |
Sets the backdrop color of the sub engine.
The backdrop color is displayed when all pixels at a given location are transparent (no sprite or background is visible there).
| color | The color to display. |
| void setBrightness | ( | int | screen, |
| int | level | ||
| ) |
Sets the screens brightness.
| screen | 1 = main screen, 2 = subscreen, 3 = both |
| level | -16 = black, 0 = full brightness, 16 = white |
|
inlinestatic |
Determine if 3D is enabled.
|
inlinestatic |
Disables the specified background on the main engine.
| number | The background number (0 - 3). |
|
inlinestatic |
Disables the specified background on the sub engine.
| number | The background number (0 - 3). |
|
inlinestatic |
Enables the specified background on the main engine.
| number | The background number (0 - 3). |
|
inlinestatic |
Enables the specified background on the sub engine.
| number | The background number (0 - 3). |
|
inlinestatic |
Gets the main 2D engine video mode.
|
inlinestatic |
Gets the sub 2D engine video mode.
|
inlinestatic |
Sets the main 2D engine video mode.
| mode | The video mode to set. |
|
inlinestatic |
Sets the sub 2D engine video mode.
| mode | The video mode to set. |
| u32 vramDefault | ( | void | ) |
Set VRAM banks to basic default.
|
inlinestatic |
Restore the modes of VRAM banks E, F, and G.
Restores the E, F, G bank modes to the value encoded in vramTemp (returned from vramSetBanks_EFG).
| vramTemp | Value to restore the modes. |
|
inlinestatic |
Restore the main 4 VRAM bank modes.
Restores the main 4 banks to the value encoded in vramTemp (returned from vramSetMainBanks).
| vramTemp | Value to restore the modes. |
|
inlinestatic |
Set VRAM bank A to the indicated mapping.
| a | The mapping of the bank. |
|
inlinestatic |
Set VRAM bank B to the indicated mapping.
| b | The mapping of the bank. |
|
inlinestatic |
Set VRAM bank C to the indicated mapping.
| c | The mapping of the bank. |
|
inlinestatic |
Set VRAM bank D to the indicated mapping.
| d | The mapping of the bank. |
|
inlinestatic |
Set VRAM bank E to the indicated mapping.
| e | The mapping of the bank. |
|
inlinestatic |
Set VRAM bank F to the indicated mapping.
| f | The mapping of the bank. |
|
inlinestatic |
Set VRAM bank G to the indicated mapping.
| g | The mapping of the bank. |
|
inlinestatic |
Set VRAM bank H to the indicated mapping.
| h | The mapping of the bank. |
|
inlinestatic |
Set VRAM bank I to the indicated mapping.
| i | The mapping of the bank. |
| u32 vramSetBanks_EFG | ( | VRAM_E_TYPE | e, |
| VRAM_F_TYPE | f, | ||
| VRAM_G_TYPE | g | ||
| ) |
Set the mode of VRAM banks E, F and G.
| e | Mapping mode of VRAM_E |
| f | Mapping mode of VRAM_F |
| g | Mapping mode of VRAM_G |
| u32 vramSetPrimaryBanks | ( | VRAM_A_TYPE | a, |
| VRAM_B_TYPE | b, | ||
| VRAM_C_TYPE | c, | ||
| VRAM_D_TYPE | d | ||
| ) |
Set the mode of the main 4 VRAM banks.
| a | Mapping mode of VRAM_A |
| b | Mapping mode of VRAM_B |
| c | Mapping mode of VRAM_C |
| d | Mapping mode of VRAM_D |