mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-21 05:09:46 -06:00
christ. CodeBlocks is retarded.
also, lots of crap. I lost track of it.
This commit is contained in:
29
GPU2D.cpp
29
GPU2D.cpp
@ -56,6 +56,8 @@ u8* VRAM_BOBJ[128];
|
||||
u8* VRAM_LCD[128];
|
||||
u8* VRAM_ARM7[2];
|
||||
|
||||
u16 Framebuffer[256*192*2];
|
||||
|
||||
|
||||
void Reset()
|
||||
{
|
||||
@ -88,6 +90,11 @@ void Reset()
|
||||
memset(VRAM_BOBJ, 0, sizeof(u8*)*128);
|
||||
memset(VRAM_LCD, 0, sizeof(u8*)*128);
|
||||
memset(VRAM_ARM7, 0, sizeof(u8*)*2);
|
||||
|
||||
for (int i = 0; i < 256*192*2; i++)
|
||||
{
|
||||
Framebuffer[i] = (i>=256*192)?0x03E0:0x7C00;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -657,6 +664,24 @@ void MapVRAM_I(u32 bank, u8 cnt)
|
||||
}
|
||||
|
||||
|
||||
void DrawScanline(u32 screen, u32 line)
|
||||
{
|
||||
u16* dst = &Framebuffer[256 * ((192*screen) + line)];
|
||||
|
||||
if (screen==0)
|
||||
{
|
||||
u16* src = &((u16*)VRAM_A)[256*line];
|
||||
for (int i = 0; i < 256; i++)
|
||||
dst[i] = src[i];
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < 256; i++)
|
||||
dst[i] = 0x7FFF;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void StartFrame()
|
||||
{
|
||||
StartScanline(0);
|
||||
@ -686,7 +711,9 @@ void StartScanline(u32 line)
|
||||
|
||||
if (line < 192)
|
||||
{
|
||||
// TODO: draw shit
|
||||
// draw
|
||||
DrawScanline(0, line);
|
||||
DrawScanline(1, line);
|
||||
|
||||
NDS::ScheduleEvent(LINE_CYCLES, StartScanline, line+1);
|
||||
}
|
||||
|
Reference in New Issue
Block a user