|
libtonc
|
#include "tonc_memmap.h"Macros | |
| #define | VRAM MEM_VRAM |
| #define | IWRAM MEM_IWRAM |
| #define | EWRAM MEM_EWRAM |
| #define | EWRAM_END (MEM_EWRAM+EWRAM_SIZE) |
| #define | SRAM MEM_SRAM |
| #define | SystemCall swi_call |
| #define | FILL CS_FILL |
| #define | COPY16 CS_CPY16 |
| #define | COPY32 CS_CPY32 |
| #define | DMA16 DMA_16 |
| #define | DMA32 DMA_32 |
| #define | GAMEPAK_DRQ DMA_GAMEPAK |
| #define | DMA_IMMEDIATE DMA_AT_NOW |
| #define | DMA_VBLANK DMA_AT_VBLANK |
| #define | DMA_HBLANK DMA_AT_HBLANK |
| #define | DMA_Copy(channel, source, dest, mode) DMA_TRANSFER(dest, source, mode, channel, DMA_ON) |
| #define | DMA0COPY(source, dest, mode) DMA_Copy(0,(source),(dest),(mode)) |
| #define | DMA1COPY(source, dest, mode) DMA_Copy(1,(source),(dest),(mode)) |
| #define | DMA2COPY(source, dest, mode) DMA_Copy(2,(source),(dest),(mode)) |
| #define | DMA3COPY(source, dest, mode) DMA_Copy(3,(source),(dest),(mode)) |
| #define | DPAD KEY_DIR |
| #define | KEYIRQ_ENABLE KCNT_IRQ |
| #define | KEYIRQ_OR KCNT_OR |
| #define | KEYIRQ_AND KCNT_AND |
| #define | scanKeys key_poll |
| #define | keysDown() key_hit(KEY_FULL) |
| #define | keysDownRepeat() key_repeat(KEY_FULL) |
| #define | keysUp() key_released(KEY_FULL) |
| #define | keysHeld() key_is_down(KEY_FULL) |
| #define | setRepeat key_repeat_limits |
| #define | INT_VECTOR REG_ISR_MAIN |
| #define | MODE32_NORMAL MBOOT_NORMAL |
| #define | MODE16_MULTI MBOOT_MULTI |
| #define | MODE32_2MHZ MBOOT_FAST |
SIOCNT bits | |
| #define | SIO_8BIT 0x0000 |
| Normal 8-bit communication mode. | |
| #define | SIO_32BIT 0x1000 |
| Normal 32-bit communication mode. | |
| #define | SIO_MULTI 0x2000 |
| Multi-play communication mode. | |
| #define | SIO_UART 0x3000 |
| UART communication mode. | |
| #define | SIO_IRQ 0x4000 |
| Enable serial irq. | |
Baud rate settings | |
| #define | SIO_9600 0x0000 |
| Select internal clock. | |
| #define | SIO_38400 0x0001 |
| Select internal clock. | |
| #define | SIO_57600 0x0002 |
| Select internal clock. | |
| #define | SIO_115200 0x0003 |
| Select internal clock. | |
| #define | SIO_CLK_INT (1<<0) |
| Select internal clock. | |
| #define | SIO_2MHZ_CLK (1<<1) |
| Select 2MHz clock. | |
| #define | SIO_RDY (1<<2) |
| Opponent SO state. | |
| #define | SIO_SO_HIGH (1<<3) |
| Our SO state. | |
| #define | SIO_START (1<<7) |
| Select internal clock. | |
SIO modes set with REG_RCNT | |
| #define | R_NORMAL 0x0000 |
| #define | R_MULTI 0x0000 |
| #define | R_UART 0x0000 |
| #define | R_GPIO 0x8000 |
| #define | R_JOYBUS 0xC000 |
General purpose mode control bits used with REG_RCNT | |
| #define | GPIO_SC 0x0001 |
| #define | GPIO_SD 0x0002 |
| #define | GPIO_SI 0x0004 |
| #define | GPIO_SO 0x0008 |
| #define | GPIO_SC_IO 0x0010 |
| #define | GPIO_SD_IO 0x0020 |
| #define | GPIO_SI_IO 0x0040 |
| #define | GPIO_SO_IO 0x0080 |
| #define | GPIO_SC_INPUT 0x0000 |
| #define | GPIO_SD_INPUT 0x0000 |
| #define | GPIO_SI_INPUT 0x0000 |
| #define | GPIO_SO_INPUT 0x0000 |
| #define | GPIO_SC_OUTPUT 0x0010 |
| #define | GPIO_SD_OUTPUT 0x0020 |
| #define | GPIO_SI_OUTPUT 0x0040 |
| #define | GPIO_SO_OUTPUT 0x0080 |
| #define | PCM_DMA_BUF 1584 |
| #define | MAX_DIRECTSOUND_CHANNELS 12 |
| #define | SND1_L_ENABLE SDMG_LSQR1 |
| #define | SND2_L_ENABLE SDMG_LSQR2 |
| #define | SND3_L_ENABLE SDMG_LWAVE |
| #define | SND4_L_ENABLE SDMG_LNOISE |
| #define | SND1_R_ENABLE SDMG_RSQR1 |
| #define | SND2_R_ENABLE SDMG_RSQR2 |
| #define | SND3_R_ENABLE SDMG_RWAVE |
| #define | SND4_R_ENABLE SDMG_RNOISE |
| #define | SNDA_VOL_50 SDS_A50 |
| #define | SNDA_VOL_100 SDS_A100 |
| #define | SNDB_VOL_50 SDS_B50 |
| #define | SNDB_VOL_100 SDS_B100 |
| #define | SNDA_R_ENABLE SDS_AR |
| #define | SNDA_L_ENABLE SDS_AL |
| #define | SNDA_RESET_FIFO SDS_ARESET |
| #define | SNDB_R_ENABLE SDS_BR |
| #define | SNDB_L_ENABLE SDS_BL |
| #define | SNDB_RESET_FIFO SDS_BRESET |
| #define | WAVE_RAM ((vu16*)(REG_BASE+0x0090)) |
Typedefs | |
| typedef void(* | IntFn) (void) |
Variables | |
| u16 | attribute [3] |
| u16 | dummy |
Sound 3 control bits | |
| #define | SOUND3_STEP32 (0<<5) |
| #define | SOUND3_STEP64 (1<<5) |
| #define | SOUND3_SETBANK(n) (n<<6) |
| #define | SOUND3_PLAY (1<<7) |
| #define | SOUND3_STOP (0<<7) |
| #define | OBJATTR OBJ_ATTR |
| #define | OBJAFFINE OBJ_AFFINE |
| #define | OAM oam_mem |
| #define | OBJ_BASE_ADR ((void*)(tile_mem[4])) |
| #define | SPRITE_GFX (( u16*)(tile_mem[4])) |
| #define | BITMAP_OBJ_BASE_ADR ((void*)(tile_mem[5])) |
| #define | SQUARE (ATTR0_SQUARE>>14) |
| #define | WIDE (ATTR0_WIDE>>14) |
| #define | TALL (ATTR0_TALL>>14) |
| #define | ATTR0_NORMAL ATTR0_REG |
| #define | ATTR0_ROTSCALE ATTR0_AFF |
| #define | ATTR0_DISABLED ATTR0_HIDE |
| #define | ATTR0_ROTSCALE_DOUBLE ATTR0_AFF_DBL_BIT |
| #define | ATTR0_COLOR_16 ATTR0_4BPP |
| #define | ATTR0_COLOR_256 ATTR0_8BPP |
| #define | ATTR1_FLIP_X ATTR1_HFLIP |
| #define | ATTR1_FLIP_Y ATTR1_VFLIP |
| #define | ATTR1_ROTDATA(n) ATTR1_AFF_ID(m) |
| #define | ATTR2_PRIORITY(n) ATTR2_PRIO(m) |
| #define | ATTR2_PALETTE(n) ATTR2_PALBANK(m) |
| #define | OBJ_ROT_SCALE_ON ATTR0_AFF |
| #define | OBJ_DISABLE ATTR0_HIDE |
| #define | OBJ_DOUBLE ATTR0_AFF_DBL_BIT |
| #define | OBJ_TRANSLUCENT ATTR0_BLEND |
| #define | OBJ_OBJWINDOW ATTR0_WINDOW |
| #define | OBJ_MOSAIC ATTR0_MOSAIC |
| #define | OBJ_16_COLOR ATTR0_4BPP |
| #define | OBJ_256_COLOR ATTR0_8BPP |
| #define | OBJ_SQUARE ATTR0_SQUARE |
| #define | OBJ_WIDE ATTR0_WIDE |
| #define | OBJ_TALL ATTR0_TALL |
| #define | OBJ_Y(m) ATTR0_Y(m) |
| #define | OBJ_MODE(m) ((m)<<10) |
| #define | OBJ_SHAPE(m) ATTR0_SHAPE(m) |
| #define | OBJ_HFLIP ATTR1_HFLIP |
| #define | OBJ_VFLIP ATTR1_VFLIP |
| #define | OBJ_X(m) ATTR1_X(m) |
| #define | OBJ_ROT_SCALE(m) ATTR1_AFF_ID(m) |
| #define | OBJ_SIZE(m) ATTR1_SIZE(m) |
| #define | OBJ_CHAR(m) ATTR2_ID(m) |
| #define | OBJ_PRIORITY(m) ATTR2_PRIO(m) |
| #define | OBJ_PALETTE(m) ATTR2_PALBANK(m) |
| #define | TIMER_COUNT TM_CASCADE |
| #define | TIMER_IRQ TM_IRQ |
| #define | TIMER_START TM_ENABLE |
| #define | BG_COLORS pal_bg_mem |
| #define | BG_PALETTE pal_bg_mem |
| #define | OBJ_COLORS pal_obj_mem |
| #define | SPRITE_PALETTE pal_obj_mem |
| #define | MODE_0 DCNT_MODE0 |
| #define | MODE_1 DCNT_MODE1 |
| #define | MODE_2 DCNT_MODE2 |
| #define | MODE_3 DCNT_MODE3 |
| #define | MODE_4 DCNT_MODE4 |
| #define | MODE_5 DCNT_MODE5 |
| #define | BACKBUFFER DCNT_PAGE |
| #define | OBJ_1D_MAP DCNT_OBJ_1D |
| #define | LCDC_OFF DCNT_BLANK |
| #define | BG0_ENABLE DCNT_BG0 |
| #define | BG1_ENABLE DCNT_BG1 |
| #define | BG2_ENABLE DCNT_BG2 |
| #define | BG3_ENABLE DCNT_BG3 |
| #define | OBJ_ENABLE DCNT_OBJ |
| #define | WIN0_ENABLE DCNT_WIN0 |
| #define | WIN1_ENABLE DCNT_WIN1 |
| #define | OBJ_WIN_ENABLE DCNT_WINOBJ |
| #define | BG_ALL_ENABLE (0x0F00) |
| #define | LCDC_VBL_FLAG DSTAT_IN_VBL |
| #define | LCDC_HBL_FLAG DSTAT_IN_HBL |
| #define | LCDC_VCNT_FLAG DSTAT_IN_VCT |
| #define | LCDC_VBL DSTAT_VBL_IRQ |
| #define | LCDC_HBL DSTAT_HBL_IRQ |
| #define | LCDC_VCNT DSTAT_VCT_IRQ |
| #define | VCOUNT DSTAT_VCT |
| #define | bg_scroll BG_POINT |
| #define | BGCTRL REG_BGCNT |
| #define | BG_OFFSET REG_BG_OFS |
| #define | BG_16_COLOR BG_4BPP |
| #define | BG_256_COLOR BG_8BPP |
| #define | BG_SIZE_0 BG_SIZE0 |
| #define | BG_SIZE_1 BG_SIZE1 |
| #define | BG_SIZE_2 BG_SIZE2 |
| #define | BG_SIZE_3 BG_SIZE3 |
| #define | BG_WID_32 BG_SIZE_0 |
| #define | BG_WID_64 BG_SIZE_1 |
| #define | BG_HT_32 BG_SIZE_0 |
| #define | BG_HT_64 BG_SIZE_2 |
| #define | TEXTBG_SIZE_256x256 BG_REG_32x32 |
| #define | TEXTBG_SIZE_512x256 BG_REG_64x32 |
| #define | TEXTBG_SIZE_256x512 BG_REG_32x64 |
| #define | TEXTBG_SIZE_512x512 BG_REG_64x64 |
| #define | ROTBG_SIZE_128x128 BG_AFF_16x16 |
| #define | ROTBG_SIZE_256x256 BG_AFF_32x32 |
| #define | ROTBG_SIZE_512x512 BG_AFF_64x64 |
| #define | ROTBG_SIZE_1024x1024 BG_AFF_128x128 |
| #define | BG_PRIORITY(m) BG_PRIO(m) |
| #define | BG_TILE_BASE(m) BG_CBB(m) |
| #define | BG_MAP_BASE(m) BG_SBB(m) |
| #define | TILE_BASE(m) BG_CBB(m) |
| #define | MAP_BASE(m) BG_SBB(m) |
| #define | CHAR_BASE_ADR(m) (void*)(tile_mem[m]) |
| #define | CHAR_BASE_BLOCK(m) (void*)(tile_mem[m]) |
| #define | TILE_BASE_ADR(m) (void*)(tile_mem[m]) |
| #define | MAP_BASE_ADR(m) (void*)(se_mem[m]) |
| #define | SCREEN_BASE_BLOCK(m) (void*)(se_mem[m]) |
| #define | MODE3_LINE M3LINE |
| #define | MODE5_LINE M5LINE |
| #define | MODE3_FB m3_mem |
| #define | MODE5_FB m5_mem |
| #define | MODE5_BB m5_mem_back |
| #define | RGB5 RGB15 |
| #define | RGB8(r, g, b) ( ((r)>>3) | (((g)>>3)<<5) | (((b)>>3)<<10) ) |
| enum | SPRITE_SIZECODE { Sprite_8x8 = 0 , Sprite_16x16 , Sprite_32x32 , Sprite_64x64 , Sprite_16x8 = 0 , Sprite_32x8 , Sprite_32x16 , Sprite_64x32 , Sprite_8x16 = 0 , Sprite_8x32 , Sprite_16x32 , Sprite_32x64 } |
| enum SPRITE_SIZECODE | ALIGN |
| struct SpriteEntry | ALIGN (4) SpriteEntry |