diff --git a/source/arm11/open_agb_firm.c b/source/arm11/open_agb_firm.c index cc22169..41ed41d 100644 --- a/source/arm11/open_agb_firm.c +++ b/source/arm11/open_agb_firm.c @@ -676,15 +676,16 @@ static void gbaGfxHandler(void *args) // 地址0x18200000保存的是512x512大小的GBA的240x160贴图数据(序列:→↙→) // 所以GPU做的事情就是将18200000的数据逆时针旋转90° int offset = 0; - if( g_oafConfig.scaler == 0 ) offset = (240-160) / 2; + if( g_oafConfig.scaler == 0 ) offset = 3 * (240-160) / 2 + 1; GX_displayTransfer((u32*)(0x18180000 + (16 * 240 * 3)), 368u<<16 | 240u, - GFX_getFramebuffer(SCREEN_TOP) + (16 * 240 * 3) + offset * 3, 368u<<16 | 240u, 1u<<12 | 1u<<8); + GFX_getFramebuffer(SCREEN_TOP) + (16 * 240 * 3) + offset, 368u<<16 | 240u, 1u<<12 | 1u<<8); GFX_waitForPPF(); GFX_swapFramebufs(); //if(hidKeysDown() == (KEY_Y | KEY_SELECT)) dumpFrameTex(); } - + rgb +rgbr taskExit(); }