summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/drivers/mz2500.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/drivers/mz2500.c')
-rw-r--r--src/mess/drivers/mz2500.c37
1 files changed, 19 insertions, 18 deletions
diff --git a/src/mess/drivers/mz2500.c b/src/mess/drivers/mz2500.c
index 1522cc4eb56..2519adc3c0b 100644
--- a/src/mess/drivers/mz2500.c
+++ b/src/mess/drivers/mz2500.c
@@ -185,7 +185,7 @@ public:
virtual void machine_start();
virtual void machine_reset();
virtual void video_start();
- virtual void palette_init();
+ DECLARE_PALETTE_INIT(mz2500);
UINT32 screen_update_mz2500(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(mz2500_vbl);
DECLARE_READ8_MEMBER(mz2500_wd17xx_r);
@@ -251,23 +251,23 @@ void mz2500_state::mz2500_draw_pixel(bitmap_ind16 &bitmap,int x,int y,UINT16 pe
{
if(width && height)
{
- bitmap.pix16(y*2+0, x*2+0) = machine().pens[pen];
- bitmap.pix16(y*2+0, x*2+1) = machine().pens[pen];
- bitmap.pix16(y*2+1, x*2+0) = machine().pens[pen];
- bitmap.pix16(y*2+1, x*2+1) = machine().pens[pen];
+ bitmap.pix16(y*2+0, x*2+0) = m_palette->pen(pen);
+ bitmap.pix16(y*2+0, x*2+1) = m_palette->pen(pen);
+ bitmap.pix16(y*2+1, x*2+0) = m_palette->pen(pen);
+ bitmap.pix16(y*2+1, x*2+1) = m_palette->pen(pen);
}
else if(width)
{
- bitmap.pix16(y, x*2+0) = machine().pens[pen];
- bitmap.pix16(y, x*2+1) = machine().pens[pen];
+ bitmap.pix16(y, x*2+0) = m_palette->pen(pen);
+ bitmap.pix16(y, x*2+1) = m_palette->pen(pen);
}
else if(height)
{
- bitmap.pix16(y*2+0, x) = machine().pens[pen];
- bitmap.pix16(y*2+1, x) = machine().pens[pen];
+ bitmap.pix16(y*2+0, x) = m_palette->pen(pen);
+ bitmap.pix16(y*2+1, x) = m_palette->pen(pen);
}
else
- bitmap.pix16(y, x) = machine().pens[pen];
+ bitmap.pix16(y, x) = m_palette->pen(pen);
}
void mz2500_state::draw_80x25(bitmap_ind16 &bitmap,const rectangle &cliprect,UINT16 map_addr)
@@ -677,7 +677,7 @@ void mz2500_state::draw_cg_screen(bitmap_ind16 &bitmap,const rectangle &cliprect
UINT32 mz2500_state::screen_update_mz2500(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- bitmap.fill(machine().pens[0], cliprect); //TODO: correct?
+ bitmap.fill(m_palette->pen(0), cliprect); //TODO: correct?
if(m_screen_enable)
return 0;
@@ -1122,7 +1122,7 @@ WRITE8_MEMBER(mz2500_state::mz2500_tv_crtc_w)
bit2 = i & 0x40 ? 4 : 0;
g = bit0|bit1|bit2;
- palette_set_color_rgb(machine(), i+0x100,pal3bit(r),pal3bit(g),pal3bit(b));
+ m_palette->set_pen_color(i+0x100,pal3bit(r),pal3bit(g),pal3bit(b));
}
}
if(m_text_reg_index >= 0x80 && m_text_reg_index <= 0x8f) //Bitmap 16 clut registers
@@ -1275,7 +1275,7 @@ WRITE8_MEMBER(mz2500_state::palette4096_io_w)
m_pal[pal_entry].b = data & 0x0f;
}
- palette_set_color_rgb(machine(), pal_entry+0x10, pal4bit(m_pal[pal_entry].r), pal4bit(m_pal[pal_entry].g), pal4bit(m_pal[pal_entry].b));
+ m_palette->set_pen_color(pal_entry+0x10, pal4bit(m_pal[pal_entry].r), pal4bit(m_pal[pal_entry].g), pal4bit(m_pal[pal_entry].b));
}
READ8_MEMBER(mz2500_state::mz2500_wd17xx_r)
@@ -2034,16 +2034,16 @@ static const ay8910_interface ay8910_config =
DEVCB_NULL // write B
};
-void mz2500_state::palette_init()
+PALETTE_INIT_MEMBER(mz2500_state, mz2500)
{
int i;
for(i=0;i<0x200;i++)
- palette_set_color_rgb(machine(), i,pal1bit(0),pal1bit(0),pal1bit(0));
+ palette.set_pen_color(i,pal1bit(0),pal1bit(0),pal1bit(0));
/* set up 8 colors (PCG) */
for(i=0;i<8;i++)
- palette_set_color_rgb(machine(), i+8,pal1bit((i & 2)>>1),pal1bit((i & 4)>>2),pal1bit((i & 1)>>0));
+ m_palette->set_pen_color(i+8,pal1bit((i & 2)>>1),pal1bit((i & 4)>>2),pal1bit((i & 1)>>0));
/* set up 16 colors (PCG / CG) */
@@ -2068,7 +2068,7 @@ void mz2500_state::palette_init()
bit2 = i & 0x40 ? 4 : 0;
g = bit0|bit1|bit2;
- palette_set_color_rgb(machine(), i+0x100,pal3bit(r),pal3bit(g),pal3bit(b));
+ m_palette->set_pen_color(i+0x100,pal3bit(r),pal3bit(g),pal3bit(b));
}
}
}
@@ -2147,7 +2147,8 @@ static MACHINE_CONFIG_START( mz2500, mz2500_state )
MCFG_SCREEN_RAW_PARAMS(XTAL_21_4772MHz, 640+108, 0, 640, 480, 0, 200) //unknown clock / divider
MCFG_SCREEN_UPDATE_DRIVER(mz2500_state, screen_update_mz2500)
- MCFG_PALETTE_LENGTH(0x200)
+ MCFG_PALETTE_ADD("palette", 0x200)
+ MCFG_PALETTE_INIT_OWNER(mz2500_state, mz2500)
MCFG_GFXDECODE_ADD("gfxdecode", mz2500)