1
#include "video/bufsprite.h"
2
3
class lemmings_state : public driver_device
5
6
lemmings_state(const machine_config &mconfig, device_type type, const char *tag)
6
: driver_device(mconfig, type, tag) { }
9
UINT16 * m_pixel_0_data;
10
UINT16 * m_pixel_1_data;
12
UINT16 * m_control_data;
13
UINT16 * m_paletteram;
14
// UINT16 * m_spriteram; // this currently uses generic buffered spriteram
15
// UINT16 * m_spriteram2; // this currently uses generic buffered spriteram
7
: driver_device(mconfig, type, tag),
9
m_spriteram(*this, "spriteram"),
10
m_spriteram2(*this, "spriteram2") ,
11
m_paletteram(*this, "paletteram"),
12
m_control_data(*this, "control_data"),
13
m_vram_data(*this, "vram_data"),
14
m_pixel_0_data(*this, "pixel_0_data"),
15
m_pixel_1_data(*this, "pixel_1_data"){ }
17
17
/* video-related */
18
bitmap_ind16 *m_bitmap0;
18
bitmap_ind16 m_bitmap0;
19
19
tilemap_t *m_vram_tilemap;
20
UINT16 *m_sprite_triple_buffer_0;
21
UINT16 *m_sprite_triple_buffer_1;
20
UINT16 m_sprite_triple_buffer_0[0x800];
21
UINT16 m_sprite_triple_buffer_1[0x800];
22
UINT8 m_vram_buffer[2048 * 64]; // 64 bytes per VRAM character
25
24
device_t *m_audiocpu;
25
required_device<buffered_spriteram16_device> m_spriteram;
26
required_device<buffered_spriteram16_device> m_spriteram2;
28
required_shared_ptr<UINT16> m_paletteram;
29
required_shared_ptr<UINT16> m_control_data;
30
required_shared_ptr<UINT16> m_vram_data;
31
required_shared_ptr<UINT16> m_pixel_0_data;
32
required_shared_ptr<UINT16> m_pixel_1_data;
34
DECLARE_WRITE16_MEMBER(lemmings_control_w);
35
DECLARE_READ16_MEMBER(lemmings_trackball_r);
36
DECLARE_READ16_MEMBER(lemmings_prot_r);
37
DECLARE_WRITE16_MEMBER(lemmings_palette_24bit_w);
38
DECLARE_WRITE16_MEMBER(lemmings_sound_w);
39
DECLARE_WRITE8_MEMBER(lemmings_sound_ack_w);
40
DECLARE_WRITE16_MEMBER(lemmings_pixel_0_w);
41
DECLARE_WRITE16_MEMBER(lemmings_pixel_1_w);
42
DECLARE_WRITE16_MEMBER(lemmings_vram_w);
29
46
/*----------- defined in video/lemmings.c -----------*/
31
WRITE16_HANDLER( lemmings_pixel_0_w );
32
WRITE16_HANDLER( lemmings_pixel_1_w );
33
WRITE16_HANDLER( lemmings_vram_w );
35
49
VIDEO_START( lemmings );
36
50
SCREEN_VBLANK( lemmings );