diff options
Diffstat (limited to 'src/mame/drivers/isbc.cpp')
-rw-r--r-- | src/mame/drivers/isbc.cpp | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/mame/drivers/isbc.cpp b/src/mame/drivers/isbc.cpp index df24679d7d7..f5c526270b9 100644 --- a/src/mame/drivers/isbc.cpp +++ b/src/mame/drivers/isbc.cpp @@ -10,6 +10,10 @@ Notes: isbc86 commands: BYTE WORD REAL EREAL ROMTEST. ROMTEST works, the others hang. +Press capital-U to drop into the monitor on the isbc 86/05 and 86/30 +The 86/05 can boot floppies with the b command but appears to mostly be +able to deal with 8" disks as it fails to properly load the irmx86 5.25" images. + ****************************************************************************/ #include "bus/rs232/rs232.h" @@ -24,6 +28,7 @@ isbc86 commands: BYTE WORD REAL EREAL ROMTEST. ROMTEST works, the others hang. #include "bus/centronics/ctronics.h" #include "bus/isbx/isbx.h" #include "machine/isbc_215g.h" +#include "machine/isbc_208.h" class isbc_state : public driver_device { @@ -72,7 +77,7 @@ void isbc_state::machine_reset() static ADDRESS_MAP_START(rpc86_mem, AS_PROGRAM, 16, isbc_state) ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x00000, 0x3ffff) AM_RAM + AM_RANGE(0x00000, 0xcffff) AM_RAM AM_RANGE(0xfc000, 0xfffff) AM_ROM AM_REGION("user1",0) ADDRESS_MAP_END @@ -92,6 +97,11 @@ static ADDRESS_MAP_START(rpc86_io, AS_IO, 16, isbc_state) AM_RANGE(0x00de, 0x00df) AM_DEVREADWRITE8("uart8251", i8251_device, status_r, control_w, 0x00ff) ADDRESS_MAP_END +static ADDRESS_MAP_START(isbc8605_io, AS_IO, 16, isbc_state) + AM_RANGE(0x0000, 0x002f) AM_DEVICE8("isbc_208", isbc_208_device, map, 0xffff) + AM_IMPORT_FROM(rpc86_io) +ADDRESS_MAP_END + static ADDRESS_MAP_START(isbc86_mem, AS_PROGRAM, 16, isbc_state) ADDRESS_MAP_UNMAP_HIGH AM_RANGE(0x00000, 0xfbfff) AM_RAM @@ -276,6 +286,15 @@ static MACHINE_CONFIG_START( rpc86, isbc_state ) //MCFG_ISBX_SLOT_MINTR1_CALLBACK(DEVWRITELINE("pic_0", pic8259_device, ir6_w)) MACHINE_CONFIG_END +static MACHINE_CONFIG_DERIVED( isbc8605, rpc86 ) + MCFG_CPU_MODIFY("maincpu") + MCFG_CPU_IO_MAP(isbc8605_io) + + MCFG_DEVICE_ADD("isbc_208", ISBC_208, 0) + MCFG_ISBC_208_MAINCPU("maincpu") + MCFG_ISBC_208_IRQ(DEVWRITELINE("pic_0", pic8259_device, ir5_w)) +MACHINE_CONFIG_END + static MACHINE_CONFIG_START( isbc286, isbc_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", I80286, XTAL_16MHz/2) @@ -398,7 +417,7 @@ ROM_END /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ COMP( 19??, rpc86, 0, 0, rpc86, isbc, driver_device, 0, "Intel", "RPC 86",MACHINE_NOT_WORKING | MACHINE_NO_SOUND) COMP( 1978, isbc86, 0, 0, isbc86, isbc, driver_device, 0, "Intel", "iSBC 86/12A",MACHINE_NOT_WORKING | MACHINE_NO_SOUND) -COMP( 1981, isbc8605, 0, 0, rpc86, isbc, driver_device, 0, "Intel", "iSBC 86/05",MACHINE_NOT_WORKING | MACHINE_NO_SOUND) +COMP( 1981, isbc8605, 0, 0, isbc8605, isbc, driver_device, 0, "Intel", "iSBC 86/05",MACHINE_NOT_WORKING | MACHINE_NO_SOUND) COMP( 1981, isbc8630, 0, 0, rpc86, isbc, driver_device, 0, "Intel", "iSBC 86/30",MACHINE_NOT_WORKING | MACHINE_NO_SOUND) COMP( 19??, isbc286, 0, 0, isbc286, isbc, driver_device, 0, "Intel", "iSBC 286",MACHINE_NOT_WORKING | MACHINE_NO_SOUND) COMP( 1983, isbc2861, 0, 0, isbc2861, isbc, driver_device, 0, "Intel", "iSBC 286/10", MACHINE_NO_SOUND) |