From 1c0c1476b404ba1c457875f8f7a51d2355067413 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 31 May 2021 13:16:21 -0400 Subject: Clean up headers --- arm9/lib/include/GXS_ioreg.h | 64 ---------- arm9/lib/include/GX_ioreg.h | 84 ------------- arm9/lib/include/NNS_g2d.h | 284 ++++++++++++++++++------------------------- arm9/lib/include/gx.h | 2 +- arm9/lib/include/registers.h | 142 ++++++++++++++++++++++ arm9/src/gf_gfx_loader.c | 1 - 6 files changed, 259 insertions(+), 318 deletions(-) delete mode 100644 arm9/lib/include/GXS_ioreg.h delete mode 100644 arm9/lib/include/GX_ioreg.h diff --git a/arm9/lib/include/GXS_ioreg.h b/arm9/lib/include/GXS_ioreg.h deleted file mode 100644 index 1c66c4af..00000000 --- a/arm9/lib/include/GXS_ioreg.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef POKEDIAMOND_GXS_IOREG_H -#define POKEDIAMOND_GXS_IOREG_H - -#define REG_GXS_DB_DISPCNT_O_SHIFT 31 -#define REG_GXS_DB_DISPCNT_O_SIZE 1 -#define REG_GXS_DB_DISPCNT_O_MASK 0x80000000 - -#define REG_GXS_DB_DISPCNT_BG_SHIFT 30 -#define REG_GXS_DB_DISPCNT_BG_SIZE 1 -#define REG_GXS_DB_DISPCNT_BG_MASK 0x40000000 - -#define REG_GXS_DB_DISPCNT_OH_SHIFT 23 -#define REG_GXS_DB_DISPCNT_OH_SIZE 1 -#define REG_GXS_DB_DISPCNT_OH_MASK 0x00800000 - -#define REG_GXS_DB_DISPCNT_EXOBJ_SHIFT 20 -#define REG_GXS_DB_DISPCNT_EXOBJ_SIZE 2 -#define REG_GXS_DB_DISPCNT_EXOBJ_MASK 0x00300000 - -#define REG_GXS_DB_DISPCNT_MODE_SHIFT 16 -#define REG_GXS_DB_DISPCNT_MODE_SIZE 1 -#define REG_GXS_DB_DISPCNT_MODE_MASK 0x00010000 - -#define REG_GXS_DB_DISPCNT_OW_SHIFT 15 -#define REG_GXS_DB_DISPCNT_OW_SIZE 1 -#define REG_GXS_DB_DISPCNT_OW_MASK 0x00008000 - -#define REG_GXS_DB_DISPCNT_W1_SHIFT 14 -#define REG_GXS_DB_DISPCNT_W1_SIZE 1 -#define REG_GXS_DB_DISPCNT_W1_MASK 0x00004000 - -#define REG_GXS_DB_DISPCNT_W0_SHIFT 13 -#define REG_GXS_DB_DISPCNT_W0_SIZE 1 -#define REG_GXS_DB_DISPCNT_W0_MASK 0x00002000 - -#define REG_GXS_DB_DISPCNT_DISPLAY_SHIFT 8 -#define REG_GXS_DB_DISPCNT_DISPLAY_SIZE 5 -#define REG_GXS_DB_DISPCNT_DISPLAY_MASK 0x00001f00 - -#define REG_GXS_DB_DISPCNT_BLANK_SHIFT 7 -#define REG_GXS_DB_DISPCNT_BLANK_SIZE 1 -#define REG_GXS_DB_DISPCNT_BLANK_MASK 0x00000080 - -#define REG_GXS_DB_DISPCNT_OBJMAP_SHIFT 4 -#define REG_GXS_DB_DISPCNT_OBJMAP_SIZE 3 -#define REG_GXS_DB_DISPCNT_OBJMAP_MASK 0x00000070 - -#define REG_GXS_DB_DISPCNT_BGMODE_SHIFT 0 -#define REG_GXS_DB_DISPCNT_BGMODE_SIZE 3 -#define REG_GXS_DB_DISPCNT_BGMODE_MASK 0x00000007 - -#define REG_GXS_DB_DISPCNT_OBJMAP_CH_SHIFT 4 -#define REG_GXS_DB_DISPCNT_OBJMAP_CH_SIZE 1 -#define REG_GXS_DB_DISPCNT_OBJMAP_CH_MASK 0x00000010 - -#define REG_GXS_DB_DISPCNT_OBJMAP_BM_SHIFT 5 -#define REG_GXS_DB_DISPCNT_OBJMAP_BM_SIZE 2 -#define REG_GXS_DB_DISPCNT_OBJMAP_BM_MASK 0x00000060 - -#define REG_GXS_DB_DISPCNT_EXOBJ_CH_SHIFT 20 -#define REG_GXS_DB_DISPCNT_EXOBJ_CH_SIZE 2 -#define REG_GXS_DB_DISPCNT_EXOBJ_CH_MASK 0x00300000 - -#endif //POKEDIAMOND_GXS_IOREG_H diff --git a/arm9/lib/include/GX_ioreg.h b/arm9/lib/include/GX_ioreg.h deleted file mode 100644 index 81055b0a..00000000 --- a/arm9/lib/include/GX_ioreg.h +++ /dev/null @@ -1,84 +0,0 @@ -#ifndef NITRO_GX_IOREG_H -#define NITRO_GX_IOREG_H - -#define REG_GX_DISPCNT_O_SHIFT 31 -#define REG_GX_DISPCNT_O_SIZE 1 -#define REG_GX_DISPCNT_O_MASK 0x80000000 - -#define REG_GX_DISPCNT_BG_SHIFT 30 -#define REG_GX_DISPCNT_BG_SIZE 1 -#define REG_GX_DISPCNT_BG_MASK 0x40000000 - -#define REG_GX_DISPCNT_BGSCREENOFFSET_SHIFT 27 -#define REG_GX_DISPCNT_BGSCREENOFFSET_SIZE 3 -#define REG_GX_DISPCNT_BGSCREENOFFSET_MASK 0x38000000 - -#define REG_GX_DISPCNT_BGCHAROFFSET_SHIFT 24 -#define REG_GX_DISPCNT_BGCHAROFFSET_SIZE 3 -#define REG_GX_DISPCNT_BGCHAROFFSET_MASK 0x07000000 - -#define REG_GX_DISPCNT_OH_SHIFT 23 -#define REG_GX_DISPCNT_OH_SIZE 1 -#define REG_GX_DISPCNT_OH_MASK 0x00800000 - -#define REG_GX_DISPCNT_EXOBJ_SHIFT 20 -#define REG_GX_DISPCNT_EXOBJ_SIZE 3 -#define REG_GX_DISPCNT_EXOBJ_MASK 0x00700000 - -#define REG_GX_DISPCNT_VRAM_SHIFT 18 -#define REG_GX_DISPCNT_VRAM_SIZE 2 -#define REG_GX_DISPCNT_VRAM_MASK 0x000c0000 - -#define REG_GX_DISPCNT_MODE_SHIFT 16 -#define REG_GX_DISPCNT_MODE_SIZE 2 -#define REG_GX_DISPCNT_MODE_MASK 0x00030000 - -#define REG_GX_DISPCNT_OW_SHIFT 15 -#define REG_GX_DISPCNT_OW_SIZE 1 -#define REG_GX_DISPCNT_OW_MASK 0x00008000 - -#define REG_GX_DISPCNT_W1_SHIFT 14 -#define REG_GX_DISPCNT_W1_SIZE 1 -#define REG_GX_DISPCNT_W1_MASK 0x00004000 - -#define REG_GX_DISPCNT_W0_SHIFT 13 -#define REG_GX_DISPCNT_W0_SIZE 1 -#define REG_GX_DISPCNT_W0_MASK 0x00002000 - -#define REG_GX_DISPCNT_DISPLAY_SHIFT 8 -#define REG_GX_DISPCNT_DISPLAY_SIZE 5 -#define REG_GX_DISPCNT_DISPLAY_MASK 0x00001f00 - -#define REG_GX_DISPCNT_BLANK_SHIFT 7 -#define REG_GX_DISPCNT_BLANK_SIZE 1 -#define REG_GX_DISPCNT_BLANK_MASK 0x00000080 - -#define REG_GX_DISPCNT_OBJMAP_SHIFT 4 -#define REG_GX_DISPCNT_OBJMAP_SIZE 3 -#define REG_GX_DISPCNT_OBJMAP_MASK 0x00000070 - -#define REG_GX_DISPCNT_BG02D3D_SHIFT 3 -#define REG_GX_DISPCNT_BG02D3D_SIZE 1 -#define REG_GX_DISPCNT_BG02D3D_MASK 0x00000008 - -#define REG_GX_DISPCNT_BGMODE_SHIFT 0 -#define REG_GX_DISPCNT_BGMODE_SIZE 3 -#define REG_GX_DISPCNT_BGMODE_MASK 0x00000007 - -#define REG_GX_DISPCNT_OBJMAP_CH_SHIFT 4 -#define REG_GX_DISPCNT_OBJMAP_CH_SIZE 1 -#define REG_GX_DISPCNT_OBJMAP_CH_MASK 0x00000010 - -#define REG_GX_DISPCNT_OBJMAP_BM_SHIFT 5 -#define REG_GX_DISPCNT_OBJMAP_BM_SIZE 2 -#define REG_GX_DISPCNT_OBJMAP_BM_MASK 0x00000060 - -#define REG_GX_DISPCNT_EXOBJ_CH_SHIFT 20 -#define REG_GX_DISPCNT_EXOBJ_CH_SIZE 2 -#define REG_GX_DISPCNT_EXOBJ_CH_MASK 0x00300000 - -#define REG_GX_DISPCNT_EXOBJ_BM_SHIFT 22 -#define REG_GX_DISPCNT_EXOBJ_BM_SIZE 1 -#define REG_GX_DISPCNT_EXOBJ_BM_MASK 0x00400000 - -#endif //NITRO_GX_IOREG_H diff --git a/arm9/lib/include/NNS_g2d.h b/arm9/lib/include/NNS_g2d.h index 722f4767..483f254a 100644 --- a/arm9/lib/include/NNS_g2d.h +++ b/arm9/lib/include/NNS_g2d.h @@ -1,56 +1,44 @@ #ifndef NNSYS_NNS_G2D_H #define NNSYS_NNS_G2D_H + #include "gx.h" typedef struct NNSG2dCharacterData { - - u16 H; - u16 W; - - GXTexFmt pixelFmt; // GXTexFmt - - GXOBJVRamModeChar mapingType; // GXOBJVRamModeChar - u32 characterFmt;// 31 ..... 10 ...........9 8 ................ 0 - // Reserved VramTransfer NNSG2dCharacterFmt - u32 szByte; - void* pRawData; // offset addr of the content. - -} -NNSG2dCharacterData; + u16 H; + u16 W; + GXTexFmt pixelFmt; + GXOBJVRamModeChar mapingType; + u32 characterFmt; + u32 szByte; + void * pRawData; +} NNSG2dCharacterData; typedef struct NNSG2dScreenData { - - u16 screenWidth; // screen width (pixels) of rawData - u16 screenHeight; // screen height (pixels) of rawData - u16 colorMode; // character data color mode - u16 screenFormat; // screen data format - u32 szByte; // size of rawData - u32 rawData[1]; // screen data (variable length) - -} -NNSG2dScreenData; + u16 screenWidth; + u16 screenHeight; + u16 colorMode; + u16 screenFormat; + u32 szByte; + u32 rawData[1]; +} NNSG2dScreenData; typedef struct NNSG2dPaletteData { + GXTexFmt fmt; + BOOL bExtendedPlt; + u32 szByte; + void * pRawData; - GXTexFmt fmt; - BOOL bExtendedPlt; - - u32 szByte; - void* pRawData; // offset addr of the content. - -} -NNSG2dPaletteData; +} NNSG2dPaletteData; typedef enum NNS_G2D_VRAM_TYPE { NNS_G2D_VRAM_TYPE_3DMAIN = 0, NNS_G2D_VRAM_TYPE_2DMAIN = 1, - NNS_G2D_VRAM_TYPE_2DSUB = 2, - NNS_G2D_VRAM_TYPE_MAX = 3 - + NNS_G2D_VRAM_TYPE_2DSUB = 2, + NNS_G2D_VRAM_TYPE_MAX = 3 } NNS_G2D_VRAM_TYPE; typedef enum NNSG2dCharacterDataMapingType @@ -66,199 +54,159 @@ typedef enum NNSG2dCharacterDataMapingType typedef struct NNSG2dImageAttr { - GXTexSizeS sizeS; // Image size (Invalid data is set during 1D mapping.) - GXTexSizeT sizeT; // Image size (Invalid data is set during 1D mapping.) - - GXTexFmt fmt; // Image format - BOOL bExtendedPlt; // Whether or not to use the extended palette - - GXTexPlttColor0 plttUse; // How to use palette number 0 - GXOBJVRamModeChar mappingType; // Mapping mode -} -NNSG2dImageAttr; + GXTexSizeS sizeS; + GXTexSizeT sizeT; + GXTexFmt fmt; + BOOL bExtendedPlt; + GXTexPlttColor0 plttUse; + GXOBJVRamModeChar mappingType; +} NNSG2dImageAttr; typedef struct NNSG2dVRamLocation { - u32 baseAddrOfVram[ NNS_G2D_VRAM_TYPE_MAX ]; -} -NNSG2dVRamLocation; + u32 baseAddrOfVram[ NNS_G2D_VRAM_TYPE_MAX ]; +} NNSG2dVRamLocation; typedef struct NNSG2dImageProxy { - NNSG2dVRamLocation vramLocation; - NNSG2dImageAttr attr; -} -NNSG2dImageProxy; + NNSG2dVRamLocation vramLocation; + NNSG2dImageAttr attr; +} NNSG2dImageProxy; typedef struct NNSG2dPaletteCompressInfo { - u16 numPalette; - u16 pad16; - void* pPlttIdxTbl; // offset addr. + u16 numPalette; + u16 pad16; + void * pPlttIdxTbl; -} -NNSG2dPaletteCompressInfo; +} NNSG2dPaletteCompressInfo; void NNS_G2dLoadImage1DMapping ( - const NNSG2dCharacterData* pSrcData, - u32 baseAddr, - NNS_G2D_VRAM_TYPE type, - NNSG2dImageProxy* pImgProxy + const NNSG2dCharacterData * pSrcData, + u32 baseAddr, + NNS_G2D_VRAM_TYPE type, + NNSG2dImageProxy * pImgProxy ); void NNS_G2dLoadImage2DMapping ( - const NNSG2dCharacterData* pSrcData, - u32 baseAddr, - NNS_G2D_VRAM_TYPE type, - NNSG2dImageProxy* pImgProxy + const NNSG2dCharacterData * pSrcData, + u32 baseAddr, + NNS_G2D_VRAM_TYPE type, + NNSG2dImageProxy * pImgProxy ); typedef struct NNSG2dImagePaletteProxy { - - GXTexFmt fmt; // palette format - // (Obtainable values are limited to GX_TEXFMT_PLTT16 and GX_TEXFMT_PLTT256) - - BOOL bExtendedPlt; // Use expanded palette? - - NNSG2dVRamLocation vramLocation; -} -NNSG2dImagePaletteProxy; + GXTexFmt fmt; + BOOL bExtendedPlt; + NNSG2dVRamLocation vramLocation; +} NNSG2dImagePaletteProxy; void NNS_G2dLoadPalette ( - const NNSG2dPaletteData* pSrcData, - u32 addr, - NNS_G2D_VRAM_TYPE type, - NNSG2dImagePaletteProxy* pPltProxy + const NNSG2dPaletteData * pSrcData, + u32 addr, + NNS_G2D_VRAM_TYPE type, + NNSG2dImagePaletteProxy * pPltProxy ); void NNS_G2dLoadPaletteEx ( - const NNSG2dPaletteData* pSrcData, - const NNSG2dPaletteCompressInfo* pCmpInfo, - u32 addr, - NNS_G2D_VRAM_TYPE type, - NNSG2dImagePaletteProxy* pPltProxy + const NNSG2dPaletteData * pSrcData, + const NNSG2dPaletteCompressInfo * pCmpInfo, + u32 addr, + NNS_G2D_VRAM_TYPE type, + NNSG2dImagePaletteProxy * pPltProxy ); typedef struct NNSG2dCellVramTransferData { - u32 srcDataOffset; - u32 szByte; - -} -NNSG2dCellVramTransferData; + u32 srcDataOffset; + u32 szByte; +} NNSG2dCellVramTransferData; typedef struct NNSG2dVramTransferData { - u32 szByteMax; // Maximum byte count during all VRAM transfers - NNSG2dCellVramTransferData* pCellTransferDataArray;// This is the length of the numCells amount of the maintained NNSG2dCellDataBank. - // - -} -NNSG2dVramTransferData; + u32 szByteMax; + NNSG2dCellVramTransferData * pCellTransferDataArray; +} NNSG2dVramTransferData; typedef struct NNSG2dCellOAMAttrData { - u16 attr0; - u16 attr1; - u16 attr2; - -} -NNSG2dCellOAMAttrData; + u16 attr0; + u16 attr1; + u16 attr2; +} NNSG2dCellOAMAttrData; typedef struct NNSG2dCellData { - u16 numOAMAttrs; // Number of OAM attributes - u16 cellAttr; // Information related to cell type - // Information related to flips (upper 8 bits) - // Information related to bounding information - // - // Information related to rendering optimization (lower 8 bits) - // (6bit => Radius of bounding sphere >> 2 ) - - - NNSG2dCellOAMAttrData* pOamAttrArray; // Pointer to the NNSG2dCellOAMAttrData array + u16 numOAMAttrs; + u16 cellAttr; + NNSG2dCellOAMAttrData * pOamAttrArray; -} -NNSG2dCellData; +} NNSG2dCellData; typedef struct NNSG2dCellDataBank { - u16 numCells; // Total number of cells - u16 cellBankAttr; // Attribute - NNSG2dCellData* pCellDataArrayHead; // offset address - NNSG2dCharacterDataMapingType mappingMode; // Mapping mode of the referenced character + u16 numCells; + u16 cellBankAttr; + NNSG2dCellData * pCellDataArrayHead; + NNSG2dCharacterDataMapingType mappingMode; + NNSG2dVramTransferData * pVramTransferData; + void * pStringBank; + void * pExtendedData; - NNSG2dVramTransferData* pVramTransferData; // Information related to Vram transfer animation - - void* pStringBank; // Character string bank - void* pExtendedData; // offset addr (if it exists) - - -} -NNSG2dCellDataBank; +} NNSG2dCellDataBank; typedef enum NNSG2dAnimationPlayMode { - NNS_G2D_ANIMATIONPLAYMODE_INVALID = 0x0, // Disabled - NNS_G2D_ANIMATIONPLAYMODE_FORWARD, // one-time playback (forward) - NNS_G2D_ANIMATIONPLAYMODE_FORWARD_LOOP, // repeat playback (forward loop) - NNS_G2D_ANIMATIONPLAYMODE_REVERSE, // reverse playback (reverse (forward + backward)) - NNS_G2D_ANIMATIONPLAYMODE_REVERSE_LOOP, // reverse playback repeat (reverse (forward + backward) loop) + NNS_G2D_ANIMATIONPLAYMODE_INVALID = 0x0, + NNS_G2D_ANIMATIONPLAYMODE_FORWARD, + NNS_G2D_ANIMATIONPLAYMODE_FORWARD_LOOP, + NNS_G2D_ANIMATIONPLAYMODE_REVERSE, + NNS_G2D_ANIMATIONPLAYMODE_REVERSE_LOOP, NNS_G2D_ANIMATIONPLAYMODE_MAX -} -NNSG2dAnimationPlayMode; +} NNSG2dAnimationPlayMode; typedef struct NNSG2dAnimFrameData { - void* pContent; // pointer to animation result - u16 frames; // animation frame continuation time (units: video frames) - u16 pad16; // padding - -} -NNSG2dAnimFrameData; + void * pContent; + u16 frames; + u16 pad16; +} NNSG2dAnimFrameData; typedef struct NNSG2dAnimSequenceData { - u16 numFrames; // number of animation frames forming the sequence - u16 loopStartFrameIdx; // loop start animation frame number - - u32 animType; // animation type (upper 16 bits) - // animation elements (lower 16 bits) - // (What's referenced by NNSG2dAnimFrameData.pContent is changed) - - NNSG2dAnimationPlayMode playMode; // animation sequence playback method - NNSG2dAnimFrameData* pAnmFrameArray; // offset from the head of pFrameArray. + u16 numFrames; + u16 loopStartFrameIdx; + u32 animType; + NNSG2dAnimationPlayMode playMode; + NNSG2dAnimFrameData * pAnmFrameArray; -} -NNSG2dAnimSequenceData; +} NNSG2dAnimSequenceData; typedef struct NNSG2dAnimBankData { - u16 numSequences; // number of animation sequences - u16 numTotalFrames; // total number of animation frames - NNSG2dAnimSequenceData* pSequenceArrayHead; // pointer to animation sequence array - NNSG2dAnimFrameData* pFrameArrayHead; // pointer to animation frame array - void* pAnimContents; // pointer to animation result array - void* pStringBank; // pointer to string bank (set during execution) - void* pExtendedData; // pointer to library expansion area (not used) - -} -NNSG2dAnimBankData; - - -BOOL NNS_G2dGetUnpackedBGCharacterData( void* pNcgrFile, NNSG2dCharacterData** ppCharData ); -BOOL NNS_G2dGetUnpackedCharacterData( void* pNcgrFile, NNSG2dCharacterData** ppCharData ); -BOOL NNS_G2dGetUnpackedScreenData( void* pNscrFile, NNSG2dScreenData** ppScrData ); -BOOL NNS_G2dGetUnpackedPaletteData( void* pNclrFile, NNSG2dPaletteData** ppPltData ); -BOOL NNS_G2dGetUnpackedPaletteData( void* pNclrFile, NNSG2dPaletteData** ppPltData ); -BOOL NNS_G2dGetUnpackedPaletteCompressInfo( void* pNclrFile, NNSG2dPaletteCompressInfo** ppPltCmpInfo ); -BOOL NNS_G2dGetUnpackedCellBank( void* pNcerFile, NNSG2dCellDataBank** ppCellBank ); -BOOL NNS_G2dGetUnpackedAnimBank( void* pNanrFile, NNSG2dAnimBankData** ppAnimBank ); + u16 numSequences; + u16 numTotalFrames; + NNSG2dAnimSequenceData * pSequenceArrayHead; + NNSG2dAnimFrameData * pFrameArrayHead; + void * pAnimContents; + void * pStringBank; + void * pExtendedData; + +} NNSG2dAnimBankData; + +BOOL NNS_G2dGetUnpackedBGCharacterData(void * pNcgrFile, NNSG2dCharacterData ** ppCharData); +BOOL NNS_G2dGetUnpackedCharacterData(void * pNcgrFile, NNSG2dCharacterData ** ppCharData); +BOOL NNS_G2dGetUnpackedScreenData(void * pNscrFile, NNSG2dScreenData ** ppScrData); +BOOL NNS_G2dGetUnpackedPaletteData(void * pNclrFile, NNSG2dPaletteData ** ppPltData); +BOOL NNS_G2dGetUnpackedPaletteData(void * pNclrFile, NNSG2dPaletteData ** ppPltData); +BOOL NNS_G2dGetUnpackedPaletteCompressInfo(void * pNclrFile, NNSG2dPaletteCompressInfo ** ppPltCmpInfo); +BOOL NNS_G2dGetUnpackedCellBank(void * pNcerFile, NNSG2dCellDataBank ** ppCellBank); +BOOL NNS_G2dGetUnpackedAnimBank(void * pNanrFile, NNSG2dAnimBankData ** ppAnimBank); #endif //NNSYS_NNS_G2D_H diff --git a/arm9/lib/include/gx.h b/arm9/lib/include/gx.h index 210d61f4..11081942 100644 --- a/arm9/lib/include/gx.h +++ b/arm9/lib/include/gx.h @@ -5,7 +5,7 @@ #include "MI_memory.h" #include "MI_dma.h" #include "OS_vramExclusive.h" -#include "GX_ioreg.h" +#include "registers.h" //temporary while other files aren't decompiled diff --git a/arm9/lib/include/registers.h b/arm9/lib/include/registers.h index d55347d5..7a0155da 100644 --- a/arm9/lib/include/registers.h +++ b/arm9/lib/include/registers.h @@ -517,4 +517,146 @@ #define REG_GX_POWCNT_DSEL_SIZE 1 #define REG_GX_POWCNT_DSEL_MASK 0x8000 +// GX_DISPCNT +#define REG_GX_DISPCNT_O_SHIFT 31 +#define REG_GX_DISPCNT_O_SIZE 1 +#define REG_GX_DISPCNT_O_MASK 0x80000000 + +#define REG_GX_DISPCNT_BG_SHIFT 30 +#define REG_GX_DISPCNT_BG_SIZE 1 +#define REG_GX_DISPCNT_BG_MASK 0x40000000 + +#define REG_GX_DISPCNT_BGSCREENOFFSET_SHIFT 27 +#define REG_GX_DISPCNT_BGSCREENOFFSET_SIZE 3 +#define REG_GX_DISPCNT_BGSCREENOFFSET_MASK 0x38000000 + +#define REG_GX_DISPCNT_BGCHAROFFSET_SHIFT 24 +#define REG_GX_DISPCNT_BGCHAROFFSET_SIZE 3 +#define REG_GX_DISPCNT_BGCHAROFFSET_MASK 0x07000000 + +#define REG_GX_DISPCNT_OH_SHIFT 23 +#define REG_GX_DISPCNT_OH_SIZE 1 +#define REG_GX_DISPCNT_OH_MASK 0x00800000 + +#define REG_GX_DISPCNT_EXOBJ_SHIFT 20 +#define REG_GX_DISPCNT_EXOBJ_SIZE 3 +#define REG_GX_DISPCNT_EXOBJ_MASK 0x00700000 + +#define REG_GX_DISPCNT_VRAM_SHIFT 18 +#define REG_GX_DISPCNT_VRAM_SIZE 2 +#define REG_GX_DISPCNT_VRAM_MASK 0x000c0000 + +#define REG_GX_DISPCNT_MODE_SHIFT 16 +#define REG_GX_DISPCNT_MODE_SIZE 2 +#define REG_GX_DISPCNT_MODE_MASK 0x00030000 + +#define REG_GX_DISPCNT_OW_SHIFT 15 +#define REG_GX_DISPCNT_OW_SIZE 1 +#define REG_GX_DISPCNT_OW_MASK 0x00008000 + +#define REG_GX_DISPCNT_W1_SHIFT 14 +#define REG_GX_DISPCNT_W1_SIZE 1 +#define REG_GX_DISPCNT_W1_MASK 0x00004000 + +#define REG_GX_DISPCNT_W0_SHIFT 13 +#define REG_GX_DISPCNT_W0_SIZE 1 +#define REG_GX_DISPCNT_W0_MASK 0x00002000 + +#define REG_GX_DISPCNT_DISPLAY_SHIFT 8 +#define REG_GX_DISPCNT_DISPLAY_SIZE 5 +#define REG_GX_DISPCNT_DISPLAY_MASK 0x00001f00 + +#define REG_GX_DISPCNT_BLANK_SHIFT 7 +#define REG_GX_DISPCNT_BLANK_SIZE 1 +#define REG_GX_DISPCNT_BLANK_MASK 0x00000080 + +#define REG_GX_DISPCNT_OBJMAP_SHIFT 4 +#define REG_GX_DISPCNT_OBJMAP_SIZE 3 +#define REG_GX_DISPCNT_OBJMAP_MASK 0x00000070 + +#define REG_GX_DISPCNT_BG02D3D_SHIFT 3 +#define REG_GX_DISPCNT_BG02D3D_SIZE 1 +#define REG_GX_DISPCNT_BG02D3D_MASK 0x00000008 + +#define REG_GX_DISPCNT_BGMODE_SHIFT 0 +#define REG_GX_DISPCNT_BGMODE_SIZE 3 +#define REG_GX_DISPCNT_BGMODE_MASK 0x00000007 + +#define REG_GX_DISPCNT_OBJMAP_CH_SHIFT 4 +#define REG_GX_DISPCNT_OBJMAP_CH_SIZE 1 +#define REG_GX_DISPCNT_OBJMAP_CH_MASK 0x00000010 + +#define REG_GX_DISPCNT_OBJMAP_BM_SHIFT 5 +#define REG_GX_DISPCNT_OBJMAP_BM_SIZE 2 +#define REG_GX_DISPCNT_OBJMAP_BM_MASK 0x00000060 + +#define REG_GX_DISPCNT_EXOBJ_CH_SHIFT 20 +#define REG_GX_DISPCNT_EXOBJ_CH_SIZE 2 +#define REG_GX_DISPCNT_EXOBJ_CH_MASK 0x00300000 + +#define REG_GX_DISPCNT_EXOBJ_BM_SHIFT 22 +#define REG_GX_DISPCNT_EXOBJ_BM_SIZE 1 +#define REG_GX_DISPCNT_EXOBJ_BM_MASK 0x00400000 + +// GXS_DB_DISPCNT +#define REG_GXS_DB_DISPCNT_O_SHIFT 31 +#define REG_GXS_DB_DISPCNT_O_SIZE 1 +#define REG_GXS_DB_DISPCNT_O_MASK 0x80000000 + +#define REG_GXS_DB_DISPCNT_BG_SHIFT 30 +#define REG_GXS_DB_DISPCNT_BG_SIZE 1 +#define REG_GXS_DB_DISPCNT_BG_MASK 0x40000000 + +#define REG_GXS_DB_DISPCNT_OH_SHIFT 23 +#define REG_GXS_DB_DISPCNT_OH_SIZE 1 +#define REG_GXS_DB_DISPCNT_OH_MASK 0x00800000 + +#define REG_GXS_DB_DISPCNT_EXOBJ_SHIFT 20 +#define REG_GXS_DB_DISPCNT_EXOBJ_SIZE 2 +#define REG_GXS_DB_DISPCNT_EXOBJ_MASK 0x00300000 + +#define REG_GXS_DB_DISPCNT_MODE_SHIFT 16 +#define REG_GXS_DB_DISPCNT_MODE_SIZE 1 +#define REG_GXS_DB_DISPCNT_MODE_MASK 0x00010000 + +#define REG_GXS_DB_DISPCNT_OW_SHIFT 15 +#define REG_GXS_DB_DISPCNT_OW_SIZE 1 +#define REG_GXS_DB_DISPCNT_OW_MASK 0x00008000 + +#define REG_GXS_DB_DISPCNT_W1_SHIFT 14 +#define REG_GXS_DB_DISPCNT_W1_SIZE 1 +#define REG_GXS_DB_DISPCNT_W1_MASK 0x00004000 + +#define REG_GXS_DB_DISPCNT_W0_SHIFT 13 +#define REG_GXS_DB_DISPCNT_W0_SIZE 1 +#define REG_GXS_DB_DISPCNT_W0_MASK 0x00002000 + +#define REG_GXS_DB_DISPCNT_DISPLAY_SHIFT 8 +#define REG_GXS_DB_DISPCNT_DISPLAY_SIZE 5 +#define REG_GXS_DB_DISPCNT_DISPLAY_MASK 0x00001f00 + +#define REG_GXS_DB_DISPCNT_BLANK_SHIFT 7 +#define REG_GXS_DB_DISPCNT_BLANK_SIZE 1 +#define REG_GXS_DB_DISPCNT_BLANK_MASK 0x00000080 + +#define REG_GXS_DB_DISPCNT_OBJMAP_SHIFT 4 +#define REG_GXS_DB_DISPCNT_OBJMAP_SIZE 3 +#define REG_GXS_DB_DISPCNT_OBJMAP_MASK 0x00000070 + +#define REG_GXS_DB_DISPCNT_BGMODE_SHIFT 0 +#define REG_GXS_DB_DISPCNT_BGMODE_SIZE 3 +#define REG_GXS_DB_DISPCNT_BGMODE_MASK 0x00000007 + +#define REG_GXS_DB_DISPCNT_OBJMAP_CH_SHIFT 4 +#define REG_GXS_DB_DISPCNT_OBJMAP_CH_SIZE 1 +#define REG_GXS_DB_DISPCNT_OBJMAP_CH_MASK 0x00000010 + +#define REG_GXS_DB_DISPCNT_OBJMAP_BM_SHIFT 5 +#define REG_GXS_DB_DISPCNT_OBJMAP_BM_SIZE 2 +#define REG_GXS_DB_DISPCNT_OBJMAP_BM_MASK 0x00000060 + +#define REG_GXS_DB_DISPCNT_EXOBJ_CH_SHIFT 20 +#define REG_GXS_DB_DISPCNT_EXOBJ_CH_SIZE 2 +#define REG_GXS_DB_DISPCNT_EXOBJ_CH_MASK 0x00300000 + #endif //POKEDIAMOND_ARM9_REGISTERS_H diff --git a/arm9/src/gf_gfx_loader.c b/arm9/src/gf_gfx_loader.c index 31dda0f3..769c90d9 100644 --- a/arm9/src/gf_gfx_loader.c +++ b/arm9/src/gf_gfx_loader.c @@ -1,7 +1,6 @@ #include "global.h" #include "filesystem.h" #include "NNS_g2d.h" -#include "GXS_ioreg.h" #include "gf_gfx_loader.h" THUMB_FUNC u32 GfGfxLoader_LoadCharData(NarcId narcId, s32 memberNo, struct UnkStruct_02016B94_2 * unkStruct02016B94_2, u32 a3, u32 a4, u32 szByte, BOOL isCompressed, u32 heap_id) -- cgit v1.2.3