C64GS ile beraber gelen Cheetah Annihilator joystick iki butonlu. İkinci buton padlle için düşünülen PotY pine bağlı. Ben üçüncü butonu iki pine birlikte bağlamayı düşündüm. Bu şekilde iki butona aynı anda basıldığınca 3. buton olarak algılanacak. Alternatif olarak PotX'de kullanılabilir. Proof of Consept olarak da yumruk, tekme ve gard tuşları olan bir dövüş oyunu düşündüm. Daha da abartmak istersek PotX/Y pinleri analog. Bu portlara birden fazla buton bağlayıp, önlerine de farklı değerlerde dirençler konularak buton sayısı daha da arttırılabilir.
ne sid yansın ne cia diyorsan aslında bu işe hiç girmemek lazım

potx ve poty'yi kullanmayı şahsen ben tercih etmezdim çünkü bunlar sid çipine bağlı. Biraz düşündüm de, iki butona aynı anda basılması tek bir durum olduğu için ekstra bir buton için yetmez. Buton için iki durumu ifade edebilmen gerekir. Basılı değil ve Basılı.
4 butonun birden doğruluk tablosunu çıkartıp anlamlı olan durumları işaretlediğinde anlamsız olan 7 durum çıkıyor.

Ama şöyle bir sıkıntı var, aynı anda hem yön tuşları hem de ekstra buton kullanıldığında senin bu 16 durum içinde hem orjinal durumu hem de yeni butonun basılı / basılı değil bilgisini iletmen lazım. Yani 9 anlamlı durum * 2 anlamlı duruma çıkıyor iş = 18 durum. Mevcut 4 pin ile karşılanamaz. Bilgiler eş zamanlı iletilmeyecek ve farklı bir şekilde encode edilecekse yapılabilir ancak sanki. Örneğin bilgileri tek seferde değil bir kaç turda gönderirsen istediğin kadar buton ekleyebilirsin. Tabii cia'den okuduğun noktada bir cpu overhead'i olacak, zamanlamayı da tutturmak gerekecek. Bir nevi yarı seri yarı paralel bir protokol yapabilirsin.
Tabii işin bir de debouncing kısmı var, yaptığın devre c64'ün yaptığı debouncing'i (c64'ün hardware olarak yaptığını tahmin ediyorum) nasıl etkileyecek.
Pass through mantığıyla çalışan bir devre düşünmüştüm. Giriş tarafında butonlar, çıkış tarafında ise jamma veya pc için kontrol kartı bağlanacak. Sistem boşta iken butonlardan gelen sinyali bire bir iletecek. Özel bir olay tetiklendiğinde ise önceden kaydedilen makroyu gönderecek. Bu olay özel bir makro butonuna basılması veya birden fazla butona aynı anda basılması olabilir. Sanıyorum shift register ve bol miktarda optocoupler kullanmak gerekecek.
Enteresan bir proje olabilir bu. Doğrudan arcade sisteme bağlanabileceği için de user friendly olur.