Viewing Issue Advanced Details
|ID||Category [?]||Severity [?]||Reproducibility||Date Submitted||Last Update|
|03312||Crash/Freeze||Critical (emulation)||Always||Jul 18, 2009, 11:05||Aug 16, 2009, 01:42|
|Tester||palindrome||View Status||Public||Platform||MAME (Self-compiled)|
|Assigned To||R. Belmont||Resolution||Fixed||OS|
|Version||0.132u5||Fixed in Version||0.133u3||Build||Debug|
|Summary||03312: ertictac: Game freezes|
I suspect that this problem may have started since the U4 patch which addresses an issue with the ARM opcodes ( TST/TEQ ).
In previous versions, ertictac used a hack where by the TST opcode is replaced with a NOP @ 0x3800154. This hack has recently been removed and the game is no longer playable as a result.
Indeed if you patch TST with NOP in driver_init
game is fully playable again.
|Steps To Reproduce|
|Affected Sets / Systems||ertictac|
|There are no relationship linked to this issue.|
Jul 18, 2009, 11:48
|if you turn off the 'music' dipswitch it works again. might be a problem with the sound emulation (there is none) or overall AA emualtion rather than the ARM.|
Jul 18, 2009, 11:53
|@palindrome: please try to fill properly fields of the report ;) Moreover, NOPing a CPU instruction is not a fix. At most, you can use it to say that the culprit is somehow related to that instruction.|
Jul 20, 2009, 06:08
|No problem. I'll be more careful to follow the standard format when raising issues in future|
Aug 16, 2009, 01:42
The hang is at B700 waiting for the value at RAM location 7c to equal 1, which is a classic "missing interrupt" pattern. The TST instruction in question appears to be checking if the music is enabled (which calls into question the validity of *ever* NOPing it) and it works perfectly after my recent ARM core fixes.
I have "fixed" this by defaulting the music DIP to "off" until we have better Archimedes h/w emulation.