Set default CPC palette
This commit is contained in:
parent
ab5d26897f
commit
119a5afbf6
@ -309,12 +309,14 @@ void Button_Constraint_menu(void)
|
|||||||
ZX_Spectrum_set_palette(Main.palette);
|
ZX_Spectrum_set_palette(Main.palette);
|
||||||
break;
|
break;
|
||||||
//case IMAGE_MODE_THOMSON:
|
//case IMAGE_MODE_THOMSON:
|
||||||
// ask TO7/70, MO5 or MO6 / TO8/TO9
|
/// @todo set palette for Thomson.
|
||||||
|
/// ask TO7/70, MO5 or MO6 / TO8/TO9
|
||||||
case IMAGE_MODE_EGX:
|
case IMAGE_MODE_EGX:
|
||||||
case IMAGE_MODE_EGX2:
|
case IMAGE_MODE_EGX2:
|
||||||
case IMAGE_MODE_MODE5:
|
case IMAGE_MODE_MODE5:
|
||||||
case IMAGE_MODE_RASTER:
|
case IMAGE_MODE_RASTER:
|
||||||
// TODO : CPC
|
CPC_set_HW_palette(Main.palette + 0x40);
|
||||||
|
CPC_set_default_BASIC_palette(Main.palette);
|
||||||
break;
|
break;
|
||||||
case IMAGE_MODE_C64HIRES:
|
case IMAGE_MODE_C64HIRES:
|
||||||
case IMAGE_MODE_C64MULTI:
|
case IMAGE_MODE_C64MULTI:
|
||||||
|
|||||||
90
src/oldies.c
90
src/oldies.c
@ -462,48 +462,64 @@ void ZX_Spectrum_set_palette(T_Components * palette)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const T_Components CPC_Hw_Palette[] = {
|
||||||
|
{0x6E, 0x7D, 0x6B}, // 0x40
|
||||||
|
{0x6E, 0x7B, 0x6B}, // 0x41
|
||||||
|
{0, 0xF3, 0x6B},
|
||||||
|
{0xF3, 0xF3, 0x6D},
|
||||||
|
{0, 2, 0x6B},
|
||||||
|
{0xF0, 2, 0x68},
|
||||||
|
{0, 0x78, 0x68},
|
||||||
|
{0xF3, 0x7D, 0x6B},
|
||||||
|
|
||||||
|
{0xF3, 0x02, 0x68}, // 0x48
|
||||||
|
{0xF3, 0xF3, 0x6B},
|
||||||
|
{0xF3, 0xF3, 0xD},
|
||||||
|
{255, 0xF3, 0xF9},
|
||||||
|
{0xF3, 5, 6},
|
||||||
|
{0xF3, 2, 0xF4},
|
||||||
|
{0xF3, 0x7D, 0xD},
|
||||||
|
{0xFA, 0x80, 0xF9},
|
||||||
|
|
||||||
|
{0x00, 0x02, 0x68}, // 0x50
|
||||||
|
{0x02, 0xF3, 0x6B},
|
||||||
|
{2, 0xF0, 1},
|
||||||
|
{0xF, 0xF3, 0xF2},
|
||||||
|
{0, 2, 1},
|
||||||
|
{0x0C, 2, 0xF4},
|
||||||
|
{2, 0x78, 1},
|
||||||
|
{0xC, 0x7B, 0xF4},
|
||||||
|
{0x69, 2, 0x68}, // 0x58
|
||||||
|
{0x71, 0xF3, 0x6B},
|
||||||
|
{0x71, 0xF5, 4},
|
||||||
|
{0x71, 0xF3, 0xF4},
|
||||||
|
{0x6C, 2, 1},
|
||||||
|
{0x6C, 2, 0xF2},
|
||||||
|
{0x6E, 0x7B, 1},
|
||||||
|
{0x6E, 0x7B, 0xF6}
|
||||||
|
};
|
||||||
|
|
||||||
void CPC_set_HW_palette(T_Components * palette)
|
void CPC_set_HW_palette(T_Components * palette)
|
||||||
{
|
{
|
||||||
static const T_Components CPC_Hw_Palette[] = {
|
|
||||||
{0x6E, 0x7D, 0x6B}, // 0x40
|
|
||||||
{0x6E, 0x7B, 0x6B}, // 0x41
|
|
||||||
{0, 0xF3, 0x6B},
|
|
||||||
{0xF3, 0xF3, 0x6D},
|
|
||||||
{0, 2, 0x6B},
|
|
||||||
{0xF0, 2, 0x68},
|
|
||||||
{0, 0x78, 0x68},
|
|
||||||
{0xF3, 0x7D, 0x6B},
|
|
||||||
|
|
||||||
{0xF3, 0x02, 0x68}, // 0x48
|
|
||||||
{0xF3, 0xF3, 0x6B},
|
|
||||||
{0xF3, 0xF3, 0xD},
|
|
||||||
{255, 0xF3, 0xF9},
|
|
||||||
{0xF3, 5, 6},
|
|
||||||
{0xF3, 2, 0xF4},
|
|
||||||
{0xF3, 0x7D, 0xD},
|
|
||||||
{0xFA, 0x80, 0xF9},
|
|
||||||
|
|
||||||
{0x00, 0x02, 0x68}, // 0x50
|
|
||||||
{0x02, 0xF3, 0x6B},
|
|
||||||
{2, 0xF0, 1},
|
|
||||||
{0xF, 0xF3, 0xF2},
|
|
||||||
{0, 2, 1},
|
|
||||||
{0x0C, 2, 0xF4},
|
|
||||||
{2, 0x78, 1},
|
|
||||||
{0xC, 0x7B, 0xF4},
|
|
||||||
{0x69, 2, 0x68}, // 0x58
|
|
||||||
{0x71, 0xF3, 0x6B},
|
|
||||||
{0x71, 0xF5, 4},
|
|
||||||
{0x71, 0xF3, 0xF4},
|
|
||||||
{0x6C, 2, 1},
|
|
||||||
{0x6C, 2, 0xF2},
|
|
||||||
{0x6E, 0x7B, 1},
|
|
||||||
{0x6E, 0x7B, 0xF6}
|
|
||||||
};
|
|
||||||
|
|
||||||
memcpy(palette, CPC_Hw_Palette, sizeof(CPC_Hw_Palette));
|
memcpy(palette, CPC_Hw_Palette, sizeof(CPC_Hw_Palette));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CPC_set_default_BASIC_palette(T_Components * palette)
|
||||||
|
{
|
||||||
|
static const byte basic_colors[] = {
|
||||||
|
0x44/*0x50*/, 0x4a, 0x53, 0x4c,
|
||||||
|
0x4b, 0x54, 0x55, 0x4d,
|
||||||
|
0x46, 0x5e, 0x5f, 0x47,
|
||||||
|
0x52, 0x59, 0x4a, 0x47
|
||||||
|
};
|
||||||
|
unsigned int i;
|
||||||
|
|
||||||
|
for (i = 0; i < sizeof(basic_colors) / sizeof(byte); i++)
|
||||||
|
memcpy(palette + i,
|
||||||
|
CPC_Hw_Palette + basic_colors[i] - 0x40,
|
||||||
|
sizeof(T_Components));
|
||||||
|
}
|
||||||
|
|
||||||
int CPC_check_AMSDOS(FILE * file, word * loading_address, unsigned long * file_length)
|
int CPC_check_AMSDOS(FILE * file, word * loading_address, unsigned long * file_length)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|||||||
@ -73,6 +73,13 @@ void ZX_Spectrum_set_palette(T_Components * palette);
|
|||||||
*/
|
*/
|
||||||
void CPC_set_HW_palette(T_Components * palette);
|
void CPC_set_HW_palette(T_Components * palette);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set 16 color default Amstrad CPC BASIC palette
|
||||||
|
*
|
||||||
|
* @note INK 14 and 15 are blinking on the real hardware.
|
||||||
|
*/
|
||||||
|
void CPC_set_default_BASIC_palette(T_Components * palette);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check AMSDOS header
|
* Check AMSDOS header
|
||||||
*
|
*
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user