diff options
Diffstat (limited to 'src/mame/drivers/prestige.cpp')
-rw-r--r-- | src/mame/drivers/prestige.cpp | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/src/mame/drivers/prestige.cpp b/src/mame/drivers/prestige.cpp index c0c047c9ce4..fbc565d4fd6 100644 --- a/src/mame/drivers/prestige.cpp +++ b/src/mame/drivers/prestige.cpp @@ -118,6 +118,9 @@ public: void prestige(machine_config &config); void gl7007sl(machine_config &config); +protected: + virtual void machine_start() override; + private: required_device<cpu_device> m_maincpu; required_device<ram_device> m_ram; @@ -146,13 +149,12 @@ private: uint8_t split_pos; } m_lcdc; - virtual void machine_start() override; + memory_region *m_cart_rom; + uint32_t screen_update(int bpp, screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_1bpp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_2bpp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - memory_region *m_cart_rom; - DECLARE_READ8_MEMBER( bankswitch_r ); DECLARE_WRITE8_MEMBER( bankswitch_w ); DECLARE_READ8_MEMBER( kb_r ); @@ -160,8 +162,8 @@ private: DECLARE_READ8_MEMBER( mouse_r ); DECLARE_WRITE8_MEMBER( mouse_w ); DECLARE_WRITE8_MEMBER( lcdc_w ); - DECLARE_PALETTE_INIT(prestige); - DECLARE_PALETTE_INIT(glcolor); + void prestige_palette(palette_device &palette) const; + void glcolor_palette(palette_device &palette) const; TIMER_DEVICE_CALLBACK_MEMBER(irq_timer); IRQ_CALLBACK_MEMBER(prestige_int_ack); @@ -679,18 +681,18 @@ void prestige_state::machine_start() m_vram = ram; } -PALETTE_INIT_MEMBER(prestige_state, prestige) +void prestige_state::prestige_palette(palette_device &palette) const { palette.set_pen_color(0, rgb_t(39, 108, 51)); - palette.set_pen_color(1, rgb_t(16, 37, 84)); + palette.set_pen_color(1, rgb_t(16, 37, 84)); } -PALETTE_INIT_MEMBER(prestige_state, glcolor) +void prestige_state::glcolor_palette(palette_device &palette) const { - palette.set_pen_color(0, rgb_t(0x3f,0xbf,0x3f)); - palette.set_pen_color(1, rgb_t(0xff,0x3f,0x5f)); - palette.set_pen_color(2, rgb_t(0x1f,0x1f,0x3f)); - palette.set_pen_color(3, rgb_t(0xff,0xdf,0x1f)); + palette.set_pen_color(0, rgb_t(0x3f, 0xbf, 0x3f)); + palette.set_pen_color(1, rgb_t(0xff, 0x3f, 0x5f)); + palette.set_pen_color(2, rgb_t(0x1f, 0x1f, 0x3f)); + palette.set_pen_color(3, rgb_t(0xff, 0xdf, 0x1f)); } uint32_t prestige_state::screen_update(int bpp, screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) @@ -759,8 +761,7 @@ MACHINE_CONFIG_START(prestige_state::prestige_base) MCFG_SCREEN_VISIBLE_AREA( 0, 240-1, 0, 100-1 ) MCFG_SCREEN_PALETTE("palette") - MCFG_PALETTE_ADD("palette", 2) - MCFG_PALETTE_INIT_OWNER(prestige_state, prestige) + PALETTE(config, "palette", FUNC(prestige_state::prestige_palette), 2); /* cartridge */ MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "genius_cart") @@ -771,6 +772,7 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(prestige_state::glcolor) prestige_base(config); + MCFG_DEVICE_MODIFY("maincpu") MCFG_DEVICE_IO_MAP(glcolor_io) @@ -780,9 +782,7 @@ MACHINE_CONFIG_START(prestige_state::glcolor) MCFG_SCREEN_SIZE( 160, 80 ) MCFG_SCREEN_VISIBLE_AREA( 0, 160-1, 0, 80-1 ) - MCFG_PALETTE_MODIFY("palette") - MCFG_PALETTE_ENTRIES(4) - MCFG_PALETTE_INIT_OWNER(prestige_state, glcolor) + subdevice<palette_device>("palette")->set_entries(4).set_init(FUNC(prestige_state::glcolor_palette)); MCFG_SOFTWARE_LIST_ADD("cart_list", "glcolor") MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("snotec_cart", "snotec") @@ -790,12 +790,14 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(prestige_state::glmcolor) glcolor(config); + MCFG_DEVICE_MODIFY("maincpu") MCFG_DEVICE_IO_MAP(prestige_io) MACHINE_CONFIG_END MACHINE_CONFIG_START(prestige_state::snotec) glcolor(config); + MCFG_SOFTWARE_LIST_REMOVE("cart_list") MCFG_SOFTWARE_LIST_REMOVE("snotec_cart") MCFG_SOFTWARE_LIST_ADD("cart_list", "snotec") @@ -804,6 +806,7 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(prestige_state::prestige) prestige_base(config); + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl6000sl_cart", "gl6000sl") MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx") MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl2000_cart", "gl2000") @@ -811,6 +814,7 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(prestige_state::gl6000sl) prestige_base(config); + MCFG_SOFTWARE_LIST_ADD("cart_list", "gl6000sl") MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx") MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl2000_cart", "gl2000") @@ -818,6 +822,7 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(prestige_state::gl7007sl) prestige_base(config); + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl6000sl_cart", "gl6000sl") MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl2000_cart", "gl2000") MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx") @@ -825,11 +830,13 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(prestige_state::gjmovie) prestige_base(config); + MCFG_SOFTWARE_LIST_ADD("cart_list", "gjmovie") MACHINE_CONFIG_END MACHINE_CONFIG_START(prestige_state::princ) prestige_base(config); + MCFG_DEVICE_REMOVE("cartslot") MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "princ_cart") MCFG_SOFTWARE_LIST_ADD("cart_list", "princ") |