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.h45
1 files changed, 29 insertions, 16 deletions
diff --git a/src/mame/includes/eolith.h b/src/mame/includes/eolith.h
index e8fec69abb1..746a79a3bd6 100644
--- a/src/mame/includes/eolith.h
+++ b/src/mame/includes/eolith.h
@@ -10,36 +10,49 @@ public:
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"),
m_peny2port(*this, "PEN_Y_P2"),
- m_sndbank(*this, "sound_bank"),
- m_screen(*this, "screen"),
- m_palette(*this, "palette")
+ m_sndbank(*this, "sound_bank")
{ }
- int m_coin_counter_bit;
- int m_buffer;
- UINT32 *m_vram;
-
- UINT8 m_sound_data;
- UINT8 m_data_to_qs1000;
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;
- required_device<screen_device> m_screen;
- required_device<palette_device> m_palette;
+
+ int m_coin_counter_bit;
+ int m_buffer;
+ UINT32 *m_vram;
+
+ UINT8 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);
DECLARE_READ32_MEMBER(eolith_custom_r);
DECLARE_WRITE32_MEMBER(systemcontrol_w);
@@ -48,23 +61,23 @@ public:
DECLARE_READ32_MEMBER(hidctch3_pen2_r);
DECLARE_WRITE32_MEMBER(eolith_vram_w);
DECLARE_READ32_MEMBER(eolith_vram_r);
- DECLARE_CUSTOM_INPUT_MEMBER(eolith_speedup_getvblank);
- DECLARE_CUSTOM_INPUT_MEMBER(stealsee_speedup_getvblank);
-
DECLARE_READ8_MEMBER(sound_cmd_r);
DECLARE_WRITE8_MEMBER(sound_p1_w);
-
DECLARE_READ8_MEMBER(qs1000_p1_r);
DECLARE_WRITE8_MEMBER(qs1000_p1_w);
+ DECLARE_WRITE8_MEMBER(soundcpu_to_qs1000);
+
DECLARE_DRIVER_INIT(eolith);
DECLARE_DRIVER_INIT(landbrk);
DECLARE_DRIVER_INIT(hidctch3);
DECLARE_DRIVER_INIT(hidctch2);
DECLARE_DRIVER_INIT(hidnc2k);
DECLARE_DRIVER_INIT(landbrka);
+
DECLARE_MACHINE_RESET(eolith);
DECLARE_VIDEO_START(eolith);
+
UINT32 screen_update_eolith(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+
TIMER_DEVICE_CALLBACK_MEMBER(eolith_speedup);
- DECLARE_WRITE8_MEMBER(soundcpu_to_qs1000);
};