diff options
Diffstat (limited to 'src/mame/includes/gottlieb.h')
-rw-r--r-- | src/mame/includes/gottlieb.h | 124 |
1 files changed, 63 insertions, 61 deletions
diff --git a/src/mame/includes/gottlieb.h b/src/mame/includes/gottlieb.h index a7ca9e6128e..8f1fa1eac4a 100644 --- a/src/mame/includes/gottlieb.h +++ b/src/mame/includes/gottlieb.h @@ -37,66 +37,24 @@ public: }; gottlieb_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_laserdisc(*this, "laserdisc"), - m_r1_sound(*this, "r1sound"), - m_r2_sound(*this, "r2sound"), - m_knocker_sample(*this, "knocker_sam"), - m_videoram(*this, "videoram"), - m_charram(*this, "charram"), - m_spriteram(*this, "spriteram"), - m_gfxdecode(*this, "gfxdecode"), - m_screen(*this, "screen"), - m_palette(*this, "palette"), - m_generic_paletteram_8(*this, "paletteram"), - m_track_x(*this, "TRACKX"), - m_track_y(*this, "TRACKY") + : driver_device(mconfig, type, tag) + , m_maincpu(*this, "maincpu") + , m_laserdisc(*this, "laserdisc") + , m_r1_sound(*this, "r1sound") + , m_r2_sound(*this, "r2sound") + , m_knocker_sample(*this, "knocker_sam") + , m_videoram(*this, "videoram") + , m_charram(*this, "charram") + , m_spriteram(*this, "spriteram") + , m_gfxdecode(*this, "gfxdecode") + , m_screen(*this, "screen") + , m_palette(*this, "palette") + , m_generic_paletteram_8(*this, "paletteram") + , m_track_x(*this, "TRACKX") + , m_track_y(*this, "TRACKY") + , m_led(*this, "led%u", 0U) { } - // devices - required_device<cpu_device> m_maincpu; - optional_device<pioneer_pr8210_device> m_laserdisc; - optional_device<gottlieb_sound_r1_device> m_r1_sound; - optional_device<gottlieb_sound_r2_device> m_r2_sound; - optional_device<samples_device> m_knocker_sample; - - required_shared_ptr<uint8_t> m_videoram; - required_shared_ptr<uint8_t> m_charram; - required_shared_ptr<uint8_t> m_spriteram; - - required_device<gfxdecode_device> m_gfxdecode; - required_device<screen_device> m_screen; - required_device<palette_device> m_palette; - required_shared_ptr<uint8_t> m_generic_paletteram_8; - - optional_ioport m_track_x; - optional_ioport m_track_y; - - uint8_t m_knocker_prev; - uint8_t m_joystick_select; - uint8_t m_track[2]; - emu_timer *m_laserdisc_bit_timer; - emu_timer *m_laserdisc_philips_timer; - uint8_t m_laserdisc_select; - uint8_t m_laserdisc_status; - uint16_t m_laserdisc_philips_code; - std::unique_ptr<uint8_t[]> m_laserdisc_audio_buffer; - uint16_t m_laserdisc_audio_address; - int16_t m_laserdisc_last_samples[2]; - attotime m_laserdisc_last_time; - attotime m_laserdisc_last_clock; - uint8_t m_laserdisc_zero_seen; - uint8_t m_laserdisc_audio_bits; - uint8_t m_laserdisc_audio_bit_count; - uint8_t m_gfxcharlo; - uint8_t m_gfxcharhi; - uint8_t m_background_priority; - uint8_t m_spritebank; - uint8_t m_transparent0; - tilemap_t *m_bg_tilemap; - double m_weights[4]; - void qbert_knocker(uint8_t knock); DECLARE_WRITE8_MEMBER(gottlieb_analog_reset_w); @@ -125,9 +83,6 @@ public: void init_qbertqub(); TILE_GET_INFO_MEMBER(get_bg_tile_info); TILE_GET_INFO_MEMBER(get_screwloo_bg_tile_info); - virtual void machine_start() override; - virtual void machine_reset() override; - virtual void video_start() override; DECLARE_VIDEO_START(screwloo); uint32_t screen_update_gottlieb(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); INTERRUPT_GEN_MEMBER(gottlieb_interrupt); @@ -155,5 +110,52 @@ public: void gottlieb_map(address_map &map); void reactor_map(address_map &map); protected: + virtual void machine_start() override; + virtual void machine_reset() override; + virtual void video_start() override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + + // devices + required_device<cpu_device> m_maincpu; + optional_device<pioneer_pr8210_device> m_laserdisc; + optional_device<gottlieb_sound_r1_device> m_r1_sound; + optional_device<gottlieb_sound_r2_device> m_r2_sound; + optional_device<samples_device> m_knocker_sample; + + required_shared_ptr<uint8_t> m_videoram; + required_shared_ptr<uint8_t> m_charram; + required_shared_ptr<uint8_t> m_spriteram; + + required_device<gfxdecode_device> m_gfxdecode; + required_device<screen_device> m_screen; + required_device<palette_device> m_palette; + required_shared_ptr<uint8_t> m_generic_paletteram_8; + + optional_ioport m_track_x; + optional_ioport m_track_y; + output_finder<3> m_led; // only used by reactor + + uint8_t m_knocker_prev; + uint8_t m_joystick_select; + uint8_t m_track[2]; + emu_timer *m_laserdisc_bit_timer; + emu_timer *m_laserdisc_philips_timer; + uint8_t m_laserdisc_select; + uint8_t m_laserdisc_status; + uint16_t m_laserdisc_philips_code; + std::unique_ptr<uint8_t[]> m_laserdisc_audio_buffer; + uint16_t m_laserdisc_audio_address; + int16_t m_laserdisc_last_samples[2]; + attotime m_laserdisc_last_time; + attotime m_laserdisc_last_clock; + uint8_t m_laserdisc_zero_seen; + uint8_t m_laserdisc_audio_bits; + uint8_t m_laserdisc_audio_bit_count; + uint8_t m_gfxcharlo; + uint8_t m_gfxcharhi; + uint8_t m_background_priority; + uint8_t m_spritebank; + uint8_t m_transparent0; + tilemap_t *m_bg_tilemap; + double m_weights[4]; }; |