21
21
lockon_state(const machine_config &mconfig, device_type type, const char *tag)
22
: driver_device(mconfig, type, tag) { }
22
: driver_device(mconfig, type, tag) ,
23
m_char_ram(*this, "char_ram"),
24
m_hud_ram(*this, "hud_ram"),
25
m_scene_ram(*this, "scene_ram"),
26
m_ground_ram(*this, "ground_ram"),
27
m_object_ram(*this, "object_ram"){ }
24
29
/* memory pointers */
32
size_t m_objectram_size;
33
size_t m_groundram_size;
30
required_shared_ptr<UINT16> m_char_ram;
31
required_shared_ptr<UINT16> m_hud_ram;
32
required_shared_ptr<UINT16> m_scene_ram;
33
required_shared_ptr<UINT16> m_ground_ram;
34
required_shared_ptr<UINT16> m_object_ram;
35
36
/* video-related */
40
41
bitmap_ind16 *m_front_buffer;
41
42
bitmap_ind16 *m_back_buffer;
42
emu_timer *m_bufend_timer;
43
emu_timer *m_cursor_timer;
43
emu_timer *m_bufend_timer;
44
emu_timer *m_cursor_timer;
45
46
/* Rotation Control */
73
74
device_t *m_f2203_1r;
74
75
device_t *m_f2203_2r;
75
76
device_t *m_f2203_3r;
77
DECLARE_READ16_MEMBER(lockon_crtc_r);
78
DECLARE_WRITE16_MEMBER(lockon_crtc_w);
79
DECLARE_WRITE16_MEMBER(lockon_char_w);
80
DECLARE_WRITE16_MEMBER(lockon_scene_h_scr_w);
81
DECLARE_WRITE16_MEMBER(lockon_scene_v_scr_w);
82
DECLARE_WRITE16_MEMBER(lockon_ground_ctrl_w);
83
DECLARE_WRITE16_MEMBER(lockon_tza112_w);
84
DECLARE_READ16_MEMBER(lockon_obj_4000_r);
85
DECLARE_WRITE16_MEMBER(lockon_obj_4000_w);
86
DECLARE_WRITE16_MEMBER(lockon_fb_clut_w);
87
DECLARE_WRITE16_MEMBER(lockon_rotate_w);
88
DECLARE_WRITE16_MEMBER(adrst_w);
89
DECLARE_READ16_MEMBER(main_gnd_r);
90
DECLARE_WRITE16_MEMBER(main_gnd_w);
91
DECLARE_READ16_MEMBER(main_obj_r);
92
DECLARE_WRITE16_MEMBER(main_obj_w);
93
DECLARE_WRITE16_MEMBER(tst_w);
94
DECLARE_READ16_MEMBER(main_z80_r);
95
DECLARE_WRITE16_MEMBER(main_z80_w);
96
DECLARE_WRITE16_MEMBER(inten_w);
97
DECLARE_WRITE16_MEMBER(emres_w);
98
DECLARE_READ8_MEMBER(adc_r);
99
DECLARE_WRITE8_MEMBER(sound_vol);
82
106
VIDEO_START( lockon );
83
107
SCREEN_UPDATE_IND16( lockon );
84
108
SCREEN_VBLANK( lockon );
85
READ16_HANDLER( lockon_crtc_r );
86
WRITE16_HANDLER( lockon_crtc_w );
87
WRITE16_HANDLER( lockon_rotate_w );
88
WRITE16_HANDLER( lockon_fb_clut_w );
89
WRITE16_HANDLER( lockon_scene_h_scr_w );
90
WRITE16_HANDLER( lockon_scene_v_scr_w );
91
WRITE16_HANDLER( lockon_ground_ctrl_w );
92
WRITE16_HANDLER( lockon_char_w );
94
WRITE16_HANDLER( lockon_tza112_w );
95
READ16_HANDLER( lockon_obj_4000_r );
96
WRITE16_HANDLER( lockon_obj_4000_w );