6
#define ADDRESS_MAP_MODERN
9
#include "cpu/m6502/m6502.h"
10
#include "imagedev/cartslot.h"
11
#include "imagedev/cassette.h"
12
#include "imagedev/flopdrv.h"
13
#include "formats/basicdsk.h"
14
#include "machine/ctronics.h"
15
#include "machine/6821pia.h"
16
#include "sound/sn76496.h"
17
#include "sound/wave.h"
18
#include "video/tms9928a.h"
19
#include "machine/ram.h"
21
#define SCREEN_TAG "screen"
22
#define M6502_TAG "u2"
23
#define TMS9929_TAG "u3"
24
#define PIA6821_TAG "u21"
25
#define SN76489_TAG "u22"
26
#define CENTRONICS_TAG "centronics"
28
#define BANK_ROM1 "bank1"
29
#define BANK_ROM2 "bank2"
31
class crvision_state : public driver_device
34
crvision_state(const machine_config &mconfig, device_type type, const char *tag)
35
: driver_device(mconfig, type, tag),
36
m_maincpu(*this, M6502_TAG),
37
m_pia(*this, PIA6821_TAG),
38
m_psg(*this, SN76489_TAG),
39
m_cassette(*this, CASSETTE_TAG),
40
m_centronics(*this, CENTRONICS_TAG),
44
required_device<cpu_device> m_maincpu;
45
required_device<pia6821_device> m_pia;
46
required_device<device_t> m_psg;
47
required_device<cassette_image_device> m_cassette;
48
required_device<device_t> m_centronics;
49
required_device<device_t> m_ram;
51
virtual void machine_start();
53
DECLARE_READ8_MEMBER( centronics_status_r );
54
DECLARE_WRITE8_MEMBER( centronics_ctrl_w );
55
DECLARE_WRITE8_MEMBER( pia_pa_w );
56
DECLARE_READ8_MEMBER( pia_pa_r );
57
DECLARE_READ8_MEMBER( pia_pb_r );
59
UINT8 read_keyboard(int pa);
68
class crvision_pal_state : public crvision_state
71
crvision_pal_state(const machine_config &mconfig, device_type type, const char *tag)
72
: crvision_state(mconfig, type, tag)
75
virtual void machine_start();
78
class laser2001_state : public crvision_state
81
laser2001_state(const machine_config &mconfig, device_type type, const char *tag)
82
: crvision_state(mconfig, type, tag)
85
virtual void machine_start();
87
DECLARE_READ8_MEMBER( pia_pa_r );
88
DECLARE_WRITE8_MEMBER( pia_pa_w );
89
DECLARE_READ8_MEMBER( pia_pb_r );
90
DECLARE_WRITE8_MEMBER( pia_pb_w );
91
DECLARE_READ_LINE_MEMBER( pia_ca1_r );
92
DECLARE_WRITE_LINE_MEMBER( pia_ca2_w );
93
DECLARE_READ_LINE_MEMBER( pia_cb1_r );
94
DECLARE_WRITE_LINE_MEMBER( pia_cb2_w );