diff options
author | AJR <ajrhacker@users.noreply.github.com> | 2018-05-14 13:05:44 -0400 |
---|---|---|
committer | AJR <ajrhacker@users.noreply.github.com> | 2018-05-14 13:05:44 -0400 |
commit | 7df74b4ed9c7f0b95c2c1ac5a342ab263ce5887d (patch) | |
tree | af19b3e4643a44f3ae9c9da4a3401b3ba2076d5c /src/devices/video | |
parent | 6e0979308eaeadc36735985782fecbd274d0e26e (diff) |
vic4567: Use device_palette_interface (nw)
Diffstat (limited to 'src/devices/video')
-rw-r--r-- | src/devices/video/vic4567.cpp | 21 | ||||
-rw-r--r-- | src/devices/video/vic4567.h | 7 |
2 files changed, 12 insertions, 16 deletions
diff --git a/src/devices/video/vic4567.cpp b/src/devices/video/vic4567.cpp index 534e78eecc1..8154f6a9458 100644 --- a/src/devices/video/vic4567.cpp +++ b/src/devices/video/vic4567.cpp @@ -149,6 +149,7 @@ DEFINE_DEVICE_TYPE(VIC3, vic3_device, "vic3", "CSG 4567 VIC-III") vic3_device::vic3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, VIC3, tag, owner, clock) + , device_palette_interface(mconfig, *this) , device_video_interface(mconfig, *this) , m_type(vic3_type::NTSC) , m_cpu(*this, finder_base::DUMMY_TAG) @@ -160,7 +161,6 @@ vic3_device::vic3_device(const machine_config &mconfig, const char *tag, device_ , m_lightpen_x_cb(*this) , m_lightpen_y_cb(*this) , m_c64_mem_r_cb(*this) - , m_palette(*this, "palette") { } @@ -354,9 +354,12 @@ void vic3_device::device_reset() memset(m_shift, 0, ARRAY_LENGTH(m_shift)); memset(m_multi_collision, 0, ARRAY_LENGTH(m_multi_collision)); - memset(m_palette_red, 0, ARRAY_LENGTH(m_palette_red)); - memset(m_palette_green, 0, ARRAY_LENGTH(m_palette_green)); - memset(m_palette_blue, 0, ARRAY_LENGTH(m_palette_blue)); + + for (int i = 0; i < 256; i++) + { + m_palette_red[i] = m_palette_green[i] = m_palette_blue[i] = 0; + set_pen_color(i, rgb_t::black()); + } m_palette_dirty = 0; } @@ -1937,7 +1940,7 @@ void vic3_device::raster_interrupt_gen() m_rasterline = 0; if (m_palette_dirty) for (i = 0; i < 256; i++) - m_palette->set_pen_color(i, m_palette_red[i] << 4, m_palette_green[i] << 4, m_palette_blue[i] << 4); + set_pen_color(i, m_palette_red[i] << 4, m_palette_green[i] << 4, m_palette_blue[i] << 4); if (m_palette_dirty) { @@ -2041,11 +2044,3 @@ uint32_t vic3_device::video_update( bitmap_ind16 &bitmap, const rectangle &clipr copybitmap(bitmap, *m_bitmap, 0, 0, 0, 0, cliprect); return 0; } - -//------------------------------------------------- -// device_add_mconfig - add device configuration -//------------------------------------------------- - -MACHINE_CONFIG_START(vic3_device::device_add_mconfig) - MCFG_PALETTE_ADD_INIT_BLACK("palette", 0x100) -MACHINE_CONFIG_END diff --git a/src/devices/video/vic4567.h b/src/devices/video/vic4567.h index 5d24654ac21..1e357028eac 100644 --- a/src/devices/video/vic4567.h +++ b/src/devices/video/vic4567.h @@ -102,6 +102,7 @@ ***************************************************************************/ class vic3_device : public device_t, + public device_palette_interface, public device_video_interface { public: @@ -131,7 +132,9 @@ protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; - virtual void device_add_mconfig(machine_config &config) override; + + // device_palette_interface override + virtual uint32_t palette_entries() const override { return 0x100; } private: static constexpr unsigned SPRITE_BASE_X_SIZE = 24; @@ -229,8 +232,6 @@ private: uint8_t m_palette_green[0x100]; uint8_t m_palette_blue[0x100]; int m_palette_dirty; - - required_device<palette_device> m_palette; }; DECLARE_DEVICE_TYPE(VIC3, vic3_device) |