- --
Viewing Issue Advanced Details
ID | Category [?] | Severity [?] | Reproducibility | Date Submitted | Last Update |
---|---|---|---|---|---|
06235 | Graphics | Feature | Always | Jun 13, 2016, 05:04 | Jun 18, 2016, 14:59 |
Tester | Hurray Banana | View Status | Public | Platform | MAME (Official Binary) |
Assigned To | Robbbert | Resolution | Fixed | OS | Windows Vista/7/8 (64-bit) |
Status [?] | Resolved | Driver | |||
Version | 0.174 | Fixed in Version | 0.175 | Build | Normal |
Fixed in Git Commit | Github Pull Request # | ||||
Summary | 06235: pacman: X and Y flip bits are ignored when sprite is rendered at top of screen due to vertical wrapping | ||||
Description |
When a sprite is partially off the bottom of the screen (Y values less than $10) the hardware draws the missing parts at the top of the screen, basically wrapping the sprite. Unfortunately it appears in Mame that the driver is ignoring the x and y flip bits (bits 1 and 0 of the sprite number register - that's the first byte in each sprites info values) so if the sprite is flipped vertically (bit 1 is set in the sprite number regsiter) it is drawn at the bottom of the screen ok but the wrap at the top is rendered as if the bit is clear. This renders properly on the Pac-Man board. |
||||
Steps To Reproduce |
Setup any sprite regsiter ($4ff2 for example) with sprite #0 and set the y flip (storing $01 would set this) make sure you set the sprites palette to say pallete 1 ($4ff3 to continue current example) set the sprites Y value in it's Y position register of $8. (in this example that would be $5063) You will see at the bottom of the screen the cherry upside down, but the wrap at the top of the screen is shown unflipped. |
||||
Additional Information |
Found this bug while coding a simple game for pacman hardware, it can never occur in the original code as sprites don't wrap top and bottom of screen because of maze layout. This happens for either x or y fliping This does not happen on actual hardware. I've included a screenshot, showing it (uses different sprite rom) Here is a video I made showing the mame problem and the same code running on a Midway pacman board flipping correctly. The correct behaviour can be observed @2:14 onwards Can provide source code and binaries or my code to try |
||||
Github Commit | |||||
Flags | Verified with Original | ||||
Regression Version | |||||
Affected Sets / Systems | pacman | ||||
Attached Files
|
x flip problem.gif (403,073 bytes) Jun 13, 2016, 05:04 Uploaded by Hurray Banana
| ||||
Relationships
There are no relationship linked to this issue. |
Notes
2
No.12764
AJR Developer
Jun 13, 2016, 23:10
|
The MAME driver doesn't ignore the flip bits on wrapped-around sprites, but exchanges them for the first two sprites only. The relevant line of code in video/pacman.cpp has a "FIXME" comment attached. |
---|---|
No.12780
Robbbert Senior Tester
Jun 18, 2016, 14:59
|
Thanks for checking with your hardware. :) |