[hatari-devel] error reading video counter on TT since commit 5316b4081e9d3 |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
Hi
when running hextracker with hatari 2.4 in TT mode, I see it enters an
endless loop here and never starts :
$00021144 : 41f8 8201 lea $ffff8201.w,a0
$00021148 : 0108 0000 movep.w 0(a0),d0
$0002114c : 41f8 8205 lea $ffff8205.w,a0
$00021150 : 0308 0000 movep.w 0(a0),d1
$00021154 : b240 cmp.w d0,d1
$00021156 : 67f8 beq.s $21150
$00021158 : 0308 0000 movep.w 0(a0),d1
$0002115c : b240 cmp.w d0,d1
$0002115e : 66f8 bne.s $21158
$00021160 : 4e75 rts
the program reads video base addr and then compare it to video counter
addr until they are different and then until they match again -> this
means one VBL elapsed, it's a less common way to wait for the next VBL
to start
the problem is that in TT mode pVideoRaster is not updated anymore when
entering Video_CalculateAddress. It's always the same value.
This is due to this change that don't call Video_EndHBL() and
Video_CopyScreenLineColor() on each HBL (as it was the case in Hatari
2.3.1).
commit 5316b4081e9d3fa177ed14419369bc13892af4e8
--- a/src/video.c
+++ b/src/video.c
@@ -2990,7 +2990,7 @@ void Video_InterruptHandler_HBL ( void )
M68000_Exception(EXCEPTION_NR_HBLANK , M68000_EXC_SRC_AUTOVEC); /*
Horizontal blank interrupt, level 2 */
- if (!Config_IsMachineFalcon())
+ if (!Config_IsMachineTT() && !Config_IsMachineFalcon())
{
Video_EndHBL(); /* Check some borders removal and copy line to
display buffer */
}
Thomas, is there any reason why you excluded TT from the Video_EndHBL()
case ? Or is it a bad copy/paste ?
I think it should be restored like previously, unless it has impact on
some other part of TT video ?
Nicolas