summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/taito_l.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/taito_l.cpp')
-rw-r--r--src/mame/drivers/taito_l.cpp22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/mame/drivers/taito_l.cpp b/src/mame/drivers/taito_l.cpp
index a936f69d8ab..6be62d8d091 100644
--- a/src/mame/drivers/taito_l.cpp
+++ b/src/mame/drivers/taito_l.cpp
@@ -61,6 +61,8 @@ puzznici note
#include "cpu/z80/z80.h"
+#include "machine/i8255.h"
+
#include "sound/2203intf.h"
#include "sound/2610intf.h"
#include "sound/msm5205.h"
@@ -763,10 +765,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( palamed_map, AS_PROGRAM, 8, taitol_1cpu_state )
COMMON_BANKS_MAP
COMMON_SINGLE_MAP
- AM_RANGE(0xa800, 0xa800) AM_READ_PORT("IN0")
- AM_RANGE(0xa801, 0xa801) AM_READ_PORT("IN1")
- AM_RANGE(0xa802, 0xa802) AM_READ_PORT("IN2")
- AM_RANGE(0xa803, 0xa803) AM_WRITENOP // Control register, function unknown
+ AM_RANGE(0xa800, 0xa803) AM_DEVREADWRITE("ppi", i8255_device, read, write)
AM_RANGE(0xb000, 0xb000) AM_WRITENOP // Control register, function unknown (copy of 8822)
AM_RANGE(0xb001, 0xb001) AM_READNOP // Watchdog or interrupt ack
ADDRESS_MAP_END
@@ -775,10 +774,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cachat_map, AS_PROGRAM, 8, taitol_1cpu_state )
COMMON_BANKS_MAP
COMMON_SINGLE_MAP
- AM_RANGE(0xa800, 0xa800) AM_READ_PORT("IN0")
- AM_RANGE(0xa801, 0xa801) AM_READ_PORT("IN1")
- AM_RANGE(0xa802, 0xa802) AM_READ_PORT("IN2")
- AM_RANGE(0xa803, 0xa803) AM_WRITENOP // Control register, function unknown
+ AM_RANGE(0xa800, 0xa803) AM_DEVREADWRITE("ppi", i8255_device, read, write)
AM_RANGE(0xb000, 0xb000) AM_WRITENOP // Control register, function unknown
AM_RANGE(0xb001, 0xb001) AM_READNOP // Watchdog or interrupt ack (value ignored)
AM_RANGE(0xfff8, 0xfff8) AM_READWRITE(rombankswitch_r, rombankswitch_w)
@@ -1888,6 +1884,11 @@ static MACHINE_CONFIG_DERIVED( palamed, plotting )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(palamed_map)
+ MCFG_DEVICE_ADD("ppi", I8255, 0) // Toshiba TMP8255AP-5
+ MCFG_I8255_IN_PORTA_CB(IOPORT("IN0"))
+ MCFG_I8255_IN_PORTB_CB(IOPORT("IN1"))
+ MCFG_I8255_IN_PORTC_CB(IOPORT("IN2"))
+
MCFG_MACHINE_RESET_OVERRIDE(taitol_1cpu_state, palamed)
MACHINE_CONFIG_END
@@ -1898,6 +1899,11 @@ static MACHINE_CONFIG_DERIVED( cachat, plotting )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(cachat_map)
+ MCFG_DEVICE_ADD("ppi", I8255, 0) // NEC D70155C
+ MCFG_I8255_IN_PORTA_CB(IOPORT("IN0"))
+ MCFG_I8255_IN_PORTB_CB(IOPORT("IN1"))
+ MCFG_I8255_IN_PORTC_CB(IOPORT("IN2"))
+
MCFG_MACHINE_RESET_OVERRIDE(taitol_1cpu_state, cachat)
MACHINE_CONFIG_END