summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/ti99/peb/peribox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/ti99/peb/peribox.cpp')
-rw-r--r--src/devices/bus/ti99/peb/peribox.cpp58
1 files changed, 47 insertions, 11 deletions
diff --git a/src/devices/bus/ti99/peb/peribox.cpp b/src/devices/bus/ti99/peb/peribox.cpp
index b4a83b75e46..3fc6531c017 100644
--- a/src/devices/bus/ti99/peb/peribox.cpp
+++ b/src/devices/bus/ti99/peb/peribox.cpp
@@ -201,6 +201,9 @@ CRUCLK* 51||52 DBIN
// This is a device that plugs into the slot "ioport" of the console
DEFINE_DEVICE_TYPE_NS(TI99_PERIBOX, bus::ti99::peb, peribox_device, "peribox", "Peripheral expansion box")
+// Peripheral box which has a EVPC card in slot 2 (for use with the ti99_4ev)
+DEFINE_DEVICE_TYPE_NS(TI99_PERIBOX_EV, bus::ti99::peb, peribox_ev_device, "peribox_ev", "Peripheral expansion box with EVPC")
+
// Peripheral box which hosts the SGCPU card in slot 1
DEFINE_DEVICE_TYPE_NS(TI99_PERIBOX_SG, bus::ti99::peb, peribox_sg_device, "peribox_sg", "Peripheral expansion box SGCPU")
@@ -489,7 +492,6 @@ void peribox_device::device_config_complete()
SLOT_INTERFACE_START( peribox_slot )
SLOT_INTERFACE("32kmem", TI99_32KMEM)
- SLOT_INTERFACE("evpc", TI99_EVPC )
SLOT_INTERFACE("myarcmem", TI99_MYARCMEM)
SLOT_INTERFACE("samsmem", TI99_SAMSMEM)
SLOT_INTERFACE("pcode", TI99_P_CODE)
@@ -520,6 +522,48 @@ machine_config_constructor peribox_device::device_mconfig_additions() const
}
/****************************************************************************
+ A variant of the box used for the TI-99/4A with EVPC.
+*****************************************************************************/
+
+peribox_ev_device::peribox_ev_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : peribox_device(mconfig, TI99_PERIBOX_EV, tag, owner, clock)
+{
+ m_address_prefix = 0x70000;
+}
+
+SLOT_INTERFACE_START( peribox_slotv )
+ SLOT_INTERFACE("32kmem", TI99_32KMEM)
+ SLOT_INTERFACE("evpc", TI99_EVPC )
+ SLOT_INTERFACE("myarcmem", TI99_MYARCMEM)
+ SLOT_INTERFACE("samsmem", TI99_SAMSMEM)
+ SLOT_INTERFACE("pcode", TI99_P_CODE)
+ SLOT_INTERFACE("hsgpl", TI99_HSGPL)
+ SLOT_INTERFACE("tirs232", TI99_RS232)
+ SLOT_INTERFACE("speech", TI99_SPEECH)
+ SLOT_INTERFACE("horizon", TI99_HORIZON)
+ SLOT_INTERFACE("ide", TI99_IDE)
+ SLOT_INTERFACE("usbsm", TI99_USBSM)
+ SLOT_INTERFACE("bwg", TI99_BWG)
+ SLOT_INTERFACE("hfdc", TI99_HFDC)
+ SLOT_INTERFACE("tifdc", TI99_FDC)
+SLOT_INTERFACE_END
+
+MACHINE_CONFIG_START( peribox_ev_device )
+ MCFG_PERIBOX_SLOT_ADD_DEF( PEBSLOT2, peribox_slotv, "evpc" )
+ MCFG_PERIBOX_SLOT_ADD( PEBSLOT3, peribox_slotv )
+ MCFG_PERIBOX_SLOT_ADD( PEBSLOT4, peribox_slotv )
+ MCFG_PERIBOX_SLOT_ADD( PEBSLOT5, peribox_slotv )
+ MCFG_PERIBOX_SLOT_ADD( PEBSLOT6, peribox_slotv )
+ MCFG_PERIBOX_SLOT_ADD( PEBSLOT7, peribox_slotv )
+ MCFG_PERIBOX_SLOT_ADD( PEBSLOT8, peribox_slotv )
+MACHINE_CONFIG_END
+
+machine_config_constructor peribox_ev_device::device_mconfig_additions() const
+{
+ return MACHINE_CONFIG_NAME( peribox_ev_device );
+}
+
+/****************************************************************************
A variant of the box used for the Geneve.
*****************************************************************************/
@@ -585,17 +629,9 @@ SLOT_INTERFACE_START( peribox_slotp )
SLOT_INTERFACE("tifdc", TI99_FDC)
SLOT_INTERFACE_END
-SLOT_INTERFACE_START( peribox_ev_slot )
- SLOT_INTERFACE("evpc", TI99_EVPC)
-SLOT_INTERFACE_END
-
-SLOT_INTERFACE_START( peribox_hs_slot )
- SLOT_INTERFACE("hsgpl", TI99_HSGPL)
-SLOT_INTERFACE_END
-
MACHINE_CONFIG_START( peribox_sg_device )
- MCFG_PERIBOX_SLOT_ADD_DEF( PEBSLOT2, peribox_ev_slot, "evpc" )
- MCFG_PERIBOX_SLOT_ADD_DEF( PEBSLOT3, peribox_hs_slot, "hsgpl" )
+ MCFG_PERIBOX_SLOT_ADD_DEF( PEBSLOT2, peribox_slotp, "evpc" )
+ MCFG_PERIBOX_SLOT_ADD_DEF( PEBSLOT3, peribox_slotp, "hsgpl" )
MCFG_PERIBOX_SLOT_ADD( PEBSLOT4, peribox_slotp )
MCFG_PERIBOX_SLOT_ADD( PEBSLOT5, peribox_slotp )
MCFG_PERIBOX_SLOT_ADD( PEBSLOT6, peribox_slotp )