MiSTer-devel / Atari7800_MiSTer

Atari 7800 for MiSTer
Other
10 stars 12 forks source link

Pause Core on OSD = On, demonstrates unexpected results #9

Closed trebor68 closed 1 year ago

trebor68 commented 2 years ago

When Pause Core on OSD = On, the results are currently (21.11.28 core) a mixed bag.

If it is for a brief period of time, and is just a ROM utilizing TIA sound or no sound, it some times works without an obvious issue noticed. However, particularly noticeable with POKEY sound, it appears to not be pausing the core but almost more like a hard break inserted to it.

Consequently, the pause/halt to the 7800 core when the OSD is brought up often crashes the entire game/core immediately, or within a couple of minutes of the OSD being left on the screen.

Reports include experiencing a black screen over analog video only, while others experience either a black screen, garbled graphics, or/and crashing over HDMI.

Kitrinx commented 2 years ago

sdram is probably not refreshing correctly while paused, i'll look into it

Kitrinx commented 2 years ago

To be clear, pause when OSD is open is not the same function as the pause button is on 7800. It is in fact a "hard" pause where it halts all of the core clocks, allowing the core to be completely suspended, including 2600 and other games that may not have integrated pause functions. As such it no longer generates video signals for analog, and HDMI may have some disruptions as it transitions to an internal fake signal to keep the OSD working. This is expected behavior.

Games crashing is not intended and points to there being a bug, as is any kind of continuing sound.

trebor68 commented 2 years ago

Thanks for the feedback and insight on how the OSD core pause functions. It is appreciated.

I recently issued a hard reboot of the MiSTer after having popped the storage memory card and removing the Atari2600_MiSTer core and moved the respective ROM directory to inside the ATARI7800 one.

Since then, I have not been able to replicate and game crashing or hung sound - not even with POKEY. I had suspicions that perhaps when other cores have been used there is something residual being left behind that isn't clearing completely, causing a conflict of sorts, and consequently the issue(s) mentioned previous with game crashes and hung/stuck sound,

However, after playing briefly through several cores and returning to the 7800 core, I still could not reproduce any issue previously mentioned.

Though I still believe there still may be something amiss within the MiSTer environment overall from the prior experience, it looks like as far as just the 7800 core is concerned, all appears to be working as expected. I will update here if I experience the issue again and do my best to provide the exact scenario(s).

Kitrinx commented 2 years ago

I think maybe you aren't wrong as I was able to reproduce some crashing easily, so it is perhaps a random ram edge case issue which are kind of common for this sort of behavior. I changed the ram refresh to be more robust regardless. Can you suggest some way of testing the savekey? I honestly dont have many of the games that are supposed to support it.

On Mon, Jan 17, 2022 at 5:51 PM trebor68 @.***> wrote:

Thanks for the feedback and insight on how the OSD core pause functions. It is appreciated.

I recently issued a hard reboot of the MiSTer after having popped the storage memory card and removing the Atari2600_MiSTer core and moved the respective ROM directory to inside the ATARI7800 one.

Since then, I have not been able to replicate and game crashing or hung sound - not even with POKEY. I had suspicions that perhaps when other cores have been used there is something residual being left behind that isn't clearing completely, causing a conflict of sorts, and consequently the issue(s) mentioned previous with game crashes and hung/stuck sound,

However, after playing briefly through several cores and returning to the 7800 core, I still could not reproduce any issue previously mentioned.

Though I still believe there still may be something amiss within the MiSTer environment overall from the prior experience, it looks like as far as just the 7800 core is concerned, all appears to be working as expected. I will update here if I experience the issue again and do my best to provide the exact scenario(s).

— Reply to this email directly, view it on GitHub https://github.com/MiSTer-devel/Atari7800_MiSTer/issues/9#issuecomment-1014936246, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADXNXSAVM7SFMX6DJLSSUSTUWSMOLANCNFSM5MC5MKKA . You are receiving this because you commented.Message ID: @.***>

trebor68 commented 2 years ago

Good call! Just tried Popeye out. Made high score and saved my game. The game returns to the title screen after several seconds. I brought up the OSD and the sound stuck/hung. Brought down and up the OSD, two more times after that and it seemed fine/normal again.

However, on the third try, sound hung and the screen crashed to an all yellow one. A hard crash now with sound stuck/hung (Like frying a console) and I could no longer bring the OSD up. MiSTer is not responding to input - except (oddly?) - the mechanism to engage Auto-Fire and setting the MS. That still is working, though I cant being the OSD up.

UPDATE 1: After removing the power from the MiSTer and restoring, I returned to the 7800 core. I started a game of Froggie, just leaped ahead a couple of steps, and brought up the OSD once, then brought it down. All seems well. Then I brought it up a second time. Sound locked in at a certain repeating pitch and screen went black. I can still bring up and down the OSD without issue this time though, but the game remains completely 'crashed'.

UPDATE 2: I next went to Bentley Bear's Crystal Quest. It does not use Savekey (though it does utilize POKEY), and I experienced a crash there too. Played through Level 1 Round 1. Brought up the OSD and it went to a black screen with a stuck note/pitch, similar to Froggie; I can bring up and down the OSD, but the game remains crashed at black screen with the stuck note/sound pitch.

UPDATE 3: Tried Beef Drop and had a similar experience. It also does not use a Savekey, but utilizes POKEY. Just started a game, went up the ladder several steps, brought up the OSD, and black screen crash, this time no stuck note/pitch, but the game is completely crashed, I cannot return to it as the black screen remains. OSD is able to be brought up and down continuously though.

Kitrinx commented 2 years ago

This should be much better now. I'll leave the issue open to track any issues that may still exist with it.

trebor68 commented 2 years ago

It is.. so far so great! It has been working wonderfully now utilizing the 20220130 release. Thank you!

Kitrinx commented 1 year ago

Since there haven't been any updates to this in almost a year i'm going to close it for now, feel free to re-open it if there is any problems in the future.