[hatari-devel] Fire button freezes Hatari in the Downfall game
Eero Tamminen
eerot at users.berlios.de
Fri Jun 10 22:00:10 CEST 2011
Hi,
On tiistai 28 joulukuu 2010, Eero Tamminen wrote:
> On perjantai 24 joulukuu 2010, Nicolas Pomarède wrote:
> >> Ok, I've fixed it now: As expected, the problem was not due to the
> >> delay value there, but something different:
> >> Since it continually issued this command during the title screen,
> >> Hatari continually tried to put three bytes into the internal keyboard
> >> buffer. But the game did not consume the bytes as fast as issuing the
> >> command,
>
> Does that happen also in real ST?
>
> >> so it finally flooded our Keyboard.Buffer ... in the end, we
> >> could not put the whole packet into the buffer anymore, and the game
> >> hang due to these incomplete answers.
>
> Hatari Keyboard buffer size seems to be 1024 bytes (and input buffer size
> 8 bytes). What the real HW buffer sizes are?
>
> >> To avoid this situation, I've put a check to only execute this command
> >> if there is enough space left in our Keyboard.Buffer!
> >
> > Interesting, I wonder what a real ikbd does on an ST ?
> > Does the ikbd stop sending bytes because it detects the 68000 has not
> > read the already sent bytes, or does it continuously send the bytes too
> > and they overwrite the last byte sent previously ?
>
> Or does it work like ring buffer so that newest packets overwrite oldest
> ones?
>
> (if packets are of fixed size, I would assume this to be the case, but
> with variable sized packets, it would need to keep track of of all of
> them to avoid broken packages.)
Did anybody every check these?
- Eero
More information about the hatari-devel
mailing list