blob: 03dd5d077ee4c48891ae2e7c7d46c5464a83bc86 (
plain) (
tree)
|
|
class nemesis_state : public driver_device
{
public:
nemesis_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
/* memory pointers */
UINT16 * m_videoram1;
UINT16 * m_videoram2;
UINT16 * m_colorram1;
UINT16 * m_colorram2;
UINT16 * m_charram;
UINT16 * m_spriteram;
UINT16 * m_paletteram;
UINT16 * m_xscroll1;
UINT16 * m_xscroll2;
UINT16 * m_yscroll1;
UINT16 * m_yscroll2;
UINT8 * m_gx400_shared_ram;
size_t m_charram_size;
size_t m_spriteram_size;
/* video-related */
tilemap_t *m_background;
tilemap_t *m_foreground;
int m_spriteram_words;
int m_tilemap_flip;
int m_flipscreen;
UINT8 m_irq_port_last;
UINT8 m_blank_tile[8*8];
/* misc */
int m_irq_on;
int m_irq1_on;
int m_irq2_on;
int m_irq4_on;
UINT16 m_selected_ip; /* Copied from WEC Le Mans 24 driver, explicity needed for Hyper Crash */
int m_gx400_irq1_cnt;
UINT8 m_frame_counter;
/* devices */
cpu_device *m_maincpu;
cpu_device *m_audiocpu;
device_t *m_vlm;
};
/*----------- defined in video/nemesis.c -----------*/
WRITE16_HANDLER( nemesis_gfx_flipx_word_w );
WRITE16_HANDLER( nemesis_gfx_flipy_word_w );
WRITE16_HANDLER( salamand_control_port_word_w );
WRITE16_HANDLER( salamander_palette_word_w );
WRITE16_HANDLER( nemesis_palette_word_w );
WRITE16_HANDLER( nemesis_videoram1_word_w );
WRITE16_HANDLER( nemesis_videoram2_word_w );
WRITE16_HANDLER( nemesis_colorram1_word_w );
WRITE16_HANDLER( nemesis_colorram2_word_w );
WRITE16_HANDLER( nemesis_charram_word_w );
VIDEO_START( nemesis );
SCREEN_UPDATE( nemesis );
|