6
6
galaga_state(const machine_config &mconfig, device_type type, const char *tag)
7
: driver_device(mconfig, type, tag) { }
7
: driver_device(mconfig, type, tag) ,
8
m_videoram(*this, "videoram"),
9
m_galaga_ram1(*this, "galaga_ram1"),
10
m_galaga_ram2(*this, "galaga_ram2"),
11
m_galaga_ram3(*this, "galaga_ram3"),
12
m_galaga_starcontrol(*this, "starcontrol")
9
15
/* memory pointers */
13
UINT8 *m_galaga_starcontrol; // 6 addresses
16
optional_shared_ptr<UINT8> m_videoram;
17
optional_shared_ptr<UINT8> m_galaga_ram1;
18
optional_shared_ptr<UINT8> m_galaga_ram2;
19
optional_shared_ptr<UINT8> m_galaga_ram3;
20
optional_shared_ptr<UINT8> m_galaga_starcontrol; // 6 addresses
14
21
emu_timer *m_cpu3_interrupt_timer;
15
22
UINT8 m_custom_mod;
29
35
tilemap_t *m_fg_tilemap;
30
36
tilemap_t *m_bg_tilemap;
32
38
UINT8 m_main_irq_mask;
33
39
UINT8 m_sub_irq_mask;
34
40
UINT8 m_sub2_nmi_mask;
41
DECLARE_READ8_MEMBER(bosco_dsw_r);
42
DECLARE_WRITE8_MEMBER(galaga_flip_screen_w);
43
DECLARE_WRITE8_MEMBER(bosco_latch_w);
44
DECLARE_WRITE8_MEMBER(galaga_videoram_w);
45
DECLARE_WRITE8_MEMBER(gatsbee_bank_w);
37
48
class xevious_state : public galaga_state
40
51
xevious_state(const machine_config &mconfig, device_type type, const char *tag)
41
: galaga_state(mconfig, type, tag) { }
52
: galaga_state(mconfig, type, tag),
53
m_xevious_sr1(*this, "xevious_sr1"),
54
m_xevious_sr2(*this, "xevious_sr2"),
55
m_xevious_sr3(*this, "xevious_sr3"),
56
m_xevious_fg_colorram(*this, "fg_colorram"),
57
m_xevious_bg_colorram(*this, "bg_colorram"),
58
m_xevious_fg_videoram(*this, "fg_videoram"),
59
m_xevious_bg_videoram(*this, "bg_videoram") { }
43
UINT8 *m_xevious_fg_videoram;
44
UINT8 *m_xevious_fg_colorram;
45
UINT8 *m_xevious_bg_videoram;
46
UINT8 *m_xevious_bg_colorram;
61
required_shared_ptr<UINT8> m_xevious_sr1;
62
required_shared_ptr<UINT8> m_xevious_sr2;
63
required_shared_ptr<UINT8> m_xevious_sr3;
64
required_shared_ptr<UINT8> m_xevious_fg_colorram;
65
required_shared_ptr<UINT8> m_xevious_bg_colorram;
66
required_shared_ptr<UINT8> m_xevious_fg_videoram;
67
required_shared_ptr<UINT8> m_xevious_bg_videoram;
51
69
INT32 m_xevious_bs[2];
58
76
bosco_state(const machine_config &mconfig, device_type type, const char *tag)
59
: galaga_state(mconfig, type, tag) { }
61
UINT8 *m_bosco_radarattr;
63
UINT8 *m_bosco_starcontrol;
64
UINT8 *m_bosco_starblink;
77
: galaga_state(mconfig, type, tag),
78
m_bosco_radarattr(*this, "bosco_radarattr"),
79
m_bosco_starcontrol(*this, "starcontrol"),
80
m_bosco_starblink(*this, "bosco_starblink") { }
82
required_shared_ptr<UINT8> m_bosco_radarattr;
84
required_shared_ptr<UINT8> m_bosco_starcontrol;
85
required_shared_ptr<UINT8> m_bosco_starblink;
66
87
UINT8 *m_bosco_radarx;
67
88
UINT8 *m_bosco_radary;
92
UINT32 m_spriteram_size;
93
DECLARE_WRITE8_MEMBER(bosco_flip_screen_w);
70
96
class digdug_state : public galaga_state
73
99
digdug_state(const machine_config &mconfig, device_type type, const char *tag)
74
: galaga_state(mconfig, type, tag) { }
100
: galaga_state(mconfig, type, tag),
101
m_digdug_objram(*this, "digdug_objram"),
102
m_digdug_posram(*this, "digdug_posram"),
103
m_digdug_flpram(*this, "digdug_flpram") { }
76
UINT8 *m_digdug_objram;
77
UINT8 *m_digdug_posram;
78
UINT8 *m_digdug_flpram;
105
required_shared_ptr<UINT8> m_digdug_objram;
106
required_shared_ptr<UINT8> m_digdug_posram;
107
required_shared_ptr<UINT8> m_digdug_flpram;
80
109
UINT8 m_bg_select;
81
110
UINT8 m_tx_color_mode;
82
111
UINT8 m_bg_disable;
83
112
UINT8 m_bg_color_bank;
113
DECLARE_CUSTOM_INPUT_MEMBER(shifted_port_r);
113
143
extern const struct star star_seed_tab[];
115
145
PALETTE_INIT( galaga );
116
WRITE8_HANDLER( galaga_videoram_w );
117
WRITE8_HANDLER( gatsbee_bank_w );
118
146
VIDEO_START( galaga );
119
147
SCREEN_UPDATE_IND16( galaga );
120
148
SCREEN_VBLANK( galaga ); /* update starfield */