Re: [hatari-devel] Bug: Hextracker freezes on startup with Falcon emulation? |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
Hi,
Laurent?
- Eero
On sunnuntai 17 helmikuu 2013, Eero Tamminen wrote:
> Paolo's Hextracker freezes on startup with Falcon emulation.
>
> When I debugged it and asked on atari-forum, I found that it
> waits for next VBL on startup by checking for video refresh
> address high byte change (ffff8205).
>
> That works fine under ST/STE/TT emulation, which uses
> following implementation for this register in video.c:
> -----------------
> void Video_ScreenCounter_ReadByte(void)
> {
> Uint32 addr;
>
> addr = Video_CalculateAddress(); /* get current
> video address */
> IoMem[0xff8205] = ( addr >> 16 ) & 0xff;
> IoMem[0xff8207] = ( addr >> 8 ) & 0xff;
> IoMem[0xff8209] = addr & 0xff;
> }
> -----------------
>
>
> However, under Falcon emulation, register read implemention
> in videl.c never changes the register value unless some
> program specifically writes into it:
> -----------------
> void VIDEL_ScreenCounter_ReadByte(void)
> {
> // Uint32 addr; // To be used
> Uint32 addr = 0; // To be removed
>
> // addr = Videl_CalculateAddress(); /* TODO: get
> current video address */
> IoMem[0xff8205] = ( addr >> 16 ) & 0xff;
> IoMem[0xff8207] = ( addr >> 8 ) & 0xff;
> IoMem[0xff8209] = addr & 0xff;
>
> LOG_TRACE(TRACE_VIDEL, "Videl : $ff8205/07/09 Sync Mode read:
> 0x%08x\n", addr);
> }
> -----------------
>
> Laurent, why it doesn't use the implementation from video.c?
>
>
> - Eero