Menu

#1791 Keyboard reading using direct CIA access is next to unusable

v3.5
closed-out-of-date
gpz
None
Linux
CIA
2024-08-18
2022-12-08
No

This bug was reported to me by users also for version 3.6. It seems that on MacOS and Windows everything works as expected.
I have a project written in assembly using CC65 assembler for C128 (native mode) and C64 whicih can be found here: https://github.com/skeetor/c64-src/tree/master/C128/spreddi The build file builds both versions.
This project uses direct hardware access to the CIA keyboard ports to read the keyboard for the application. Currently it uses no Interrupts but reads the ports in a loop. There is a delay loop for ke repeat feature. When I run this program on an original machine C128 or C64 everything works fine, as well as under Vice 3.2, 3.5 and 3.6 under Windows. Users also reported that MacOSX also seems to work. However, it appears that on Linux (Ubuntu) there is extreme lagging when trying to move the cursor around or using the keyboard, to the point where it becomes unusable.
Users reported that also with the default emulation the keyboard seems to be a problem but not on a large enough scale to become unusable.
Since this program works on original hardware as expected and doesn't even do some special timing tricks it might be of interest to investigate this behavior and fix it.

In case you have questions you can contact me at sparhawk@gmx.at. I attached a disc image containing both versions for C128 and C64.

1 Attachments

Discussion

  • Gerhard W. Gruber

    Update:At least one user reported this problems also using Windows 10 with 3.5 and 3.6. On my own system I had no such problems though, so I can't directly confirm it myself.

     
  • gpz

    gpz - 2022-12-08

    I don't see a problem with cursor movement at all here (on gentoo linux, using svn head revision) - the program seems to work just fine. It's also very very unlikely that the problem is related in the CIA emulation - since the keyboard port interface is almost trivial, and we'd know fundamental problems like that by now.

    That said, please try to describe your setup exactly so we can try to reproduce the problem. Things that could matter include the screen refresh rate, perhaps the sound settings, what exact OS/Desktop/WM,

    It'd also help if you could try with the svn head revision and try to reproduce the problem with that.

    And last not least - make sure the problem is actually not in your own program - eg by clearing the entire memory before running it. Different VICE releases (and real C64s) have different RAM init patterns, so if there is uninitialized RAM used somewhere, the behaviour may change randomly on different setups.

     
  • gpz

    gpz - 2022-12-09
     
  • gpz

    gpz - 2022-12-09

    Oh and also please tell if you are using the SDL or GTK version (and then try the "other").

    Also forgot: since a few days there are experimental "ad hoc" linux builds here: https://github.com/VICE-Team/svn-mirror/releases (uninstall VICE first before you install those, to make sure you dont mix installs)

    Another thing that would be interesting is what kind of hardware you are running there.

     
  • gpz

    gpz - 2023-01-30
    • status: open --> open-need-info
     
  • gpz

    gpz - 2024-08-18

    no feedback for over a year, closing

     
  • gpz

    gpz - 2024-08-18
    • status: open-need-info --> closed-out-of-date
    • assigned_to: gpz
     

Log in to post a comment.