diff options
Diffstat (limited to 'src/mame/includes/eolith.h')
-rw-r--r-- | src/mame/includes/eolith.h | 73 |
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; }; |