Serial I/O is only receiving every third character or so.
Versatile Commodore Emulator
Brought to you by:
blackystardust,
gpz
I ran into the same issue recently. The root cause seems to be that the emulated ACIA's IRQ type wasn't getting set - only the resource for it was. As a result, it wasn't generating IRQs. As far as I can tell, this also likely affected the PET and CBM2 as well.
I threw together the attached patch to fix the issue, and while I had the ACIA datasheet open, I also made some changes to the clearing of status register error flags (reading the data register should clear the overrun, parity and framing error flags), and receive overrun behavior (new data should be discarded until the receive data register is read). The datasheet I used for reference is the more comprenehsive Rockwell one, found at https://downloads.reactivemicro.com/Electronics/Interface%20Adapters/R65C51.pdf.
This is my first time poking at the VICE codebase, so my apologies if this is the wrong approach, but it seems to fix the issue for me and I haven't noticed any new breakage.
applied patch in r37113 - please test if the bug is gone now
thanks for the patch!
So - is it?