27
27
cave_state(const machine_config &mconfig, device_type type, const char *tag)
28
: driver_device(mconfig, type, tag), m_int_timer(*this, "int_timer") { }
28
: driver_device(mconfig, type, tag),
29
m_videoregs(*this, "videoregs"),
30
m_vram(*this, "vram"),
31
m_vctrl(*this, "vctrl"),
32
m_spriteram(*this, "spriteram"),
33
m_spriteram_2(*this, "spriteram_2"),
34
m_paletteram(*this, "paletteram"),
35
m_mirror_ram(*this, "mirror_ram"),
36
m_int_timer(*this, "int_timer") { }
30
38
/* memory pointers */
35
UINT16 * m_spriteram_2;
36
UINT16 * m_paletteram;
37
size_t m_spriteram_size;
38
size_t m_paletteram_size;
39
required_shared_ptr<UINT16> m_videoregs;
40
optional_shared_ptr_array<UINT16, 4> m_vram;
41
optional_shared_ptr_array<UINT16, 4> m_vctrl;
42
required_shared_ptr<UINT16> m_spriteram;
43
optional_shared_ptr<UINT16> m_spriteram_2;
44
required_shared_ptr<UINT16> m_paletteram;
40
46
/* video-related */
41
47
struct sprite_cave *m_sprite;
109
115
required_device<timer_device> m_int_timer;
111
117
int m_old_rasflag;
118
DECLARE_READ16_MEMBER(cave_irq_cause_r);
119
DECLARE_READ8_MEMBER(soundflags_r);
120
DECLARE_READ16_MEMBER(soundflags_ack_r);
121
DECLARE_WRITE16_MEMBER(sound_cmd_w);
122
DECLARE_READ8_MEMBER(soundlatch_lo_r);
123
DECLARE_READ8_MEMBER(soundlatch_hi_r);
124
DECLARE_READ16_MEMBER(soundlatch_ack_r);
125
DECLARE_WRITE8_MEMBER(soundlatch_ack_w);
126
DECLARE_WRITE16_MEMBER(gaia_coin_lsb_w);
127
DECLARE_READ16_MEMBER(donpachi_videoregs_r);
128
DECLARE_WRITE16_MEMBER(korokoro_leds_w);
129
DECLARE_WRITE16_MEMBER(pwrinst2_vctrl_0_w);
130
DECLARE_WRITE16_MEMBER(pwrinst2_vctrl_1_w);
131
DECLARE_WRITE16_MEMBER(pwrinst2_vctrl_2_w);
132
DECLARE_WRITE16_MEMBER(pwrinst2_vctrl_3_w);
133
DECLARE_READ16_MEMBER(sailormn_input0_r);
134
DECLARE_WRITE16_MEMBER(tjumpman_leds_w);
135
DECLARE_WRITE16_MEMBER(pacslot_leds_w);
136
DECLARE_WRITE8_MEMBER(hotdogst_rombank_w);
137
DECLARE_WRITE8_MEMBER(hotdogst_okibank_w);
138
DECLARE_WRITE8_MEMBER(mazinger_rombank_w);
139
DECLARE_WRITE8_MEMBER(metmqstr_rombank_w);
140
DECLARE_WRITE8_MEMBER(metmqstr_okibank0_w);
141
DECLARE_WRITE8_MEMBER(metmqstr_okibank1_w);
142
DECLARE_WRITE8_MEMBER(pwrinst2_rombank_w);
143
DECLARE_READ8_MEMBER(mirror_ram_r);
144
DECLARE_WRITE8_MEMBER(mirror_ram_w);
145
DECLARE_WRITE8_MEMBER(sailormn_rombank_w);
146
DECLARE_WRITE8_MEMBER(sailormn_okibank0_w);
147
DECLARE_WRITE8_MEMBER(sailormn_okibank1_w);
148
DECLARE_WRITE16_MEMBER(donpachi_videoregs_w);
149
DECLARE_WRITE16_MEMBER(cave_vram_0_w);
150
DECLARE_WRITE16_MEMBER(cave_vram_1_w);
151
DECLARE_WRITE16_MEMBER(cave_vram_2_w);
152
DECLARE_WRITE16_MEMBER(cave_vram_3_w);
153
DECLARE_WRITE16_MEMBER(cave_vram_0_8x8_w);
154
DECLARE_WRITE16_MEMBER(cave_vram_1_8x8_w);
155
DECLARE_WRITE16_MEMBER(cave_vram_2_8x8_w);
156
DECLARE_WRITE16_MEMBER(cave_vram_3_8x8_w);
157
DECLARE_CUSTOM_INPUT_MEMBER(korokoro_hopper_r);
158
DECLARE_CUSTOM_INPUT_MEMBER(tjumpman_hopper_r);
114
161
/*----------- defined in video/cave.c -----------*/
116
WRITE16_HANDLER( cave_vram_0_w );
117
WRITE16_HANDLER( cave_vram_1_w );
118
WRITE16_HANDLER( cave_vram_2_w );
119
WRITE16_HANDLER( cave_vram_3_w );
121
WRITE16_HANDLER( cave_vram_0_8x8_w );
122
WRITE16_HANDLER( cave_vram_1_8x8_w );
123
WRITE16_HANDLER( cave_vram_2_8x8_w );
124
WRITE16_HANDLER( cave_vram_3_8x8_w );
126
165
PALETTE_INIT( cave );
127
166
PALETTE_INIT( ddonpach );