diff options
Diffstat (limited to 'src/mame/includes/dec0.h')
-rw-r--r-- | src/mame/includes/dec0.h | 72 |
1 files changed, 39 insertions, 33 deletions
diff --git a/src/mame/includes/dec0.h b/src/mame/includes/dec0.h index 3385a050fb4..27dd1de8554 100644 --- a/src/mame/includes/dec0.h +++ b/src/mame/includes/dec0.h @@ -8,22 +8,34 @@ class dec0_state : public driver_device public: dec0_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_ram(*this, "ram"), - m_spriteram(*this, "spriteram"), - m_paletteram(*this, "palette"), - m_robocop_shared_ram(*this, "robocop_shared"), - m_hippodrm_shared_ram(*this, "hippodrm_shared"), - m_tilegen1(*this, "tilegen1"), - m_tilegen2(*this, "tilegen2"), - m_tilegen3(*this, "tilegen3"), - m_spritegen(*this, "spritegen"), - m_pfprotect(*this, "pfprotect"), m_maincpu(*this, "maincpu"), m_audiocpu(*this, "audiocpu"), m_subcpu(*this, "sub"), m_mcu(*this, "mcu"), m_msm(*this, "msm"), - m_palette(*this, "palette") { } + m_palette(*this, "palette"), + m_tilegen1(*this, "tilegen1"), + m_tilegen2(*this, "tilegen2"), + m_tilegen3(*this, "tilegen3"), + m_spritegen(*this, "spritegen"), + m_pfprotect(*this, "pfprotect"), + m_ram(*this, "ram"), + m_spriteram(*this, "spriteram"), + m_paletteram(*this, "palette"), + m_robocop_shared_ram(*this, "robocop_shared"), + m_hippodrm_shared_ram(*this, "hippodrm_shared") { } + + required_device<cpu_device> m_maincpu; + required_device<cpu_device> m_audiocpu; + optional_device<cpu_device> m_subcpu; + optional_device<cpu_device> m_mcu; + optional_device<msm5205_device> m_msm; + required_device<palette_device> m_palette; + optional_device<deco_bac06_device> m_tilegen1; + optional_device<deco_bac06_device> m_tilegen2; + optional_device<deco_bac06_device> m_tilegen3; + optional_device<deco_mxc06_device> m_spritegen; + optional_device<address_map_bank_device> m_pfprotect; required_shared_ptr<UINT16> m_ram; required_shared_ptr<UINT16> m_spriteram; @@ -31,23 +43,16 @@ public: optional_shared_ptr<UINT8> m_robocop_shared_ram; optional_shared_ptr<UINT8> m_hippodrm_shared_ram; - optional_device<deco_bac06_device> m_tilegen1; - optional_device<deco_bac06_device> m_tilegen2; - optional_device<deco_bac06_device> m_tilegen3; - optional_device<deco_mxc06_device> m_spritegen; - - optional_device<address_map_bank_device> m_pfprotect; - - int m_GAME; + int m_game; int m_i8751_return; int m_i8751_command; int m_slyspy_state; int m_hippodrm_msb; int m_hippodrm_lsb; UINT8 m_i8751_ports[4]; - UINT16 *m_buffered_spriteram; UINT16 m_pri; + DECLARE_WRITE16_MEMBER(dec0_control_w); DECLARE_WRITE16_MEMBER(slyspy_control_w); DECLARE_WRITE16_MEMBER(midres_sound_w); @@ -70,7 +75,9 @@ public: DECLARE_WRITE16_MEMBER(dec0_update_sprites_w); DECLARE_WRITE16_MEMBER(dec0_priority_w); DECLARE_READ16_MEMBER(ffantasybl_242024_r); - DECLARE_READ16_MEMBER(ffantasybl_vblank_r); + DECLARE_WRITE_LINE_MEMBER(sound_irq); + DECLARE_WRITE_LINE_MEMBER(sound_irq2); + DECLARE_DRIVER_INIT(robocop); DECLARE_DRIVER_INIT(hippodrm); DECLARE_DRIVER_INIT(hbarrel); @@ -79,9 +86,12 @@ public: DECLARE_DRIVER_INIT(baddudes); DECLARE_DRIVER_INIT(midresb); DECLARE_DRIVER_INIT(ffantasybl); - DECLARE_VIDEO_START(dec0); + + virtual void machine_start(); DECLARE_MACHINE_RESET(slyspy); + DECLARE_VIDEO_START(dec0); DECLARE_VIDEO_START(dec0_nodma); + UINT32 screen_update_hbarrel(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); UINT32 screen_update_baddudes(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); UINT32 screen_update_birdtry(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); @@ -89,19 +99,12 @@ public: UINT32 screen_update_hippodrm(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); UINT32 screen_update_slyspy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); UINT32 screen_update_midres(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void baddudes_i8751_write(int data); void birdtry_i8751_write(int data); void dec0_i8751_write(int data); void dec0_i8751_reset(); void h6280_decrypt(const char *cputag); - DECLARE_WRITE_LINE_MEMBER(sound_irq); - DECLARE_WRITE_LINE_MEMBER(sound_irq2); - required_device<cpu_device> m_maincpu; - required_device<cpu_device> m_audiocpu; - optional_device<cpu_device> m_subcpu; - optional_device<cpu_device> m_mcu; - optional_device<msm5205_device> m_msm; - required_device<palette_device> m_palette; }; @@ -114,6 +117,8 @@ public: UINT8 m_automat_adpcm_byte; int m_automat_msm5205_vclk_toggle; + UINT16 m_automat_scroll_regs[4]; + DECLARE_WRITE16_MEMBER(automat_control_w); DECLARE_WRITE8_MEMBER(automat_adpcm_w); DECLARE_READ16_MEMBER( automat_palette_r ); @@ -122,9 +127,10 @@ public: { COMBINE_DATA(&m_automat_scroll_regs[offset]); } - UINT16 m_automat_scroll_regs[4]; - + DECLARE_WRITE_LINE_MEMBER(automat_vclk_cb); + + virtual void machine_start(); + UINT32 screen_update_automat(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); UINT32 screen_update_secretab(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - DECLARE_WRITE_LINE_MEMBER(automat_vclk_cb); }; |