-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Apparent bug in C and 32-bit x86 DRC back-ends affecting pm6100 #13329
Comments
Ping @rb6502 since this affects PowerPC/PowerMac, and @987123879113 since it seems to be caused by DRC back-end issues. I really have no idea where to even start looking for this. Does the Jigsaw Puzzle use QuickDraw regions to do mask the shape of the puzzle pieces and copy a pixmap using a region mask? |
Appears to happen on ARM too. I have no idea what the program is using so I can't comment there. If it's confirmed that it didn't happen with the C backend before the changes but does happen on the C backend now then that narrows it down a lot. The C backend didn't change a whole lot, so it's probably something related to the changes to: the new way of calculating shift/rotate flags (flags are calculated even if shift is 0 now), the new way of calculating mult flags, or clearing registers. The other alternative I can think of is the changes to the simplifier in src/devices/cpu/uml.cpp, but if that was the case then it'd happen on x64 too (are you positive it doesn't happen on x64? that'd narrow it down more). |
I haven't tested MAME 0.273 yet. It could have already been happening before your changes. |
It should be possible to just throw cpu/powerpc/* and apple/macpdm.cpp over a version prior to Windy's changes and see if the problem is actually a regression. My guess is that it probably isn't, but I wouldn't mind being surprised. Once I land the PowerBook Duos (getting very close on that), I'll work on getting risu hooked up so we can test PPC opcodes against sequences logged on real hardware. Both DingusPPC and QEMU have used it to knock the corner case problems out of their PPC cores, which is good because OS X reportedly hits all of them. |
Hacky but here's how to master building without all of my recent DRC changes.
581d5d7 is a recent commit before my changes. Undefine Change Still happens on the C backend so it's not an issue with the recent DRC changes. |
Recording an input file and using the |
MAME version
0.274 (mame0274)
System information
Windows 10 Pro 10.0.19045 Build 19045 x86-64
INI configuration details
Emulated system/software
Power Macintosh 6100/60, System Software 7.5 (pmac6100 mac750)
Incorrect behaviour
There’s an apparent bug in the C and 32-bit x86 DRC back-ends affecting
pmac6100
.MAME 0.274 is affected, as is the current tip of the master branch (9ba5d70 at time of writing).
The bug manifests in the jigsaw puzzle. If you drag a puzzle piece over another piece, the content of the piece underneath shifts slightly in the “cutout” areas of the piece on top.
Expected behaviour
The puzzle piece content should not move when another piece is dragged over it.
Steps to reproduce
mame -drc_use_c pmac6100 mac750
(or using a 32-bit x86 build, you can startmame pmac6100 mac750
Additional details
No response
The text was updated successfully, but these errors were encountered: