Load_SCR(): fix loading of Overscan pictures
This commit is contained in:
parent
3484c8fca4
commit
3c5c518c83
@ -513,25 +513,22 @@ void Load_SCR(T_IO_Context * context)
|
|||||||
// GFX2_LogHexDump(GFX2_DEBUG, "SCR ", cpc_ram, load_address + j + 2000, 48);
|
// GFX2_LogHexDump(GFX2_DEBUG, "SCR ", cpc_ram, load_address + j + 2000, 48);
|
||||||
}
|
}
|
||||||
|
|
||||||
GFX2_Log(GFX2_DEBUG, " display_start &H%04X\n", display_start);
|
GFX2_Log(GFX2_DEBUG, " display_start &H%04X columns=%u\n", display_start, columns);
|
||||||
for (y = 0; y < height; y++)
|
for (y = 0; y < height; y++)
|
||||||
{
|
{
|
||||||
const byte * line;
|
|
||||||
|
|
||||||
if (is_win)
|
|
||||||
addr = display_start + y * columns;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
addr = display_start + ((y >> 3) * columns);
|
|
||||||
addr = (addr & 0xC7FF) | ((addr & 0x800) << 3);
|
|
||||||
addr += (y & 7) << 11;
|
|
||||||
}
|
|
||||||
//GFX2_Log(GFX2_DEBUG, "line#%d &H%04X\n", y, addr);
|
|
||||||
line = cpc_ram + addr;
|
|
||||||
x = 0;
|
x = 0;
|
||||||
for (i = 0; i < columns; i++)
|
for (i = 0; i < columns; i++)
|
||||||
{
|
{
|
||||||
byte pixels = line[i];
|
byte pixels;
|
||||||
|
if (is_win)
|
||||||
|
addr = display_start + y * columns + i;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
addr = display_start + ((y >> 3) * columns) + i;
|
||||||
|
addr = (addr & 0xC7FF) + ((addr & 0x800) << 3);
|
||||||
|
addr += (y & 7) << 11;
|
||||||
|
}
|
||||||
|
pixels = cpc_ram[addr];
|
||||||
switch (mode)
|
switch (mode)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
@ -621,6 +618,7 @@ void Save_SCR(T_IO_Context * context)
|
|||||||
if (index >= 0x60)
|
if (index >= 0x60)
|
||||||
{
|
{
|
||||||
GFX2_Log(GFX2_WARNING, "Save_SCR() color #%i not found in CPC HW palette.\n", i);
|
GFX2_Log(GFX2_WARNING, "Save_SCR() color #%i not found in CPC HW palette.\n", i);
|
||||||
|
// TODO : set CPC Plus flag
|
||||||
index = 0x54 - i; // default
|
index = 0x54 - i; // default
|
||||||
}
|
}
|
||||||
for (j = 0; j < 12; j++) // write the same color for the 12 frames
|
for (j = 0; j < 12; j++) // write the same color for the 12 frames
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user