diff --git a/src/mess/drivers/apple3.c b/src/mess/drivers/apple3.c index 035e17b53c7..5cdb70e0f13 100644 --- a/src/mess/drivers/apple3.c +++ b/src/mess/drivers/apple3.c @@ -66,7 +66,7 @@ static MACHINE_CONFIG_START( apple3, apple3_state ) MCFG_SCREEN_UPDATE_DRIVER(apple3_state, screen_update_apple3) MCFG_PALETTE_LENGTH(16) - MCFG_PALETTE_INIT_OVERRIDE(apple3_state, apple2 ) + MCFG_PALETTE_INIT_OVERRIDE(apple3_state, apple3 ) MCFG_VIDEO_START_OVERRIDE(apple3_state, apple3 ) diff --git a/src/mess/includes/apple3.h b/src/mess/includes/apple3.h index 385007cb2ae..b49a1aaab15 100644 --- a/src/mess/includes/apple3.h +++ b/src/mess/includes/apple3.h @@ -94,6 +94,7 @@ public: void apple3_via_out(UINT8 *var, UINT8 data); UINT8 *apple3_get_indexed_addr(offs_t offset); TIMER_DEVICE_CALLBACK_MEMBER(apple3_c040_tick); + DECLARE_PALETTE_INIT(apple3); bool m_sync; UINT8 m_indir_opcode; diff --git a/src/mess/video/apple3.c b/src/mess/video/apple3.c index 516ee037fa5..c406fec69a3 100644 --- a/src/mess/video/apple3.c +++ b/src/mess/video/apple3.c @@ -28,6 +28,26 @@ #define AQUA 14 #define WHITE 15 +// derived from the IIgs palette then adjusted to match Sara +static const unsigned char apple3_palette[] = +{ + 0x0, 0x0, 0x0, /* Black $0 */ + 0x5, 0x0, 0x5, /* Magenta $1 */ + 0x0, 0x0, 0x9, /* Dark Blue $2 */ + 0xD, 0x2, 0xD, /* Purple $3 */ + 0x0, 0x7, 0x2, /* Dark Green $4 */ + 0xa, 0xa, 0xa, /* Light Gray $5 */ + 0x2, 0x2, 0xF, /* Medium Blue $6 */ + 0x6, 0xA, 0xF, /* Light Blue $7 */ + 0x8, 0x5, 0x0, /* Brown $8 */ + 0xF, 0x6, 0x0, /* Orange $9 */ + 0x5, 0x5, 0x5, /* Dark Gray $A */ + 0xF, 0x9, 0xF, /* Pink $B */ + 0x1, 0xD, 0x0, /* Light Green $C */ + 0xe, 0xe, 0x0, /* Yellow $D */ + 0x4, 0xe, 0xd, /* Cyan $E */ + 0xF, 0xF, 0xF /* White $F */ +}; static const UINT32 text_map[] = { @@ -37,6 +57,19 @@ static const UINT32 text_map[] = }; +PALETTE_INIT_MEMBER(apple3_state, apple3) +{ + int i; + + for (i = 0; i < 16; i++) + { + palette_set_color_rgb(machine(), i, + apple3_palette[(3*i)]*17, + apple3_palette[(3*i)+1]*17, + apple3_palette[(3*i)+2]*17); + } +} + void apple3_state::apple3_write_charmem() { address_space& space = m_maincpu->space(AS_PROGRAM);