False alarm! Was: 68HC000 not perfectly 68000 compatible
Posted: 02 Jan 2022 20:07
edit: This turned out to be a hardware problem on the datalines on this particular STE. Once corrected the HC worked perfectly in Closure again. We're back to there sometimes being reports of incompatibilities but on investigation it turns out to not be the CPU. Post as it was follows:
***
I've just received a video showing {Closure} not running perfectly on an ST with a 68HC000 fitted. I'll post screenshots etc once the person who shot the video has said it's fine. This does fit with there having been a few posts every now and then claiming the HCs aren't perfectly compatible with all demos - but until now I've never seen an example of what that meant.
My own hypothesis from looking at the video, and knowing how Closure works, is that there is some condition where the code takes four cycles more or less (don't know right now which) than on the 68000. The likely culprit is where I match, on purpose, two instructions to be able to poke the GLUE at 2 cycle intervals instead of the regular 4. Thus this would seem to indicate that there's something in the HC that makes this instruction pairing fail.
Now, I don't think this is true for all HCs, so while the topic of the thread just states "HC", I think we need to figure out if it's a certain manufacturer or if there have been different respins where on of them wasn't fully compatible. So, knowing that a lot of people run HCs in your systems, let's document the ones we know are good. I suggest using {Closure} as the test bench, since we know it provokes the issue. The symptom is easy to spot - the very first dist (both the small and big) will simply bug out very visibly. "Sometimes it looks like crap" for the non-democoders, and "one or two of the border openings fail for the whole screen" for the others ;) And for the experts - "the whole screen after the top border is shifted 0 to X cycles".
Please post all the info printed on top of the CPU please - and a photo is of course best.
/Troed
***
I've just received a video showing {Closure} not running perfectly on an ST with a 68HC000 fitted. I'll post screenshots etc once the person who shot the video has said it's fine. This does fit with there having been a few posts every now and then claiming the HCs aren't perfectly compatible with all demos - but until now I've never seen an example of what that meant.
My own hypothesis from looking at the video, and knowing how Closure works, is that there is some condition where the code takes four cycles more or less (don't know right now which) than on the 68000. The likely culprit is where I match, on purpose, two instructions to be able to poke the GLUE at 2 cycle intervals instead of the regular 4. Thus this would seem to indicate that there's something in the HC that makes this instruction pairing fail.
Now, I don't think this is true for all HCs, so while the topic of the thread just states "HC", I think we need to figure out if it's a certain manufacturer or if there have been different respins where on of them wasn't fully compatible. So, knowing that a lot of people run HCs in your systems, let's document the ones we know are good. I suggest using {Closure} as the test bench, since we know it provokes the issue. The symptom is easy to spot - the very first dist (both the small and big) will simply bug out very visibly. "Sometimes it looks like crap" for the non-democoders, and "one or two of the border openings fail for the whole screen" for the others ;) And for the experts - "the whole screen after the top border is shifted 0 to X cycles".
Please post all the info printed on top of the CPU please - and a photo is of course best.
/Troed