Re: [hatari-devel] IKBD regression with EmuTOS

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Le 12/02/2013 00:23, Vincent Rivière a écrit :

So, as you said, the solution in Hatari is to wait for the IKBD reset to
complete before sending additional command bytes (otherwise, we enable
those undocumented modes). But I still wonder how that can prevent
further data to be received from the IKBD, and only on cold boot on
Hatari. Jean-François Del Nero tested EmuTOS as ROM replacement on his
STe, and he never reported such problems on cold boot.

Also, I saw strange code in Hatari's src/acia.c.
That's about pACIA->FirstMasterReset and RTS line.
I wonder if that could explain the odd behaviour on cold boot only.

Anyway, my biggest concern is the upcoming EmuTOS 0.9.0 release. Even if
we have to put a few workarounds inside, it must work fine on all the
supported platforms.


Hello

as I said, there're 2 problems :
 - one in Emutos that you fixed
- one in Hatari that doesn't start the acia serial timer on the first cold start

Concerning the overrun, if the ACIA receive a new byte when RDRF is already full, then there's an overrun. But it's the new byte that is lost, not the one that was already present. This means mouse packet for example will never be received.

I think that for emutos it's enough to wait for $f1 after the ikbd reset, with an optionnal timeout of 300 ms. As a timer, you could also wait for a few VBL :

while count < 50
{
 count++
 stop $2300
 check bit 0 of $fffc00
 if RDRF set exit
}



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/