Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
05844 Core Major Always Feb 7, 2015, 15:53 Feb 11, 2015, 14:48
Tester Robert Gault View Status Public Platform MESS (Official Binary)
Assigned To Osso Resolution Fixed OS Windows XP
Status [?] Resolved Driver coco12.cpp
Version 0.158 Fixed in Version 0.159 Build Normal
Summary MESS-specific 05844: all coco drivers: crash to desktop when slot device Multi selected
Description FATALERROR:devcb_write: Error performing a late bind of the type 20cococart_slot_device to 20coco_multipak_device (name=coco_multipak_device::multi_cart_w)
Steps To Reproduce Start any coco emulation. Use Scroll Lock+ Tab to get to menu. Use Slot to select Multi and then Reset. The above error will occur and you will crash out of MESS.

If you choose Multi and hit ENTER instead of Reset, you will get a correct description of what the multipak will do with the statement that the de3vice is not mounted.
Additional Information Bug 5170 was a request for multipak emulation but while related, this is different.
Regression Version 0.154
Affected Sets / Systems all coco drivers
Attached Files
There are no relationsihp linked to this issue.
User avatar
Feb 9, 2015, 17:01
Robert, could you test and see if 5170 is resolved too?
User avatar
Robert Gault
Feb 11, 2015, 02:29
Your fix now permits selecting Multi. However 5170 was a request for correct multipak emulation and I don't feel we are there yet.

The multipak device has four slots into which any cart can be plugged. These can be disk controllers, games, and specialty paks like the RS-232 unit. The slots 1-4 can be selected via a switch on the device or by a value sent to $FF7F.
At the moment, MESS with ext multi selected shows a very confusing display under File Manager. There are 5 carts available one in Root and four in root:ext:multi. This makes no sense and there does not seem to be anything emulating a switch to select the active slot 1-4.
I have also been unable to select a slot by changing the value at $FF7F.

So it seems to me that 5170 has not been satisfied as emulation is either not correct or is beyond intuitive use. Could just be me, but I don't see how I can select the active slot.
User avatar
Feb 11, 2015, 07:04
I was just curious because with 0.153 I could select multi but couldn't change the single 1-4 slots, while now I can.
User avatar
Robert Gault
Feb 11, 2015, 14:48
How is one supposed to set the active slot for the multipak in MESS? Do you see any effect after a POKE&HFF7F,nm where the values to select both ROM access and I/O at $FF40-$FF5F are:
$00 slot1
$11 slot2
$22 slot3
$33 slot4
The above nibbles can be separated so that a value of $30 would select the ROM in slot1 with I/O $FF40-$FF5F at slot3.

Part of the problem is that MESS will assume all devices are paks and deactivate disk I/O unless fdcv10 and fdcv11 are seen in the active slot. That should not be done as a disk controller regardless of its ROM should be reachable as long as it is plugged into the multipack.
Another pet peeve of mine is that the disk ROM RGBDOS has been available since MESS .100 where the user could use it as a replacement for disk10.rom and disk11.rom to get .vhd access. Up through MESS .15x one could still have disk11.rom in a ROM directory but mount RGBDOS in a cart slot to access the .vhd drives and you would not get an error message about "bad" ROMS. With MESS .158 there is no way to bypass the "bad" ROM message forcing you to type OK and then there is no floppy access because MESS defaults to ext:pak.

How did anyone in the MESS organization think both the .vhd and floppy drives could be used by a Coco when RGBDOS could only be mounted and used by methods bypassing the MESS policy that they knew better than any user how MESS should work?