Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
06606 Interface Minor Always Jun 6, 2017, 01:07 Aug 18, 2017, 08:49
Tester star2root View Status Public Platform MAME (Self-compiled)
Assigned To Nathan Woods Resolution Open OS
Status [?] Assigned Driver coco12.cpp
Version 0.186 Fixed in Version Build
Summary MESS-specific 06606: coco, coco2, coco3: On the CoCo systems with a multi-pak the devices cc3hdb1 and fdcv11 should be able to be inserted into any slot.
Description On the CoCo systems with a multi-pak the devices cc3hdb1 and fdcv11 should be able to be inserted into any slot. On the real hardware this device will function in any slot.
Steps To Reproduce Try to select either cc3hdb1 or fdcv11 in any multi-pak slot other than 4.
Additional Information There is no selection available to insert either cp400_fdc or fdc into any slot in a multi-pak, the only floppy controller available for use in a multi-pak is fdcv11.
Flags
Regression Version
Affected Sets / Systems coco, coco2, coco3
Attached Files
 
Relationships
There are no relationsihp linked to this issue.
Notes
4
User avatar
No.13884
star2root
Tester
Jun 6, 2017, 03:19
Suggested patch in diff format:

--- src/devices/bus/coco/coco_multi.cpp 2017-06-05 23:10:42.000000000 -0400
+++ src/devices/bus/coco/coco_multi.cpp 2017-06-05 23:13:13.000000000 -0400
@@ -135,16 +135,7 @@
     IMPLEMENTATION
 ***************************************************************************/
 
-static SLOT_INTERFACE_START(coco_cart_slot1_3)
- SLOT_INTERFACE("rs232", COCO_RS232)
- SLOT_INTERFACE("dcmodem", COCO_DCMODEM)
- SLOT_INTERFACE("orch90", COCO_ORCH90)
- SLOT_INTERFACE("ssc", COCO_SSC) MCFG_SLOT_OPTION_CLOCK("ssc", DERIVED_CLOCK(1, 1))
- SLOT_INTERFACE("games_master", COCO_PAK_GMC)
- SLOT_INTERFACE("banked_16k", COCO_PAK_BANKED)
- SLOT_INTERFACE("pak", COCO_PAK)
-SLOT_INTERFACE_END
-static SLOT_INTERFACE_START(coco_cart_slot4)
+static SLOT_INTERFACE_START(coco_cart_slot1_4)
  SLOT_INTERFACE("cc3hdb1", COCO3_HDB1)
  SLOT_INTERFACE("fdcv11", COCO_FDC_V11)
  SLOT_INTERFACE("rs232", COCO_RS232)
@@ -156,27 +147,25 @@
  SLOT_INTERFACE("pak", COCO_PAK)
 SLOT_INTERFACE_END
 
-
 MACHINE_CONFIG_MEMBER(coco_multipak_device::device_add_mconfig)
- MCFG_COCO_CARTRIDGE_ADD(SLOT1_TAG, coco_cart_slot1_3, nullptr)
+ MCFG_COCO_CARTRIDGE_ADD(SLOT1_TAG, coco_cart_slot1_4, nullptr)
  MCFG_COCO_CARTRIDGE_CART_CB(DEVWRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot1_cart_w))
  MCFG_COCO_CARTRIDGE_NMI_CB(DEVWRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot1_nmi_w))
  MCFG_COCO_CARTRIDGE_HALT_CB(DEVWRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot1_halt_w))
- MCFG_COCO_CARTRIDGE_ADD(SLOT2_TAG, coco_cart_slot1_3, nullptr)
+ MCFG_COCO_CARTRIDGE_ADD(SLOT2_TAG, coco_cart_slot1_4, nullptr)
  MCFG_COCO_CARTRIDGE_CART_CB(DEVWRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot2_cart_w))
  MCFG_COCO_CARTRIDGE_NMI_CB(DEVWRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot2_nmi_w))
  MCFG_COCO_CARTRIDGE_HALT_CB(DEVWRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot2_halt_w))
- MCFG_COCO_CARTRIDGE_ADD(SLOT3_TAG, coco_cart_slot1_3, nullptr)
+ MCFG_COCO_CARTRIDGE_ADD(SLOT3_TAG, coco_cart_slot1_4, nullptr)
  MCFG_COCO_CARTRIDGE_CART_CB(DEVWRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot3_cart_w))
  MCFG_COCO_CARTRIDGE_NMI_CB(DEVWRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot3_nmi_w))
  MCFG_COCO_CARTRIDGE_HALT_CB(DEVWRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot3_halt_w))
- MCFG_COCO_CARTRIDGE_ADD(SLOT4_TAG, coco_cart_slot4, "fdcv11")
+ MCFG_COCO_CARTRIDGE_ADD(SLOT4_TAG, coco_cart_slot1_4, "fdcv11")
  MCFG_COCO_CARTRIDGE_CART_CB(DEVWRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot4_cart_w))
  MCFG_COCO_CARTRIDGE_NMI_CB(DEVWRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot4_nmi_w))
  MCFG_COCO_CARTRIDGE_HALT_CB(DEVWRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot4_halt_w))
 MACHINE_CONFIG_END
 
-
 //**************************************************************************
 // GLOBAL VARIABLES
 //**************************************************************************
User avatar
No.13886
Tafoid
Administrator
Jun 6, 2017, 18:19
Awaiting Dev interaction
User avatar
No.13902
Pernod
Developer
Jun 8, 2017, 14:54
The MultiPak manual clearly states that 'the disk interface pak must be inserted into slot 4', but I agree that cp400_fdc and fdc should be added to coco_cart_slot4 in coco_multi.cpp.
User avatar
No.13913
star2root
Tester
Jun 16, 2017, 02:35
The manual does make that statement, but the disk controller does in fact function in any of the 4 slots. There is nothing mechanical or electrical on the actual system that prevent the disk controller from working in any slot under BASIC. I tested this on an actual CoCo 1 and a CoCo 3.