Convert screen update functions to RGB32 in numerous games (nw)

This is intended to expedite CRTC-based video modernization.
This commit is contained in:
AJR 2019-05-10 15:38:17 -04:00
parent 7641722f32
commit cc46387d51
69 changed files with 160 additions and 229 deletions

View File

@ -471,7 +471,6 @@ void _4roses_state::_4roses(machine_config &config)
screen.set_size((124+1)*4, (30+1)*8); /* guess. taken from funworld games */
screen.set_visarea(0*4, 96*4-1, 0*8, 29*8-1); /* guess. taken from funworld games */
screen.set_screen_update(FUNC(_4roses_state::screen_update_funworld));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_4roses);

View File

@ -512,7 +512,7 @@ private:
void fclown_ay8910_w(offs_t offset, u8 data);
TILE_GET_INFO_MEMBER(get_fclown_tile_info);
void _5clown_palette(palette_device &palette) const;
uint32_t screen_update_fclown(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_fclown(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void fcaudio_map(address_map &map);
void fclown_map(address_map &map);
@ -574,7 +574,7 @@ void _5clown_state::video_start()
}
uint32_t _5clown_state::screen_update_fclown(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t _5clown_state::screen_update_fclown(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
@ -1049,7 +1049,6 @@ void _5clown_state::fclown(machine_config &config)
screen.set_size((39+1)*8, (31+1)*8);
screen.set_visarea(0*8, 32*8-1, 0*8, 32*8-1);
screen.set_screen_update(FUNC(_5clown_state::screen_update_fclown));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_fclown);
PALETTE(config, m_palette, FUNC(_5clown_state::_5clown_palette), 256);

View File

@ -75,7 +75,7 @@ private:
DECLARE_WRITE8_MEMBER(mux_w);
DECLARE_WRITE8_MEMBER(yumefuda_output_w);
TILE_GET_INFO_MEMBER(y_get_bg_tile_info);
uint32_t screen_update_yumefuda(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_yumefuda(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void main_map(address_map &map);
void port_map(address_map &map);
@ -114,7 +114,7 @@ void albazg_state::video_start()
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(albazg_state::y_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
uint32_t albazg_state::screen_update_yumefuda(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t albazg_state::screen_update_yumefuda(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
@ -383,7 +383,6 @@ void albazg_state::yumefuda(machine_config &config)
screen.set_size(32*8, 32*8);
screen.set_visarea_full();
screen.set_screen_update(FUNC(albazg_state::screen_update_yumefuda));
screen.set_palette("palette");
h46505_device &crtc(H46505(config, "crtc", MASTER_CLOCK/16)); /* hand tuned to get ~60 fps */
crtc.set_screen("screen");

View File

@ -476,8 +476,8 @@ private:
DECLARE_WRITE8_MEMBER(out_c_w);
void amaticmg_palette(palette_device &palette) const;
void amaticmg2_palette(palette_device &palette) const;
uint32_t screen_update_amaticmg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_amaticmg2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_amaticmg(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_amaticmg2(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(amaticmg2_irq);
void encf(uint8_t ciphertext, int address, uint8_t &plaintext, int &newaddress);
void decrypt(int key1, int key2);
@ -497,7 +497,7 @@ void amaticmg_state::video_start()
{
}
uint32_t amaticmg_state::screen_update_amaticmg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t amaticmg_state::screen_update_amaticmg(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
gfx_element *gfx = m_gfxdecode->gfx(0);
int y, x;
@ -522,7 +522,7 @@ uint32_t amaticmg_state::screen_update_amaticmg(screen_device &screen, bitmap_in
return 0;
}
uint32_t amaticmg_state::screen_update_amaticmg2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t amaticmg_state::screen_update_amaticmg2(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
gfx_element *gfx = m_gfxdecode->gfx(0);
int y, x;
@ -873,7 +873,6 @@ void amaticmg_state::amaticmg(machine_config &config)
screen.set_size(512, 256);
screen.set_visarea_full();
screen.set_screen_update(FUNC(amaticmg_state::screen_update_amaticmg));
screen.set_palette(m_palette);
mc6845_device &crtc(MC6845(config, "crtc", CRTC_CLOCK));
crtc.set_screen("screen");

View File

@ -453,7 +453,7 @@ private:
virtual void video_start() override;
void aristmk4_palette(palette_device &palette) const;
void lions_palette(palette_device &palette) const;
uint32_t screen_update_aristmk4(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_aristmk4(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(note_input_reset);
TIMER_CALLBACK_MEMBER(coin_input_reset);
TIMER_CALLBACK_MEMBER(hopper_reset);
@ -509,7 +509,7 @@ void aristmk4_state::uBackgroundColour()
}
}
uint32_t aristmk4_state::screen_update_aristmk4(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t aristmk4_state::screen_update_aristmk4(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
gfx_element *gfx = m_gfxdecode->gfx(0);
int x,y;
@ -1798,7 +1798,6 @@ void aristmk4_state::aristmk4(machine_config &config)
screen.set_visarea(0, 304-1, 0, 216-1); /* from the crtc registers... updated by crtc */
screen.set_screen_update(FUNC(aristmk4_state::screen_update_aristmk4));
screen.screen_vblank().set_inputline(m_maincpu, M6809_IRQ_LINE, HOLD_LINE);
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_aristmk4);
PALETTE(config, m_palette, FUNC(aristmk4_state::aristmk4_palette), 512);

View File

@ -465,7 +465,7 @@ private:
DECLARE_WRITE_LINE_MEMBER(avtbingo_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
void avt_palette(palette_device &palette) const;
uint32_t screen_update_avt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_avt(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void avt_map(address_map &map);
void avt_portmap(address_map &map);
@ -540,7 +540,7 @@ void avt_state::video_start()
}
uint32_t avt_state::screen_update_avt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t avt_state::screen_update_avt(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
int x,y;
int count;
@ -971,7 +971,6 @@ void avt_state::avt(machine_config &config)
screen.set_size(32*8, 32*8);
screen.set_visarea_full(); /* 240x224 (through CRTC) */
screen.set_screen_update(FUNC(avt_state::screen_update_avt));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_avt);
PALETTE(config, m_palette, FUNC(avt_state::avt_palette), 8*16);

View File

@ -144,7 +144,7 @@ private:
DECLARE_WRITE_LINE_MEMBER(via_ca2_out);
DECLARE_READ8_MEMBER(dips1_r);
DECLARE_WRITE8_MEMBER(input_mux_w);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void init_stats(const uint8_t *table, int table_len, int address);
void main_mem(address_map &map);
void ramdac_map(address_map &map);
@ -160,7 +160,7 @@ private:
};
uint32_t bmcbowl_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t bmcbowl_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
/*
280x230,4 bitmap layers, 8bpp,
@ -168,7 +168,7 @@ uint32_t bmcbowl_state::screen_update(screen_device &screen, bitmap_ind16 &bitma
*/
int x,y,z,pixdat;
bitmap.fill(m_palette->black_pen(), cliprect);
bitmap.fill(rgb_t::black(), cliprect);
z=0;
for (y=0;y<230;y++)
@ -178,30 +178,30 @@ uint32_t bmcbowl_state::screen_update(screen_device &screen, bitmap_ind16 &bitma
pixdat = m_vid2[0x8000+z];
if(pixdat&0xff)
bitmap.pix16(y, x+1) = (pixdat&0xff);
bitmap.pix32(y, x+1) = m_palette->pen(pixdat&0xff);
if(pixdat>>8)
bitmap.pix16(y, x) = (pixdat>>8);
bitmap.pix32(y, x) = m_palette->pen(pixdat>>8);
pixdat = m_vid2[z];
if(pixdat&0xff)
bitmap.pix16(y, x+1) = (pixdat&0xff);
bitmap.pix32(y, x+1) = m_palette->pen(pixdat&0xff);
if(pixdat>>8)
bitmap.pix16(y, x) = (pixdat>>8);
bitmap.pix32(y, x) = m_palette->pen(pixdat>>8);
pixdat = m_vid1[0x8000+z];
if(pixdat&0xff)
bitmap.pix16(y, x+1) = (pixdat&0xff);
bitmap.pix32(y, x+1) = m_palette->pen(pixdat&0xff);
if(pixdat>>8)
bitmap.pix16(y, x) = (pixdat>>8);
bitmap.pix32(y, x) = m_palette->pen(pixdat>>8);
pixdat = m_vid1[z];
if(pixdat&0xff)
bitmap.pix16(y, x+1) = (pixdat&0xff);
bitmap.pix32(y, x+1) = m_palette->pen(pixdat&0xff);
if(pixdat>>8)
bitmap.pix16(y, x) = (pixdat>>8);
bitmap.pix32(y, x) = m_palette->pen(pixdat>>8);
z++;
}
@ -473,7 +473,6 @@ void bmcbowl_state::bmcbowl(machine_config &config)
screen.set_size(35*8, 30*8);
screen.set_visarea(0*8, 35*8-1, 0*8, 29*8-1);
screen.set_screen_update(FUNC(bmcbowl_state::screen_update));
screen.set_palette(m_palette);
screen.screen_vblank().set_inputline(m_maincpu, M68K_IRQ_2, HOLD_LINE);
PALETTE(config, m_palette).set_entries(256);

View File

@ -34,7 +34,7 @@ public:
{ }
DECLARE_WRITE8_MEMBER(coin_output_w);
uint32_t screen_update_buster(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_buster(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void buster(machine_config &config);
void mainmap(address_map &map);
protected:
@ -51,7 +51,7 @@ void buster_state::video_start()
{
}
uint32_t buster_state::screen_update_buster(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t buster_state::screen_update_buster(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
gfx_element *gfx = m_gfxdecode->gfx(0);
int count = 0x0000;
@ -336,7 +336,6 @@ void buster_state::buster(machine_config &config)
screen.set_size(256, 256);
screen.set_visarea(0, 256-1, 16, 256-16-1);
screen.set_screen_update(FUNC(buster_state::screen_update_buster));
screen.set_palette(m_palette);
mc6845_device &crtc(MC6845(config, "crtc", XTAL(3'579'545)/4)); //unknown clock / type
crtc.set_screen("screen");

View File

@ -2595,7 +2595,6 @@ void calomega_state::sys903(machine_config &config)
screen.set_size((39+1)*8, (31+1)*8); /* Taken from MC6845 init, registers 00 & 04. Normally programmed with (value-1) */
screen.set_visarea(0*8, 32*8-1, 0*8, 31*8-1); /* Taken from MC6845 init, registers 01 & 06 */
screen.set_screen_update(FUNC(calomega_state::screen_update_calomega));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_calomega);
PALETTE(config, m_palette, FUNC(calomega_state::calomega_palette), 256); // or 128? is the upper half of the PROMs really valid colors?

View File

@ -73,7 +73,7 @@ public:
private:
DECLARE_READ8_MEMBER(unknown_r);
void carrera_palette(palette_device &palette) const;
uint32_t screen_update_carrera(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_carrera(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void carrera_map(address_map &map);
void io_map(address_map &map);
@ -268,7 +268,7 @@ static GFXDECODE_START( gfx_carrera )
GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout, 0, 1 )
GFXDECODE_END
uint32_t carrera_state::screen_update_carrera(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t carrera_state::screen_update_carrera(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
int x,y;
int count = 0;
@ -329,7 +329,6 @@ void carrera_state::carrera(machine_config &config)
screen.set_size(512, 256);
screen.set_visarea_full();
screen.set_screen_update(FUNC(carrera_state::screen_update_carrera));
screen.set_palette(m_palette);
mc6845_device &crtc(MC6845(config, "crtc", MASTER_CLOCK / 16));
crtc.set_screen("screen");

View File

@ -67,7 +67,7 @@ private:
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
uint32_t screen_update_chance32(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_chance32(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void chance32_map(address_map &map);
void chance32_portmap(address_map &map);
@ -117,7 +117,7 @@ void chance32_state::video_start()
}
uint32_t chance32_state::screen_update_chance32(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t chance32_state::screen_update_chance32(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
@ -474,7 +474,6 @@ void chance32_state::chance32(machine_config &config)
screen.set_size(40*16, 32*8);
screen.set_visarea(0, 35*16-1, 0, 29*8-1);
screen.set_screen_update(FUNC(chance32_state::screen_update_chance32));
screen.set_palette("palette");
h46505_device &crtc(H46505(config, "crtc", 12000000/16)); /* 52.786 Hz (similar to Major Poker) */
crtc.set_screen("screen");

View File

@ -172,7 +172,7 @@ public:
void init_coinmstr();
TILE_GET_INFO_MEMBER(get_bg_tile_info);
virtual void video_start() override;
uint32_t screen_update_coinmstr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_coinmstr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
@ -1248,7 +1248,7 @@ void coinmstr_state::video_start()
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(coinmstr_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 46, 32);
}
uint32_t coinmstr_state::screen_update_coinmstr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t coinmstr_state::screen_update_coinmstr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
@ -1280,7 +1280,6 @@ void coinmstr_state::coinmstr(machine_config &config)
screen.set_size(64*8, 64*8);
screen.set_visarea(0*8, 46*8-1, 0*8, 32*8-1);
screen.set_screen_update(FUNC(coinmstr_state::screen_update_coinmstr));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_coinmstr);
PALETTE(config, m_palette).set_entries(46*32*4);

View File

@ -628,7 +628,6 @@ void docastle_state::docastle(machine_config &config)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_raw(XTAL(9'828'000)/2, 0x138, 8, 0x100-8, 0x108, 0, 0xc0); // from CRTC
screen.set_screen_update(FUNC(docastle_state::screen_update_docastle));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_docastle);
PALETTE(config, m_palette, FUNC(docastle_state::docastle_palette), 512);

View File

@ -79,7 +79,7 @@ private:
DECLARE_WRITE8_MEMBER(memory_write_byte);
DECLARE_WRITE8_MEMBER(dark_1_clr);
DECLARE_WRITE8_MEMBER(dark_2_clr);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void fastinvaders_map(address_map &map);
void fastinvaders_io_base(address_map &map);
@ -220,11 +220,11 @@ void fastinvaders_state::video_start()
{
}
uint32_t fastinvaders_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t fastinvaders_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
gfx_element *gfx = m_gfxdecode->gfx(0);
bitmap.fill(0, cliprect);
bitmap.fill(rgb_t::black(), cliprect);
int count = 0;
for (int y = 0; y < 19; y++)
@ -656,7 +656,6 @@ void fastinvaders_state::fastinvaders(machine_config &config)
screen.set_size(64*16, 32*16);
screen.set_visarea(0*16, 40*16-1, 0*14, 19*14-1);
screen.set_screen_update(FUNC(fastinvaders_state::screen_update));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_fastinvaders);
PALETTE(config, "palette", palette_device::MONOCHROME);

View File

@ -368,7 +368,7 @@ private:
DECLARE_WRITE8_MEMBER(ayportb_w);
void fortecar_palette(palette_device &palette) const;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void fortecar_map(address_map &map);
void fortecar_ports(address_map &map);
@ -384,7 +384,7 @@ void fortecar_state::machine_start()
m_lamps.resolve();
}
uint32_t fortecar_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t fortecar_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
int count = 0;
@ -700,7 +700,6 @@ void fortecar_state::fortecar(machine_config &config)
screen.set_size(640, 256);
screen.set_visarea(0, 600-1, 0, 240-1); /* driven by CRTC */
screen.set_screen_update(FUNC(fortecar_state::screen_update));
screen.set_palette(m_palette);
EEPROM_93C56_16BIT(config, "eeprom").default_value(0);

View File

@ -3024,7 +3024,6 @@ void funworld_state::fw1stpal(machine_config &config)
screen.set_size((124+1)*4, (30+1)*8); /* Taken from MC6845 init, registers 00 & 04. Normally programmed with (value-1) */
screen.set_visarea(0*4, 96*4-1, 0*8, 29*8-1); /* Taken from MC6845 init, registers 01 & 06 */
screen.set_screen_update(FUNC(funworld_state::screen_update_funworld));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_fw1stpal);
PALETTE(config, m_palette, FUNC(funworld_state::funworld_palette), 0x200);

View File

@ -233,7 +233,7 @@ private:
virtual void video_start() override;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void gluck2_map(address_map &map);
};
@ -279,7 +279,7 @@ void gluck2_state::video_start()
}
uint32_t gluck2_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t gluck2_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
@ -503,7 +503,6 @@ void gluck2_state::gluck2(machine_config &config)
screen.set_size((39+1)*8, (38+1)*8); /* from MC6845 init, registers 00 & 04. (value - 1) */
screen.set_visarea(0*8, 32*8-1, 0*8, 32*8-1); /* from MC6845 init, registers 01 & 06. */
screen.set_screen_update(FUNC(gluck2_state::screen_update));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_gluck2);
PALETTE(config, "palette", palette_device::RGB_444_PROMS, "proms", 256);

View File

@ -1351,7 +1351,7 @@ public:
DECLARE_WRITE8_MEMBER(sound_w);
DECLARE_WRITE8_MEMBER(mux_w);
uint32_t screen_update_goldnpkr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_goldnpkr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
protected:
virtual void machine_start() override { m_lamps.resolve(); }
@ -1510,7 +1510,7 @@ VIDEO_START_MEMBER(goldnpkr_state,wcrdxtnd)
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(goldnpkr_state::wcrdxtnd_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
uint32_t goldnpkr_state::screen_update_goldnpkr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t goldnpkr_state::screen_update_goldnpkr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
@ -4386,7 +4386,6 @@ void goldnpkr_state::goldnpkr_base(machine_config &config)
screen.set_size((39+1)*8, (31+1)*8); /* From MC6845 init, registers 00 & 04 (programmed with value-1). */
screen.set_visarea(0*8, 32*8-1, 0*8, 29*8-1); /* From MC6845 init, registers 01 & 06. */
screen.set_screen_update(FUNC(goldnpkr_state::screen_update_goldnpkr));
screen.set_palette(m_palette);
mc6845_device &crtc(MC6845(config, "crtc", CPU_CLOCK)); /* 68B45 or 6845s @ CPU clock */
crtc.set_screen("screen");
@ -4749,7 +4748,6 @@ void blitz_state::megadpkr(machine_config &config)
screen.set_size((32)*8, (32)*8);
screen.set_visarea_full();
screen.set_screen_update(FUNC(goldnpkr_state::screen_update_goldnpkr));
screen.set_palette(m_palette);
mc6845_device &crtc(MC6845(config, "crtc", CPU_CLOCK));
crtc.set_screen("screen");

View File

@ -8457,7 +8457,6 @@ void goldstar_state::goldstar(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar));
screen.set_palette(m_palette);
screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_goldstar);
@ -8491,7 +8490,6 @@ void goldstar_state::goldstbl(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar));
screen.set_palette(m_palette);
screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_bl);
@ -8537,7 +8535,6 @@ void sanghopm_state::star100(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(sanghopm_state::screen_update_sangho));
screen.set_palette(m_palette);
screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE);
PALETTE(config, m_palette).set_entries(0x100);
@ -8576,7 +8573,6 @@ void goldstar_state::super9(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar));
screen.set_palette(m_palette);
screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_super9);
@ -8667,7 +8663,6 @@ void cb3_state::ncb3(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar));
screen.set_palette(m_palette);
screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ncb3);
@ -8745,7 +8740,6 @@ void goldstar_state::wcherry(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar));
screen.set_palette(m_palette);
screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cb3e);
@ -8790,7 +8784,6 @@ void cmaster_state::cm(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar));
screen.set_palette(m_palette);
screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cmbitmap);
@ -8838,7 +8831,6 @@ void goldstar_state::cmast91(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 1*8, 31*8-1);
screen.set_screen_update(FUNC(goldstar_state::screen_update_cmast91));
screen.set_palette(m_palette);
screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cmast91);
@ -8893,7 +8885,6 @@ void wingco_state::lucky8(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar));
screen.set_palette(m_palette);
screen.screen_vblank().set(FUNC(wingco_state::masked_irq));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ncb3);
@ -8945,7 +8936,6 @@ void wingco_state::bingowng(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(wingco_state::screen_update_bingowng));
screen.set_palette(m_palette);
screen.screen_vblank().set(FUNC(wingco_state::masked_irq));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ncb3);
@ -9067,7 +9057,6 @@ void wingco_state::magodds(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(wingco_state::screen_update_magical));
screen.set_palette(m_palette);
screen.screen_vblank().set(FUNC(wingco_state::masked_irq));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_magodds);
@ -9116,7 +9105,6 @@ void goldstar_state::kkotnoli(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar));
screen.set_palette(m_palette);
screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ncb3);
@ -9153,7 +9141,6 @@ void goldstar_state::ladylinr(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar));
screen.set_palette(m_palette);
screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ncb3);
@ -9201,7 +9188,6 @@ void wingco_state::wcat3(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar));
screen.set_palette(m_palette);
screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ncb3);
@ -9249,7 +9235,6 @@ void cmaster_state::amcoe1(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar));
screen.set_palette(m_palette);
screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cm);
@ -9304,7 +9289,6 @@ void cmaster_state::amcoe2(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar));
screen.set_palette(m_palette);
screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cm);
@ -9354,7 +9338,6 @@ void unkch_state::unkch(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 1*8, 31*8-1);
screen.set_screen_update(FUNC(unkch_state::screen_update_unkch));
screen.set_palette(m_palette);
screen.screen_vblank().set(FUNC(unkch_state::vblank_irq));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_unkch);
@ -9390,7 +9373,6 @@ void goldstar_state::pkrmast(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar));
screen.set_palette(m_palette);
screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_pkrmast);
@ -9426,7 +9408,6 @@ void unkch_state::megaline(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar));
screen.set_palette(m_palette);
screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_megaline);
@ -9468,7 +9449,6 @@ void unkch_state::bonusch(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar));
screen.set_palette(m_palette);
screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_megaline);
@ -9514,7 +9494,6 @@ void unkch_state::feverch(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(unkch_state::screen_update_unkch));
screen.set_palette(m_palette);
screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ncb3);

View File

@ -93,7 +93,7 @@ private:
DECLARE_WRITE_LINE_MEMBER(hitpoker_irq);
DECLARE_READ8_MEMBER(irq_clear_r);
virtual void video_start() override;
uint32_t screen_update_hitpoker(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_hitpoker(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
required_device<mc68hc11_cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
@ -111,12 +111,12 @@ void hitpoker_state::video_start()
m_colorram = std::make_unique<uint8_t[]>(0x2000);
}
uint32_t hitpoker_state::screen_update_hitpoker(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t hitpoker_state::screen_update_hitpoker(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
int count = 0;
int y,x;
bitmap.fill(0, cliprect);
bitmap.fill(rgb_t::black(), cliprect);
for (y=0;y<31;y++)
{
@ -478,7 +478,6 @@ void hitpoker_state::hitpoker(machine_config &config)
screen.set_size(648, 480); //setted by the CRTC
screen.set_visarea(0, 648-1, 0, 240-1);
screen.set_screen_update(FUNC(hitpoker_state::screen_update_hitpoker));
screen.set_palette(m_palette);
h46505_device &crtc(H46505(config, "crtc", CRTC_CLOCK/2)); /* hand tuned to get ~60 fps */
crtc.set_screen("screen");

View File

@ -114,7 +114,7 @@ private:
DECLARE_WRITE8_MEMBER(testb_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
void jokrwild_palette(palette_device &palette) const;
uint32_t screen_update_jokrwild(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_jokrwild(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void jokrwild_map(address_map &map);
};
@ -154,7 +154,7 @@ void jokrwild_state::video_start()
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(jokrwild_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 24, 26);
}
uint32_t jokrwild_state::screen_update_jokrwild(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t jokrwild_state::screen_update_jokrwild(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
@ -438,7 +438,6 @@ void jokrwild_state::jokrwild(machine_config &config)
screen.set_size((32+1)*8, (32+1)*8); // From MC6845, registers 00 & 04. (value-1)
screen.set_visarea(0*8, 24*8-1, 0*8, 26*8-1); // From MC6845, registers 01 & 06.
screen.set_screen_update(FUNC(jokrwild_state::screen_update_jokrwild));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_jokrwild);
PALETTE(config, "palette", FUNC(jokrwild_state::jokrwild_palette), 512);

View File

@ -225,7 +225,7 @@ private:
DECLARE_WRITE8_MEMBER(unk_w);
DECLARE_READ8_MEMBER(mux_port_r);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
uint32_t screen_update_jubileep(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_jubileep(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(jubileep_interrupt);
void jubileep_cru_map(address_map &map);
void jubileep_map(address_map &map);
@ -284,7 +284,7 @@ void jubilee_state::video_start()
m_bg_tilemap->set_scrolldx(8, 0); /* guess */
}
uint32_t jubilee_state::screen_update_jubileep(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t jubilee_state::screen_update_jubileep(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
@ -687,7 +687,6 @@ void jubilee_state::jubileep(machine_config &config)
screen.set_size(32*8, 32*8); /* (47+1*8, 38+1*8) from CRTC settings */
screen.set_visarea(0*8, 32*8-1, 0*8, 32*8-1); /* (32*8, 32*8) from CRTC settings */
screen.set_screen_update(FUNC(jubilee_state::screen_update_jubileep));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_jubileep);
PALETTE(config, "palette").set_entries(8);

View File

@ -127,8 +127,8 @@ private:
TILE_GET_INFO_MEMBER(get_sc1_tile_info);
void kingdrby_palette(palette_device &palette) const;
void kingdrbb_palette(palette_device &palette) const;
uint32_t screen_update_kingdrby(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_kingdrby(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect);
void cowrace_sound_io(address_map &map);
void cowrace_sound_map(address_map &map);
@ -227,7 +227,7 @@ static const uint8_t hw_sprite[16] =
0x22, 0x22, 0x22, 0x22, 0x22, 0x11, 0x22, 0x22
};
void kingdrby_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
void kingdrby_state::draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
uint8_t *spriteram = m_spriteram;
int count = 0;
@ -271,7 +271,7 @@ void kingdrby_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
}
}
uint32_t kingdrby_state::screen_update_kingdrby(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t kingdrby_state::screen_update_kingdrby(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
const rectangle &visarea = screen.visible_area();
rectangle clip;
@ -1007,7 +1007,6 @@ void kingdrby_state::kingdrby(machine_config &config)
screen.set_size(256, 256);
screen.set_visarea(0, 256-1, 0, 224-1); /* controlled by CRTC */
screen.set_screen_update(FUNC(kingdrby_state::screen_update_kingdrby));
screen.set_palette(m_palette);
mc6845_device &crtc(MC6845(config, "crtc", CLK_1/32)); /* 53.333 Hz. guess */
crtc.set_screen("screen");

View File

@ -136,7 +136,7 @@ private:
DECLARE_WRITE8_MEMBER(counters_w);
DECLARE_READ8_MEMBER(test_r);
template<uint8_t Reel> TILE_GET_INFO_MEMBER(get_reel_tile_info);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(irq);
void _7smash_io(address_map &map);
@ -202,14 +202,14 @@ void luckgrln_state::video_start()
save_item(NAME(m_palette_ram));
}
uint32_t luckgrln_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t luckgrln_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
int count = 0;
const rectangle &visarea = screen.visible_area();
rectangle clip = visarea;
bitmap.fill(0, cliprect);
bitmap.fill(rgb_t::black(), cliprect);
for (int i = 0; i < 64; i++)
{
@ -881,7 +881,6 @@ void luckgrln_state::luckgrln(machine_config &config)
screen.set_size(512, 256);
screen.set_visarea(0, 512-1, 0, 256-1);
screen.set_screen_update(FUNC(luckgrln_state::screen_update));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_luckgrln);
PALETTE(config, m_palette).set_entries(0x8000);

View File

@ -491,7 +491,7 @@ private:
void magicfly_palette(palette_device &palette) const;
void bchance_palette(palette_device &palette) const;
DECLARE_VIDEO_START(7mezzo);
uint32_t screen_update_magicfly(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_magicfly(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void magicfly_map(address_map &map);
};
@ -576,7 +576,7 @@ VIDEO_START_MEMBER(magicfly_state, 7mezzo)
}
uint32_t magicfly_state::screen_update_magicfly(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t magicfly_state::screen_update_magicfly(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
@ -955,7 +955,6 @@ void magicfly_state::magicfly(machine_config &config)
screen.set_size((39+1)*8, (31+1)*8); /* Taken from MC6845 init, registers 00 & 04. Normally programmed with (value-1). */
screen.set_visarea(0*8, 32*8-1, 0*8, 29*8-1); /* Taken from MC6845 init, registers 01 & 06. */
screen.set_screen_update(FUNC(magicfly_state::screen_update_magicfly));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_magicfly);
PALETTE(config, "palette", FUNC(magicfly_state::magicfly_palette), 32);

View File

@ -507,7 +507,7 @@ private:
DECLARE_WRITE8_MEMBER(pulses_w);
TILE_GET_INFO_MEMBER(bg_get_tile_info);
TILE_GET_INFO_MEMBER(fg_get_tile_info);
uint32_t screen_update_majorpkr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_majorpkr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void map(address_map &map);
void palettebanks(address_map &map);
void portmap(address_map &map);
@ -562,7 +562,7 @@ void majorpkr_state::video_start()
}
uint32_t majorpkr_state::screen_update_majorpkr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t majorpkr_state::screen_update_majorpkr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0);
m_fg_tilemap->draw(screen, bitmap, cliprect, 0);
@ -1021,7 +1021,6 @@ void majorpkr_state::majorpkr(machine_config &config)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_raw(CRTC_CLOCK*16, (47+1)*16, 0, (36*16)-16, (36+1)*8, 0, (28*8)); // from CRTC registers.
screen.set_screen_update(FUNC(majorpkr_state::screen_update_majorpkr));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_majorpkr);

View File

@ -247,7 +247,7 @@ private:
DECLARE_WRITE8_MEMBER(mpu12wbk_colorram_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
void mpu12wbk_palette(palette_device &palette) const;
uint32_t screen_update_mpu12wbk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_mpu12wbk(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void mpu12wbk_map(address_map &map);
};
@ -293,7 +293,7 @@ void mpu12wbk_state::video_start()
}
uint32_t mpu12wbk_state::screen_update_mpu12wbk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t mpu12wbk_state::screen_update_mpu12wbk(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
@ -509,7 +509,6 @@ void mpu12wbk_state::mpu12wbk(machine_config &config)
screen.set_size((32+1)*8, (32+1)*8); /* From MC6845, registers 00 & 04. (value-1) */
screen.set_visarea(0*8, 32*8-1, 0*8, 32*8-1); /* Driven by MC6845, registers 01 & 06 */
screen.set_screen_update(FUNC(mpu12wbk_state::screen_update_mpu12wbk));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_mpu12wbk);
PALETTE(config, "palette", FUNC(mpu12wbk_state::mpu12wbk_palette), 512);

View File

@ -39,7 +39,7 @@ private:
optional_shared_ptr<uint8_t> m_dealem_videoram;
DECLARE_MACHINE_RESET(dealem_vid);
void dealem_palette(palette_device &palette) const;
uint32_t screen_update_dealem(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_dealem(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(dealem_vsync_changed);
required_device<gfxdecode_device> m_gfxdecode;
void dealem_memmap(address_map &map);
@ -124,7 +124,7 @@ void mpu4dealem_state::dealem_palette(palette_device &palette) const
}
uint32_t mpu4dealem_state::screen_update_dealem(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t mpu4dealem_state::screen_update_dealem(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
int count = 0;
for (int y = 0; y < 32; y++)
@ -220,7 +220,6 @@ void mpu4dealem_state::dealem(machine_config &config)
screen.set_visarea(0*8, 40*8-1, 0*8, 31*8-1); /* Taken from 6845 init, registers 01 & 06 */
screen.set_refresh_hz(56); /* Measured accurately from the flip-flop, but 6845 handles this */
screen.set_screen_update(FUNC(mpu4dealem_state::screen_update_dealem));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_dealem);

View File

@ -141,7 +141,7 @@ private:
DECLARE_WRITE8_MEMBER(outport_w);
void murogem_palette(palette_device &palette) const;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void murogem_map(address_map &map);
};
@ -227,7 +227,7 @@ void murogem_state::murogem_palette(palette_device &palette) const
{
}
uint32_t murogem_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t murogem_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
bitmap.fill(0, cliprect);
@ -263,7 +263,6 @@ void murogem_state::murogem(machine_config &config)
screen.set_size((39+1)*8, (38+1)*8);
screen.set_visarea(0*8, 32*8-1, 0*8, 32*8-1);
screen.set_screen_update(FUNC(murogem_state::screen_update));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_murogem);
PALETTE(config, m_palette, FUNC(murogem_state::murogem_palette), 0x100);

View File

@ -86,7 +86,7 @@ private:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
void nibble_palette(palette_device &palette) const;
uint32_t screen_update_nibble(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_nibble(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(nibble_interrupt);
void nibble_map(address_map &map);
@ -125,7 +125,7 @@ void nibble_state::video_start()
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nibble_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
uint32_t nibble_state::screen_update_nibble(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t nibble_state::screen_update_nibble(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
@ -346,7 +346,6 @@ void nibble_state::nibble(machine_config &config)
screen.set_size(32*8, 32*8);
screen.set_visarea(0*8, 32*8-1, 0*8, 32*8-1);
screen.set_screen_update(FUNC(nibble_state::screen_update_nibble));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_nibble);

View File

@ -346,7 +346,7 @@ private:
TIMER_CALLBACK_MEMBER(assert_lp);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
MC6845_ON_UPDATE_ADDR_CHANGED(crtc_addr);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void load_superdata(const char *bank_name);
void peplus_palette(palette_device &palette) const;
void handle_lightpen();
@ -966,7 +966,7 @@ void peplus_state::video_start()
save_item(NAME(m_vid_address));
}
uint32_t peplus_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t peplus_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
@ -1388,7 +1388,6 @@ void peplus_state::peplus(machine_config &config)
m_screen->set_size((52+1)*8, (31+1)*8);
m_screen->set_visarea(0*8, 40*8-1, 0*8, 25*8-1);
m_screen->set_screen_update(FUNC(peplus_state::screen_update));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_peplus);
PALETTE(config, m_palette, FUNC(peplus_state::peplus_palette), 16*16*2);

View File

@ -110,7 +110,7 @@ private:
virtual void video_start() override;
void progolf_palette(palette_device &palette) const;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void main_cpu(address_map &map);
void sound_cpu(address_map &map);
};
@ -136,7 +136,7 @@ void progolf_state::video_start()
}
uint32_t progolf_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t progolf_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
int count,color,x,y,xi,yi;
@ -175,7 +175,7 @@ uint32_t progolf_state::screen_update(screen_device &screen, bitmap_ind16 &bitma
color = m_fg_fb[(xi+yi*8)+count*0x40];
if(color != 0 && cliprect.contains(x+yi, 256-y+xi))
bitmap.pix16(x+yi, 256-y+xi) = m_palette->pen((color & 0x7));
bitmap.pix32(x+yi, 256-y+xi) = m_palette->pen((color & 0x7));
}
}
@ -440,7 +440,6 @@ void progolf_state::progolf(machine_config &config)
screen.set_size(256, 256);
screen.set_visarea(0*8, 32*8-1, 0*8, 32*8-1);
screen.set_screen_update(FUNC(progolf_state::screen_update));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_progolf);
PALETTE(config, m_palette, FUNC(progolf_state::progolf_palette), 32 * 3);

View File

@ -44,7 +44,7 @@ private:
required_shared_ptr<uint8_t> m_cram;
uint8_t m_hbeat;
virtual void video_start() override;
uint32_t screen_update_royalgum(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_royalgum(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
@ -56,7 +56,7 @@ void rgum_state::video_start()
{
}
uint32_t rgum_state::screen_update_royalgum(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t rgum_state::screen_update_royalgum(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
int x,y,count;
gfx_element *gfx = m_gfxdecode->gfx(0);
@ -258,7 +258,6 @@ void rgum_state::rgum(machine_config &config)
screen.set_size(256, 256);
screen.set_visarea(0, 256-1, 0, 256-1);
screen.set_screen_update(FUNC(rgum_state::screen_update_royalgum));
screen.set_palette(m_palette);
mc6845_device &crtc(MC6845(config, "crtc", 24000000/16)); /* unknown clock & type, hand tuned to get ~50 fps (?) */
crtc.set_screen("screen");

View File

@ -115,7 +115,8 @@ class royalmah_state : public driver_device
public:
royalmah_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this,"maincpu"),
m_maincpu(*this, "maincpu"),
m_palette(*this, "palette"),
m_ay(*this, "aysnd"),
m_videoram(*this, "videoram"),
m_audiocpu(*this, "audiocpu"),
@ -250,7 +251,7 @@ private:
void royalmah_palette(palette_device &palette) const;
void mjderngr_palette(palette_device &palette) const;
uint32_t screen_update_royalmah(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_royalmah(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(suzume_irq);
@ -293,6 +294,7 @@ private:
virtual void machine_start() override;
required_device<cpu_device> m_maincpu;
required_device<palette_device> m_palette;
required_device<ay8910_device> m_ay;
required_shared_ptr<uint8_t> m_videoram;
optional_device<cpu_device> m_audiocpu;
@ -417,7 +419,7 @@ WRITE8_MEMBER(royalmah_state::mjderngr_palbank_w)
}
uint32_t royalmah_state::screen_update_royalmah(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t royalmah_state::screen_update_royalmah(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
for (offs_t offs = 0; offs < 0x4000; offs++)
{
@ -431,7 +433,7 @@ uint32_t royalmah_state::screen_update_royalmah(screen_device &screen, bitmap_in
{
uint8_t pen = ((data2 >> 1) & 0x08) | ((data2 << 2) & 0x04) | ((data1 >> 3) & 0x02) | ((data1 >> 0) & 0x01);
bitmap.pix16(y, x) = (m_palette_base << 4) | pen;
bitmap.pix32(y, x) = m_palette->pen((m_palette_base << 4) | pen);
x = (m_flip_screen) ? x - 1 : x + 1;
data1 = data1 >> 1;
@ -3551,7 +3553,6 @@ void royalmah_state::royalmah(machine_config &config)
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
screen.set_screen_update(FUNC(royalmah_state::screen_update_royalmah));
screen.set_palette("palette");
/* sound hardware */
SPEAKER(config, "speaker").front_center();

View File

@ -140,7 +140,7 @@ private:
DECLARE_WRITE8_MEMBER(banksel_w);
DECLARE_WRITE8_MEMBER(lamps_w);
void sanremo_palette(palette_device &palette) const;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void sanremo_map(address_map &map);
void sanremo_portmap(address_map &map);
};
@ -176,7 +176,7 @@ void sanremo_state::video_start()
save_item(NAME(m_banksel));
}
uint32_t sanremo_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t sanremo_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
@ -372,7 +372,6 @@ void sanremo_state::sanremo(machine_config &config)
screen.set_size(70*8, 41*8);
screen.set_visarea(0, 48*8-1, 0, 38*8-1);
screen.set_screen_update(FUNC(sanremo_state::screen_update));
screen.set_palette("palette");
mc6845_device &crtc(MC6845(config, "crtc", CRTC_CLOCK));
// *** MC6845 init ***

View File

@ -198,7 +198,7 @@ private:
TILE_GET_INFO_MEMBER(get_reel_2_tile_info);
TILE_GET_INFO_MEMBER(get_reel_3_tile_info);
TILE_GET_INFO_MEMBER(get_reel_4_tile_info);
uint32_t screen_update_skylncr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_skylncr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(skylncr_vblank_interrupt);
void bdream97_opcode_map(address_map &map);
void io_map_mbutrfly(address_map &map);
@ -314,11 +314,11 @@ void skylncr_state::video_start()
}
uint32_t skylncr_state::screen_update_skylncr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t skylncr_state::screen_update_skylncr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
int i;
bitmap.fill(0, cliprect);
bitmap.fill(rgb_t::black(), cliprect);
m_reel_1_tilemap->draw(screen, bitmap, cliprect, 0, 0);
// are these hardcoded, or registers?
@ -1675,7 +1675,6 @@ void skylncr_state::skylncr(machine_config &config)
screen.set_size(512, 256);
screen.set_visarea(0, 512-1, 0, 256-1);
screen.set_screen_update(FUNC(skylncr_state::screen_update_skylncr));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_skylncr);
PALETTE(config, m_palette).set_entries(0x200);

View File

@ -819,7 +819,6 @@ void snk6502_state::sasuke(machine_config &config)
screen.set_size(32*8, 32*8);
screen.set_visarea(0*8, 32*8-1, 0*8, 28*8-1);
screen.set_screen_update(FUNC(snk6502_state::screen_update));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_sasuke);
PALETTE(config, m_palette, FUNC(snk6502_state::satansat_palette), 32);
@ -864,7 +863,6 @@ void snk6502_state::vanguard(machine_config &config)
screen.set_size(32*8, 32*8);
screen.set_visarea(0*8, 32*8-1, 0*8, 28*8-1);
screen.set_screen_update(FUNC(snk6502_state::screen_update));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_vanguard);
PALETTE(config, m_palette, FUNC(snk6502_state::snk6502_palette), 64);

View File

@ -322,7 +322,6 @@ void speedatk_state::speedatk(machine_config &config)
screen.set_size(320, 256);
screen.set_visarea(0*8, 32*8-1, 0*8, 32*8-1);
screen.set_screen_update(FUNC(speedatk_state::screen_update));
screen.set_palette(m_palette);
H46505(config, m_crtc, MASTER_CLOCK/16); /* hand tuned to get ~60 fps */
m_crtc->set_screen("screen");

View File

@ -49,7 +49,7 @@ private:
DECLARE_WRITE8_MEMBER(out_w);
void summit_palette(palette_device &palette) const;
uint32_t screen_update_summit(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_summit(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void mainmap(address_map &map);
};
@ -58,7 +58,7 @@ void summit_state::video_start()
{
}
uint32_t summit_state::screen_update_summit(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t summit_state::screen_update_summit(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
gfx_element *gfx = m_gfxdecode->gfx(0);
int count = 0x0000;
@ -328,7 +328,6 @@ void summit_state::summit(machine_config &config)
screen.set_size(256, 256);
screen.set_visarea(0, 256-1, 16, 256-16-1);
screen.set_screen_update(FUNC(summit_state::screen_update_summit));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_summit);
PALETTE(config, m_palette, FUNC(summit_state::summit_palette), 256);

View File

@ -201,7 +201,7 @@ private:
DECLARE_WRITE8_MEMBER(supercrd_colorram_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
void supercrd_palette(palette_device &palette) const;
uint32_t screen_update_supercrd(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_supercrd(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void supercrd_map(address_map &map);
};
@ -283,7 +283,7 @@ void supercrd_state::video_start()
}
uint32_t supercrd_state::screen_update_supercrd(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t supercrd_state::screen_update_supercrd(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
@ -441,7 +441,6 @@ void supercrd_state::supercrd(machine_config &config)
screen.set_size((124+1)*4, (30+1)*8); /* Taken from MC6845 init, registers 00 & 04. Normally programmed with (value-1) */
screen.set_visarea(0*4, 96*4-1, 0*8, 29*8-1); /* Taken from MC6845 init, registers 01 & 06 */
screen.set_screen_update(FUNC(supercrd_state::screen_update_supercrd));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_supercrd);
PALETTE(config, "palette", FUNC(supercrd_state::supercrd_palette), 0x200);

View File

@ -251,7 +251,7 @@ private:
uint8_t inputs_r(offs_t offset);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
void tmspoker_palette(palette_device &palette) const;
uint32_t screen_update_tmspoker(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_tmspoker(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(tmspoker_interrupt);
void tmspoker_cru_map(address_map &map);
@ -288,7 +288,7 @@ void tmspoker_state::video_start()
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(tmspoker_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
uint32_t tmspoker_state::screen_update_tmspoker(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t tmspoker_state::screen_update_tmspoker(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
@ -592,7 +592,6 @@ void tmspoker_state::tmspoker(machine_config &config)
screen.set_size(32*8, 32*8);
screen.set_visarea(0*8, 32*8-1, 0*8, 32*8-1);
screen.set_screen_update(FUNC(tmspoker_state::screen_update_tmspoker));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_tmspoker);
PALETTE(config, "palette", FUNC(tmspoker_state::tmspoker_palette), 256);

View File

@ -1964,7 +1964,6 @@ void toaplan1_rallybik_state::rallybik(machine_config &config)
m_screen->set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL55, VBEND, VBSTART);
m_screen->set_screen_update(FUNC(toaplan1_rallybik_state::screen_update));
m_screen->screen_vblank().set(FUNC(toaplan1_rallybik_state::screen_vblank));
m_screen->set_palette(m_palette);
TOAPLAN_SCU(config, m_spritegen, 0);
m_spritegen->set_palette(m_palette);
@ -1999,7 +1998,6 @@ void toaplan1_state::truxton(machine_config &config)
m_screen->set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART);
m_screen->set_screen_update(FUNC(toaplan1_state::screen_update));
m_screen->screen_vblank().set(FUNC(toaplan1_state::screen_vblank));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_toaplan1);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, (64*16)+(64*16));
@ -2030,7 +2028,6 @@ void toaplan1_state::hellfire(machine_config &config)
m_screen->set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND+16, VBSTART+16);
m_screen->set_screen_update(FUNC(toaplan1_state::screen_update));
m_screen->screen_vblank().set(FUNC(toaplan1_state::screen_vblank));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_toaplan1);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, (64*16)+(64*16));
@ -2063,7 +2060,6 @@ void toaplan1_state::zerowing(machine_config &config)
m_screen->set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND+16, VBSTART+16);
m_screen->set_screen_update(FUNC(toaplan1_state::screen_update));
m_screen->screen_vblank().set(FUNC(toaplan1_state::screen_vblank));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_toaplan1);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, (64*16)+(64*16));
@ -2099,7 +2095,6 @@ void toaplan1_demonwld_state::demonwld(machine_config &config)
m_screen->set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL55, VBEND+16, VBSTART+16);
m_screen->set_screen_update(FUNC(toaplan1_demonwld_state::screen_update));
m_screen->screen_vblank().set(FUNC(toaplan1_demonwld_state::screen_vblank));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_toaplan1);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, (64*16)+(64*16));
@ -2132,7 +2127,6 @@ void toaplan1_samesame_state::samesame(machine_config &config)
m_screen->set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART);
m_screen->set_screen_update(FUNC(toaplan1_samesame_state::screen_update));
m_screen->screen_vblank().set(FUNC(toaplan1_samesame_state::screen_vblank));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_toaplan1);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, (64*16)+(64*16));
@ -2165,7 +2159,6 @@ void toaplan1_state::outzone(machine_config &config)
m_screen->set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL55, VBEND, VBSTART);
m_screen->set_screen_update(FUNC(toaplan1_state::screen_update));
m_screen->screen_vblank().set(FUNC(toaplan1_state::screen_vblank));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_toaplan1);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, (64*16)+(64*16));
@ -2198,7 +2191,6 @@ void toaplan1_state::outzonecv(machine_config &config)
m_screen->set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART);
m_screen->set_screen_update(FUNC(toaplan1_state::screen_update));
m_screen->screen_vblank().set(FUNC(toaplan1_state::screen_vblank));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_toaplan1);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, (64*16)+(64*16));
@ -2231,7 +2223,6 @@ void toaplan1_state::vimana(machine_config &config)
m_screen->set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART);
m_screen->set_screen_update(FUNC(toaplan1_state::screen_update));
m_screen->screen_vblank().set(FUNC(toaplan1_state::screen_vblank));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_toaplan1);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, (64*16)+(64*16));

View File

@ -442,7 +442,6 @@ void truco_state::truco(machine_config &config)
screen.set_size(256, 192);
screen.set_visarea(0, 256-1, 0, 192-1);
screen.set_screen_update(FUNC(truco_state::screen_update));
screen.set_palette("palette");
PALETTE(config, "palette", FUNC(truco_state::truco_palette), 16);

View File

@ -699,7 +699,6 @@ void twincobr_state::twincobr(machine_config &config)
m_screen->set_screen_update(FUNC(twincobr_state::screen_update));
m_screen->screen_vblank().set(m_spriteram16, FUNC(buffered_spriteram16_device::vblank_copy_rising));
m_screen->screen_vblank().append(FUNC(twincobr_state::twincobr_vblank_irq));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_twincobr);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1792);

View File

@ -234,7 +234,6 @@ void usgames_state::usg32(machine_config &config)
screen.set_size(64*8, 32*8);
screen.set_visarea(7*8, 57*8-1, 0*8, 31*8-1);
screen.set_screen_update(FUNC(usgames_state::screen_update));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_usgames);
PALETTE(config, "palette", FUNC(usgames_state::usgames_palette), 2*256);

View File

@ -196,7 +196,7 @@ private:
uint16_t m_datA40000;
void nvram_init(nvram_device &nvram, void *data, size_t size);
uint32_t screen_update_nevada(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_nevada(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void nevada_palette(palette_device &palette) const;
template<int N> uint8_t duart_r(offs_t offset);
@ -303,7 +303,7 @@ void nevada_state::video_start()
}
/***************************************************************************/
uint32_t nevada_state::screen_update_nevada(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t nevada_state::screen_update_nevada(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_tilemap->draw(screen, bitmap, cliprect, 0, 0);
@ -589,7 +589,6 @@ void nevada_state::nevada(machine_config &config)
screen.set_size((42+1)*8, (32+1)*8); /* From MC6845 init, registers 00 & 04 (programmed with value-1). */
screen.set_visarea(0*8, 31*8-1, 0*8, 31*8-1); /* From MC6845 init, registers 01 & 06. */
screen.set_screen_update(FUNC(nevada_state::screen_update_nevada));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_nevada);
PALETTE(config, "palette", FUNC(nevada_state::nevada_palette), 256);

View File

@ -432,7 +432,6 @@ void wardner_state::wardner(machine_config &config)
m_screen->set_screen_update(FUNC(wardner_state::screen_update));
m_screen->screen_vblank().set(m_spriteram8, FUNC(buffered_spriteram8_device::vblank_copy_rising));
m_screen->screen_vblank().append(FUNC(wardner_state::wardner_vblank_irq));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_wardner);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 4096);

View File

@ -70,7 +70,7 @@ private:
DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
DECLARE_WRITE_LINE_MEMBER(update_aciabaud_scale);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
uint32_t screen_update_calomega(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_calomega(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void calomega_palette(palette_device &palette) const;
void s903mod_map(address_map &map);

View File

@ -85,9 +85,9 @@ private:
TILE_GET_INFO_MEMBER(get_tile_info);
void docastle_palette(palette_device &palette) const;
DECLARE_VIDEO_START(dorunrun);
uint32_t screen_update_docastle(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_docastle(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void video_start_common( uint32_t tile_transmask );
void draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect );
void draw_sprites( screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect );
DECLARE_WRITE_LINE_MEMBER(docastle_tint);
DECLARE_WRITE_LINE_MEMBER(idsoccer_adpcm_int);
void docastle_io_map(address_map &map);

View File

@ -52,7 +52,7 @@ protected:
virtual void machine_start() override { m_lamps.resolve(); }
virtual void video_start() override;
void funworld_palette(palette_device &palette) const;
uint32_t screen_update_funworld(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_funworld(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
void magicrd2_map(address_map &map);

View File

@ -56,8 +56,8 @@ public:
DECLARE_VIDEO_START(cherrym);
void cmast91_palette(palette_device &palette) const;
void lucky8_palette(palette_device &palette) const;
uint32_t screen_update_goldstar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_cmast91(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_goldstar(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_cmast91(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void ladylinr(machine_config &config);
void wcherry(machine_config &config);
@ -166,7 +166,7 @@ public:
void init_tcl();
void init_super7();
uint32_t screen_update_amcoe1a(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_amcoe1a(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void cm(machine_config &config);
void cmasterc(machine_config &config);
@ -227,9 +227,9 @@ public:
DECLARE_VIDEO_START(bingowng);
DECLARE_VIDEO_START(magical);
void magodds_palette(palette_device &palette) const;
uint32_t screen_update_bingowng(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_magical(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_mbstar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_bingowng(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_magical(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_mbstar(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(masked_irq);
@ -309,7 +309,7 @@ public:
DECLARE_WRITE8_MEMBER(reel3_attrram_w);
DECLARE_VIDEO_START(sangho);
uint32_t screen_update_sangho(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_sangho(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void star100(machine_config &config);
void star100_map(address_map &map);
@ -355,7 +355,7 @@ public:
void init_unkch4();
DECLARE_VIDEO_START(unkch);
uint32_t screen_update_unkch(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_unkch(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(vblank_irq);

View File

@ -80,7 +80,7 @@ protected:
DECLARE_VIDEO_START(snk6502);
void snk6502_palette(palette_device &palette);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(satansat_interrupt);
INTERRUPT_GEN_MEMBER(snk6502_interrupt);

View File

@ -51,7 +51,7 @@ private:
virtual void video_start() override;
void speedatk_palette(palette_device &palette) const;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint8_t iox_key_matrix_calc(uint8_t p_side);

View File

@ -121,7 +121,7 @@ protected:
template<unsigned Layer> TILE_GET_INFO_MEMBER(get_tile_info);
DECLARE_MACHINE_RESET(zerowing);
u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank);
void interrupt();
@ -132,7 +132,10 @@ protected:
void set_scrolls();
void register_common();
void log_vram();
void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect );
void draw_sprites(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect );
void draw_sprite_custom(screen_device &screen, bitmap_rgb32 &dest_bmp, const rectangle &clip, gfx_element *gfx,
u32 code, u32 color, int flipx, int flipy, int sx, int sy,
int priority);
void reset_sound();
DECLARE_WRITE_LINE_MEMBER(reset_callback);
required_device<m68000_device> m_maincpu;
@ -177,7 +180,7 @@ private:
DECLARE_WRITE_LINE_MEMBER(coin_lockout_1_w);
DECLARE_WRITE_LINE_MEMBER(coin_lockout_2_w);
u16 tileram_r(offs_t offset);
u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank);
required_device<toaplan_scu_device> m_spritegen;

View File

@ -16,6 +16,7 @@ public:
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_watchdog(*this, "watchdog"),
m_palette(*this, "palette"),
m_dac(*this, "dac"),
m_videoram(*this, "videoram"),
m_battery_ram(*this, "battery_ram")
@ -30,6 +31,7 @@ protected:
private:
required_device<cpu_device> m_maincpu;
required_device<watchdog_timer_device> m_watchdog;
required_device<palette_device> m_palette;
required_device<dac_bit_interface> m_dac;
required_shared_ptr<uint8_t> m_videoram;
@ -45,7 +47,7 @@ private:
void truco_palette(palette_device &palette) const;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(interrupt);
void main_map(address_map &map);

View File

@ -125,7 +125,7 @@ protected:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(twincobr_vblank_irq);
DECLARE_WRITE_LINE_MEMBER(wardner_vblank_irq);
void twincobr_create_tilemaps();

View File

@ -47,7 +47,7 @@ private:
void usgames_palette(palette_device &palette) const;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void usg185_map(address_map &map);
void usgames_map(address_map &map);
};

View File

@ -53,7 +53,7 @@ void calomega_state::video_start()
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(calomega_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 31);
}
uint32_t calomega_state::screen_update_calomega(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t calomega_state::screen_update_calomega(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;

View File

@ -119,7 +119,7 @@ VIDEO_START_MEMBER(docastle_state,dorunrun)
video_start_common(0xff00);
}
void docastle_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect )
void docastle_state::draw_sprites( screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect )
{
int offs;
@ -210,7 +210,7 @@ void docastle_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,
}
}
uint32_t docastle_state::screen_update_docastle(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t docastle_state::screen_update_docastle(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_do_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
draw_sprites(screen, bitmap, cliprect);

View File

@ -144,7 +144,7 @@ void multiwin_state::video_start()
}
uint32_t funworld_state::screen_update_funworld(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t funworld_state::screen_update_funworld(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;

View File

@ -153,9 +153,9 @@ WRITE8_MEMBER(goldstar_state::goldstar_fa00_w)
uint32_t goldstar_state::screen_update_goldstar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t goldstar_state::screen_update_goldstar(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
bitmap.fill(m_palette->black_pen(), cliprect);
bitmap.fill(rgb_t::black(), cliprect);
if (!(m_cm_enable_reg & 0x01))
return 0;
@ -198,9 +198,9 @@ uint32_t goldstar_state::screen_update_goldstar(screen_device &screen, bitmap_in
}
uint32_t goldstar_state::screen_update_cmast91(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t goldstar_state::screen_update_cmast91(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
bitmap.fill(m_palette->black_pen(), cliprect);
bitmap.fill(rgb_t::black(), cliprect);
if (!(m_cm_enable_reg & 0x01))
return 0;
@ -295,9 +295,9 @@ WRITE8_MEMBER(cmaster_state::background_col_w)
}
uint32_t cmaster_state::screen_update_amcoe1a(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t cmaster_state::screen_update_amcoe1a(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
bitmap.fill(m_palette->black_pen(), cliprect);
bitmap.fill(rgb_t::black(), cliprect);
if (!(m_cm_enable_reg & 0x01))
return 0;
@ -376,9 +376,9 @@ VIDEO_START_MEMBER(wingco_state, magical)
}
uint32_t wingco_state::screen_update_bingowng(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t wingco_state::screen_update_bingowng(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
bitmap.fill(m_palette->black_pen(), cliprect);
bitmap.fill(rgb_t::black(), cliprect);
if (!(m_cm_enable_reg & 0x01))
return 0;
@ -414,9 +414,9 @@ uint32_t wingco_state::screen_update_bingowng(screen_device &screen, bitmap_ind1
return 0;
}
uint32_t wingco_state::screen_update_magical(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t wingco_state::screen_update_magical(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
bitmap.fill(m_palette->black_pen(), cliprect);
bitmap.fill(rgb_t::black(), cliprect);
if (!(m_cm_enable_reg & 0x01))
return 0;
@ -466,9 +466,9 @@ uint32_t wingco_state::screen_update_magical(screen_device &screen, bitmap_ind16
}
uint32_t wingco_state::screen_update_mbstar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t wingco_state::screen_update_mbstar(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
bitmap.fill(m_palette->black_pen(), cliprect);
bitmap.fill(rgb_t::black(), cliprect);
if (!(m_cm_enable_reg & 0x01))
return 0;
@ -616,9 +616,9 @@ VIDEO_START_MEMBER(sanghopm_state, sangho)
}
uint32_t sanghopm_state::screen_update_sangho(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t sanghopm_state::screen_update_sangho(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
bitmap.fill(m_palette->black_pen(), cliprect);
bitmap.fill(rgb_t::black(), cliprect);
m_bg_tilemap->set_scrolly(0, -16);
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
@ -724,9 +724,9 @@ VIDEO_START_MEMBER(unkch_state, unkch)
m_cm_enable_reg = 0x0b;
}
uint32_t unkch_state::screen_update_unkch(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t unkch_state::screen_update_unkch(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
bitmap.fill(m_palette->black_pen(), cliprect);
bitmap.fill(rgb_t::black(), cliprect);
if (!(m_cm_enable_reg & 0x01))
return 0;

View File

@ -188,7 +188,7 @@ VIDEO_START_MEMBER(snk6502_state,pballoon)
}
uint32_t snk6502_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t snk6502_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0);

View File

@ -70,14 +70,14 @@ WRITE8_MEMBER(speedatk_state::m6845_w)
}
}
uint32_t speedatk_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t speedatk_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
int x,y;
int count;
uint16_t tile;
uint8_t color, region;
bitmap.fill(0, cliprect);
bitmap.fill(rgb_t::black(), cliprect);
count = (m_crtc_vreg[0x0c]<<8)|(m_crtc_vreg[0x0d] & 0xff);

View File

@ -671,7 +671,7 @@ void toaplan1_state::log_vram()
***************************************************************************/
// custom function to draw a single sprite. needed to keep correct sprites - sprites and sprites - tilemaps priorities
static void draw_sprite_custom(screen_device &screen, bitmap_ind16 &dest_bmp, const rectangle &clip, gfx_element *gfx,
void toaplan1_state::draw_sprite_custom(screen_device &screen, bitmap_rgb32 &dest_bmp, const rectangle &clip, gfx_element *gfx,
u32 code, u32 color, int flipx, int flipy, int sx, int sy,
int priority)
{
@ -680,6 +680,7 @@ static void draw_sprite_custom(screen_device &screen, bitmap_ind16 &dest_bmp, co
bitmap_ind8 &priority_bitmap = screen.priority();
const int sprite_screen_height = ((1 << 16) * gfx->height() + 0x8000) >> 16;
const int sprite_screen_width = ((1 << 16) * gfx->width() + 0x8000) >> 16;
const pen_t *pens = &m_palette->pen(pal_base);
if (sprite_screen_width && sprite_screen_height)
{
@ -742,7 +743,7 @@ static void draw_sprite_custom(screen_device &screen, bitmap_ind16 &dest_bmp, co
for (int y = sy; y < ey; y++)
{
const u8 *source = source_base + (y_index >> 16) * gfx->rowbytes();
u16 *dest = &dest_bmp.pix16(y);
u32 *dest = &dest_bmp.pix32(y);
u8 *pri = &priority_bitmap.pix8(y);
int x_index = x_index_base;
@ -752,7 +753,7 @@ static void draw_sprite_custom(screen_device &screen, bitmap_ind16 &dest_bmp, co
if (c != 0)
{
if (pri[x] < priority)
dest[x] = pal_base + c;
dest[x] = pens[c];
pri[x] = 0xff; // mark it "already drawn"
}
x_index += dx;
@ -765,7 +766,7 @@ static void draw_sprite_custom(screen_device &screen, bitmap_ind16 &dest_bmp, co
}
void toaplan1_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
void toaplan1_state::draw_sprites(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
u16 *source = (u16 *)m_buffered_spriteram.get();
u16 *size = (u16 *)m_buffered_spritesizeram.get();
@ -832,10 +833,10 @@ void toaplan1_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, c
/***************************************************************************
Draw the game screen in the given bitmap_ind16.
Draw the game screen in the given bitmap.
***************************************************************************/
u32 toaplan1_rallybik_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
u32 toaplan1_rallybik_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
log_vram();
@ -862,7 +863,7 @@ u32 toaplan1_rallybik_state::screen_update(screen_device &screen, bitmap_ind16 &
return 0;
}
u32 toaplan1_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
u32 toaplan1_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
log_vram();

View File

@ -88,17 +88,17 @@ void toaplan_scu_device::draw_sprites_to_tempbitmap(const rectangle &cliprect, u
/***************************************************************************
Draw the game screen in the given bitmap_ind16.
Draw the game screen in the given bitmap.
***************************************************************************/
void toaplan_scu_device::copy_sprites_from_tempbitmap(bitmap_ind16 &bitmap, const rectangle &cliprect, int priority)
void toaplan_scu_device::copy_sprites_from_tempbitmap(bitmap_rgb32 &bitmap, const rectangle &cliprect, int priority)
{
const int colourbase = gfx(0)->colorbase();
const pen_t *pens = &palette().pen(gfx(0)->colorbase());
for (int y = cliprect.min_y; y <= cliprect.max_y; y++)
{
u16* srcline = &m_temp_spritebitmap.pix16(y);
u16* dstline = &bitmap.pix16(y);
u16 *srcline = &m_temp_spritebitmap.pix16(y);
u32 *dstline = &bitmap.pix32(y);
for (int x = cliprect.min_x; x <= cliprect.max_x; x++)
{
@ -108,7 +108,7 @@ void toaplan_scu_device::copy_sprites_from_tempbitmap(bitmap_ind16 &bitmap, cons
{
if (pix & 0xf)
{
dstline[x] = (pix & 0x3ff) + colourbase;
dstline[x] = pens[pix & 0x3ff];
}
}
}

View File

@ -20,7 +20,7 @@ public:
}
void draw_sprites_to_tempbitmap(const rectangle &cliprect, u16* spriteram, u32 bytes);
void copy_sprites_from_tempbitmap(bitmap_ind16 &bitmap, const rectangle &cliprect, int priority);
void copy_sprites_from_tempbitmap(bitmap_rgb32 &bitmap, const rectangle &cliprect, int priority);
void alloc_sprite_bitmap(screen_device &screen);
protected:

View File

@ -32,7 +32,7 @@ void truco_state::truco_palette(palette_device &palette) const
}
}
uint32_t truco_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t truco_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
uint8_t const *videoram = m_videoram;
@ -42,7 +42,7 @@ uint32_t truco_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
{
int const pixel = (videoram[x >> 1] >> ((x & 1) ? 0 : 4)) & 0x0f;
bitmap.pix16(y, x) = pixel;
bitmap.pix32(y, x) = m_palette->pen(pixel);
}
videoram += 0x80;

View File

@ -364,7 +364,7 @@ void twincobr_state::log_vram()
}
u32 twincobr_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
u32 twincobr_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
log_vram();
@ -383,7 +383,7 @@ u32 twincobr_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, c
if (!m_display_on)
{
bitmap.fill(0, cliprect);
bitmap.fill(rgb_t::black(), cliprect);
}
else
{

View File

@ -53,7 +53,7 @@ WRITE8_MEMBER(usgames_state::charram_w)
}
uint32_t usgames_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t usgames_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_tilemap->draw(screen, bitmap, cliprect, 0,0);
return 0;