diff --git a/src/mame/drivers/4roses.cpp b/src/mame/drivers/4roses.cpp index bf8c3e00c91..9b9c28fec82 100644 --- a/src/mame/drivers/4roses.cpp +++ b/src/mame/drivers/4roses.cpp @@ -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); diff --git a/src/mame/drivers/5clown.cpp b/src/mame/drivers/5clown.cpp index 192bae5fba5..e48b427a9d6 100644 --- a/src/mame/drivers/5clown.cpp +++ b/src/mame/drivers/5clown.cpp @@ -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); diff --git a/src/mame/drivers/albazg.cpp b/src/mame/drivers/albazg.cpp index a2c11c23249..32f54c79b13 100644 --- a/src/mame/drivers/albazg.cpp +++ b/src/mame/drivers/albazg.cpp @@ -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"); diff --git a/src/mame/drivers/amaticmg.cpp b/src/mame/drivers/amaticmg.cpp index 5c22c61027c..65a18f9ed6f 100644 --- a/src/mame/drivers/amaticmg.cpp +++ b/src/mame/drivers/amaticmg.cpp @@ -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"); diff --git a/src/mame/drivers/aristmk4.cpp b/src/mame/drivers/aristmk4.cpp index e1bf7fe0639..d7215a0d620 100644 --- a/src/mame/drivers/aristmk4.cpp +++ b/src/mame/drivers/aristmk4.cpp @@ -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); diff --git a/src/mame/drivers/avt.cpp b/src/mame/drivers/avt.cpp index 2fca9828c07..7441facec1f 100644 --- a/src/mame/drivers/avt.cpp +++ b/src/mame/drivers/avt.cpp @@ -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); diff --git a/src/mame/drivers/bmcbowl.cpp b/src/mame/drivers/bmcbowl.cpp index aff71818afe..608622c16b5 100644 --- a/src/mame/drivers/bmcbowl.cpp +++ b/src/mame/drivers/bmcbowl.cpp @@ -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); diff --git a/src/mame/drivers/buster.cpp b/src/mame/drivers/buster.cpp index c207b414280..bb77b383db7 100644 --- a/src/mame/drivers/buster.cpp +++ b/src/mame/drivers/buster.cpp @@ -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"); diff --git a/src/mame/drivers/calomega.cpp b/src/mame/drivers/calomega.cpp index 7ab70433082..3b75e3d2f58 100644 --- a/src/mame/drivers/calomega.cpp +++ b/src/mame/drivers/calomega.cpp @@ -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? diff --git a/src/mame/drivers/carrera.cpp b/src/mame/drivers/carrera.cpp index 5cccb69c5c6..8164d27689a 100644 --- a/src/mame/drivers/carrera.cpp +++ b/src/mame/drivers/carrera.cpp @@ -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"); diff --git a/src/mame/drivers/chance32.cpp b/src/mame/drivers/chance32.cpp index 70c5dcfcec5..dbf35d5870c 100644 --- a/src/mame/drivers/chance32.cpp +++ b/src/mame/drivers/chance32.cpp @@ -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"); diff --git a/src/mame/drivers/coinmstr.cpp b/src/mame/drivers/coinmstr.cpp index 5abd1acc21e..015b1c6b1d1 100644 --- a/src/mame/drivers/coinmstr.cpp +++ b/src/mame/drivers/coinmstr.cpp @@ -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 m_maincpu; required_device m_gfxdecode; required_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); diff --git a/src/mame/drivers/docastle.cpp b/src/mame/drivers/docastle.cpp index d90b12bf812..eb4949d65c2 100644 --- a/src/mame/drivers/docastle.cpp +++ b/src/mame/drivers/docastle.cpp @@ -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); diff --git a/src/mame/drivers/fastinvaders.cpp b/src/mame/drivers/fastinvaders.cpp index e196016da06..a0c4ce5096a 100644 --- a/src/mame/drivers/fastinvaders.cpp +++ b/src/mame/drivers/fastinvaders.cpp @@ -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); diff --git a/src/mame/drivers/fortecar.cpp b/src/mame/drivers/fortecar.cpp index 38b45db6503..b523dc3c73c 100644 --- a/src/mame/drivers/fortecar.cpp +++ b/src/mame/drivers/fortecar.cpp @@ -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); diff --git a/src/mame/drivers/funworld.cpp b/src/mame/drivers/funworld.cpp index c9dfcd2eb3a..044380fcc53 100644 --- a/src/mame/drivers/funworld.cpp +++ b/src/mame/drivers/funworld.cpp @@ -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); diff --git a/src/mame/drivers/gluck2.cpp b/src/mame/drivers/gluck2.cpp index f595c168bd8..f9eaa68d99c 100644 --- a/src/mame/drivers/gluck2.cpp +++ b/src/mame/drivers/gluck2.cpp @@ -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); diff --git a/src/mame/drivers/goldnpkr.cpp b/src/mame/drivers/goldnpkr.cpp index b1bb0056821..3b9ad355cdd 100644 --- a/src/mame/drivers/goldnpkr.cpp +++ b/src/mame/drivers/goldnpkr.cpp @@ -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"); diff --git a/src/mame/drivers/goldstar.cpp b/src/mame/drivers/goldstar.cpp index 199eb02f203..9be1164c8a6 100644 --- a/src/mame/drivers/goldstar.cpp +++ b/src/mame/drivers/goldstar.cpp @@ -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); diff --git a/src/mame/drivers/hitpoker.cpp b/src/mame/drivers/hitpoker.cpp index cafebdb5861..42c04794e49 100644 --- a/src/mame/drivers/hitpoker.cpp +++ b/src/mame/drivers/hitpoker.cpp @@ -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 m_maincpu; required_device m_gfxdecode; required_device m_palette; @@ -111,12 +111,12 @@ void hitpoker_state::video_start() m_colorram = std::make_unique(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"); diff --git a/src/mame/drivers/jokrwild.cpp b/src/mame/drivers/jokrwild.cpp index 8e22e948f24..c87df8fd1da 100644 --- a/src/mame/drivers/jokrwild.cpp +++ b/src/mame/drivers/jokrwild.cpp @@ -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); diff --git a/src/mame/drivers/jubilee.cpp b/src/mame/drivers/jubilee.cpp index 3b12d70ca31..8e0f025d0bb 100644 --- a/src/mame/drivers/jubilee.cpp +++ b/src/mame/drivers/jubilee.cpp @@ -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); diff --git a/src/mame/drivers/kingdrby.cpp b/src/mame/drivers/kingdrby.cpp index 7a83fb6ab7c..1cb5982c4e7 100644 --- a/src/mame/drivers/kingdrby.cpp +++ b/src/mame/drivers/kingdrby.cpp @@ -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"); diff --git a/src/mame/drivers/luckgrln.cpp b/src/mame/drivers/luckgrln.cpp index a15a16257f7..5217632f298 100644 --- a/src/mame/drivers/luckgrln.cpp +++ b/src/mame/drivers/luckgrln.cpp @@ -136,7 +136,7 @@ private: DECLARE_WRITE8_MEMBER(counters_w); DECLARE_READ8_MEMBER(test_r); template 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); diff --git a/src/mame/drivers/magicfly.cpp b/src/mame/drivers/magicfly.cpp index 38d22cf4657..98aa04dd621 100644 --- a/src/mame/drivers/magicfly.cpp +++ b/src/mame/drivers/magicfly.cpp @@ -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); diff --git a/src/mame/drivers/majorpkr.cpp b/src/mame/drivers/majorpkr.cpp index 486413c360b..16fb1363344 100644 --- a/src/mame/drivers/majorpkr.cpp +++ b/src/mame/drivers/majorpkr.cpp @@ -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); diff --git a/src/mame/drivers/mpu12wbk.cpp b/src/mame/drivers/mpu12wbk.cpp index 807716f04e8..b4845fffd59 100644 --- a/src/mame/drivers/mpu12wbk.cpp +++ b/src/mame/drivers/mpu12wbk.cpp @@ -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); diff --git a/src/mame/drivers/mpu4dealem.cpp b/src/mame/drivers/mpu4dealem.cpp index 1005bcfda30..3b1ddf828d9 100644 --- a/src/mame/drivers/mpu4dealem.cpp +++ b/src/mame/drivers/mpu4dealem.cpp @@ -39,7 +39,7 @@ private: optional_shared_ptr 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 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); diff --git a/src/mame/drivers/murogem.cpp b/src/mame/drivers/murogem.cpp index 440c2183cea..c6344599aee 100644 --- a/src/mame/drivers/murogem.cpp +++ b/src/mame/drivers/murogem.cpp @@ -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); diff --git a/src/mame/drivers/nibble.cpp b/src/mame/drivers/nibble.cpp index c510a5daeb5..c658937cfe7 100644 --- a/src/mame/drivers/nibble.cpp +++ b/src/mame/drivers/nibble.cpp @@ -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); diff --git a/src/mame/drivers/peplus.cpp b/src/mame/drivers/peplus.cpp index b93ecd22115..e86d2e57e2d 100644 --- a/src/mame/drivers/peplus.cpp +++ b/src/mame/drivers/peplus.cpp @@ -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); diff --git a/src/mame/drivers/progolf.cpp b/src/mame/drivers/progolf.cpp index b40a1b5018e..92e621b7844 100644 --- a/src/mame/drivers/progolf.cpp +++ b/src/mame/drivers/progolf.cpp @@ -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); diff --git a/src/mame/drivers/rgum.cpp b/src/mame/drivers/rgum.cpp index 71a606245ab..c8595ba1840 100644 --- a/src/mame/drivers/rgum.cpp +++ b/src/mame/drivers/rgum.cpp @@ -44,7 +44,7 @@ private: required_shared_ptr 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 m_maincpu; required_device m_gfxdecode; required_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"); diff --git a/src/mame/drivers/royalmah.cpp b/src/mame/drivers/royalmah.cpp index 9e081d51c1a..dfa3385c00b 100644 --- a/src/mame/drivers/royalmah.cpp +++ b/src/mame/drivers/royalmah.cpp @@ -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 m_maincpu; + required_device m_palette; required_device m_ay; required_shared_ptr m_videoram; optional_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(); diff --git a/src/mame/drivers/sanremo.cpp b/src/mame/drivers/sanremo.cpp index 0c0ac776889..a6ca9ac326a 100644 --- a/src/mame/drivers/sanremo.cpp +++ b/src/mame/drivers/sanremo.cpp @@ -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 *** diff --git a/src/mame/drivers/skylncr.cpp b/src/mame/drivers/skylncr.cpp index 3ef552923fb..7cb8bbf80ee 100644 --- a/src/mame/drivers/skylncr.cpp +++ b/src/mame/drivers/skylncr.cpp @@ -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); diff --git a/src/mame/drivers/snk6502.cpp b/src/mame/drivers/snk6502.cpp index 15c8cc8a462..d6952f936e0 100644 --- a/src/mame/drivers/snk6502.cpp +++ b/src/mame/drivers/snk6502.cpp @@ -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); diff --git a/src/mame/drivers/speedatk.cpp b/src/mame/drivers/speedatk.cpp index 893988686af..ee65103d336 100644 --- a/src/mame/drivers/speedatk.cpp +++ b/src/mame/drivers/speedatk.cpp @@ -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"); diff --git a/src/mame/drivers/summit.cpp b/src/mame/drivers/summit.cpp index 17f3cf907e0..3f4055a2b40 100644 --- a/src/mame/drivers/summit.cpp +++ b/src/mame/drivers/summit.cpp @@ -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); diff --git a/src/mame/drivers/supercrd.cpp b/src/mame/drivers/supercrd.cpp index c108b6033fe..f49c2a19a7f 100644 --- a/src/mame/drivers/supercrd.cpp +++ b/src/mame/drivers/supercrd.cpp @@ -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); diff --git a/src/mame/drivers/tmspoker.cpp b/src/mame/drivers/tmspoker.cpp index 103c992b457..9ce277d021a 100644 --- a/src/mame/drivers/tmspoker.cpp +++ b/src/mame/drivers/tmspoker.cpp @@ -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); diff --git a/src/mame/drivers/toaplan1.cpp b/src/mame/drivers/toaplan1.cpp index 1df0e258782..06dcd3188ad 100644 --- a/src/mame/drivers/toaplan1.cpp +++ b/src/mame/drivers/toaplan1.cpp @@ -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)); diff --git a/src/mame/drivers/truco.cpp b/src/mame/drivers/truco.cpp index 76166d70408..4e06e5a6058 100644 --- a/src/mame/drivers/truco.cpp +++ b/src/mame/drivers/truco.cpp @@ -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); diff --git a/src/mame/drivers/twincobr.cpp b/src/mame/drivers/twincobr.cpp index 13260ae4e60..2697328b4be 100644 --- a/src/mame/drivers/twincobr.cpp +++ b/src/mame/drivers/twincobr.cpp @@ -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); diff --git a/src/mame/drivers/usgames.cpp b/src/mame/drivers/usgames.cpp index b5474d0938f..8be97839727 100644 --- a/src/mame/drivers/usgames.cpp +++ b/src/mame/drivers/usgames.cpp @@ -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); diff --git a/src/mame/drivers/vlc.cpp b/src/mame/drivers/vlc.cpp index 5fca550d1de..7dd326753c3 100644 --- a/src/mame/drivers/vlc.cpp +++ b/src/mame/drivers/vlc.cpp @@ -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 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); diff --git a/src/mame/drivers/wardner.cpp b/src/mame/drivers/wardner.cpp index 9665ae01fa9..df124b67ac2 100644 --- a/src/mame/drivers/wardner.cpp +++ b/src/mame/drivers/wardner.cpp @@ -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); diff --git a/src/mame/includes/calomega.h b/src/mame/includes/calomega.h index 20a45e13d16..491ed7db0dc 100644 --- a/src/mame/includes/calomega.h +++ b/src/mame/includes/calomega.h @@ -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); diff --git a/src/mame/includes/docastle.h b/src/mame/includes/docastle.h index 890552eb1ea..c35a9079cdc 100644 --- a/src/mame/includes/docastle.h +++ b/src/mame/includes/docastle.h @@ -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); diff --git a/src/mame/includes/funworld.h b/src/mame/includes/funworld.h index d1caa0ab380..752ebc2173b 100644 --- a/src/mame/includes/funworld.h +++ b/src/mame/includes/funworld.h @@ -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); diff --git a/src/mame/includes/goldstar.h b/src/mame/includes/goldstar.h index 55f65c7f399..cb4641d0052 100644 --- a/src/mame/includes/goldstar.h +++ b/src/mame/includes/goldstar.h @@ -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); diff --git a/src/mame/includes/snk6502.h b/src/mame/includes/snk6502.h index 4507f2aa2d3..065ee6169bf 100644 --- a/src/mame/includes/snk6502.h +++ b/src/mame/includes/snk6502.h @@ -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); diff --git a/src/mame/includes/speedatk.h b/src/mame/includes/speedatk.h index 7f78528e04a..b62137b131d 100644 --- a/src/mame/includes/speedatk.h +++ b/src/mame/includes/speedatk.h @@ -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); diff --git a/src/mame/includes/toaplan1.h b/src/mame/includes/toaplan1.h index b884f1ca4f4..83d8d7f666e 100644 --- a/src/mame/includes/toaplan1.h +++ b/src/mame/includes/toaplan1.h @@ -121,7 +121,7 @@ protected: template 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 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 m_spritegen; diff --git a/src/mame/includes/truco.h b/src/mame/includes/truco.h index 53c1f3ce653..b166a3e75d5 100644 --- a/src/mame/includes/truco.h +++ b/src/mame/includes/truco.h @@ -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 m_maincpu; required_device m_watchdog; + required_device m_palette; required_device m_dac; required_shared_ptr 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); diff --git a/src/mame/includes/twincobr.h b/src/mame/includes/twincobr.h index e212a0fe71c..8d2354db661 100644 --- a/src/mame/includes/twincobr.h +++ b/src/mame/includes/twincobr.h @@ -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(); diff --git a/src/mame/includes/usgames.h b/src/mame/includes/usgames.h index 9be0f95a4e9..90d7d767ae3 100644 --- a/src/mame/includes/usgames.h +++ b/src/mame/includes/usgames.h @@ -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); }; diff --git a/src/mame/video/calomega.cpp b/src/mame/video/calomega.cpp index 329481a4b84..716d0a592a3 100644 --- a/src/mame/video/calomega.cpp +++ b/src/mame/video/calomega.cpp @@ -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; diff --git a/src/mame/video/docastle.cpp b/src/mame/video/docastle.cpp index 4bad4c21b5d..e4933b3a840 100644 --- a/src/mame/video/docastle.cpp +++ b/src/mame/video/docastle.cpp @@ -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); diff --git a/src/mame/video/funworld.cpp b/src/mame/video/funworld.cpp index 3adff2b1731..3bfdf3a1204 100644 --- a/src/mame/video/funworld.cpp +++ b/src/mame/video/funworld.cpp @@ -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; diff --git a/src/mame/video/goldstar.cpp b/src/mame/video/goldstar.cpp index 6ea3770abf8..54be855dcc2 100644 --- a/src/mame/video/goldstar.cpp +++ b/src/mame/video/goldstar.cpp @@ -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; diff --git a/src/mame/video/snk6502.cpp b/src/mame/video/snk6502.cpp index 258fc73ed1f..c188aaf855a 100644 --- a/src/mame/video/snk6502.cpp +++ b/src/mame/video/snk6502.cpp @@ -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); diff --git a/src/mame/video/speedatk.cpp b/src/mame/video/speedatk.cpp index 49df817e4cd..76426076aff 100644 --- a/src/mame/video/speedatk.cpp +++ b/src/mame/video/speedatk.cpp @@ -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); diff --git a/src/mame/video/toaplan1.cpp b/src/mame/video/toaplan1.cpp index 7a1e58c029d..41a9b6ef407 100644 --- a/src/mame/video/toaplan1.cpp +++ b/src/mame/video/toaplan1.cpp @@ -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(); diff --git a/src/mame/video/toaplan_scu.cpp b/src/mame/video/toaplan_scu.cpp index b1edb459d1c..84afffe2d0a 100644 --- a/src/mame/video/toaplan_scu.cpp +++ b/src/mame/video/toaplan_scu.cpp @@ -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]; } } } diff --git a/src/mame/video/toaplan_scu.h b/src/mame/video/toaplan_scu.h index c07bcaa74df..4844f239af7 100644 --- a/src/mame/video/toaplan_scu.h +++ b/src/mame/video/toaplan_scu.h @@ -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: diff --git a/src/mame/video/truco.cpp b/src/mame/video/truco.cpp index 986a4d29b04..0e647b6d070 100644 --- a/src/mame/video/truco.cpp +++ b/src/mame/video/truco.cpp @@ -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; diff --git a/src/mame/video/twincobr.cpp b/src/mame/video/twincobr.cpp index ed15675d03d..9a91eaa7f06 100644 --- a/src/mame/video/twincobr.cpp +++ b/src/mame/video/twincobr.cpp @@ -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 { diff --git a/src/mame/video/usgames.cpp b/src/mame/video/usgames.cpp index e03b681750c..b1b3fd30ea6 100644 --- a/src/mame/video/usgames.cpp +++ b/src/mame/video/usgames.cpp @@ -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;