Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08955 Crash/Freeze Critical (emulation) Always 29 days ago 20 days ago
Tester Slamy View Status Public Platform MAME (Self-compiled)
Assigned To Resolution Open OS Linux (64-bit)
Status [?] Confirmed Driver
Version 0.271 Fixed in Version Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary 08955: cdimono1 [zeldgamu]: Game hangs during shopkeeper cutscene
Description There is the shopkeeper in Sakado. If you talk to him repeatedly, after about 20 times, the game will hang while exiting the "cause I'm on your side" cutscene and returning to gameplay.
I've selected "Always" as reproducibility as within a duration of maximum one minute, this can be reproduced always.

When colleting CDIC verbose information:
[:cdic] ':maincpu' (0042A46E): cdic_w: Data Buffer Register = c000 & ffff
[:cdic] ':maincpu' (0042A46E): cdic_w: Data Buffer high-bit set, beginning command processing
[:cdic] ':maincpu' (0042A46E): cdic_w: Update command
[:cdic] ':maincpu' (0042A472): cdic_r: Data buffer Register = 4000 & ffff
[:cdic] ':maincpu' (0042A476): cdic_r: X-Buffer Register = 0000 & ffff
[:cdic] ':maincpu' (0042A476): Clearing CDIC interrupt line
[:cdic] Audio sector counter 10, deducting and skipping
[:cdic] About to process a disc sector
[:cdic] Disc sector, current LBA: 00023633, MSF: 32 12 47
[:cdic] Sector header data: 00 ff ff ff ff ff ff ff ff ff ff 00 32 12 47 02 01 01 48 00 01 01 48 00
[:cdic] Mode 2 sector is selected due to channel (register 0003, buffer channel 0001)
[:cdic] Audio is not selected; submode 48
[:cdic] ':maincpu' (0042ACEE): cdic_r: Data buffer Register = 4001 & ffff
[:cdic] ':maincpu' (0042ACEE): cdic_w: Data Buffer Register = 0001 & ffff
[:cdic] ':maincpu' (0042B058): cdic_r: Data buffer Register = 0001 & ffff
[:cdic] ':maincpu' (0042B074): cdic_r: Z-Buffer Register Read: 2801 & ffff
[:cdic] ':maincpu' (0042B084): cdic_r: Audio Buffer Register = 0000 & ffff
[:cdic] ':maincpu' (0042B058): cdic_r: Data buffer Register = 0001 & ffff
[:cdic] ':maincpu' (0042B074): cdic_r: Z-Buffer Register Read: 2800 & ffff
[:cdic] ':maincpu' (0042B084): cdic_r: Audio Buffer Register = 0000 & ffff
[:cdic] ':maincpu' (0042B058): cdic_r: Data buffer Register = 0001 & ffff
[:cdic] ':maincpu' (0042B074): cdic_r: Z-Buffer Register Read: 2801 & ffff

Afterwards this repeats. The game never continues.
Steps To Reproduce Start the game, when seening the map, select Sakado in the East of the island.
Enter the first door.
Hit the old person repeatedly and close the cutscene and random times to cause the issue.
The game will hang on the current screen of the cutscene
Additional Information I wasn't sure whether this is a bug in the game, so I tried to reproduce it on a 210/20 and on cdiemu but the bug didn't occur.
Github Commit
Flags
Regression Version
Affected Sets / Systems cdimono1 [zeldgamu]
Attached Files
png file icon freeze.png (71,898 bytes) 28 days ago Uploaded by Fujix
Fujix
Relationships
There are no relationship linked to this issue.
Notes
2
User avatar
No.22416
Fujix
Administrator
28 days ago
Cofirmed.
User avatar
No.22448
Slamy
Tester
20 days ago
This issue might actually be related to https://mametesters.org/view.php?id=8833
Both are sound issues. I'm currently thinking about creating a PR.

src/mame/philips/cdicdic.cpp:
- m_audio_sector_counter = m_audio_format_sectors;
+ m_audio_sector_counter = 0;

It seems that after disabling the audiomap, the current code does one extra round. This might be not correct. I'm not yet 100% sure.