diff options
Diffstat (limited to 'src/mame/includes/crvision.h')
-rw-r--r-- | src/mame/includes/crvision.h | 55 |
1 files changed, 26 insertions, 29 deletions
diff --git a/src/mame/includes/crvision.h b/src/mame/includes/crvision.h index 507d1314f1d..79d35beb558 100644 --- a/src/mame/includes/crvision.h +++ b/src/mame/includes/crvision.h @@ -29,21 +29,23 @@ class crvision_state : public driver_device { public: crvision_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), - m_maincpu(*this, M6502_TAG), - m_pia(*this, PIA6821_TAG), - m_psg(*this, SN76489_TAG), - m_cassette(*this, "cassette"), - m_cart(*this, "cartslot"), - m_centronics(*this, CENTRONICS_TAG), - m_cent_data_out(*this, "cent_data_out"), - m_ram(*this, RAM_TAG), - m_inp_pa0(*this, "PA0.%u", 0), - m_inp_pa1(*this, "PA1.%u", 0), - m_inp_pa2(*this, "PA2.%u", 0), - m_inp_pa3(*this, "PA3.%u", 0) + : driver_device(mconfig, type, tag) + , m_maincpu(*this, M6502_TAG) + , m_pia(*this, PIA6821_TAG) + , m_psg(*this, SN76489_TAG) + , m_cassette(*this, "cassette") + , m_cart(*this, "cartslot") + , m_centronics(*this, CENTRONICS_TAG) + , m_cent_data_out(*this, "cent_data_out") + , m_ram(*this, RAM_TAG) + , m_io_keypad{{*this, "PA0.%u", 0U},{*this, "PA1.%u", 0U},{*this, "PA2.%u", 0U},{*this, "PA3.%u", 0U}} { } + void creativision(machine_config &config); + void ntsc(machine_config &config); + DECLARE_INPUT_CHANGED_MEMBER( trigger_nmi ); + +protected: required_device<cpu_device> m_maincpu; required_device<pia6821_device> m_pia; required_device<sn76496_base_device> m_psg; @@ -52,24 +54,18 @@ public: required_device<centronics_device> m_centronics; 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; + optional_ioport_array<8> m_io_keypad[4]; + virtual void machine_start() override; uint8_t m_keylatch; - uint8_t read_keyboard(int pa); + +private: + void crvision_map(address_map &map); + uint8_t read_keyboard(u8 pa); void pia_pa_w(uint8_t data); uint8_t pia_pa_r(); uint8_t pia_pb_r(); - DECLARE_INPUT_CHANGED_MEMBER( trigger_nmi ); - - void creativision(machine_config &config); - void ntsc(machine_config &config); - void crvision_map(address_map &map); -protected: - virtual void machine_start() override; }; class crvision_pal_state : public crvision_state @@ -87,10 +83,13 @@ public: laser2001_state(const machine_config &mconfig, device_type type, const char *tag) : crvision_state(mconfig, type, tag) , m_centronics(*this, CENTRONICS_TAG) - , m_inp_y(*this, "Y.%u", 0) - , m_inp_joy(*this, "JOY.%u", 0) + , m_inp_y(*this, "Y.%u", 0U) + , m_inp_joy(*this, "JOY.%u", 0U) { } + void lasr2001(machine_config &config); + +private: required_device<centronics_device> m_centronics; required_ioport_array<8> m_inp_y; required_ioport_array<4> m_inp_joy; @@ -110,9 +109,7 @@ public: DECLARE_READ_LINE_MEMBER( pia_cb1_r ); DECLARE_WRITE_LINE_MEMBER( pia_cb2_w ); - void lasr2001(machine_config &config); void lasr2001_map(address_map &map); -protected: virtual void machine_start() override; }; |