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
Status [?] Resolved Driver ertictac.cpp
Version 0.132u5 Fixed in Version 0.133u3 Build Debug
Summary 03312: ertictac: Game freezes
Description 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

memory_region(machine, "user1"))[0x55]=0;

game is fully playable again.
Steps To Reproduce
Additional Information
Regression Version 0.132u4
Affected Sets / Systems ertictac
Attached Files
There are no relationship linked to this issue.
User avatar
Senior Tester
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.
User avatar
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.
User avatar
Jul 20, 2009, 06:08
No problem. I'll be more careful to follow the standard format when raising issues in future
User avatar
R. Belmont
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.