-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Running banked Predator causes crash on coco1/2/3 #2673
Comments
At first glance, this is baffling me. The call that is failing is the one that sets up the $FFE0-$FFFF memory bank. I've confirmed that this call is the same whether 'mame64 coco2b predator' is invoked, 'mame64 coco2b popcorn' is invoked, or 'mame64 coco2b' is invoked. Is there somebody more familiar with the MAME memory subsystem that could look at this (@galibert?) Any issue with the softlist failing to identify this as a CoCo 3 title incompatible with CoCo/12 should be seen as a separate issue. |
In fact it SEGfaults for coco3, I am looking at this as I need to figure out coco banking
|
That kind of address mask, makes me think something scribbled all over
memory...
OG.
…On Sun, Sep 24, 2017 at 11:58 PM, npwoods ***@***.***> wrote:
At first glance, this is baffling me. The call that is failing is the one
that sets up the $FFE0-$FFFF memory bank. I've confirmed that this call is
the same whether 'mame64 coco2b predator' is invoked, 'mame64 coco2b
popcorn' is invoked, or 'mame64 coco2b' is invoked.
Is there somebody more familiar with the MAME memory subsystem that could
look at this ***@***.*** <https://github.com/galibert>?)
Any issue with the softlist failing to identify this as a CoCo 3 title
incompatible with CoCo/12 should be seen as a separate issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2673 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AI0i8XcetIqycr9FVvmR1So_uWCEB0cUks5sltCNgaJpZM4PiCRl>
.
|
Yes, that is my thought too, I had other values on that mask using trimmed down SUBTARGET builds |
I've recompiled with winalloc, and it seems there is a buffer overrun in cococart_slot_device::call_load(). I can take a look. |
it looks like the memcopy in cococart.cpp call_load doesn't check that the rom will fit into the rom area, it tries to copy 64Kb into the 32Kb area in the case of predator, so it will overwrite stuff. By upping the rom area from 32Kb to 64Kb in coco_pak.cpp it will fit and not crash. Predator doesn't start up however, maybe because banking is different, I'll have a check |
I've fixed not only the ROM area issue, but also some entirely separate problems with the banking. The old implementation tried to reload a 16K area from a file that in softlisted cases wouldn't have been opened. It was also wrong for CoCo 3, whose on-board banking allows for 32K of cartridge space. |
It shouldn't crash but there should also be a compatibility warning from the softlist I think
The text was updated successfully, but these errors were encountered: