カテゴリ 重要度 ステータス 解決状況 登録日時 最終更新
グラフィック機能追加解決済み修正済み2016-06-13 14:042016-06-18 23:59
 
テスターHurray Banana担当者Robbbertソースpacman/jrpacman.cpp
バージョン0.174発生バージョン修正バージョン0.175
修正コミットプルリク
フラグ実機・資料検証済み
セット pacman
セット詳細
pacman - パックマン (Midway)
 
概 要画面最上部にスプライトが描画されるとき、XとYフリップビットが無視される。
詳 細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.
再現手順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.
追加情報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
 
添付ファイルgif filex flip problem.gif (2016-06-13 14:04)