MiSTer-devel / Arcade-MarioBros_MiSTer

Mario Bros arcade core for MiSTer
4 stars 9 forks source link

Video signal sync wrong? #22

Closed dfilskov closed 2 months ago

dfilskov commented 2 months ago

After the update in May 2024 the game no longer works on my ~60 Hz only monitor.

Does it ignore the MiSTer.ini refresh settings?

My monitor only supports ~60 Hz but the latest update somehow manages to circumvent the max/min settings in MiSTer.ini

IMG_20240801_184631~2

dfilskov commented 2 months ago

I've set minimum and maximum to 59.5 and 60.5 in MiSTer.ini (minimum 59.2 made this core's video signal flicker when it worked).

With the latest update the video signal is out of range even though I've now set both min and max to 60 Hz.

The former build works nicely (but lacks Integer-scaling) and shows 59.2 converted to 60 Hz. Now it's just out of range/black screen.

What changed / broke this update?

birdybro commented 2 months ago

Maybe it is related. I'll investigate. This core in the past has been a bit unstable from build to build, so I'll do a DSE run and give you the best quality of fit build later on, it can take a few hours.

dfilskov commented 2 months ago

Sounds great! - thanks for looking into this.

birdybro commented 2 months ago

MarioBros_20240802.zip

Please try this one for me, you'll need to rename or delete the previous MarioBros_YYYYMMDD.rbf from the /media/fat/_Arcade/cores/ folder.

dfilskov commented 2 months ago

YES! - works now :) - thank you so much. Well done!

It'd be great if integer scaling was supported - but since its levels don't scroll I guess it's very just 'nice2have' :)

birdybro commented 2 months ago

Okay, thanks for testing. I will submit this one in a PR. So I actually chose the slowest fit that had no negative slack but the least amount of slack. It's something I had talked with Robert about before, that a lot of slack can be seen as overclocking the data sorta, and if things aren't properly constrained you can have race conditions or the like.

The arcade cores typically don't have those integer scaling options, but some of them do. You can use MiSTer.ini settings to do it and can set a core exception with (I believe) [MarioBros] for this core.

dfilskov commented 2 months ago

Thanks for the explanation! - I'm not sure I understand 'fit' and 'slack' (and DSE - design space exploration?) but I assume that it has something to do with where/how the circuitry is placed into the chip's array of gates (or are they called logic elements?)?

dfilskov commented 2 months ago

As for integer - yes, I can sometimes make the scaling hit integers on my screen's specific resolution by setting the ratio and the border size just right in the game's section in MiSTer.ini - it isn't easy but I guess it can be done with enough trial and error.

Sometimes I can calculate those numbers by using the game's original resolution that pops up when it boots but sometimes that doesn't seem to work - quite confusing.