Closed darius600 closed 2 weeks ago
Sounds like the Amiga can change its fundamental video timing. I'll look at that once the Nanomig runs stable
I see a similar scrolling in one of the intro screens of pinball fantasies.
This means that there's a video mode being used on Amiga side that does not have the number of lines expected by the HDMI encoding of NanoMig. The image is slowly scrolling up which means that HDMI draws probably one line more than the Amiga is sending. So the Amiga for some reason decided to send less lines per screen than usually.
Currently I only differentiate between PAL and NTSC and both work fine with e.g. the Amiga test kit. So there is a video mode being used my HDMI encoder is not aware of. I wonder if it's an interlaced mode. I need to find some test program that allows me to switch all kinds of video modes. Preferably something that can auto start without interaction as I could then run this in the verilator simulation and have a closer look there.
It's indeed the interlacing that's causing this issue. The double scanned image has one line less in this case and the HDMI encoder needs to take that into account.
I have a similar problem on the demo "15 Years of Fame" https://www.pouet.net/prod.php?which=61034
In order to debug it you might run it in simulation and watch the output of the frame capturing. It may report unexpected frame sizes.
Also affected by this: Great Giana Sisters, Jinxter
I had a look at it with GAO: the interesting thing is when switching back from an interlaced screen mode to non-interlaced. Either there are 625 lines or 623 lines then (for PAL).
I have adapted the video_analyzer to handle this, PR is here.
Successfully tested with Great Giana Sisters, Jinxter, VATestdisk6.28b, 15 Years Of Fame.
I actually wonder if this is a bug in the minimig. I don't think it should do this and I doubt a real amiga does this.
It may be worth trying to figure out why exactly this happens.
The Amiga is able to output long frames (313 lines) and short frames (312 lines), selectable in VPOS.
Non-interlaced modes usually use long frames but it's also possible to select short frames.
In interlaced modes long frames and short frames are alternated (auto toggle control bit in BPLCON0.
A detailed explanation can be found here at EAB.
Same issue on Spaceballs' nine fingers demo (it happens with last release also). It can be downloaded here:
http://spaceballs.untergrund.net/files/spb-9fingersa.adf http://spaceballs.untergrund.net/files/spb-9fingersb.adf
Steps to reproduce: