diff --git a/include/hardware/gfx.h b/include/hardware/gfx.h index d39ed70..bc68041 100644 --- a/include/hardware/gfx.h +++ b/include/hardware/gfx.h @@ -32,10 +32,12 @@ #define SCREEN_HEIGHT_BOT (240u) #define SCREEN_SIZE_BOT (SCREEN_WIDTH_BOT * SCREEN_HEIGHT_BOT * 2) +// TODO: +// Because we are using a VRAM allocator this may break any time. #define FRAMEBUF_TOP_A_1 ((void*)VRAM_BASE) -#define FRAMEBUF_BOT_A_1 ((void*)FRAMEBUF_TOP_A_1 + SCREEN_SIZE_TOP) -#define FRAMEBUF_TOP_A_2 ((void*)VRAM_BASE + 0x100000) -#define FRAMEBUF_BOT_A_2 ((void*)FRAMEBUF_TOP_A_2 + SCREEN_SIZE_TOP) +#define FRAMEBUF_BOT_A_1 (FRAMEBUF_TOP_A_1 + SCREEN_SIZE_TOP) +#define FRAMEBUF_TOP_A_2 (FRAMEBUF_BOT_A_1 + SCREEN_SIZE_BOT + SCREEN_SIZE_TOP) // Skip B1 +#define FRAMEBUF_BOT_A_2 (FRAMEBUF_TOP_A_2 + SCREEN_SIZE_TOP) #define RENDERBUF_TOP ((void*)VRAM_BASE + 0x200000 - SCREEN_SIZE_TOP - SCREEN_SIZE_BOT) #define RENDERBUF_BOT ((void*)VRAM_BASE + 0x200000 - SCREEN_SIZE_BOT) diff --git a/source/arm11/console.c b/source/arm11/console.c index bd640d2..853a905 100644 --- a/source/arm11/console.c +++ b/source/arm11/console.c @@ -526,7 +526,7 @@ console->consoleInitialised = 1; - if(screen==0) { + if(screen==SCREEN_TOP) { console->frameBuffer = (u16*)RENDERBUF_TOP; console->consoleWidth = 66; console->windowWidth = 66; diff --git a/source/arm11/hardware/codec.c b/source/arm11/hardware/codec.c index e60b981..f17984c 100644 --- a/source/arm11/hardware/codec.c +++ b/source/arm11/hardware/codec.c @@ -279,7 +279,7 @@ GPIO_config(GPIO_4_0, GPIO_OUTPUT); GPIO_write(GPIO_4_0, 1); // GPIO bitmask 0x40 TIMER_sleepMs(10); // Fixed 10 ms delay when setting this GPIO. - *((vu16*)0x10145000) = 0xC800u | 0x20u<<6; + *((vu16*)0x10145000) = 0xE800u; // 47.61 kHz. codec module writes 0xC800 instead. *((vu16*)0x10145002) = 0xE000u; codecMaskReg(0x65, 0x11, 0x10, 0x1C); codecWriteReg(0x64, 0x7A, 0); diff --git a/source/arm9/debug.c b/source/arm9/debug.c index eb47907..eb63ba7 100644 --- a/source/arm9/debug.c +++ b/source/arm9/debug.c @@ -60,8 +60,8 @@ while(1) { const u32 color = RGB8_to_565(0, 255, 0)<<16 | RGB8_to_565(0, 255, 0); - NDMA_fill((u32*)FRAMEBUF_BOT_A_1, color, SCREEN_SIZE_BOT); - NDMA_fill((u32*)FRAMEBUF_BOT_A_2, color, SCREEN_SIZE_BOT); + NDMA_fill(FRAMEBUF_BOT_A_1, color, SCREEN_SIZE_BOT); + NDMA_fill(FRAMEBUF_BOT_A_2, color, SCREEN_SIZE_BOT); } } @@ -74,8 +74,8 @@ while(1) { const u32 color = RGB8_to_565(0, 255, 0)<<16 | RGB8_to_565(0, 255, 0); - NDMA_fill((u32*)FRAMEBUF_BOT_A_1, color, SCREEN_SIZE_BOT); - NDMA_fill((u32*)FRAMEBUF_BOT_A_2, color, SCREEN_SIZE_BOT); + NDMA_fill(FRAMEBUF_BOT_A_1, color, SCREEN_SIZE_BOT); + NDMA_fill(FRAMEBUF_BOT_A_2, color, SCREEN_SIZE_BOT); } } @@ -90,8 +90,8 @@ while(1) { const u32 color = RGB8_to_565(255, 0, 0)<<16 | RGB8_to_565(255, 0, 0); - NDMA_fill((u32*)FRAMEBUF_BOT_A_1, color, SCREEN_SIZE_BOT); - NDMA_fill((u32*)FRAMEBUF_BOT_A_2, color, SCREEN_SIZE_BOT); + NDMA_fill(FRAMEBUF_BOT_A_1, color, SCREEN_SIZE_BOT); + NDMA_fill(FRAMEBUF_BOT_A_2, color, SCREEN_SIZE_BOT); } }