diff options
Diffstat (limited to 'src/devices/bus/ti99/peb/peribox.cpp')
-rw-r--r-- | src/devices/bus/ti99/peb/peribox.cpp | 58 |
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 ) |