Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz

  Gelişmiş Arama
insanın içinde varsa, commodore.gen.tr açığa çıkarır bunu.. bir nevi retro olaylarının dolunayıyız.(Arda)
commodore.gen.trGenel KategoriProjeC64 için iki butonlu joystick projesi
Sayfa: [1]   Aşağı git
Yazdır
Gönderen Konu: C64 için iki butonlu joystick projesi  (Okunma Sayısı 173 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 3.915


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« : Dün 08:54:14 »

Uzun zamandır aklımda C64 için iki butonlu gamepad yapma fikri vardı. Retrogamerboyz'un platformer gamepad'ini görünce daha bir gaza geldim. Biraz araştırma yaptım.

İlk başta düşüncem C64 GS ile bundle olarak gelen Cheetah Annihilator uyumlu bir gamepad  yapmaktı. icomp wiki'ye göre bu gamepad Chamelon, Atari 800/VCS, VIC-20, C64GS ve Amiga'da da kullanılabilecek. Öte yandan Atari 7800, CD32, Amstrad, MSX ve Sega ile uyumlu olmayacak.

C64 GS ve Annihilatör yeterince popüler olmadığı için C64 oyunlarının çoğu iki butonu desteklemiyor. Tam tersine boşluk tuşunu ikinci olarak destekleyen oyunların sayısı daha fazla. Bu yüzden ikinci tuşu JOY1 fire'a bağlayan bir mod ilave etmeyi düşündüm. (Fazla detaya girmeyeyim. C64'de JOY1 fire ile boşluk tuşu aynıdır.) Son olarak platform oyunlarında gamepad ile yukarı ile zıplamak zor olduğundan ikinci tuşu zıplama olarak olarak atayan bir mod daha düşündüm.

Bu senaryoya göre kurguladığım devre şemasını aşağıda ekledim.

Bu aşamada elektronik konusunda tecrübeli arkadaşlara iki sorum olacak.

1. Space modunda, JOY1 ve JOY2 portlarının GND pinlerini birleştirmek gerekir mi? Aslında bu mod Quickshot Maverick joysticklerde var. Ancak elimdeki Maverick'i kurcalamak istemiyorum.
2. POTX pin'i doğrudan SID'e bağlı. Uzun süreli kullanımda SID'in statik elektrikten zarar görmesinden çekindim. Bununla ilgili bir şey yapılabilir mi?

* 3modejoy.pdf (116.88 KB - Yükleme: 5 kez.)

* retrogamerboyz_joystick.jpg (558.23 KB, 2379x2560 - Görüntüleme: 12 kez.)
Logged

yavuzg
Genel Yönetici
*****
Mesaj Sayısı: 4.945



Üyelik Bilgileri
« Yanıtla #1 : Dün 09:42:12 »

Cevap veriyorum;

1) GND muhtemel içeriden bağlıdır/ortaktır zaten. Gerek yok bence
2) Bu soruya genel bir cevp yazayım. Şöyle ki...

Bu tür kontrollerde, özellikle "seçimlik" switch bağlantılarında diot kullanmanı tavsiye ederim. Switch'lerin GND'a kapandığı senaryolarda oluşabilecek anlık voltaj pik'lerinin içerideki çiplere zarar vermemesi için arcade board'larda (ve pinball'da) sıkça kullanılan bir yöntemdir.

[SID]----O--->|---O/ O--GND

şeklinde...

Eşeği sağlam kazığa baklamak istersen de bence tüm kontak switch'lere birer diot bağlayacak şekilde devreyi modifiye edebilirsin istersen. Diğerleri de CIA çiplerine bağlı malum... Onlar da SID kadar nadir artık
Logged

HkRecai
Üye
****
Mesaj Sayısı: 390



Üyelik Bilgileri
« Yanıtla #2 : Dün 10:14:02 »

Bilirsiniz gerçi resimdeki tip joystiklerin iki kablosunu birden amiga yada C64'de takınca ikinci tuş diğer joystiğin tuşu oluyor. Sürgülü anahtarı sayesinde hiç kabloları çıkarmadan oyuna göre aktif portu swiç ediliyor.
Bence Maverick joystik her Commodore'cunun elinde olması gereken bir joystik.
2 adet kablo, çok kontaklı sürgülü anahtar gibi gerekli parçalar bulunursa arcade joystick ve butonla birebir aynısı yapılabilir.




* maverick.jpg (29.33 KB, 400x282 - Görüntüleme: 95 kez.)
« Son Düzenleme: Dün 10:15:52 Gönderen: HkRecai » Logged
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 3.915


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #3 : Dün 14:20:54 »

Diot konusunda biraz aklım karıştı.

C64 joystick portunda 100mA'ya kadar akım sağlayabiliyormuş.

Bu durumda direnç.net'te bulduğum (linkteki) diyot yeterli olur mu?
https://www.direnc.net/1n4148-diyot-mic?_sgm_campaign=scn_7b4acf92e0000&_sgm_source=1157&_sgm_action=click

Forward Current If(AV):300mA
Forward Voltage VF Max:1V

Alıntı
For the second button/right mouse button the POT X line is used (and for 3rd button/middle mouse button POTY), which - different to the other lines - must be pulled to VCC via the button.

icomp'daki uyumluluk tablosunun altındaki VIC20/C64/GS için konulan notu fark ettim. Çizimi buna göre güncelledim. Çizimdeki pull-up direncin bağlantısı doğru mu? Burada 5k Ohm'luk bir direnç yeterli olur mu?




* 3modejoy .jpg (235.24 KB, 1753x1239 - Görüntüleme: 27 kez.)
Logged

yavuzg
Genel Yönetici
*****
Mesaj Sayısı: 4.945



Üyelik Bilgileri
« Yanıtla #4 : Dün 15:18:48 »

pull-up dirençler genelde 1K-10K arası yeterlidir. 5K uygundur.

1N4148 bu iş için uygun. Yanlız senin şemada yönleri ters.
Logged

wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 3.915


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #5 : Bugün 13:25:02 »

Sanıyorum bu sefer oldu.


* 3modejoy .png (101.83 KB, 1754x1240 - Görüntüleme: 9 kez.)
Logged

yavuzg
Genel Yönetici
*****
Mesaj Sayısı: 4.945



Üyelik Bilgileri
« Yanıtla #6 : Bugün 13:50:49 »

Abi cimrilenme, diodları bütün kontroller için koy derim

yanlız 4148 leri böyle bir uygulamada hiç denemedim. bu sıradan sinyal diyotlar biraz voltaj harcar. CIA çipi TTL mi CMOS mu bilmiyorum. 1N4148'i GND'a çektiğinde üzerinde 0.7-1V arası bir voltaj kalır. Bu CMOS logic'de hala "LOW" olarak değerlendirilir ancak TTL logic'de hala LOW olarak değerlendirilebilir mi bilemiyorum. Gerçi üzerinden geçen akıma bağlı oluşan Vf (forward voltaj). Yani az akım geçiyorsa 0.6V civarı bir Vf oluşur ki bu hala TTL logic'de LOW (0.6 < 0.8 )

Yani bu tedirginliği yaşamadan biraz daha pahalı ama daha düşük Vf olan 1N5817 ler de düşünülebilir.

Ya da bread board üzerinde test edip kendin karar ver


Logged

Sayfa: [1]   Yukarı git
Yazdır
Gitmek istediğiniz yer: