1
/*****************************************************************************
5
****************************************************************************/
10
#include "machine/6522via.h"
11
#include "machine/wd17xx.h"
15
TELESTRAT_MEM_BLOCK_UNDEFINED,
16
TELESTRAT_MEM_BLOCK_RAM,
17
TELESTRAT_MEM_BLOCK_ROM
24
} telestrat_mem_block;
26
/* current state of the display */
27
/* some attributes persist until they are turned off.
28
This structure holds this persistant information */
31
/* foreground and background colour used for rendering */
32
/* if flash attribute is set, these two will both be equal
33
to background colour */
34
int active_foreground_colour;
35
int active_background_colour;
36
/* current foreground and background colour */
37
int foreground_colour;
38
int background_colour;
43
unsigned long read_addr;
45
/* current addr to fetch data */
46
unsigned char *char_data;
47
/* base of char data */
48
unsigned char *char_base;
50
/* if (1<<3), display graphics, if 0, hide graphics */
57
class oric_state : public driver_device
60
oric_state(const machine_config &mconfig, device_type type, const char *tag)
61
: driver_device(mconfig, type, tag) { }
70
unsigned char m_via_port_a_data;
72
unsigned char m_previous_portb_data;
73
unsigned char m_port_3fa_w;
74
unsigned char m_port_3fb_w;
75
unsigned char m_wd179x_int_state;
76
unsigned char m_port_314_r;
77
unsigned char m_port_318_r;
78
unsigned char m_port_314_w;
79
unsigned char m_telestrat_bank_selection;
80
unsigned char m_telestrat_via2_port_a_data;
81
unsigned char m_telestrat_via2_port_b_data;
82
telestrat_mem_block m_telestrat_blocks[8];
83
oric_vh_state m_vh_state;
87
/*----------- defined in machine/oric.c -----------*/
89
extern const via6522_interface oric_6522_interface;
90
extern const via6522_interface telestrat_via2_interface;
91
extern const wd17xx_interface oric_wd17xx_interface;
93
MACHINE_START( oric );
94
MACHINE_RESET( oric );
95
READ8_HANDLER( oric_IO_r );
96
WRITE8_HANDLER( oric_IO_w );
97
READ8_HANDLER( oric_microdisc_r );
98
WRITE8_HANDLER( oric_microdisc_w );
100
WRITE8_HANDLER(oric_psg_porta_write);
102
/* Telestrat specific */
103
MACHINE_START( telestrat );
106
/*----------- defined in video/oric.c -----------*/
109
SCREEN_UPDATE( oric );