Re: [hatari-devel] problems in b/w mode |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
Hi,
On sunnuntai 08 tammikuu 2012, Thomas Huth wrote:
> > However, TOSv4 still asserts at boot:
> > ----
> > $ hatari -m --machine falcon --tos tos404.img
> > ...
> > hatari: /home/eero/work/hatari/src/video.c:2788:
> > Video_StartInterrupts: Assertion `CyclesPerVBL <= 8012800/49' failed.
> > Aborted
>
> When did you update your source tree? I noticed a problem in Falcon
> mode, too, and updated it ca. 3h ago. Now it's working fine for me in
> Falcon mode, too.
Doesn't work for me, even with "make clean & make".
Gdb tells:
hatari: /home/eero/work/hatari/src/video.c:2788: Video_StartInterrupts:
Assertion `CyclesPerVBL <= 8012800/49' failed.
Program received signal SIGABRT, Aborted.
0xb7fe2424 in __kernel_vsyscall ()
(gdb) bt
#0 0xb7fe2424 in __kernel_vsyscall ()
#1 0xb7bfb751 in *__GI_raise (sig=6) at
.../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2 0xb7bfeb82 in *__GI_abort () at abort.c:92
#3 0xb7bf48b8 in *__GI___assert_fail (assertion=0x8215953 "CyclesPerVBL <=
8012800/49", file=0x8215f54 "/home/eero/work/hatari/src/video.c", line=2788,
function=0x8215b26 "Video_StartInterrupts") at assert.c:81
#4 0x080d4582 in Video_StartInterrupts (PendingCyclesOver=10) at
/home/eero/work/hatari/src/video.c:2788
#5 0x080d47f0 in Video_InterruptHandler_VBL () at
/home/eero/work/hatari/src/video.c:2842
#6 0x08113a81 in m68k_run_1 (may_quit=1) at /home/eero/work/hatari/src/uae-
cpu/newcpu.c:1776
#7 m68k_go (may_quit=1) at /home/eero/work/hatari/src/uae-cpu/newcpu.c:1872
#8 0x080b7b34 in M68000_Start () at /home/eero/work/hatari/src/m68000.c:246
#9 0x080b895e in main (argc=6, argv=0xbffff324) at
/home/eero/work/hatari/src/main.c:782
(gdb) up 4
#4 0x080d4582 in Video_StartInterrupts (PendingCyclesOver=10) at
/home/eero/work/hatari/src/video.c:2788
2788 assert(CyclesPerVBL <= CPU_FREQ/49);
(gdb) info locals
FrameCycles = 78
HblCounterVideo = 0
LineCycles = <value optimized out>
Pos = 4681
__PRETTY_FUNCTION__ = "Video_StartInterrupts"
(gdb) print 8012800/49
$3 = 163526
(gdb) print CyclesPerVBL
$4 = 254508
(gdb) list
2785 /* TODO replace CYCLES_PER_FRAME */
2786 CyclesPerVBL = CYCLES_PER_FRAME;
2787 /* Note: Refresh rate less than 50 Hz does not make sense!
*/
2788 assert(CyclesPerVBL <= CPU_FREQ/49);
>>> CYCLES_PER_FRAME is:
(gdb) print nScanlinesPerFrame*nCyclesPerLine
$11 = 254508
(gdb) print nScanlinesPerFrame
$13 = 501
(gdb) print nCyclesPerLine
$14 = 508
Which of the above values is wrong?
Btw. Why clocks_timings.c has global and video.c a local version of
CyclesPerVBL?
clock_timings.c default for CyclesPerVBL is also > 8012800/49:
(gdb) print MachineClocks.CPU_Freq / nScreenRefreshRate
$6 = 225950
- Eero