blob: ef4aa79064b4ed7f9ab787599a1cfcab9ca7ffe9 (
plain) (
tree)
|
|
/*************************************************************************
Incredible Technologies/Strata system
(8-bit blitter variant)
**************************************************************************/
#include "video/tms34061.h"
#define YBUFFER_COUNT 15
class itech8_state : public driver_device
{
public:
itech8_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
UINT8 *m_grom_bank;
UINT8 m_blitter_int;
UINT8 m_tms34061_int;
UINT8 m_periodic_int;
UINT8 m_sound_data;
UINT8 m_pia_porta_data;
UINT8 m_pia_portb_data;
const rectangle *m_visarea;
UINT8 m_z80_ctrl;
UINT8 m_z80_port_val;
UINT8 m_z80_clear_to_send;
UINT16 m_sensor0;
UINT16 m_sensor1;
UINT16 m_sensor2;
UINT16 m_sensor3;
UINT8 m_curvx;
UINT8 m_curvy;
UINT8 m_curx;
INT8 m_xbuffer[YBUFFER_COUNT];
INT8 m_ybuffer[YBUFFER_COUNT];
int m_ybuffer_next;
int m_curxpos;
int m_last_ytotal;
UINT8 m_crosshair_vis;
UINT8 m_blitter_data[16];
UINT8 m_blit_in_progress;
UINT8 m_page_select;
offs_t m_fetch_offset;
UINT8 m_fetch_rle_count;
UINT8 m_fetch_rle_value;
UINT8 m_fetch_rle_literal;
struct tms34061_display m_tms_state;
UINT8 *m_grom_base;
UINT32 m_grom_size;
UINT8 m_grmatch_palcontrol;
UINT8 m_grmatch_xscroll;
rgb_t m_grmatch_palette[2][16];
};
/*----------- defined in drivers/itech8.c -----------*/
void itech8_update_interrupts(running_machine &machine, int periodic, int tms34061, int blitter);
/*----------- defined in machine/slikshot.c -----------*/
READ8_HANDLER( slikz80_port_r );
WRITE8_HANDLER( slikz80_port_w );
READ8_HANDLER( slikshot_z80_r );
READ8_HANDLER( slikshot_z80_control_r );
WRITE8_HANDLER( slikshot_z80_control_w );
VIDEO_START( slikshot );
SCREEN_UPDATE( slikshot );
/*----------- defined in video/itech8.c -----------*/
VIDEO_START( itech8 );
WRITE8_HANDLER( itech8_page_w );
WRITE8_HANDLER( itech8_palette_w );
READ8_HANDLER( itech8_blitter_r );
WRITE8_HANDLER( itech8_blitter_w );
WRITE8_HANDLER( itech8_tms34061_w );
READ8_HANDLER( itech8_tms34061_r );
WRITE8_HANDLER( grmatch_palette_w );
WRITE8_HANDLER( grmatch_xscroll_w );
TIMER_DEVICE_CALLBACK( grmatch_palette_update );
SCREEN_UPDATE( itech8_2layer );
SCREEN_UPDATE( itech8_grmatch );
SCREEN_UPDATE( itech8_2page );
SCREEN_UPDATE( itech8_2page_large );
|