Viewing Issue Advanced Details Jump to Notes ] segag80r.cpp
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
Flags
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 by Robbbert
Robbbert


-  Notes
User avatar
No.13439
Robbbert
(Developer)
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
No.13441
B2K24
(Moderator)
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
No.13442
Tafoid
(Administrator)
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
No.13446
Osso
(Developer)
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: https://git.redump.net/mame/commit/?id=2a6cbb70c4a8b2cdd6dbf6488cee92bd60fcc55e . 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
No.13453
Tafoid
(Administrator)
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.
https://github.com/mamedev/mame/commit/7f1bb873d19bc81907e800b2ab6ed00e82a79f28

The commit I mentioned earlier is the recommit after the release of 0.178 was done.
https://github.com/mamedev/mame/commit/00f6256e4a761b07d31b76ef30dca5e4deecc98a

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