- --
Viewing Issue Advanced Details
ID | Category [?] | Severity [?] | Reproducibility | Date Submitted | Last Update |
---|---|---|---|---|---|
07899 | Media Support | Major | Always | Mar 14, 2021, 08:50 | Mar 14, 2021, 23:47 |
Tester | star2root | View Status | Public | Platform | MAME (Self-compiled) |
Assigned To | Resolution | Open | OS | ||
Status [?] | Acknowledged | Driver | |||
Version | 0.229 | Fixed in Version | Build | ||
Fixed in Git Commit | Github Pull Request # | #7862 | |||
Summary | 07899: cocoe, coco2, coco2b, coco3: It is no longer possible to insert a rom pak into a multi-pak slot. | ||||
Description | With a multi-pak inserted, it is not possible to select a device of "pak" or "banked 16k" for any multi-pak slot. | ||||
Steps To Reproduce | Start an emulation with a system type of cocoe, coco2, coco2b, or coco3, select a multi-pak to be inserted in slot devices in the main cartridge port, then in any multi-pak slot try to select a device type of "pak" or "banked 16k", the option will not be present. | ||||
Additional Information | This worked in version 0.224. | ||||
Github Commit | |||||
Flags | Verified with Original | ||||
Regression Version | |||||
Affected Sets / Systems | cocoe, coco2, coco2b, coco3 | ||||
Attached Files
|
|||||
Relationships
There are no relationship linked to this issue. |
Notes
7
No.18538
star2root Viewer
Mar 14, 2021, 08:54
|
These patches will correct the issue... --- src/devices/bus/coco/coco_multi.cpp 2021-03-13 23:07:40.000000000 -0500 +++ src/devices/bus/coco/coco_multi.cpp 2021-03-14 03:55:45.000000000 -0400 @@ -160,33 +160,27 @@ IMPLEMENTATION ***************************************************************************/ -static void coco_cart_slot1_3(device_slot_interface &device) -{ - coco_cart_add_basic_devices(device); -} - -static void coco_cart_slot4(device_slot_interface &device) +static void coco_cart_slot1_4(device_slot_interface &device) { coco_cart_add_basic_devices(device); coco_cart_add_fdcs(device); } - void coco_multipak_device::device_add_mconfig(machine_config &config) { - COCOCART_SLOT(config, m_slots[0], DERIVED_CLOCK(1, 1), coco_cart_slot1_3, nullptr); + COCOCART_SLOT(config, m_slots[0], DERIVED_CLOCK(1, 1), coco_cart_slot1_4, nullptr); m_slots[0]->cart_callback().set(FUNC(coco_multipak_device::multi_slot1_cart_w)); m_slots[0]->nmi_callback().set(FUNC(coco_multipak_device::multi_slot1_nmi_w)); m_slots[0]->halt_callback().set(FUNC(coco_multipak_device::multi_slot1_halt_w)); - COCOCART_SLOT(config, m_slots[1], DERIVED_CLOCK(1, 1), coco_cart_slot1_3, nullptr); + COCOCART_SLOT(config, m_slots[1], DERIVED_CLOCK(1, 1), coco_cart_slot1_4, nullptr); m_slots[1]->cart_callback().set(FUNC(coco_multipak_device::multi_slot2_cart_w)); m_slots[1]->nmi_callback().set(FUNC(coco_multipak_device::multi_slot2_nmi_w)); m_slots[1]->halt_callback().set(FUNC(coco_multipak_device::multi_slot2_halt_w)); - COCOCART_SLOT(config, m_slots[2], DERIVED_CLOCK(1, 1), coco_cart_slot1_3, nullptr); + COCOCART_SLOT(config, m_slots[2], DERIVED_CLOCK(1, 1), coco_cart_slot1_4, nullptr); m_slots[2]->cart_callback().set(FUNC(coco_multipak_device::multi_slot3_cart_w)); m_slots[2]->nmi_callback().set(FUNC(coco_multipak_device::multi_slot3_nmi_w)); m_slots[2]->halt_callback().set(FUNC(coco_multipak_device::multi_slot3_halt_w)); - COCOCART_SLOT(config, m_slots[3], DERIVED_CLOCK(1, 1), coco_cart_slot4, "fdcv11"); + COCOCART_SLOT(config, m_slots[3], DERIVED_CLOCK(1, 1), coco_cart_slot1_4, "fdcv11"); m_slots[3]->cart_callback().set(FUNC(coco_multipak_device::multi_slot4_cart_w)); m_slots[3]->nmi_callback().set(FUNC(coco_multipak_device::multi_slot4_nmi_w)); m_slots[3]->halt_callback().set(FUNC(coco_multipak_device::multi_slot4_halt_w)); --- src/devices/bus/coco/cococart.cpp 2021-03-14 03:30:57.000000000 -0400 +++ src/devices/bus/coco/cococart.cpp 2021-03-14 03:28:55.000000000 -0400 @@ -694,8 +694,10 @@ void coco_cart_add_basic_devices(device_slot_interface &device) { // basic devices, on both the main slot and the Multi-Pak interface - device.option_add_internal("banked_16k", COCO_PAK_BANKED); - device.option_add_internal("pak", COCO_PAK); +// device.option_add_internal("banked_16k", COCO_PAK_BANKED); + device.option_add("banked_16k", COCO_PAK_BANKED); +// device.option_add_internal("pak", COCO_PAK); + device.option_add("pak", COCO_PAK); device.option_add("ccpsg", COCO_PSG); device.option_add("dcmodem", COCO_DCMODEM); device.option_add("games_master", COCO_PAK_GMC); |
---|---|
No.18539
star2root Viewer
Mar 14, 2021, 08:55
edited on: Mar 14, 2021, 17:21 |
This patch also allows any device to be inserted into any multi-pak slot, which is the same as the physical system. |
No.18541
Osso Moderator
Mar 14, 2021, 10:58
edited on: Mar 14, 2021, 11:01 |
I'd advise you to create a pull request on GitHub's MAME repository, where it can discussed properly and merged if so decided. Just posting the diff here creates the risk it gets forgotten once this bug will have scrolled off the most recent ones. |
No.18542
Robbbert Senior Tester
Mar 14, 2021, 13:42
|
Why is 0.224 listed as the regression version when it is stated it was working? |
No.18543
star2root Viewer
Mar 14, 2021, 17:20
|
Sorry, did I use the regression version field wrong? Version 0.229 is broken and version 0.224 is the last version I tested that worked. It was broken some time after 0.224. I haven't tested every version after 0.224 to determine exactly when it broke. |
No.18544
star2root Viewer
Mar 14, 2021, 18:02
|
Created pull request. |
No.18546
Robbbert Senior Tester
Mar 14, 2021, 22:34
edited on: Mar 14, 2021, 22:35 |
The regression field holds the earliest broken version. If you don't know, leave it blank. I've removed it for you. |