diff options
Diffstat (limited to 'src/mess/drivers/c128.c')
-rw-r--r-- | src/mess/drivers/c128.c | 60 |
1 files changed, 42 insertions, 18 deletions
diff --git a/src/mess/drivers/c128.c b/src/mess/drivers/c128.c index 9ae7e3372ab..abe3f7bde8b 100644 --- a/src/mess/drivers/c128.c +++ b/src/mess/drivers/c128.c @@ -963,11 +963,11 @@ READ8_MEMBER( c128_state::cia1_pa_r ) bit description - PA0 COL0, JOY B0 - PA1 COL1, JOY B1 - PA2 COL2, JOY B2 - PA3 COL3, JOY B3 - PA4 COL4, BTNB + PA0 COL0, JOYB0 + PA1 COL1, JOYB1 + PA2 COL2, JOYB2 + PA3 COL3, JOYB3 + PA4 COL4, FBTNB PA5 COL5 PA6 COL6 PA7 COL7 @@ -1005,20 +1005,40 @@ READ8_MEMBER( c128_state::cia1_pa_r ) return data; } +WRITE8_MEMBER( c128_state::cia1_pa_w ) +{ + /* + + bit description + + PA0 COL0, JOYB0 + PA1 COL1, JOYB1 + PA2 COL2, JOYB2 + PA3 COL3, JOYB3 + PA4 COL4, FBTNB + PA5 COL5 + PA6 COL6 + PA7 COL7 + + */ + + m_joy2->joy_w(data & 0x1f); +} + READ8_MEMBER( c128_state::cia1_pb_r ) { /* bit description - PB0 JOY A0 - PB1 JOY A1 - PB2 JOY A2 - PB3 JOY A3 - PB4 BTNA/_LP - PB5 - PB6 - PB7 + PB0 ROW0, JOYA0 + PB1 ROW1, JOYA1 + PB2 ROW2, JOYA2 + PB3 ROW3, JOYA3 + PB4 ROW4, FBTNA, _LP + PB5 ROW5 + PB6 ROW6 + PB7 ROW7 */ @@ -1055,17 +1075,19 @@ WRITE8_MEMBER( c128_state::cia1_pb_w ) bit description - PB0 ROW0 - PB1 ROW1 - PB2 ROW2 - PB3 ROW3 - PB4 ROW4 + PB0 ROW0, JOYA0 + PB1 ROW1, JOYA1 + PB2 ROW2, JOYA2 + PB3 ROW3, JOYA3 + PB4 ROW4, FBTNA, _LP PB5 ROW5 PB6 ROW6 PB7 ROW7 */ + m_joy1->joy_w(data & 0x1f); + m_vic->lp_w(BIT(data, 4)); } @@ -1487,6 +1509,7 @@ static MACHINE_CONFIG_START( ntsc, c128_state ) MCFG_MOS6526_CNT_CALLBACK(WRITELINE(c128_state, cia1_cnt_w)) MCFG_MOS6526_SP_CALLBACK(WRITELINE(c128_state, cia1_sp_w)) MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(c128_state, cia1_pa_r)) + MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(c128_state, cia1_pa_w)) MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(c128_state, cia1_pb_r)) MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(c128_state, cia1_pb_w)) MCFG_DEVICE_ADD(MOS6526_2_TAG, MOS6526, XTAL_14_31818MHz*2/3.5/8) @@ -1659,6 +1682,7 @@ static MACHINE_CONFIG_START( pal, c128_state ) MCFG_MOS6526_CNT_CALLBACK(WRITELINE(c128_state, cia1_cnt_w)) MCFG_MOS6526_SP_CALLBACK(WRITELINE(c128_state, cia1_sp_w)) MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(c128_state, cia1_pa_r)) + MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(c128_state, cia1_pa_w)) MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(c128_state, cia1_pb_r)) MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(c128_state, cia1_pb_w)) MCFG_DEVICE_ADD(MOS6526_2_TAG, MOS6526, XTAL_17_734472MHz*2/4.5/8) |