altbeastbl - hook up gfx writes properly [Barry Harris]

(MESS) a7800.c - Normalized contrast and brightness, providing a standardized grayscale and adjusted color values.  [Robert Tuccitto]
This commit is contained in:
Scott Stone 2013-08-14 16:08:22 +00:00
parent 28a8f442db
commit 613891e4d5
3 changed files with 126 additions and 65 deletions

View File

@ -3418,6 +3418,62 @@ DRIVER_INIT_MEMBER(segas1x_bootleg_state,fpointbl)
m_fore_yscroll = 2;
}
WRITE16_MEMBER(segas1x_bootleg_state::altbeastbl_gfx_w)
{
switch (offset) {
case 0x00: {
m_bg_scrolly = data + 1;
break;
}
case 0x04: {
m_bg_scrollx = ((data ^ 0xffff) & 0x3ff) + 2;
break;
}
case 0x08: {
m_fg_scrolly = data + 1;
break;
}
case 0x0c: {
m_fg_scrollx = ((data ^ 0xffff) & 0x3ff) + 4;
break;
}
case 0x10: {
m_bg_page[0] = (data >> 0) & 0x0f;
m_fg_page[0] = (data >> 4) & 0x0f;
break;
}
case 0x11: {
m_bg_page[1] = (data >> 0) & 0x0f;
m_fg_page[1] = (data >> 4) & 0x0f;
break;
}
case 0x12: {
m_bg_page[2] = (data >> 0) & 0x0f;
m_fg_page[2] = (data >> 4) & 0x0f;
break;
}
case 0x13: {
m_bg_page[3] = (data >> 0) & 0x0f;
m_fg_page[3] = (data >> 4) & 0x0f;
break;
}
}
}
DRIVER_INIT_MEMBER(segas1x_bootleg_state,altbeastbl)
{
DRIVER_INIT_CALL(common);
m_maincpu->space(AS_PROGRAM).install_write_handler(0x418000, 0x418029, write16_delegate(FUNC(segas1x_bootleg_state::altbeastbl_gfx_w),this));
}
/* Tetris-based */
DRIVER_INIT_MEMBER(segas1x_bootleg_state,beautyb)
{
@ -3512,7 +3568,7 @@ GAME( 1989, goldnaxeb1, goldnaxe, goldnaxeb1, goldnaxe, segas1x_bootleg_state
GAME( 1989, goldnaxeb2, goldnaxe, goldnaxeb2, goldnaxe, segas1x_bootleg_state, goldnaxeb2, ROT0, "bootleg", "Golden Axe (bootleg)", GAME_NOT_WORKING|GAME_NO_SOUND )
GAME( 1989, tturfbl, tturf, tturfbl, tturf, segas1x_bootleg_state, tturfbl, ROT0, "bootleg (Datsu)", "Tough Turf (Datsu bootleg)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1989, dduxbl, ddux, dduxbl, ddux, segas1x_bootleg_state, dduxbl, ROT0, "bootleg (Datsu)", "Dynamite Dux (Datsu bootleg)", GAME_NOT_WORKING )
GAME( 1988, altbeastbl, altbeast, tetrisbl, tetris, segas1x_bootleg_state, dduxbl, ROT0, "bootleg (Datsu)", "Altered Beast (Datsu bootleg)", GAME_NOT_WORKING )
GAME( 1988, altbeastbl, altbeast, tetrisbl, tetris, segas1x_bootleg_state, altbeastbl, ROT0, "bootleg (Datsu)", "Altered Beast (Datsu bootleg)", GAME_NOT_WORKING )
GAME( 1989, eswatbl, eswat, eswatbl, eswat, segas1x_bootleg_state, eswatbl, ROT0, "bootleg", "E-Swat - Cyber Police (bootleg)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
GAME( 1989, fpointbl, fpoint, fpointbl, fpointbl, segas1x_bootleg_state, fpointbl, ROT0, "bootleg (Datsu)", "Flash Point (World, bootleg)", GAME_NOT_WORKING )
GAME( 1989, fpointbj, fpoint, fpointbl, fpointbl, segas1x_bootleg_state, fpointbl, ROT0, "bootleg (Datsu)", "Flash Point (Japan, bootleg)", GAME_NOT_WORKING )

View File

@ -146,6 +146,7 @@ public:
DECLARE_WRITE16_MEMBER(goldnaxeb2_fgpage_w);
DECLARE_WRITE16_MEMBER(goldnaxeb2_bgpage_w);
DECLARE_WRITE16_MEMBER(eswat_tilebank0_w);
DECLARE_WRITE16_MEMBER(altbeastbl_gfx_w);
DECLARE_READ16_MEMBER(beautyb_unkx_r);
DECLARE_WRITE16_MEMBER(sys18_refreshenable_w);
DECLARE_WRITE16_MEMBER(sys18_tilebank_w);
@ -171,6 +172,7 @@ public:
DECLARE_DRIVER_INIT(astormbl);
DECLARE_DRIVER_INIT(shdancbl);
DECLARE_DRIVER_INIT(dduxbl);
DECLARE_DRIVER_INIT(altbeastbl);
DECLARE_DRIVER_INIT(goldnaxeb2);
DECLARE_DRIVER_INIT(bayrouteb1);
DECLARE_DRIVER_INIT(beautyb);

View File

@ -49,6 +49,9 @@
2013/08/04 Robert Tuccitto Green miscalculated proportions fixed.
2013/08/13 Robert Tuccitto Normalized contrast and brightness,
providing a standardize grayscale and adjusted color values.
***************************************************************************/
#include "emu.h"
@ -138,100 +141,100 @@ INPUT_PORTS_END
***************************************************************************/
#define NTSC_GREY \
MAKE_RGB(0x00,0x00,0x00), MAKE_RGB(0x12,0x12,0x12), MAKE_RGB(0x24,0x24,0x24), MAKE_RGB(0x36,0x36,0x36), \
MAKE_RGB(0x47,0x47,0x47), MAKE_RGB(0x59,0x59,0x59), MAKE_RGB(0x6B,0x6B,0x6B), MAKE_RGB(0x7D,0x7D,0x7D), \
MAKE_RGB(0x8F,0x8F,0x8F), MAKE_RGB(0xA1,0xA1,0xA1), MAKE_RGB(0xB2,0xB2,0xB2), MAKE_RGB(0xC4,0xC4,0xC4), \
MAKE_RGB(0xD6,0xD6,0xD6), MAKE_RGB(0xE8,0xE8,0xE8), MAKE_RGB(0xFA,0xFA,0xFA), MAKE_RGB(0xFF,0xFF,0xFF )
MAKE_RGB(0x00,0x00,0x00), MAKE_RGB(0x11,0x11,0x11), MAKE_RGB(0x22,0x22,0x22), MAKE_RGB(0x33,0x33,0x33), \
MAKE_RGB(0x44,0x44,0x44), MAKE_RGB(0x55,0x55,0x55), MAKE_RGB(0x66,0x66,0x66), MAKE_RGB(0x77,0x77,0x77), \
MAKE_RGB(0x88,0x88,0x88), MAKE_RGB(0x99,0x99,0x99), MAKE_RGB(0xAA,0xAA,0xAA), MAKE_RGB(0xBB,0xBB,0xBB), \
MAKE_RGB(0xCC,0xCC,0xCC), MAKE_RGB(0xDD,0xDD,0xDD), MAKE_RGB(0xEE,0xEE,0xEE), MAKE_RGB(0xFF,0xFF,0xFF )
#define NTSC_GOLD \
MAKE_RGB(0x1A,0x05,0x00), MAKE_RGB(0x2E,0x15,0x00), MAKE_RGB(0x41,0x26,0x00), MAKE_RGB(0x54,0x36,0x00), \
MAKE_RGB(0x67,0x46,0x00), MAKE_RGB(0x7A,0x56,0x00), MAKE_RGB(0x8D,0x67,0x00), MAKE_RGB(0x9F,0x78,0x0C), \
MAKE_RGB(0xB1,0x8A,0x1E), MAKE_RGB(0xC3,0x9D,0x30), MAKE_RGB(0xD5,0xAD,0x41), MAKE_RGB(0xE6,0xBF,0x53), \
MAKE_RGB(0xF6,0xD2,0x65), MAKE_RGB(0xF6,0xE5,0x7A), MAKE_RGB(0xF7,0xF7,0x92), MAKE_RGB(0xF8,0xF8,0xA4 )
MAKE_RGB(0x1B,0x05,0x00), MAKE_RGB(0x2D,0x15,0x00), MAKE_RGB(0x3F,0x24,0x00), MAKE_RGB(0x51,0x34,0x00), \
MAKE_RGB(0x64,0x44,0x00), MAKE_RGB(0x76,0x54,0x00), MAKE_RGB(0x88,0x63,0x00), MAKE_RGB(0x99,0x74,0x09), \
MAKE_RGB(0xAA,0x85,0x1A), MAKE_RGB(0xBB,0x96,0x2B), MAKE_RGB(0xCC,0xA7,0x3C), MAKE_RGB(0xDD,0xB8,0x4D), \
MAKE_RGB(0xEE,0xC9,0x5E), MAKE_RGB(0xFF,0xDA,0x6F), MAKE_RGB(0xFF,0xEC,0x83), MAKE_RGB(0xFF,0xF7,0x97 )
#define NTSC_ORANGE \
MAKE_RGB(0x31,0x00,0x00), MAKE_RGB(0x43,0x02,0x00), MAKE_RGB(0x56,0x12,0x00), MAKE_RGB(0x69,0x23,0x00), \
MAKE_RGB(0x7C,0x33,0x00), MAKE_RGB(0x8E,0x44,0x00), MAKE_RGB(0x9F,0x56,0x0A), MAKE_RGB(0xB1,0x67,0x1C), \
MAKE_RGB(0xC3,0x79,0x2E), MAKE_RGB(0xD4,0x8B,0x40), MAKE_RGB(0xE6,0x9D,0x52), MAKE_RGB(0xF8,0xAF,0x64), \
MAKE_RGB(0xF9,0xC2,0x79), MAKE_RGB(0xF9,0xD6,0x91), MAKE_RGB(0xFA,0xE9,0xAA), MAKE_RGB(0xFA,0xFA,0xC2 )
MAKE_RGB(0x31,0x00,0x00), MAKE_RGB(0x42,0x01,0x00), MAKE_RGB(0x55,0x11,0x00), MAKE_RGB(0x67,0x20,0x00), \
MAKE_RGB(0x79,0x30,0x00), MAKE_RGB(0x8B,0x41,0x00), MAKE_RGB(0x9C,0x52,0x0A), MAKE_RGB(0xAD,0x63,0x1B), \
MAKE_RGB(0xBE,0x74,0x2C), MAKE_RGB(0xCF,0x85,0x3D), MAKE_RGB(0xE0,0x96,0x4E), MAKE_RGB(0xF1,0xA7,0x5F), \
MAKE_RGB(0xFF,0xB8,0x70), MAKE_RGB(0xFF,0xCA,0x85), MAKE_RGB(0xFF,0xDC,0x9C), MAKE_RGB(0xFF,0xEE,0xB2 )
#define NTSC_RED_ORANGE \
MAKE_RGB(0x3E,0x00,0x00), MAKE_RGB(0x50,0x00,0x00), MAKE_RGB(0x61,0x03,0x00), MAKE_RGB(0x71,0x13,0x00), \
MAKE_RGB(0x83,0x24,0x0A), MAKE_RGB(0x95,0x36,0x1B), MAKE_RGB(0xA7,0x48,0x2D), MAKE_RGB(0xB9,0x5A,0x3F), \
MAKE_RGB(0xCB,0x6C,0x51), MAKE_RGB(0xDD,0x7E,0x63), MAKE_RGB(0xEE,0x90,0x75), MAKE_RGB(0xFD,0xA1,0x87), \
MAKE_RGB(0xFD,0xB5,0xA0), MAKE_RGB(0xFE,0xC9,0xB8), MAKE_RGB(0xFE,0xDD,0xD2), MAKE_RGB(0xFE,0xF0,0xEA )
MAKE_RGB(0x3E,0x00,0x00), MAKE_RGB(0x4F,0x00,0x00), MAKE_RGB(0x60,0x01,0x00), MAKE_RGB(0x71,0x12,0x00), \
MAKE_RGB(0x82,0x23,0x0D), MAKE_RGB(0x93,0x34,0x1E), MAKE_RGB(0xA4,0x45,0x2F), MAKE_RGB(0xB5,0x56,0x40), \
MAKE_RGB(0xC6,0x67,0x51), MAKE_RGB(0xD7,0x78,0x62), MAKE_RGB(0xE8,0x89,0x73), MAKE_RGB(0xF9,0x9A,0x83), \
MAKE_RGB(0xFF,0xAC,0x98), MAKE_RGB(0xFF,0xBE,0xAE), MAKE_RGB(0xFF,0xD0,0xC4), MAKE_RGB(0xFF,0xE3,0xDA )
#define NTSC_PINK \
MAKE_RGB(0x3C,0x00,0x00), MAKE_RGB(0x4C,0x00,0x0A), MAKE_RGB(0x5B,0x00,0x15), MAKE_RGB(0x6D,0x0C,0x26), \
MAKE_RGB(0x7F,0x1E,0x38), MAKE_RGB(0x91,0x30,0x4A), MAKE_RGB(0xA3,0x42,0x5C), MAKE_RGB(0xB5,0x54,0x6E), \
MAKE_RGB(0xC7,0x66,0x80), MAKE_RGB(0xD8,0x77,0x91), MAKE_RGB(0xEA,0x89,0xA3), MAKE_RGB(0xF8,0x9C,0xB7), \
MAKE_RGB(0xF9,0xAF,0xD0), MAKE_RGB(0xF9,0xC3,0xE8), MAKE_RGB(0xFB,0xD6,0xF0), MAKE_RGB(0xFD,0xE8,0xF6 )
MAKE_RGB(0x3D,0x00,0x03), MAKE_RGB(0x4D,0x00,0x0F), MAKE_RGB(0x5D,0x00,0x1B), MAKE_RGB(0x6E,0x0C,0x2B), \
MAKE_RGB(0x7F,0x1D,0x3C), MAKE_RGB(0x90,0x2E,0x4D), MAKE_RGB(0xA1,0x3F,0x5E), MAKE_RGB(0xB2,0x50,0x6F), \
MAKE_RGB(0xC3,0x61,0x80), MAKE_RGB(0xD4,0x72,0x91), MAKE_RGB(0xE5,0x83,0xA2), MAKE_RGB(0xF6,0x94,0xB3), \
MAKE_RGB(0xFB,0xA6,0xC8), MAKE_RGB(0xFB,0xB8,0xDE), MAKE_RGB(0xFB,0xCA,0xEF), MAKE_RGB(0xFC,0xDB,0xF4 )
#define NTSC_PURPLE \
MAKE_RGB(0x2D,0x01,0x32), MAKE_RGB(0x3D,0x01,0x3D), MAKE_RGB(0x4D,0x01,0x49), MAKE_RGB(0x5F,0x0E,0x59), \
MAKE_RGB(0x71,0x20,0x6A), MAKE_RGB(0x83,0x32,0x7C), MAKE_RGB(0x94,0x44,0x8E), MAKE_RGB(0xA6,0x56,0xA0), \
MAKE_RGB(0xB8,0x67,0xB2), MAKE_RGB(0xCA,0x79,0xC4), MAKE_RGB(0xDC,0x8B,0xD6), MAKE_RGB(0xEE,0x9D,0xDE), \
MAKE_RGB(0xF7,0xAE,0xE2), MAKE_RGB(0xF9,0xC0,0xE8), MAKE_RGB(0xFA,0xD3,0xEF), MAKE_RGB(0xFC,0xE4,0xF5 )
MAKE_RGB(0x2E,0x01,0x35), MAKE_RGB(0x3E,0x01,0x41), MAKE_RGB(0x4D,0x01,0x4C), MAKE_RGB(0x5E,0x0D,0x5C), \
MAKE_RGB(0x6F,0x1E,0x6D), MAKE_RGB(0x80,0x2F,0x7E), MAKE_RGB(0x91,0x40,0x8F), MAKE_RGB(0xA2,0x51,0xA0), \
MAKE_RGB(0xB3,0x62,0xB1), MAKE_RGB(0xC4,0x73,0xC2), MAKE_RGB(0xD5,0x84,0xD3), MAKE_RGB(0xE6,0x95,0xE4), \
MAKE_RGB(0xF8,0xA5,0xE4), MAKE_RGB(0xFA,0xB6,0xE9), MAKE_RGB(0xFB,0xC7,0xEE), MAKE_RGB(0xFC,0xD8,0xF3 )
#define NTSC_PURPLE_BLUE \
MAKE_RGB(0x16,0x06,0x5B), MAKE_RGB(0x26,0x06,0x67), MAKE_RGB(0x36,0x06,0x73), MAKE_RGB(0x48,0x18,0x85), \
MAKE_RGB(0x5A,0x2A,0x96), MAKE_RGB(0x6C,0x3C,0xA8), MAKE_RGB(0x7E,0x4D,0xB9), MAKE_RGB(0x90,0x5F,0xCB), \
MAKE_RGB(0xA2,0x71,0xDD), MAKE_RGB(0xB3,0x83,0xE9), MAKE_RGB(0xC6,0x93,0xE8), MAKE_RGB(0xDA,0xA4,0xE8), \
MAKE_RGB(0xED,0xB3,0xE7), MAKE_RGB(0xF9,0xC4,0xEA), MAKE_RGB(0xFB,0xD7,0xF0), MAKE_RGB(0xFD,0xE9,0xF7 )
MAKE_RGB(0x15,0x05,0x5C), MAKE_RGB(0x25,0x05,0x68), MAKE_RGB(0x35,0x05,0x74), MAKE_RGB(0x46,0x15,0x85), \
MAKE_RGB(0x57,0x26,0x96), MAKE_RGB(0x68,0x37,0xA7), MAKE_RGB(0x79,0x48,0xB8), MAKE_RGB(0x8A,0x59,0xC9), \
MAKE_RGB(0x9B,0x6A,0xDA), MAKE_RGB(0xAC,0x7B,0xEB), MAKE_RGB(0xBE,0x8B,0xEC), MAKE_RGB(0xD0,0x9B,0xEC), \
MAKE_RGB(0xE2,0xAB,0xEC), MAKE_RGB(0xF5,0xBA,0xEC), MAKE_RGB(0xFB,0xCB,0xEF), MAKE_RGB(0xFC,0xDC,0xF4 )
#define NTSC_BLUE1 \
MAKE_RGB(0x08,0x08,0x71), MAKE_RGB(0x09,0x09,0x7E), MAKE_RGB(0x1B,0x15,0x8E), MAKE_RGB(0x2D,0x27,0x9F), \
MAKE_RGB(0x3F,0x39,0xB1), MAKE_RGB(0x50,0x4B,0xC3), MAKE_RGB(0x62,0x5D,0xD5), MAKE_RGB(0x74,0x6F,0xE7), \
MAKE_RGB(0x86,0x81,0xF7), MAKE_RGB(0x99,0x91,0xF6), MAKE_RGB(0xAD,0xA1,0xF6), MAKE_RGB(0xC0,0xB1,0xF6), \
MAKE_RGB(0xD2,0xC2,0xF6), MAKE_RGB(0xE6,0xD2,0xF6), MAKE_RGB(0xF9,0xE3,0xF5), MAKE_RGB(0xFE,0xF4,0xFB )
MAKE_RGB(0x00,0x08,0x71), MAKE_RGB(0x09,0x08,0x7D), MAKE_RGB(0x1A,0x13,0x8C), MAKE_RGB(0x2B,0x24,0x9D), \
MAKE_RGB(0x3C,0x35,0xAE), MAKE_RGB(0x4D,0x46,0xBF), MAKE_RGB(0x5E,0x57,0xD0), MAKE_RGB(0x6F,0x68,0xE1), \
MAKE_RGB(0x80,0x79,0xF2), MAKE_RGB(0x92,0x89,0xF7), MAKE_RGB(0xA4,0x99,0xF7), MAKE_RGB(0xB6,0xA9,0xF7), \
MAKE_RGB(0xC8,0xB9,0xF7), MAKE_RGB(0xDB,0xC8,0xF7), MAKE_RGB(0xED,0xD8,0xF7), MAKE_RGB(0xFD,0xE8,0xF8 )
#define NTSC_BLUE2 \
MAKE_RGB(0x08,0x08,0x68), MAKE_RGB(0x09,0x14,0x7E), MAKE_RGB(0x09,0x28,0x94), MAKE_RGB(0x14,0x39,0xA6), \
MAKE_RGB(0x26,0x4B,0xB8), MAKE_RGB(0x38,0x5D,0xCA), MAKE_RGB(0x49,0x70,0xDD), MAKE_RGB(0x5B,0x81,0xEE), \
MAKE_RGB(0x6D,0x93,0xFF), MAKE_RGB(0x80,0xA3,0xFF), MAKE_RGB(0x92,0xB4,0xFF), MAKE_RGB(0xA6,0xC4,0xFF), \
MAKE_RGB(0xBA,0xD4,0xFF), MAKE_RGB(0xCB,0xE5,0xFF), MAKE_RGB(0xDF,0xF5,0xFF), MAKE_RGB(0xF2,0xFF,0xFF )
MAKE_RGB(0x00,0x08,0x68), MAKE_RGB(0x00,0x13,0x7C), MAKE_RGB(0x00,0x25,0x90), MAKE_RGB(0x11,0x36,0xA1), \
MAKE_RGB(0x22,0x47,0xB2), MAKE_RGB(0x33,0x58,0xC3), MAKE_RGB(0x44,0x69,0xD4), MAKE_RGB(0x55,0x7A,0xE5), \
MAKE_RGB(0x66,0x8B,0xF6), MAKE_RGB(0x77,0x9C,0xFF), MAKE_RGB(0x89,0xAB,0xFF), MAKE_RGB(0x9B,0xBB,0xFF), \
MAKE_RGB(0xAE,0xCB,0xFF), MAKE_RGB(0xC0,0xDA,0xFF), MAKE_RGB(0xD2,0xEA,0xFF), MAKE_RGB(0xE4,0xFA,0xFF )
#define NTSC_LIGHT_BLUE \
MAKE_RGB(0x05,0x10,0x4E), MAKE_RGB(0x05,0x23,0x66), MAKE_RGB(0x06,0x37,0x7F), MAKE_RGB(0x06,0x4B,0x97), \
MAKE_RGB(0x13,0x5D,0xA9), MAKE_RGB(0x25,0x6F,0xBB), MAKE_RGB(0x37,0x80,0xCB), MAKE_RGB(0x48,0x92,0xDE), \
MAKE_RGB(0x5A,0xA4,0xF0), MAKE_RGB(0x6C,0xB6,0xFF), MAKE_RGB(0x7D,0xC7,0xFF), MAKE_RGB(0x91,0xD8,0xFF), \
MAKE_RGB(0xA3,0xE7,0xFF), MAKE_RGB(0xB7,0xF7,0xFF), MAKE_RGB(0xC9,0xFF,0xFF), MAKE_RGB(0xDB,0xFF,0xFF )
MAKE_RGB(0x00,0x10,0x4C), MAKE_RGB(0x00,0x23,0x62), MAKE_RGB(0x00,0x35,0x78), MAKE_RGB(0x00,0x47,0x8E), \
MAKE_RGB(0x0E,0x58,0x9F), MAKE_RGB(0x1F,0x69,0xB0), MAKE_RGB(0x30,0x7A,0xC1), MAKE_RGB(0x41,0x8B,0xD2), \
MAKE_RGB(0x52,0x9C,0xE3), MAKE_RGB(0x63,0xAD,0xF4), MAKE_RGB(0x74,0xBE,0xFF), MAKE_RGB(0x86,0xCF,0xFF), \
MAKE_RGB(0x98,0xDE,0xFF), MAKE_RGB(0xAA,0xEE,0xFF), MAKE_RGB(0xBD,0xFE,0xFF), MAKE_RGB(0xCE,0xFF,0xFF )
#define NTSC_TURQUOISE \
MAKE_RGB(0x01,0x1D,0x28), MAKE_RGB(0x01,0x30,0x3F), MAKE_RGB(0x02,0x43,0x58), MAKE_RGB(0x02,0x57,0x71), \
MAKE_RGB(0x0B,0x6A,0x85), MAKE_RGB(0x1C,0x7C,0x98), MAKE_RGB(0x2E,0x8E,0xAA), MAKE_RGB(0x41,0xA0,0xBB), \
MAKE_RGB(0x52,0xB2,0xCD), MAKE_RGB(0x64,0xC3,0xDF), MAKE_RGB(0x76,0xD5,0xF1), MAKE_RGB(0x88,0xE7,0xFF), \
MAKE_RGB(0x98,0xF8,0xFF), MAKE_RGB(0xAA,0xFF,0xFF), MAKE_RGB(0xBC,0xFF,0xFF), MAKE_RGB(0xCE,0xFF,0xFF )
MAKE_RGB(0x00,0x1C,0x24), MAKE_RGB(0x00,0x2E,0x3A), MAKE_RGB(0x00,0x41,0x50), MAKE_RGB(0x00,0x53,0x66), \
MAKE_RGB(0x06,0x65,0x7A), MAKE_RGB(0x17,0x76,0x8B), MAKE_RGB(0x28,0x87,0x9C), MAKE_RGB(0x39,0x98,0xAD), \
MAKE_RGB(0x4A,0xA9,0xBE), MAKE_RGB(0x5B,0xBA,0xCF), MAKE_RGB(0x6C,0xCB,0xE0), MAKE_RGB(0x7D,0xDC,0xF1), \
MAKE_RGB(0x8E,0xED,0xFF), MAKE_RGB(0x9F,0xFE,0xFF), MAKE_RGB(0xB0,0xFF,0xFF), MAKE_RGB(0xC1,0xFF,0xFF )
#define NTSC_GREEN_BLUE \
MAKE_RGB(0x03,0x24,0x0D), MAKE_RGB(0x05,0x37,0x13), MAKE_RGB(0x06,0x4A,0x2A), MAKE_RGB(0x07,0x5E,0x41), \
MAKE_RGB(0x10,0x70,0x56), MAKE_RGB(0x21,0x82,0x69), MAKE_RGB(0x33,0x94,0x7B), MAKE_RGB(0x45,0xA6,0x8D), \
MAKE_RGB(0x57,0xB8,0x9F), MAKE_RGB(0x69,0xCA,0xB1), MAKE_RGB(0x7B,0xDC,0xC2), MAKE_RGB(0x8C,0xED,0xD3), \
MAKE_RGB(0x9D,0xFF,0xE6), MAKE_RGB(0xAF,0xFF,0xF3), MAKE_RGB(0xBF,0xFF,0xFE), MAKE_RGB(0xCE,0xFF,0xFF )
MAKE_RGB(0x03,0x24,0x0B), MAKE_RGB(0x04,0x35,0x10), MAKE_RGB(0x04,0x47,0x21), MAKE_RGB(0x04,0x59,0x37), \
MAKE_RGB(0x09,0x6B,0x4C), MAKE_RGB(0x1A,0x7C,0x5D), MAKE_RGB(0x2B,0x8D,0x6E), MAKE_RGB(0x3C,0x9E,0x7F), \
MAKE_RGB(0x4D,0xAF,0x90), MAKE_RGB(0x5E,0xC0,0xA1), MAKE_RGB(0x6F,0xD1,0xB2), MAKE_RGB(0x80,0xE2,0xC3), \
MAKE_RGB(0x91,0xF3,0xD4), MAKE_RGB(0xA2,0xFF,0xE4), MAKE_RGB(0xB2,0xFF,0xF0), MAKE_RGB(0xC2,0xFF,0xFC )
#define NTSC_GREEN \
MAKE_RGB(0x04,0x27,0x0E), MAKE_RGB(0x06,0x3A,0x15), MAKE_RGB(0x07,0x4C,0x1B), MAKE_RGB(0x0B,0x5E,0x21), \
MAKE_RGB(0x1E,0x6F,0x25), MAKE_RGB(0x30,0x81,0x37), MAKE_RGB(0x42,0x92,0x49), MAKE_RGB(0x53,0xA4,0x5A), \
MAKE_RGB(0x65,0xB6,0x6C), MAKE_RGB(0x77,0xC8,0x7E), MAKE_RGB(0x89,0xDA,0x90), MAKE_RGB(0x9B,0xEC,0xA2), \
MAKE_RGB(0xAD,0xFE,0xB4), MAKE_RGB(0xBD,0xFE,0xBF), MAKE_RGB(0xCD,0xFE,0xCA), MAKE_RGB(0xDD,0xFE,0xD6 )
MAKE_RGB(0x03,0x27,0x0C), MAKE_RGB(0x04,0x38,0x11), MAKE_RGB(0x05,0x49,0x16), MAKE_RGB(0x07,0x5A,0x1B), \
MAKE_RGB(0x19,0x6A,0x1B), MAKE_RGB(0x2A,0x7B,0x2B), MAKE_RGB(0x3B,0x8C,0x3C), MAKE_RGB(0x4C,0x9D,0x4D), \
MAKE_RGB(0x5D,0xAE,0x5E), MAKE_RGB(0x6E,0xBF,0x6F), MAKE_RGB(0x7F,0xD0,0x80), MAKE_RGB(0x90,0xE1,0x91), \
MAKE_RGB(0xA1,0xF2,0xA2), MAKE_RGB(0xB2,0xFE,0xB1), MAKE_RGB(0xC1,0xFE,0xBD), MAKE_RGB(0xD1,0xFE,0xC9 )
#define NTSC_YELLOW_GREEN \
MAKE_RGB(0x03,0x23,0x0C), MAKE_RGB(0x05,0x36,0x13), MAKE_RGB(0x0D,0x47,0x17), MAKE_RGB(0x20,0x57,0x17), \
MAKE_RGB(0x32,0x67,0x17), MAKE_RGB(0x46,0x78,0x16), MAKE_RGB(0x58,0x89,0x1C), MAKE_RGB(0x6A,0x9B,0x2E), \
MAKE_RGB(0x7C,0xAD,0x40), MAKE_RGB(0x8E,0xBE,0x52), MAKE_RGB(0x9F,0xD0,0x64), MAKE_RGB(0xB1,0xE2,0x76), \
MAKE_RGB(0xC3,0xF4,0x88), MAKE_RGB(0xD5,0xF9,0x96), MAKE_RGB(0xE5,0xF9,0xA0), MAKE_RGB(0xF5,0xF9,0xAC )
MAKE_RGB(0x03,0x23,0x0A), MAKE_RGB(0x04,0x34,0x10), MAKE_RGB(0x0A,0x45,0x13), MAKE_RGB(0x1C,0x54,0x13), \
MAKE_RGB(0x2F,0x64,0x13), MAKE_RGB(0x41,0x74,0x13), MAKE_RGB(0x53,0x83,0x14), MAKE_RGB(0x64,0x95,0x25), \
MAKE_RGB(0x75,0xA5,0x36), MAKE_RGB(0x86,0xB7,0x47), MAKE_RGB(0x97,0xC8,0x58), MAKE_RGB(0xA8,0xD9,0x69), \
MAKE_RGB(0xB9,0xEA,0x7A), MAKE_RGB(0xCA,0xFA,0x8B), MAKE_RGB(0xDA,0xFA,0x97), MAKE_RGB(0xE9,0xFA,0xA3 )
#define NTSC_ORANGE_GREEN \
MAKE_RGB(0x02,0x17,0x08), MAKE_RGB(0x13,0x28,0x09), MAKE_RGB(0x26,0x38,0x09), MAKE_RGB(0x3A,0x49,0x09), \
MAKE_RGB(0x4C,0x59,0x09), MAKE_RGB(0x60,0x6A,0x09), MAKE_RGB(0x73,0x7A,0x09), MAKE_RGB(0x84,0x8B,0x13), \
MAKE_RGB(0x96,0x9D,0x25), MAKE_RGB(0xA9,0xAF,0x37), MAKE_RGB(0xBA,0xC1,0x49), MAKE_RGB(0xCD,0xD3,0x5A), \
MAKE_RGB(0xDF,0xE5,0x6C), MAKE_RGB(0xF0,0xF6,0x7E), MAKE_RGB(0xF6,0xF6,0x8A), MAKE_RGB(0xF7,0xF7,0x9A )
MAKE_RGB(0x02,0x17,0x07), MAKE_RGB(0x12,0x27,0x07), MAKE_RGB(0x24,0x37,0x07), MAKE_RGB(0x37,0x46,0x07), \
MAKE_RGB(0x49,0x56,0x07), MAKE_RGB(0x5B,0x66,0x07), MAKE_RGB(0x6D,0x75,0x07), MAKE_RGB(0x7F,0x85,0x0C), \
MAKE_RGB(0x90,0x97,0x1D), MAKE_RGB(0xA1,0xA8,0x2E), MAKE_RGB(0xB2,0xB9,0x3F), MAKE_RGB(0xC3,0xCA,0x50), \
MAKE_RGB(0xD4,0xDB,0x61), MAKE_RGB(0xE5,0xEC,0x72), MAKE_RGB(0xF6,0xF7,0x82), MAKE_RGB(0xFF,0xF7,0x8E )
#define NTSC_LIGHT_ORANGE \
MAKE_RGB(0x19,0x05,0x00), MAKE_RGB(0x2D,0x15,0x00), MAKE_RGB(0x40,0x26,0x00), MAKE_RGB(0x53,0x36,0x00), \
MAKE_RGB(0x67,0x47,0x00), MAKE_RGB(0x7A,0x57,0x00), MAKE_RGB(0x8C,0x68,0x00), MAKE_RGB(0x9E,0x79,0x0C), \
MAKE_RGB(0xB0,0x8B,0x1E), MAKE_RGB(0xC2,0x9D,0x30), MAKE_RGB(0xD4,0xAF,0x42), MAKE_RGB(0xE6,0xC0,0x54), \
MAKE_RGB(0xF6,0xD3,0x66), MAKE_RGB(0xF6,0xE5,0x79), MAKE_RGB(0xF7,0xF7,0x91), MAKE_RGB(0xF8,0xF8,0xA3 )
MAKE_RGB(0x1B,0x05,0x00), MAKE_RGB(0x2D,0x15,0x00), MAKE_RGB(0x3F,0x24,0x00), MAKE_RGB(0x51,0x34,0x00), \
MAKE_RGB(0x64,0x44,0x00), MAKE_RGB(0x76,0x54,0x00), MAKE_RGB(0x88,0x63,0x00), MAKE_RGB(0x99,0x74,0x09), \
MAKE_RGB(0xAA,0x85,0x1A), MAKE_RGB(0xBB,0x96,0x2B), MAKE_RGB(0xCC,0xA7,0x3C), MAKE_RGB(0xDD,0xB8,0x4D), \
MAKE_RGB(0xEE,0xC9,0x5E), MAKE_RGB(0xFF,0xDA,0x6F), MAKE_RGB(0xFF,0xEC,0x83), MAKE_RGB(0xFF,0xF7,0x97 )
static const rgb_t a7800_palette[256*3] =
{