summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/eolith.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/eolith.h')
-rw-r--r--src/mame/includes/eolith.h73
1 files changed, 40 insertions, 33 deletions
diff --git a/src/mame/includes/eolith.h b/src/mame/includes/eolith.h
index d3c6e370ee6..052eb9f5698 100644
--- a/src/mame/includes/eolith.h
+++ b/src/mame/includes/eolith.h
@@ -10,13 +10,13 @@ class eolith_state : public driver_device
public:
eolith_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
+ m_eepromoutport(*this, "EEPROMOUT"),
+ m_qs1000(*this, "qs1000"),
m_maincpu(*this, "maincpu"),
m_soundcpu(*this, "soundcpu"),
- m_qs1000(*this, "qs1000"),
m_screen(*this, "screen"),
m_palette(*this, "palette"),
m_in0(*this, "IN0"),
- m_eepromoutport(*this, "EEPROMOUT"),
m_penx1port(*this, "PEN_X_P1"),
m_peny1port(*this, "PEN_Y_P1"),
m_penx2port(*this, "PEN_X_P2"),
@@ -24,36 +24,6 @@ public:
m_sndbank(*this, "sound_bank")
{ }
-
- required_device<cpu_device> m_maincpu;
- optional_device<i8032_device> m_soundcpu;
- optional_device<qs1000_device> m_qs1000;
- required_device<screen_device> m_screen;
- required_device<palette_device> m_palette;
-
- optional_ioport m_in0; // klondkp doesn't have it
- optional_ioport m_eepromoutport;
- optional_ioport m_penx1port;
- optional_ioport m_peny1port;
- optional_ioport m_penx2port;
- optional_ioport m_peny2port;
-
- optional_memory_bank m_sndbank;
-
- int m_coin_counter_bit;
- int m_buffer;
- std::unique_ptr<uint32_t[]> m_vram;
-
- uint8_t m_sound_data;
-
- // speedups - see machine/eolithsp.c
- int m_speedup_address;
- int m_speedup_address2;
- int m_speedup_resume_scanline;
- int m_speedup_vblank;
- int m_speedup_scanline;
- void speedup_read();
- void init_speedup();
DECLARE_CUSTOM_INPUT_MEMBER(eolith_speedup_getvblank);
DECLARE_CUSTOM_INPUT_MEMBER(stealsee_speedup_getvblank);
@@ -76,11 +46,48 @@ public:
DECLARE_DRIVER_INIT(hidctch2);
DECLARE_DRIVER_INIT(hidnc2k);
DECLARE_DRIVER_INIT(landbrka);
+ DECLARE_DRIVER_INIT(landbrkb);
DECLARE_MACHINE_RESET(eolith);
DECLARE_VIDEO_START(eolith);
+ TIMER_DEVICE_CALLBACK_MEMBER(eolith_speedup);
+
uint32_t screen_update_eolith(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- TIMER_DEVICE_CALLBACK_MEMBER(eolith_speedup);
+protected:
+ // shared with eolith16.cpp, vegaeo.cpp
+ optional_ioport m_eepromoutport;
+ optional_device<qs1000_device> m_qs1000;
+
+ void speedup_read();
+ void init_speedup();
+ void patch_mcu_protection(uint32_t address);
+
+private:
+ required_device<cpu_device> m_maincpu;
+ optional_device<i8032_device> m_soundcpu;
+ required_device<screen_device> m_screen;
+ required_device<palette_device> m_palette;
+
+ optional_ioport m_in0; // klondkp doesn't have it
+ optional_ioport m_penx1port;
+ optional_ioport m_peny1port;
+ optional_ioport m_penx2port;
+ optional_ioport m_peny2port;
+
+ optional_memory_bank m_sndbank;
+
+ int m_coin_counter_bit;
+ int m_buffer;
+ std::unique_ptr<uint32_t[]> m_vram;
+
+ uint8_t m_sound_data;
+
+ // speedups - see machine/eolithsp.c
+ int m_speedup_address;
+ int m_speedup_address2;
+ int m_speedup_resume_scanline;
+ int m_speedup_vblank;
+ int m_speedup_scanline;
};