summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/dec0.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/dec0.h')
-rw-r--r--src/mame/includes/dec0.h72
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);
};