Re: [hatari-devel] error reading video counter on TT since commit 5316b4081e9d3 |
[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]
Le 23/07/2022 à 08:09, Thomas Huth a écrit :
Instead of reverting, I'd suggest that we just add a special "else" case here to fake a video counter update in TT and Falcon mode, e.g.: if (!Config_IsMachineTT() && !Config_IsMachineFalcon()) { Video_EndHBL(); } else { /* Fake video counter update in TT and Falcon mode... * should be replaced once we have more precise video * emulation there: */ pVideoRaster = ((pVideoRaster - STRam + SCREENBYTES_MIDDLE) & 0xffffff) + STRam; } SCREENBYTES_MIDDLE should maybe be adjusted depending on the video mode... Does that sound acceptable?
HiI'm not sure this would be fail proof enough ; in the case of hextracker, it compares with video addr at start of screen, but some other program could wait for line 1 or end of screen for example. Also you should not return the above value unless DE has really started (ie not during top border) or it will mess with other cases/
Alternatively, we could also introduce TT-specific versions of Video_ScreenCounter_ReadByte(), just like we did with VIDEL_ScreenCounter_ReadByte() already.
Yes, I think it would be better. For example add a similar call to VIDEL_VideoRasterHBL() done in Video_InterruptHandler_HBL() to update pVideoRaster in TT case with sthg like "bytes per line * nHBL"
I will have a look if you don't plan doing it youself ? (I think I can patch it today)
Nicolas
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |