summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/mw8080bw.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/mw8080bw.h')
-rw-r--r--src/mame/includes/mw8080bw.h173
1 files changed, 92 insertions, 81 deletions
diff --git a/src/mame/includes/mw8080bw.h b/src/mame/includes/mw8080bw.h
index 75026d596c5..8b0e1c37750 100644
--- a/src/mame/includes/mw8080bw.h
+++ b/src/mame/includes/mw8080bw.h
@@ -59,6 +59,76 @@ public:
m_screen(*this, "screen")
{ }
+ void blueshrk(machine_config &config);
+ void blueshrk_audio(machine_config &config);
+ void boothill(machine_config &config);
+ void boothill_audio(machine_config &config);
+ void bowler(machine_config &config);
+ void bowler_audio(machine_config &config);
+ void checkmat(machine_config &config);
+ void checkmat_audio(machine_config &config);
+ void clowns(machine_config &config);
+ void clowns_audio(machine_config &config);
+ void desertgu(machine_config &config);
+ void desertgu_audio(machine_config &config);
+ void dogpatch(machine_config &config);
+ void dogpatch_audio(machine_config &config);
+ void dplay(machine_config &config);
+ void dplay_audio(machine_config &config);
+ void gmissile(machine_config &config);
+ void gmissile_audio(machine_config &config);
+ void gunfight(machine_config &config);
+ void gunfight_audio(machine_config &config);
+ void invad2ct(machine_config &config);
+ void invad2ct_audio(machine_config &config);
+ void invaders(machine_config &config);
+ void invaders_audio(machine_config &config);
+ void invaders_samples_audio(machine_config &config);
+ void m4(machine_config &config);
+ void m4_audio(machine_config &config);
+ void maze(machine_config &config);
+ void maze_audio(machine_config &config);
+ void mw8080bw_root(machine_config &config);
+ void phantom2(machine_config &config);
+ void phantom2_audio(machine_config &config);
+ void seawolf(machine_config &config);
+ void seawolf_audio(machine_config &config);
+ void shuffle(machine_config &config);
+ void shuffle_audio(machine_config &config);
+ void spacwalk(machine_config &config);
+ void spacwalk_audio(machine_config &config);
+ void spcenctr(machine_config &config);
+ void spcenctr_audio(machine_config &config);
+ void tornbase(machine_config &config);
+ void tornbase_audio(machine_config &config);
+ void zzzap(machine_config &config);
+ void zzzap_audio(machine_config &config);
+
+
+ DECLARE_CUSTOM_INPUT_MEMBER(seawolf_erase_input_r);
+ DECLARE_CUSTOM_INPUT_MEMBER(tornbase_hit_left_input_r);
+ DECLARE_CUSTOM_INPUT_MEMBER(tornbase_hit_right_input_r);
+ DECLARE_CUSTOM_INPUT_MEMBER(tornbase_pitch_left_input_r);
+ DECLARE_CUSTOM_INPUT_MEMBER(tornbase_pitch_right_input_r);
+ DECLARE_CUSTOM_INPUT_MEMBER(tornbase_score_input_r);
+ DECLARE_CUSTOM_INPUT_MEMBER(desertgu_gun_input_r);
+ DECLARE_CUSTOM_INPUT_MEMBER(desertgu_dip_sw_0_1_r);
+ DECLARE_CUSTOM_INPUT_MEMBER(dplay_pitch_left_input_r);
+ DECLARE_CUSTOM_INPUT_MEMBER(dplay_pitch_right_input_r);
+ DECLARE_CUSTOM_INPUT_MEMBER(clowns_controller_r);
+ DECLARE_CUSTOM_INPUT_MEMBER(invaders_coin_input_r);
+ DECLARE_CUSTOM_INPUT_MEMBER(invaders_sw6_sw7_r);
+ DECLARE_CUSTOM_INPUT_MEMBER(invaders_sw5_r);
+ DECLARE_CUSTOM_INPUT_MEMBER(blueshrk_coin_input_r);
+ DECLARE_CUSTOM_INPUT_MEMBER(invaders_in0_control_r);
+ DECLARE_CUSTOM_INPUT_MEMBER(invaders_in1_control_r);
+ DECLARE_CUSTOM_INPUT_MEMBER(invaders_in2_control_r);
+
+ DECLARE_MACHINE_START(mw8080bw);
+ DECLARE_MACHINE_RESET(mw8080bw);
+
+protected:
+
/* device/memory pointers */
required_device<cpu_device> m_maincpu;
optional_device<mb14241_device> m_mb14241;
@@ -68,6 +138,15 @@ public:
optional_shared_ptr<uint8_t> m_colorram2;
optional_device<discrete_device> m_discrete;
+ /* other devices */
+ optional_device<samples_device> m_samples;
+ optional_device<samples_device> m_samples1;
+ optional_device<samples_device> m_samples2;
+ optional_device<sn76477_device> m_sn1;
+ optional_device<sn76477_device> m_sn2;
+ optional_device<sn76477_device> m_sn;
+ required_device<screen_device> m_screen;
+
/* sound-related */
uint8_t m_port_1_last;
uint8_t m_port_2_last;
@@ -76,8 +155,20 @@ public:
uint8_t m_port_3_last_extra;
/* misc game specific */
- uint16_t m_phantom2_cloud_counter;
uint8_t m_flip_screen;
+
+ DECLARE_WRITE8_MEMBER(invaders_audio_1_w);
+ DECLARE_WRITE8_MEMBER(invaders_audio_2_w);
+
+ std::unique_ptr<uint8_t[]> m_scattered_colorram;
+ std::unique_ptr<uint8_t[]> m_scattered_colorram2;
+
+ uint32_t screen_update_invaders(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+ uint32_t screen_update_mw8080bw(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+
+private:
+ /* misc game specific */
+ uint16_t m_phantom2_cloud_counter;
uint8_t m_rev_shift_res;
uint8_t m_maze_tone_timing_state; /* output of IC C1, pin 5 */
uint8_t m_desertgun_controller_select;
@@ -90,22 +181,10 @@ public:
uint8_t m_spcenctr_bright_control;
uint8_t m_spcenctr_brightness;
- std::unique_ptr<uint8_t[]> m_scattered_colorram;
- std::unique_ptr<uint8_t[]> m_scattered_colorram2;
-
/* timers */
emu_timer *m_interrupt_timer;
emu_timer *m_maze_tone_timer;
- /* other devices */
- optional_device<samples_device> m_samples;
- optional_device<samples_device> m_samples1;
- optional_device<samples_device> m_samples2;
- optional_device<sn76477_device> m_sn1;
- optional_device<sn76477_device> m_sn2;
- optional_device<sn76477_device> m_sn;
- required_device<screen_device> m_screen;
-
DECLARE_READ8_MEMBER(mw8080bw_shift_result_rev_r);
DECLARE_READ8_MEMBER(mw8080bw_reversable_shift_result_r);
DECLARE_WRITE8_MEMBER(mw8080bw_reversable_shift_count_w);
@@ -120,24 +199,6 @@ public:
DECLARE_READ8_MEMBER(bowler_shift_result_r);
DECLARE_WRITE8_MEMBER(bowler_lights_1_w);
DECLARE_WRITE8_MEMBER(bowler_lights_2_w);
- DECLARE_CUSTOM_INPUT_MEMBER(seawolf_erase_input_r);
- DECLARE_CUSTOM_INPUT_MEMBER(tornbase_hit_left_input_r);
- DECLARE_CUSTOM_INPUT_MEMBER(tornbase_hit_right_input_r);
- DECLARE_CUSTOM_INPUT_MEMBER(tornbase_pitch_left_input_r);
- DECLARE_CUSTOM_INPUT_MEMBER(tornbase_pitch_right_input_r);
- DECLARE_CUSTOM_INPUT_MEMBER(tornbase_score_input_r);
- DECLARE_CUSTOM_INPUT_MEMBER(desertgu_gun_input_r);
- DECLARE_CUSTOM_INPUT_MEMBER(desertgu_dip_sw_0_1_r);
- DECLARE_CUSTOM_INPUT_MEMBER(dplay_pitch_left_input_r);
- DECLARE_CUSTOM_INPUT_MEMBER(dplay_pitch_right_input_r);
- DECLARE_CUSTOM_INPUT_MEMBER(clowns_controller_r);
- DECLARE_CUSTOM_INPUT_MEMBER(invaders_coin_input_r);
- DECLARE_CUSTOM_INPUT_MEMBER(invaders_sw6_sw7_r);
- DECLARE_CUSTOM_INPUT_MEMBER(invaders_sw5_r);
- DECLARE_CUSTOM_INPUT_MEMBER(blueshrk_coin_input_r);
- DECLARE_CUSTOM_INPUT_MEMBER(invaders_in0_control_r);
- DECLARE_CUSTOM_INPUT_MEMBER(invaders_in1_control_r);
- DECLARE_CUSTOM_INPUT_MEMBER(invaders_in2_control_r);
DECLARE_WRITE8_MEMBER(seawolf_audio_w);
DECLARE_WRITE8_MEMBER(gunfight_audio_w);
DECLARE_WRITE8_MEMBER(zzzap_audio_1_w);
@@ -155,8 +216,6 @@ public:
DECLARE_WRITE8_MEMBER(bowler_audio_4_w);
DECLARE_WRITE8_MEMBER(bowler_audio_5_w);
DECLARE_WRITE8_MEMBER(bowler_audio_6_w);
- DECLARE_MACHINE_START(mw8080bw);
- DECLARE_MACHINE_RESET(mw8080bw);
DECLARE_MACHINE_START(maze);
DECLARE_MACHINE_START(boothill);
DECLARE_MACHINE_START(desertgu);
@@ -167,10 +226,8 @@ public:
DECLARE_MACHINE_START(phantom2);
DECLARE_MACHINE_START(invaders);
DECLARE_SOUND_START(samples);
- uint32_t screen_update_mw8080bw(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_spcenctr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_phantom2(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- uint32_t screen_update_invaders(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank_phantom2);
TIMER_CALLBACK_MEMBER(maze_tone_timing_timer_callback);
TIMER_CALLBACK_MEMBER(mw8080bw_interrupt_callback);
@@ -193,8 +250,6 @@ public:
DECLARE_WRITE8_MEMBER(spcenctr_audio_2_w);
DECLARE_WRITE8_MEMBER(spcenctr_audio_3_w);
DECLARE_WRITE8_MEMBER(bowler_audio_1_w);
- DECLARE_WRITE8_MEMBER(invaders_audio_1_w);
- DECLARE_WRITE8_MEMBER(invaders_audio_2_w);
DECLARE_WRITE8_MEMBER(blueshrk_audio_w);
DECLARE_WRITE8_MEMBER(invad2ct_audio_1_w);
DECLARE_WRITE8_MEMBER(invad2ct_audio_2_w);
@@ -208,50 +263,6 @@ public:
void mw8080bw_start_interrupt_timer( );
uint8_t tornbase_get_cabinet_type();
int invaders_is_cabinet_cocktail();
- void blueshrk(machine_config &config);
- void blueshrk_audio(machine_config &config);
- void boothill(machine_config &config);
- void boothill_audio(machine_config &config);
- void bowler(machine_config &config);
- void bowler_audio(machine_config &config);
- void checkmat(machine_config &config);
- void checkmat_audio(machine_config &config);
- void clowns(machine_config &config);
- void clowns_audio(machine_config &config);
- void desertgu(machine_config &config);
- void desertgu_audio(machine_config &config);
- void dogpatch(machine_config &config);
- void dogpatch_audio(machine_config &config);
- void dplay(machine_config &config);
- void dplay_audio(machine_config &config);
- void gmissile(machine_config &config);
- void gmissile_audio(machine_config &config);
- void gunfight(machine_config &config);
- void gunfight_audio(machine_config &config);
- void invad2ct(machine_config &config);
- void invad2ct_audio(machine_config &config);
- void invaders(machine_config &config);
- void invaders_audio(machine_config &config);
- void invaders_samples_audio(machine_config &config);
- void m4(machine_config &config);
- void m4_audio(machine_config &config);
- void maze(machine_config &config);
- void maze_audio(machine_config &config);
- void mw8080bw_root(machine_config &config);
- void phantom2(machine_config &config);
- void phantom2_audio(machine_config &config);
- void seawolf(machine_config &config);
- void seawolf_audio(machine_config &config);
- void shuffle(machine_config &config);
- void shuffle_audio(machine_config &config);
- void spacwalk(machine_config &config);
- void spacwalk_audio(machine_config &config);
- void spcenctr(machine_config &config);
- void spcenctr_audio(machine_config &config);
- void tornbase(machine_config &config);
- void tornbase_audio(machine_config &config);
- void zzzap(machine_config &config);
- void zzzap_audio(machine_config &config);
void blueshrk_io_map(address_map &map);
void boothill_io_map(address_map &map);
void bowler_io_map(address_map &map);