Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
06440 Gameplay Critical (emulation) Always Nov 29, 2016, 20:28 Dec 13, 2016, 06:51
Tester haynor666 View Status Public Platform MAME (Official Binary)
Assigned To smf Resolution Fixed OS Windows Vista/7/8 (64-bit)
Status [?] Resolved Driver segag80r.cpp
Version 0.179 Fixed in Version 0.181 Build 64-bit
Summary 06440: Most/all sets in segag80r.cpp: game resets itself during play
Description Quite offen game either resets itself during gameplay or generates trash on screen (sprites stay on screen).
Steps To Reproduce Just start game and play couple minutes.
Additional Information Specific issues:
005, monsterb - When playing a game, at odd times, the game suddenly resets
astrob - If the demo runs for about 11 minutes, in testing, the screen goes black and emulation halts
spaceod - Let emulation run for a bit over 5 minutes and the screen will stop as shown in screenshot
sindbadm - At random times during play, it will either reset or freeze emulation while music plays
Regression Version 0.179
Affected Sets / Systems Most/all sets in segag80r.cpp
Attached Files
png file icon spaceod.png (5,114 bytes) Nov 29, 2016, 20:59 Uploaded by Robbbert
There are no relationship linked to this issue.
User avatar
Nov 29, 2016, 21:00
I left it in attract mode and after a while the attached picture occurred. The background continued to slide along, but the rest was frozen.
User avatar
Nov 30, 2016, 01:59
Fairly easily to repo and takes anywhere from 1 - 2 minutes after coining up and starting up a fresh run.
User avatar
Nov 30, 2016, 05:40
edited on: Dec 1, 2016, 20:22
Appears to start malfunctioning immediately after 0.178 was released.
Traced to z80 adjustments.
User avatar
Dec 1, 2016, 13:03
Putting back the PRVPC = -1 line in the void z80_device::take_interrupt() method "fixes" the problems. It was removed with this commit: . I tested spaceod since it's the one which reproduces consistently letting attract run 3 times
I guess it doesn't like the way the offs_t segag80r_state::decrypt_offset(address_space &space, offs_t offset) method is implemented.
User avatar
Dec 1, 2016, 20:36
Actually it is from that code, but not that commit, as it was reverted here, The update was posted just prior to release with unknown consequences, so reverted.

The commit I mentioned earlier is the recommit after the release of 0.178 was done.

Your observations still seem valid, though. I'll try to let smf know to see if he has any ideas.