换成RGBA8试试

This commit is contained in:
anod 2022-10-19 21:56:12 +08:00
parent d4f5162b04
commit c87fbf3ff2
2 changed files with 3 additions and 4 deletions

View File

@ -51,7 +51,7 @@ int main(void)
{
Result res = fMount(FS_DRIVE_SDMC);
if(res == RES_OK) res = oafParseConfigEarly();
GFX_init(GFX_BGR8, GFX_RGB565);
GFX_init(GFX_RGBA8, GFX_RGB565);
setBacklight();
consoleInit(SCREEN_BOT, NULL);
//CODEC_init();

View File

@ -682,10 +682,10 @@ static void gbaGfxHandler(void *args)
// 0x18180000 <----------> screen_top + 16*240*3 + 120 是正确对准左边对16求余为0右边为8
// 现在右边加上8是2|2/3个像素
GX_displayTransfer((u32*)(0x18180000 + 16*240*3), 368u<<16 | 240u,
GFX_getFramebuffer(SCREEN_TOP) + 16*240*2 + 80, 368u<<16 | 240u, 2u<<12 | 1u<<8);
GFX_getFramebuffer(SCREEN_TOP) + 16*240*4 + 160, 368u<<16 | 240u, 0u<<12 | 1u<<8);
}
else GX_displayTransfer((u32*)(0x18180000 + 16*240*3), 368u<<16 | 240u,
GFX_getFramebuffer(SCREEN_TOP) + 16*240*3, 368u<<16 | 240u, 1u<<12 | 1u<<8);
GFX_getFramebuffer(SCREEN_TOP) + 16*240*4, 368u<<16 | 240u, 0u<<12 | 1u<<8);
GFX_waitForPPF();
GFX_swapFramebufs();
@ -912,7 +912,6 @@ Result oafInitAndRun(void)
const KHandle frameReadyEvent = createEvent(false);
LGYFB_init(frameReadyEvent, g_oafConfig.scaler); // 这里把GBA的输出转换成0x18200000处512x512大小的纹理
patchGbaGpuCmdList(g_oafConfig.scaler);
if( g_oafConfig.scaler == 0 ) GFX_setFramebufFmt(GFX_RGB565, GFX_RGB565);
createTask(0x800, 3, gbaGfxHandler, (void*)frameReadyEvent);
g_frameReadyEvent = frameReadyEvent;