16
18
mcr68_state(const machine_config &mconfig, device_type type, const char *tag)
17
: driver_device(mconfig, type, tag) { }
19
: driver_device(mconfig, type, tag),
20
m_chip_squeak_deluxe(*this, "csd"),
21
m_sounds_good(*this, "sg"),
22
m_turbo_chip_squeak(*this, "tcs"),
23
m_cvsd_sound(*this, "cvsd"),
24
m_videoram(*this, "videoram"),
25
m_spriteram(*this, "spriteram") { }
27
optional_device<midway_chip_squeak_deluxe_device> m_chip_squeak_deluxe;
28
optional_device<midway_sounds_good_device> m_sounds_good;
29
optional_device<midway_turbo_chip_squeak_device> m_turbo_chip_squeak;
30
optional_device<williams_cvsd_sound_device> m_cvsd_sound;
32
required_shared_ptr<UINT16> m_videoram;
33
required_shared_ptr<UINT16> m_spriteram;
20
34
UINT16 m_control_word;
21
35
UINT8 m_protection_data[5];
22
36
attotime m_timing_factor;
38
52
attotime m_m6840_internal_counter_period;
39
53
tilemap_t *m_bg_tilemap;
40
54
tilemap_t *m_fg_tilemap;
42
size_t m_spriteram_size;
55
DECLARE_READ16_MEMBER(zwackery_6840_r);
56
DECLARE_WRITE16_MEMBER(xenophobe_control_w);
57
DECLARE_WRITE16_MEMBER(blasted_control_w);
58
DECLARE_READ16_MEMBER(spyhunt2_port_0_r);
59
DECLARE_READ16_MEMBER(spyhunt2_port_1_r);
60
DECLARE_WRITE16_MEMBER(spyhunt2_control_w);
61
DECLARE_READ16_MEMBER(archrivl_port_1_r);
62
DECLARE_WRITE16_MEMBER(archrivl_control_w);
63
DECLARE_WRITE16_MEMBER(pigskin_protection_w);
64
DECLARE_READ16_MEMBER(pigskin_protection_r);
65
DECLARE_READ16_MEMBER(pigskin_port_1_r);
66
DECLARE_READ16_MEMBER(pigskin_port_2_r);
67
DECLARE_READ16_MEMBER(trisport_port_1_r);
68
DECLARE_WRITE16_MEMBER(mcr68_6840_upper_w);
69
DECLARE_WRITE16_MEMBER(mcr68_6840_lower_w);
70
DECLARE_READ16_MEMBER(mcr68_6840_upper_r);
71
DECLARE_READ16_MEMBER(mcr68_6840_lower_r);
72
DECLARE_WRITE8_MEMBER(mcr68_6840_w_common);
73
DECLARE_READ16_MEMBER(mcr68_6840_r_common);
74
void reload_count(int counter);
75
UINT16 compute_counter(int counter);
76
DECLARE_WRITE16_MEMBER(mcr68_paletteram_w);
77
DECLARE_WRITE16_MEMBER(zwackery_paletteram_w);
78
DECLARE_WRITE16_MEMBER(mcr68_videoram_w);
79
DECLARE_WRITE16_MEMBER(zwackery_videoram_w);
80
DECLARE_WRITE16_MEMBER(zwackery_spriteram_w);
60
98
MACHINE_START( zwackery );
61
99
MACHINE_RESET( zwackery );
63
WRITE16_HANDLER( mcr68_6840_upper_w );
64
WRITE16_HANDLER( mcr68_6840_lower_w );
65
READ16_HANDLER( mcr68_6840_upper_r );
66
READ16_HANDLER( mcr68_6840_lower_r );
68
102
INTERRUPT_GEN( mcr68_interrupt );
71
105
/*----------- defined in video/mcr68.c -----------*/
73
WRITE16_HANDLER( mcr68_paletteram_w );
74
WRITE16_HANDLER( mcr68_videoram_w );
76
108
VIDEO_START( mcr68 );
77
109
SCREEN_UPDATE_IND16( mcr68 );
79
WRITE16_HANDLER( zwackery_paletteram_w );
80
WRITE16_HANDLER( zwackery_videoram_w );
81
WRITE16_HANDLER( zwackery_spriteram_w );
83
112
VIDEO_START( zwackery );
84
113
SCREEN_UPDATE_IND16( zwackery );