summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/svision.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/svision.h')
-rw-r--r--src/mame/includes/svision.h43
1 files changed, 23 insertions, 20 deletions
diff --git a/src/mame/includes/svision.h b/src/mame/includes/svision.h
index b595b90b5c7..65ed473ccc1 100644
--- a/src/mame/includes/svision.h
+++ b/src/mame/includes/svision.h
@@ -9,6 +9,8 @@
#ifndef MAME_INCLUDES_SVISION_H
#define MAME_INCLUDES_SVISION_H
+#pragma once
+
#include "cpu/m6502/m65c02.h"
#include "machine/timer.h"
#include "audio/svis_snd.h"
@@ -16,20 +18,6 @@
#include "bus/generic/carts.h"
#include "emupal.h"
-struct svision_t
-{
- emu_timer *timer1;
- int timer_shot;
-};
-
-struct svision_pet_t
-{
- int state;
- int on, clock, data;
- uint8_t input;
- emu_timer *timer;
-};
-
struct tvlink_t
{
uint32_t palette[4/*0x40?*/]; /* rgb8 */
@@ -64,7 +52,25 @@ public:
void init_svisions();
void init_svision();
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+
private:
+ struct svision_t
+ {
+ emu_timer *timer1;
+ int timer_shot;
+ };
+
+ struct svision_pet_t
+ {
+ int state;
+ int on, clock, data;
+ uint8_t input;
+ emu_timer *timer;
+ };
+
DECLARE_WRITE_LINE_MEMBER(sound_irq_w);
DECLARE_READ8_MEMBER(svision_r);
DECLARE_WRITE8_MEMBER(svision_w);
@@ -76,12 +82,9 @@ private:
DECLARE_WRITE_LINE_MEMBER(frame_int_w);
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(svision_cart);
- virtual void machine_start() override;
- virtual void machine_reset() override;
-
- DECLARE_PALETTE_INIT(svision);
- DECLARE_PALETTE_INIT(svisionp);
- DECLARE_PALETTE_INIT(svisionn);
+ void svision_palette(palette_device &palette) const;
+ void svisionp_palette(palette_device &palette) const;
+ void svisionn_palette(palette_device &palette) const;
DECLARE_MACHINE_RESET(tvlink);
enum