summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/includes/crvision.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/includes/crvision.h')
-rw-r--r--src/mess/includes/crvision.h71
1 files changed, 27 insertions, 44 deletions
diff --git a/src/mess/includes/crvision.h b/src/mess/includes/crvision.h
index 05a042562dc..0956119c4c7 100644
--- a/src/mess/includes/crvision.h
+++ b/src/mess/includes/crvision.h
@@ -1,6 +1,5 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol, Curt Coder
-#pragma once
#ifndef __CRVISION__
#define __CRVISION__
@@ -40,9 +39,12 @@ public:
m_cassette(*this, "cassette"),
m_cart(*this, "cartslot"),
m_cent_data_out(*this, "cent_data_out"),
- m_ram(*this, RAM_TAG)
- {
- }
+ m_ram(*this, RAM_TAG),
+ m_inp_pa0(*this, "PA0"),
+ m_inp_pa1(*this, "PA1"),
+ m_inp_pa2(*this, "PA2"),
+ m_inp_pa3(*this, "PA3")
+ { }
required_device<cpu_device> m_maincpu;
required_device<pia6821_device> m_pia;
@@ -51,21 +53,21 @@ public:
required_device<crvision_cart_slot_device> m_cart;
required_device<output_latch_device> m_cent_data_out;
required_device<ram_device> m_ram;
+ optional_ioport_array<8> m_inp_pa0;
+ optional_ioport_array<8> m_inp_pa1;
+ optional_ioport_array<8> m_inp_pa2;
+ optional_ioport_array<8> m_inp_pa3;
- virtual void machine_start();
+ UINT8 m_keylatch;
+ UINT8 read_keyboard(int pa);
DECLARE_WRITE8_MEMBER( pia_pa_w );
DECLARE_READ8_MEMBER( pia_pa_r );
DECLARE_READ8_MEMBER( pia_pb_r );
DECLARE_INPUT_CHANGED_MEMBER( trigger_nmi );
- UINT8 read_keyboard(int pa);
-
- /* keyboard state */
- UINT8 m_keylatch;
-
- /* joystick state */
- UINT8 m_joylatch;
+protected:
+ virtual void machine_start();
};
class crvision_pal_state : public crvision_state
@@ -74,8 +76,6 @@ public:
crvision_pal_state(const machine_config &mconfig, device_type type, const char *tag)
: crvision_state(mconfig, type, tag)
{ }
-
- virtual void machine_start();
};
class laser2001_state : public crvision_state
@@ -83,22 +83,18 @@ class laser2001_state : public crvision_state
public:
laser2001_state(const machine_config &mconfig, device_type type, const char *tag)
: crvision_state(mconfig, type, tag),
- m_centronics(*this, CENTRONICS_TAG),
- m_y0(*this, "Y0"),
- m_y1(*this, "Y1"),
- m_y2(*this, "Y2"),
- m_y3(*this, "Y3"),
- m_y4(*this, "Y4"),
- m_y5(*this, "Y5"),
- m_y6(*this, "Y6"),
- m_y7(*this, "Y7"),
- m_joy0(*this, "JOY0"),
- m_joy1(*this, "JOY1"),
- m_joy2(*this, "JOY2"),
- m_joy3(*this, "JOY3")
+ m_centronics(*this, CENTRONICS_TAG),
+ m_inp_y(*this, "Y"),
+ m_inp_joy(*this, "JOY")
{ }
- virtual void machine_start();
+ required_device<centronics_device> m_centronics;
+ required_ioport_array<8> m_inp_y;
+ required_ioport_array<4> m_inp_joy;
+
+ UINT8 m_joylatch;
+ int m_centronics_busy;
+ int m_psg_ready;
DECLARE_WRITE_LINE_MEMBER( write_centronics_busy );
DECLARE_WRITE_LINE_MEMBER( write_psg_ready );
@@ -111,21 +107,8 @@ public:
DECLARE_READ_LINE_MEMBER( pia_cb1_r );
DECLARE_WRITE_LINE_MEMBER( pia_cb2_w );
- required_device<centronics_device> m_centronics;
- required_ioport m_y0;
- required_ioport m_y1;
- required_ioport m_y2;
- required_ioport m_y3;
- required_ioport m_y4;
- required_ioport m_y5;
- required_ioport m_y6;
- required_ioport m_y7;
- required_ioport m_joy0;
- required_ioport m_joy1;
- required_ioport m_joy2;
- required_ioport m_joy3;
- int m_centronics_busy;
- int m_psg_ready;
+protected:
+ virtual void machine_start();
};
-#endif
+#endif // __CRVISION__