diff options
author | 2015-07-28 13:51:54 +0200 | |
---|---|---|
committer | 2015-07-29 15:56:02 +0200 | |
commit | 56be458f72170476eca49fb06e740a5146fedf95 (patch) | |
tree | 3c9c9bd8d323c12134e8819b09a11c50603c184f | |
parent | 518faa8d94b841a4df44ddafd5c16a74a3846c38 (diff) |
compucolor: use standard 3-bit rgb palette
-rw-r--r-- | src/mess/drivers/compucolor.c | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/src/mess/drivers/compucolor.c b/src/mess/drivers/compucolor.c index cc18f9cd4f1..2286c43f10f 100644 --- a/src/mess/drivers/compucolor.c +++ b/src/mess/drivers/compucolor.c @@ -40,6 +40,7 @@ public: m_maincpu(*this, I8080_TAG), m_mioc(*this, TMS5501_TAG), m_vtac(*this, CRT5027_TAG), + m_palette(*this, "palette"), m_rs232(*this, RS232_TAG), m_floppy0(*this, "cd0"), m_floppy1(*this, "cd1"), @@ -67,6 +68,7 @@ public: required_device<cpu_device> m_maincpu; required_device<tms5501_device> m_mioc; required_device<crt5027_device> m_vtac; + required_device<palette_device> m_palette; required_device<rs232_port_device> m_rs232; required_device<compucolor_floppy_port_device> m_floppy0; required_device<compucolor_floppy_port_device> m_floppy1; @@ -92,7 +94,6 @@ public: virtual void machine_start(); virtual void machine_reset(); - DECLARE_PALETTE_INIT(compucolor2); UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); @@ -102,8 +103,6 @@ public: IRQ_CALLBACK_MEMBER( int_ack ); - rgb_t m_palette[8]; - UINT8 m_xo; }; @@ -305,8 +304,8 @@ UINT32 compucolor2_state::screen_update(screen_device &screen, bitmap_rgb32 &bit UINT8 data = m_char_rom->base()[char_offs]; - rgb_t fg = m_palette[attr & 0x07]; - rgb_t bg = m_palette[(attr >> 3) & 0x07]; + rgb_t fg = m_palette->pen_color(attr & 0x07); + rgb_t bg = m_palette->pen_color((attr >> 3) & 0x07); for (int x = 0; x < 6; x++) { @@ -434,14 +433,6 @@ void compucolor2_state::machine_reset() m_rs232->write_dtr(1); } -PALETTE_INIT_MEMBER(compucolor2_state, compucolor2) -{ - for (int i = 0; i < 8; i++) - { - m_palette[i] = rgb_t(BIT(i, 0) * 0xff, BIT(i, 1) * 0xff, BIT(i, 2) * 0xff); - } -} - static MACHINE_CONFIG_START( compucolor2, compucolor2_state ) // basic machine hardware MCFG_CPU_ADD(I8080_TAG, I8080, XTAL_17_9712MHz/9) @@ -449,9 +440,6 @@ static MACHINE_CONFIG_START( compucolor2, compucolor2_state ) MCFG_CPU_IO_MAP(compucolor2_io) MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(compucolor2_state,int_ack) - MCFG_PALETTE_ADD("palette", 8) - MCFG_PALETTE_INIT_OWNER(compucolor2_state, compucolor2) - // video hardware MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(60) @@ -460,6 +448,8 @@ static MACHINE_CONFIG_START( compucolor2, compucolor2_state ) MCFG_SCREEN_SIZE(64*6, 32*8) MCFG_SCREEN_VISIBLE_AREA(0, 64*6-1, 0, 32*8-1) + MCFG_PALETTE_ADD_3BIT_RGB("palette") + MCFG_DEVICE_ADD(CRT5027_TAG, CRT5027, XTAL_17_9712MHz/2) MCFG_TMS9927_CHAR_WIDTH(6) MCFG_TMS9927_VSYN_CALLBACK(DEVWRITELINE(TMS5501_TAG, tms5501_device, sens_w)) |