move rgbi formats out of emupal.h

This commit is contained in:
Dirk Best 2015-08-12 19:21:37 +02:00
parent ce9f2df362
commit a320032368
14 changed files with 57 additions and 40 deletions

View File

@ -966,24 +966,6 @@ void palette_device::palette_init_RRRRRGGGGGGBBBBB(palette_device &palette)
palette.set_pen_color(i, rgbexpand<5,6,5>(i, 11, 5, 0));
}
rgb_t raw_to_rgb_converter::BBGGRRII_decoder(UINT32 raw)
{
UINT8 i = raw & 3;
UINT8 r = (raw >> 0) & 0x0c;
UINT8 g = (raw >> 2) & 0x0c;
UINT8 b = (raw >> 4) & 0x0c;
return rgb_t(pal4bit(r ? (r | i) : 0), pal4bit(g ? (g | i) : 0), pal4bit(b ? (b | i) : 0));
}
rgb_t raw_to_rgb_converter::IIBBGGRR_decoder(UINT32 raw)
{
UINT8 i = (raw >> 6) & 3;
UINT8 r = (raw << 2) & 0x0c;
UINT8 g = (raw ) & 0x0c;
UINT8 b = (raw >> 2) & 0x0c;
return rgb_t(pal4bit(r ? (r | i) : 0), pal4bit(g ? (g | i) : 0), pal4bit(b ? (b | i) : 0));
}
rgb_t raw_to_rgb_converter::IRRRRRGGGGGBBBBB_decoder(UINT32 raw)
{
UINT8 i = (raw >> 15) & 1;

View File

@ -123,10 +123,6 @@
#define PALETTE_FORMAT_BBGGGRRR_inverted raw_to_rgb_converter(1, &raw_to_rgb_converter::inverted_rgb_decoder<3,3,2, 0,3,6>)
#define PALETTE_FORMAT_RRRGGGBB_inverted raw_to_rgb_converter(1, &raw_to_rgb_converter::inverted_rgb_decoder<3,3,2, 5,2,0>)
// standard 2-2-2-2 formats
#define PALETTE_FORMAT_BBGGRRII raw_to_rgb_converter(1, &raw_to_rgb_converter::BBGGRRII_decoder)
#define PALETTE_FORMAT_IIBBGGRR raw_to_rgb_converter(1, &raw_to_rgb_converter::IIBBGGRR_decoder)
// standard 3-3-3 formats
#define PALETTE_FORMAT_xxxxxxxBBBGGGRRR raw_to_rgb_converter(2, &raw_to_rgb_converter::standard_rgb_decoder<3,3,3, 0,3,6>)
#define PALETTE_FORMAT_xxxxxxxRRRBBBGGG raw_to_rgb_converter(2, &raw_to_rgb_converter::standard_rgb_decoder<3,3,3, 6,0,3>)
@ -354,8 +350,6 @@ public:
}
// other standard decoders
static rgb_t BBGGRRII_decoder(UINT32 raw);
static rgb_t IIBBGGRR_decoder(UINT32 raw);
static rgb_t IRRRRRGGGGGBBBBB_decoder(UINT32 raw);
static rgb_t RRRRGGGGBBBBRGBx_decoder(UINT32 raw); // bits 3/2/1 are LSb
static rgb_t xRGBRRRRGGGGBBBB_bit0_decoder(UINT32 raw); // bits 14/13/12 are LSb

View File

@ -647,8 +647,8 @@ static MACHINE_CONFIG_START( nova2001, nova2001_state )
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", nova2001)
MCFG_PALETTE_ADD("palette", 0x200)
MCFG_PALETTE_FORMAT(BBGGRRII)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_FORMAT_CLASS(1, nova2001_state, BBGGRRII)
MCFG_PALETTE_INIT_OWNER(nova2001_state,nova2001)
MCFG_VIDEO_START_OVERRIDE(nova2001_state,nova2001)
@ -692,8 +692,8 @@ static MACHINE_CONFIG_START( ninjakun, nova2001_state )
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", ninjakun)
MCFG_PALETTE_ADD("palette", 0x300)
MCFG_PALETTE_FORMAT(BBGGRRII)
MCFG_PALETTE_ADD("palette", 768)
MCFG_PALETTE_FORMAT_CLASS(1, nova2001_state, BBGGRRII)
MCFG_VIDEO_START_OVERRIDE(nova2001_state,ninjakun)
@ -728,8 +728,8 @@ static MACHINE_CONFIG_START( pkunwar, nova2001_state )
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", pkunwar)
MCFG_PALETTE_ADD("palette", 0x200)
MCFG_PALETTE_FORMAT(BBGGRRII)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_FORMAT_CLASS(1, nova2001_state, BBGGRRII)
MCFG_PALETTE_INIT_OWNER(nova2001_state,nova2001)
MCFG_VIDEO_START_OVERRIDE(nova2001_state,pkunwar)
@ -771,8 +771,8 @@ static MACHINE_CONFIG_START( raiders5, nova2001_state )
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", raiders5)
MCFG_PALETTE_ADD("palette", 0x300)
MCFG_PALETTE_FORMAT(BBGGRRII)
MCFG_PALETTE_ADD("palette", 768)
MCFG_PALETTE_FORMAT_CLASS(1, nova2001_state, BBGGRRII)
MCFG_VIDEO_START_OVERRIDE(nova2001_state,raiders5)

View File

@ -577,7 +577,7 @@ static MACHINE_CONFIG_START( senjyo, senjyo_state )
MCFG_GFXDECODE_ADD("gfxdecode", "palette", senjyo)
MCFG_PALETTE_ADD_INIT_BLACK("palette", 512)
MCFG_PALETTE_FORMAT(IIBBGGRR)
MCFG_PALETTE_FORMAT_CLASS(1, senjyo_state, IIBBGGRR)
MCFG_PALETTE_ADD("radar_palette", 2)
MCFG_PALETTE_INIT_OWNER(senjyo_state, radar)

View File

@ -941,7 +941,7 @@ static MACHINE_CONFIG_START( pbillian, superqix_state )
MCFG_GFXDECODE_ADD("gfxdecode", "palette", pbillian)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_FORMAT(BBGGRRII)
MCFG_PALETTE_FORMAT_CLASS(1, superqix_state, BBGGRRII)
MCFG_VIDEO_START_OVERRIDE(superqix_state,pbillian)
@ -980,7 +980,7 @@ static MACHINE_CONFIG_START( hotsmash, superqix_state )
MCFG_GFXDECODE_ADD("gfxdecode", "palette", pbillian)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_FORMAT(BBGGRRII)
MCFG_PALETTE_FORMAT_CLASS(1, superqix_state, BBGGRRII)
MCFG_VIDEO_START_OVERRIDE(superqix_state,pbillian)
@ -1023,7 +1023,7 @@ static MACHINE_CONFIG_START( sqix, superqix_state )
MCFG_GFXDECODE_ADD("gfxdecode", "palette", sqix)
MCFG_PALETTE_ADD("palette", 256)
MCFG_PALETTE_FORMAT(BBGGRRII)
MCFG_PALETTE_FORMAT_CLASS(1, superqix_state, BBGGRRII)
MCFG_VIDEO_START_OVERRIDE(superqix_state,superqix)
@ -1071,7 +1071,7 @@ static MACHINE_CONFIG_START( sqixbl, superqix_state )
MCFG_GFXDECODE_ADD("gfxdecode", "palette", sqix)
MCFG_PALETTE_ADD("palette", 256)
MCFG_PALETTE_FORMAT(BBGGRRII)
MCFG_PALETTE_FORMAT_CLASS(1, superqix_state, BBGGRRII)
MCFG_VIDEO_START_OVERRIDE(superqix_state,superqix)

View File

@ -270,7 +270,6 @@ static MACHINE_CONFIG_START( xxmissio, xxmissio_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@ -282,8 +281,7 @@ static MACHINE_CONFIG_START( xxmissio, xxmissio_state )
MCFG_GFXDECODE_ADD("gfxdecode", "palette", xxmissio)
MCFG_PALETTE_ADD("palette", 768)
MCFG_PALETTE_FORMAT(BBGGRRII)
MCFG_PALETTE_FORMAT_CLASS(1, xxmissio_state, BBGGRRII)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")

View File

@ -42,6 +42,7 @@ public:
DECLARE_DRIVER_INIT(pkunwar);
DECLARE_VIDEO_START(nova2001);
DECLARE_PALETTE_INIT(nova2001);
DECLARE_PALETTE_DECODER(BBGGRRII);
DECLARE_MACHINE_START(ninjakun);
DECLARE_VIDEO_START(ninjakun);
DECLARE_VIDEO_START(pkunwar);

View File

@ -86,6 +86,7 @@ public:
DECLARE_WRITE8_MEMBER(irq_ctrl_w);
DECLARE_READ8_MEMBER(pio_pa_r);
DECLARE_PALETTE_DECODER(IIBBGGRR);
DECLARE_PALETTE_INIT(radar);
DECLARE_DRIVER_INIT(starfora);

View File

@ -89,6 +89,7 @@ public:
DECLARE_VIDEO_START(pbillian);
DECLARE_MACHINE_START(superqix);
DECLARE_VIDEO_START(superqix);
DECLARE_PALETTE_DECODER(BBGGRRII);
UINT32 screen_update_pbillian(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
UINT32 screen_update_superqix(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(vblank_irq);

View File

@ -49,6 +49,8 @@ public:
virtual void machine_start();
virtual void video_start();
DECLARE_PALETTE_DECODER(BBGGRRII);
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, gfx_element *gfx);
};

View File

@ -50,6 +50,16 @@ PALETTE_INIT_MEMBER(nova2001_state,nova2001)
}
}
PALETTE_DECODER_MEMBER( nova2001_state, BBGGRRII )
{
UINT8 i = raw & 3;
UINT8 r = (raw >> 0) & 0x0c;
UINT8 g = (raw >> 2) & 0x0c;
UINT8 b = (raw >> 4) & 0x0c;
return rgb_t(pal4bit(r | i), pal4bit(g | i), pal4bit(b | i));
}
WRITE8_MEMBER(nova2001_state::ninjakun_paletteram_w)
{
int i;

View File

@ -108,6 +108,16 @@ void senjyo_state::video_start()
m_fg_tilemap->set_scroll_cols(32);
}
PALETTE_DECODER_MEMBER( senjyo_state, IIBBGGRR )
{
UINT8 i = (raw >> 6) & 3;
UINT8 r = (raw << 2) & 0x0c;
UINT8 g = (raw ) & 0x0c;
UINT8 b = (raw >> 2) & 0x0c;
return rgb_t(pal4bit(r ? (r | i) : 0), pal4bit(g ? (g | i) : 0), pal4bit(b ? (b | i) : 0));
}
PALETTE_INIT_MEMBER( senjyo_state, radar )
{
// two colors for the radar dots (verified on the real board)

View File

@ -69,6 +69,15 @@ VIDEO_START_MEMBER(superqix_state,superqix)
save_item(NAME(*m_fg_bitmap[1]));
}
PALETTE_DECODER_MEMBER( superqix_state, BBGGRRII )
{
UINT8 i = raw & 3;
UINT8 r = (raw >> 0) & 0x0c;
UINT8 g = (raw >> 2) & 0x0c;
UINT8 b = (raw >> 4) & 0x0c;
return rgb_t(pal4bit(r | i), pal4bit(g | i), pal4bit(b | i));
}
/***************************************************************************

View File

@ -77,6 +77,15 @@ void xxmissio_state::video_start()
save_item(NAME(m_flipscreen));
}
PALETTE_DECODER_MEMBER( xxmissio_state, BBGGRRII )
{
UINT8 i = raw & 3;
UINT8 r = (raw >> 0) & 0x0c;
UINT8 g = (raw >> 2) & 0x0c;
UINT8 b = (raw >> 4) & 0x0c;
return rgb_t(pal4bit(r | i), pal4bit(g | i), pal4bit(b | i));
}
void xxmissio_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, gfx_element *gfx)
{