[hatari-devel] Bug: Hextracker freezes on startup with Falcon emulation? |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
Hi,
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