Daha düşük DPI'li bir PS/2 ile denediğinizde sorun ortadan kalkıyorsa, ki öyle olmalı, sorun çeviricideki PIC/Atmel vb. için kodlanan programdadır.
Bu firmware/program PS/2 mouse'un gönderdiği son DeltaX DeltaY verisini alıp Joystick portundaki ilk dört bit üzerinden pulse'lar gönderiyor...
Bilgisayardaki mouse driver ise interrupt hızına bağlı olarak bu 4 bitten örneklem alıp 0'dan 1'e, ve 1'den 0'a geçişleri (aslında bunlar normalde mekanik toplu mouse içinde infrared led ve alıcı transistör arasında dönen delikli tekerleğin engelleyip izin verdiği ışığın tetiklediği sinyaller) hareket olarak kaydedip imlecin konumu güncelliyor.
Ama eğer, daha okumadan bitler hızla değişirse gördüğünüz o saçmalık gerçekleşiyor... Benzer durumu C64'e kendi yaptığım mouse'u taktığımda fark etmiştim, interrupt sıklığını arttırmak sorunu çözmüştü.
Atari'de sorunu gidermek içinse 3 öneri: 1) TOS'u değiştirip interrupt sıklığını arttırmak; 2) PS/2 mouse adaptörünün firmware'ini değiştirip bir üst limit koymak, belli bir hızdan sonrası için birim süre başına daha fazla pulse göndermesin; 3) Düşük DPI'lı PS/2 mouse kullanmak, çözünürlüğü düşük, eski bir mouse mesela.
Ben de aynı şekilde düşünüyorum, ikinci seçenek sanırım en verimli olanı, pic yazılımın source kodunu araştırıyorum, Bulabilirsem bir üst limit nasıl eklenebilir o ikinci basamak olacak.
c64 serial mouse adaptörde de benzer sorun vardı, onda da yazılıma bir üst sınır eklense süper olabilir.
Teşekkürler İlker Hocam.