mirror of
https://github.com/holub/mame
synced 2025-10-08 09:30:17 +03:00
vic4567: Use device_palette_interface (nw)
This commit is contained in:
parent
6e0979308e
commit
7df74b4ed9
@ -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
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user