blob: 02f2eddba841164e4853e89d42aa92d0466f9808 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
/*************************************************************************
Operation Thunderbolt
*************************************************************************/
#include "machine/eeprom.h"
struct othunder_tempsprite
{
int gfx;
int code,color;
int flipx,flipy;
int x,y;
int zoomx,zoomy;
int primask;
};
class othunder_state : public driver_device
{
public:
othunder_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_spriteram(*this,"spriteram") { }
/* memory pointers */
required_shared_ptr<UINT16> m_spriteram;
/* video-related */
struct othunder_tempsprite *m_spritelist;
/* misc */
int m_vblank_irq;
int m_ad_irq;
INT32 m_banknum;
int m_pan[4];
/* devices */
cpu_device *m_maincpu;
cpu_device *m_audiocpu;
eeprom_device *m_eeprom;
device_t *m_tc0220ioc;
device_t *m_tc0100scn;
device_t *m_tc0110pcr;
device_t *m_tc0140syt;
device_t *m_2610_0l;
device_t *m_2610_0r;
device_t *m_2610_1l;
device_t *m_2610_1r;
device_t *m_2610_2l;
device_t *m_2610_2r;
DECLARE_WRITE16_MEMBER(irq_ack_w);
DECLARE_WRITE16_MEMBER(othunder_tc0220ioc_w);
DECLARE_READ16_MEMBER(othunder_tc0220ioc_r);
DECLARE_READ16_MEMBER(othunder_lightgun_r);
DECLARE_WRITE16_MEMBER(othunder_lightgun_w);
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
DECLARE_WRITE16_MEMBER(othunder_sound_w);
DECLARE_READ16_MEMBER(othunder_sound_r);
DECLARE_WRITE8_MEMBER(othunder_TC0310FAM_w);
};
/*----------- defined in video/othunder.c -----------*/
VIDEO_START( othunder );
SCREEN_UPDATE_IND16( othunder );
|