diff options
author | Vas Crabb <vas@vastheman.com> | 2018-12-29 05:53:50 +1100 |
---|---|---|
committer | Vas Crabb <vas@vastheman.com> | 2018-12-29 05:53:50 +1100 |
commit | f1f0591f43f381123e8d9ec20c52eb7c0c332c79 (patch) | |
tree | 97c8dd30a6ea292c3189f372b8103a2e303c0b2d /src/mame/drivers/pockchal.cpp | |
parent | 65bfb2654f0c73235f114e9145c766245bed9790 (diff) |
Start cleaning up palette configuration:
* Basically, initialisers go in the constructor arguments, and things for setting format go in set_format.
* Initialisation patterns can be specified with an enum discriminator or with a FUNC and optionally a tag.
* Formats can be specified with an enum discriminator or a size and function pointer.
* You must always supply the number of entries when setting the format.
* When initislising with a paletter initialisation member, you can specify the entries and indirecte entries together.
* The palette_device now has a standard constructor, so use .set_entries if you are specifying entry count with no format/initialisation.
* Also killed an overload on delegates that wasn't being useful.
Diffstat (limited to 'src/mame/drivers/pockchal.cpp')
-rw-r--r-- | src/mame/drivers/pockchal.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/mame/drivers/pockchal.cpp b/src/mame/drivers/pockchal.cpp index c55f93477ca..0d4a900e346 100644 --- a/src/mame/drivers/pockchal.cpp +++ b/src/mame/drivers/pockchal.cpp @@ -43,16 +43,19 @@ public: void pockchalv1(machine_config &config); -private: +protected: virtual void machine_start() override; virtual void machine_reset() override; virtual void video_start() override; + +private: uint32_t screen_update_pockchalv1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + DECLARE_DEVICE_IMAGE_LOAD_MEMBER(pockchalv1_cart); + void pockchalv1_map(address_map &map); + required_device<cpu_device> m_maincpu; required_device<generic_slot_device> m_cart; uint32_t m_rom_size; - DECLARE_DEVICE_IMAGE_LOAD_MEMBER(pockchalv1_cart); - void pockchalv1_map(address_map &map); }; @@ -105,9 +108,7 @@ MACHINE_CONFIG_START(pockchalv1_state::pockchalv1) // MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pockchalv1_state, irq0_line_hold) // wrong, it's a b&w / greyscale thing - MCFG_PALETTE_ADD("palette", 0x100) - MCFG_PALETTE_FORMAT(xxxxRRRRGGGGBBBB) - MCFG_PALETTE_ENDIANNESS(ENDIANNESS_BIG) + PALETTE(config, "palette").set_format(palette_device::xRGB_444, 0x100).set_endianness(ENDIANNESS_BIG); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) |