diff --git a/source/arm11/open_agb_firm.c b/source/arm11/open_agb_firm.c index 61a40e8..f7262be 100644 --- a/source/arm11/open_agb_firm.c +++ b/source/arm11/open_agb_firm.c @@ -727,19 +727,19 @@ static void gbaGfxHandler(void *args) int base_offset = 57600; // 3ds高240, gba高160,居中需要平移40个像素,rgb888每个像素3字节,共120字节 // 但是,gpu的transfer engine只支持16字节对齐的地址。所以只能选择16和3的公约数,就是48,96,144,192,240 GX_displayTransfer((u32*)(0x18180000), 240u<<16 | 240u, - GFX_getFramebuffer(SCREEN_TOP) + base_offset, 240u<<16 | 240u, 1u<<12 | 1u<<8); + GFX_getBuffer(GFX_LCD_TOP, GFX_SIDE_LEFT) + base_offset, 240u<<16 | 240u, 1u<<12 | 1u<<8); } else GX_displayTransfer((u32*)(0x18180000), 400u<<16 | 240u, - GFX_getFramebuffer(SCREEN_TOP), 400u<<16 | 240u, 1u<<12 | 1u<<8); + GFX_getBuffer(GFX_LCD_TOP, GFX_SIDE_LEFT), 400u<<16 | 240u, 1u<<12 | 1u<<8); } else if( g_oafConfig.scaler == 3 )//下屏无缩放 { int base_offset = 28800; GX_displayTransfer((u32*)(0x18180000), 240u<<16 | 240u, - GFX_getFramebuffer(SCREEN_BOT) + base_offset, 240u<<16 | 240u, 1u<<12 | 1u<<8); + GFX_getBuffer(GFX_LCD_BOT, GFX_SIDE_LEFT) + base_offset, 240u<<16 | 240u, 1u<<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_getBuffer(GFX_LCD_TOP, GFX_SIDE_LEFT) + 16*240*3, 368u<<16 | 240u, 1u<<12 | 1u<<8); GFX_waitForPPF(); GFX_swapFramebufs(); @@ -1045,7 +1045,7 @@ Result oafInitAndRun( char *firm_path, bool *direct_off ) if(g_oafConfig.scaler == 0) // No borders for scaled modes. { // Abuse currently invisible frame buffer as temporary buffer. - void *const borderBuf = GFX_getFramebuffer(SCREEN_TOP); + void *const borderBuf = GFX_getBuffer(GFX_LCD_TOP, GFX_SIDE_LEFT); if(fsQuickRead("border.bgr", borderBuf, 400 * 240 * 3) == RES_OK) { // Copy border in swizzled form to GPU render buffer.