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/ |