summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/video/v9938.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/video/v9938.h')
-rw-r--r--src/devices/video/v9938.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/devices/video/v9938.h b/src/devices/video/v9938.h
index a927de33bd3..2e7efa60677 100644
--- a/src/devices/video/v9938.h
+++ b/src/devices/video/v9938.h
@@ -37,7 +37,7 @@
v99x8_device::VERTICAL_ADJUST * 2, \
v99x8_device::VVISIBLE_NTSC * 2 - 1 - v99x8_device::VERTICAL_ADJUST * 2) \
MCFG_SCREEN_UPDATE_DEVICE(_v9938_tag, v9938_device, screen_update) \
- MCFG_SCREEN_PALETTE(_v9938_tag":palette")
+ MCFG_SCREEN_PALETTE(_v9938_tag)
#define MCFG_V99X8_SCREEN_ADD_PAL(_screen_tag, _v9938_tag, _clock) \
MCFG_SCREEN_ADD(_screen_tag, RASTER) \
@@ -49,7 +49,7 @@
v99x8_device::VERTICAL_ADJUST * 2, \
v99x8_device::VVISIBLE_PAL * 2 - 1 - v99x8_device::VERTICAL_ADJUST * 2) \
MCFG_SCREEN_UPDATE_DEVICE(_v9938_tag, v9938_device, screen_update) \
- MCFG_SCREEN_PALETTE(_v9938_tag":palette")
+ MCFG_SCREEN_PALETTE(_v9938_tag)
#define MCFG_V99X8_INTERRUPT_CALLBACK(_irq) \
devcb = &downcast<v99x8_device *>(device)->set_interrupt_callback(DEVCB_##_irq);
@@ -73,6 +73,7 @@ extern const device_type V9958;
class v99x8_device : public device_t,
public device_memory_interface,
+ public device_palette_interface,
public device_video_interface
{
protected:
@@ -133,6 +134,8 @@ protected:
// device_memory_interface overrides
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_DATA) const override { return (spacenum == AS_DATA) ? &m_space_config : nullptr; }
+ virtual void palette_init() = 0;
+
void configure_pal_ntsc();
void set_screen_parameters();
@@ -263,7 +266,6 @@ private:
void (v99x8_device::*draw_sprite_16)(const pen_t *, uint16_t*, uint8_t*);
} ;
static const v99x8_mode s_modes[];
- required_device<palette_device> m_palette;
emu_timer *m_line_timer;
uint8_t m_pal_ntsc;
int m_scanline_start;
@@ -280,9 +282,9 @@ class v9938_device : public v99x8_device
public:
v9938_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- DECLARE_PALETTE_INIT(v9938);
protected:
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void palette_init() override;
+ virtual int palette_entries() const override { return 512; }
};
class v9958_device : public v99x8_device
@@ -290,10 +292,9 @@ class v9958_device : public v99x8_device
public:
v9958_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- DECLARE_PALETTE_INIT(v9958);
-
protected:
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void palette_init() override;
+ virtual int palette_entries() const override { return 19780; }
};