[hatari-devel] Hatari asserts on video interrupts when running under monochrome
Eero Tamminen
eerot at users.berlios.de
Sun Jan 24 15:15:58 CET 2010
Hi,
On Sunday 10 January 2010, Eero Tamminen wrote:
> While testing GEMDOS changes with latest Hatari on TOS 1.4 and monochrome
> screen, I'm seeing frequently asserts from interrupt handling while TOS
> is idling in GEM (usually some time after showing a dialog if that's
> important):
>
> hatari: cycInt.c:377: CycInt_AddRelativeInterruptWithOffset: Assertion
> `CycleTime >= 0' failed.
Any idea about why this happens?
I'm pretty sure I've only gotten it in monochrome when TOS is showing
some dialog. Maybe only when I've used fast forward mode (although
I didn't see in fast forward mode anything that would affect the video
or interrupt variables).
- Eero
> Program received signal SIGABRT, Aborted.
> [Switching to Thread 0xb79ad6b0 (LWP 3913)]
> 0xb7f7e424 in __kernel_vsyscall ()
> (gdb) bt
> #0 0xb7f7e424 in __kernel_vsyscall ()
> #1 0xb7c26640 in raise () from /lib/i686/cmov/libc.so.6
> #2 0xb7c28018 in abort () from /lib/i686/cmov/libc.so.6
> #3 0xb7c1f5be in __assert_fail () from /lib/i686/cmov/libc.so.6
> #4 0x08053fe6 in CycInt_AddRelativeInterruptWithOffset (CycleTime=-24,
> CycleType=1, Handler=INTERRUPT_VIDEO_ENDLINE, CycleOffset=0)
> at cycInt.c:377
> #5 0x08054017 in CycInt_AddRelativeInterrupt (CycleTime=-24,
> CycleType=1, Handler=INTERRUPT_VIDEO_ENDLINE) at cycInt.c:337
> #6 0x0807e16c in Video_InterruptHandler_EndLine () at video.c:1609
> #7 0x08087179 in m68k_go (may_quit=1) at newcpu.c:1751
> #8 0x0806b444 in M68000_Start () at m68000.c:228
> ...
> (gdb) up
> #6 0x0807e16c in Video_InterruptHandler_EndLine () at video.c:1609
> 1609 CycInt_AddRelativeInterrupt ( LineTimerBCycle -
> LineCycles + nCyclesPerLine,
> (gdb) print LineTimerBCycle
> $1 = 188
> (gdb) print LineCycles
> $2 = 436
> (gdb) print nCyclesPerLine
> $3 = 224
> (gdb) print LineTimerBCycle - LineCycles + nCyclesPerLine
> $4 = -24
> ^^^
>
> Other video state:
> (gdb) info locals
> FrameCycles = 436
> HblCounterVideo = 1
> LineCycles = 436
> PendingCycles = 24
> (gdb) print nHBL
> $6 = 0
> (gdb) print nScanlinesPerFrame
> $7 = 501
> (gdb) print STRam[0xfffa03]
> $10 = 4 '\004'
> (gdb) print STRam[0xfffa03] & ( 1 << 3 )
> $11 = 0
More information about the hatari-devel
mailing list