Closed sa666666 closed 5 years ago
This seems to be related to https://github.com/stella-emu/stella/issues/139. We will need to revisit this at some point. Does anyone know the last time this ROM worked in Stella??
In version 4 at least, this was still broken. So we'd have to look at Stella 3. However, I can no longer compile or run that version on my system. Will have to test it in Windows.
The following code in CartDPCPlus
is related to the issue.
Current:
//DFxFRACLOW - fractional data pointer low byte
case 0x00:
myFractionalCounters[index] = (myFractionalCounters[index] & 0x0F00FF) | (uInt16(value) << 8);
Fix for this ROM:
//DFxFRACLOW - fractional data pointer low byte
case 0x00:
myFractionalCounters[index] = (myFractionalCounters[index] & 0x0F0000) | (uInt16(value) << 8);
We'd need to figure out how to enable it only for older ROMs.
Probably we need a property. Or are you looking for some kind of auto detection?
I'd rather autodetect of some kind. Don't want to add more properties, and don't want to have to maintain them. Maybe we need to look at the ARM code or something, and determine where an older vs. newer of the driver is being used.
The signature is the same, I suppose?
And as mentioned in https://github.com/stella-emu/stella/issues/139, I'd rather wrap this up together with all the changes from the old version of the driver, so we can get all older ROMs working again. To be clear, I think the fix I mentioned above only fixes this ROM, not the others from the older issue.
Do we have a list of ROMs using the old and the new version?
There are some in https://github.com/stella-emu/stella/issues/139. I would be happy if we could get ROMs released on AtariAge working. It's not necessary to get every old demo working, since so much in Stella would need to change. But if we can get a list of all released ROMs, we can just hardcode the md5sum into CartDPCPlus
and be done with it. No need to go further, I think.
If they use the same driver, there must be unique pattern to identify them.
@SpiceWare suggested that we do an md5sum on the DPC+ driver, since that seems to be the only game that needs this disabled. About to commit that IAM.
First reported in http://atariage.com/forums/topic/290442-weird-stella-issue-with-only-one-rom, using the attached ROM: epicadv28.zip
Confirmed that this ROM is working on a real system (Harmony), so there must be something up with Stella