mirror of
https://github.com/holub/mame
synced 2025-10-07 09:25:34 +03:00
Proteus3: added keyboard (nw)
This commit is contained in:
parent
ff678c8ee8
commit
394dcc424d
@ -24,6 +24,7 @@
|
|||||||
#include "cpu/m6800/m6800.h"
|
#include "cpu/m6800/m6800.h"
|
||||||
#include "machine/6821pia.h"
|
#include "machine/6821pia.h"
|
||||||
#include "machine/6850acia.h"
|
#include "machine/6850acia.h"
|
||||||
|
#include "machine/keyboard.h"
|
||||||
|
|
||||||
|
|
||||||
class proteus3_state : public driver_device
|
class proteus3_state : public driver_device
|
||||||
@ -35,11 +36,11 @@ public:
|
|||||||
, m_pia(*this, "pia")
|
, m_pia(*this, "pia")
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
// DECLARE_READ_LINE_MEMBER( proteus3_cb1_r );
|
DECLARE_WRITE_LINE_MEMBER(ca2_w);
|
||||||
DECLARE_READ8_MEMBER( proteus3_keyboard_r );
|
DECLARE_WRITE8_MEMBER(video_w);
|
||||||
// DECLARE_WRITE_LINE_MEMBER( proteus3_cb2_w );
|
DECLARE_WRITE8_MEMBER(kbd_put);
|
||||||
// DECLARE_WRITE8_MEMBER( proteus3_digit_w );
|
|
||||||
private:
|
private:
|
||||||
|
UINT8 m_video_data;
|
||||||
virtual void machine_reset();
|
virtual void machine_reset();
|
||||||
required_device<cpu_device> m_maincpu;
|
required_device<cpu_device> m_maincpu;
|
||||||
required_device<pia6821_device> m_pia;
|
required_device<pia6821_device> m_pia;
|
||||||
@ -73,6 +74,24 @@ ADDRESS_MAP_END
|
|||||||
static INPUT_PORTS_START(proteus3)
|
static INPUT_PORTS_START(proteus3)
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
WRITE8_MEMBER( proteus3_state::kbd_put )
|
||||||
|
{
|
||||||
|
m_pia->portb_w(data);
|
||||||
|
m_pia->cb1_w(1);
|
||||||
|
m_pia->cb1_w(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
WRITE8_MEMBER( proteus3_state::video_w )
|
||||||
|
{
|
||||||
|
m_video_data = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
WRITE_LINE_MEMBER( proteus3_state::ca2_w )
|
||||||
|
{
|
||||||
|
if (state)
|
||||||
|
printf("%c", m_video_data);
|
||||||
|
}
|
||||||
|
|
||||||
void proteus3_state::machine_reset()
|
void proteus3_state::machine_reset()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -89,18 +108,14 @@ static MACHINE_CONFIG_START( proteus3, proteus3_state )
|
|||||||
|
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("pia", PIA6821, 0)
|
MCFG_DEVICE_ADD("pia", PIA6821, 0)
|
||||||
//MCFG_PIA_READPB_HANDLER(READ8(proteus3_state, proteus3_keyboard_r))
|
MCFG_PIA_WRITEPA_HANDLER(WRITE8(proteus3_state, video_w))
|
||||||
//MCFG_PIA_READCA1_HANDLER(READLINE(proteus3_state, proteus3_distance_r))
|
MCFG_PIA_CA2_HANDLER(WRITELINE(proteus3_state, ca2_w))
|
||||||
//MCFG_PIA_READCB1_HANDLER(READLINE(proteus3_state, proteus3_cb1_r))
|
|
||||||
//MCFG_PIA_READCA2_HANDLER(READLINE(proteus3_state, proteus3_fuel_sensor_r))
|
|
||||||
//MCFG_PIA_WRITEPA_HANDLER(WRITE8(proteus3_state, proteus3_segment_w))
|
|
||||||
//MCFG_PIA_WRITEPB_HANDLER(WRITE8(proteus3_state, proteus3_digit_w))
|
|
||||||
//MCFG_PIA_CB2_HANDLER(WRITELINE(proteus3_state, proteus3_cb2_w))
|
|
||||||
MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("maincpu", m6800_cpu_device, irq_line))
|
|
||||||
MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("maincpu", m6800_cpu_device, irq_line))
|
MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("maincpu", m6800_cpu_device, irq_line))
|
||||||
|
|
||||||
MCFG_DEVICE_ADD ("acia1", ACIA6850, 0)
|
MCFG_DEVICE_ADD ("acia1", ACIA6850, 0)
|
||||||
MCFG_DEVICE_ADD ("acia2", ACIA6850, 0)
|
MCFG_DEVICE_ADD ("acia2", ACIA6850, 0)
|
||||||
|
MCFG_DEVICE_ADD("keyboard", GENERIC_KEYBOARD, 0)
|
||||||
|
MCFG_GENERIC_KEYBOARD_CB(WRITE8(proteus3_state, kbd_put))
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user