void gbaFrame(void) { u16* frame=NULL; cBMP15 frameBMP=createBMP15FromFile("/GBA/gbaframe.bmp"); if(frameBMP.valid()&&frameBMP.width()==SCREEN_WIDTH&&frameBMP.height()==SCREEN_HEIGHT) { frame=(u16*)malloc(SCREEN_WIDTH*SCREEN_HEIGHT*2); memcpy(frame,frameBMP.buffer(),SCREEN_WIDTH*SCREEN_HEIGHT*2); //tricky thing } videoSetMode(MODE_5_2D | DISPLAY_BG3_ACTIVE); videoSetModeSub(MODE_5_2D | DISPLAY_BG3_ACTIVE); vramSetMainBanks(VRAM_A_MAIN_BG_0x06000000, VRAM_B_MAIN_BG_0x06020000, VRAM_C_SUB_BG_0x06200000, VRAM_D_LCD); // for the main screen BG3_CR = BG_BMP16_256x256 | BG_BMP_BASE(0) | BG_WRAP_OFF; BG3_XDX = 1 << 8; //scale x BG3_XDY = 0; //rotation x BG3_YDX = 0; //rotation y BG3_YDY = 1 << 8; //scale y BG3_CX = 0; //translation x BG3_CY = 0; //translation y if(frame) { dmaCopy(frame,(void*)BG_BMP_RAM(0),SCREEN_WIDTH*SCREEN_HEIGHT*2); dmaCopy(frame,(void*)BG_BMP_RAM(8),SCREEN_WIDTH*SCREEN_HEIGHT*2); free(frame); } else { memset((void*)BG_BMP_RAM(0),0,0x18000); memset((void*)BG_BMP_RAM(8),0,0x18000); } }
void CGbaLoader::LoadBorder(void) { videoSetMode(MODE_5_2D | DISPLAY_BG3_ACTIVE); videoSetModeSub(MODE_5_2D | DISPLAY_BG3_ACTIVE); vramSetMainBanks(VRAM_A_MAIN_BG_0x06000000, VRAM_B_MAIN_BG_0x06020000, VRAM_C_SUB_BG_0x06200000, VRAM_D_LCD); // for the main screen REG_BG3CNT = BG_BMP16_256x256 | BG_BMP_BASE(0) | BG_WRAP_OFF; REG_BG3PA = 1 << 8; //scale x REG_BG3PB = 0; //rotation x REG_BG3PC = 0; //rotation y REG_BG3PD = 1 << 8; //scale y REG_BG3X = 0; //translation x REG_BG3Y = 0; //translation y memset((void*)BG_BMP_RAM(0),0,0x18000); memset((void*)BG_BMP_RAM(8),0,0x18000); cBMP15 frameBMP=createBMP15FromFile(SFN_GBAFRAME); if(frameBMP.valid()&&frameBMP.width()==SCREEN_WIDTH&&frameBMP.height()==SCREEN_HEIGHT) { DC_FlushRange(frameBMP.buffer(),SCREEN_WIDTH*SCREEN_HEIGHT*2); dmaCopy(frameBMP.buffer(),(void*)BG_BMP_RAM(0),SCREEN_WIDTH*SCREEN_HEIGHT*2); dmaCopy(frameBMP.buffer(),(void*)BG_BMP_RAM(8),SCREEN_WIDTH*SCREEN_HEIGHT*2); } }
void cFileIconItem::Load(void) { if(!_loaded) { _icon=createBMP15FromFile(_foldername+_filename+".bmp"); _loaded=true; } }