カテゴリ 重要度 ステータス 解決状況 登録日時 最終更新
クラッシュ/フリーズ重要 (ゲーム)解決済み修正済み2008-01-28 16:492008-01-28 16:49
 
テスター-Misc Reporters-担当者 ソースmisc/pkscram.cpp
バージョン0.111u4発生バージョン修正バージョン0.114u2
修正コミットプルリク
フラグ旧BugIDpkscram0111u4red
セット pkscram
セット詳細
pkscram - PKすくらんぶる
 
概 要フリーズする。
詳 細Let it run through and the first bit with the girl in the goals and after the animal kicks the ball the girls head becomes all glitched and then the game freezes up with a buzzing sound since 0.109.

Follow-up by couriersud: A couple remarks here:

On 0114u1 with sdlmame and gcc 4.1.2 20060928 the game will hang as described. Tested with -O0 -O1 and -O3.
Using a debug build I was able to locate at least the endless loop the game will enter:

7fa8: bra 7fa8

I suspect a gcc bug here. Between 0108 and 0114u1 there are only minor differences in the 68000 core. I backported some of the 0108 code but this did not cure the issue.

Using a build with another compiler (please no bashing) I get no hangs but slightly distorted graphics.

I have also attached the error log which contains a number of "unmapped memory writes" from addresses 0xAB2 and 0xAB4. These addresses belong to the routine drawing the graphics to the screen.
http://www.mameworld.info/ubbthreads/download.php?Number=108131

In the end it came down to an interrupt timing issue.

I was able to reproduce hangs in the following mame versions:

114u1: after 520s
108: after 818s
106: after 818s
100: after 845s

So obviously the driver never really worked.

After some debugging the following become obvious:

a) The time until a hang depends on the scanline the interrupt is fired.
b) It depends on how long the line is held active.

Further debugging showed that bit 14 of the output register is obviously acting as a vblank interrupt enable.

I have submitted the changes to mamedev. In the meantime,
I had the game up and running over 19000s game time.
再現手順 
追加情報 
 
添付ファイル