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.trDiğer Nostaljik BilgisayarlarSinclairSinclair - DonanımZX Spectrum +2 joystick port’ları için düzenlemeler
Sayfa: [1]   Aşağı git
Yazdır
Gönderen Konu: ZX Spectrum +2 joystick port’ları için düzenlemeler  (Okunma Sayısı 10780 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
Metallic
Uzman
*****
Mesaj Sayısı: 1.081



Üyelik Bilgileri
« : Aralık 04, 2009, 23:36:37 ÖS »

Baya önceki bir konuda “dahili bir kempston joystick interface için uğraşıyorum, bitirince haber veririm” demiştim. Gerçi yeni bitirmiş değilim, ama anca kısmet oldu anlatmak nedense. Neyse geç olsun, güç olmasın.

ZX Spectrum +2 üzerinde iki adet joystick portu var. Ne güzel. Takarız bir joystick, tüm oyunları oynarız. Commodore, Atari, MSX, Amstrad vs.de böyle alıştık zaten. ZX +2’de maalesef öyle olmuyor. Portlar, sadece Sinclair ZX Interface 2 protokolunu destekliyorlar ve standart Atari, Commodore joystick’leri ile uyumlu değiller. Portların üzerinde de yazıyor zaten “Use only Sinclair SJS1 joysticks”. Amstrad yapmış despotluğunu, sadece kendi joystick’leri kullanılsın, gelsin paralar. Şu tarihte kaç kişide SJS1/SJS2 joystick var, 2-3 kişi anca çıkar herhalde (bir de kaç kişi emulator’ları bırakıp bu cihazın karşısına geçerek oyun oynuyor diye sormam lazım gerçi). Buradan itibaren joystick yerine acaba coistik mi yazsam, yoksa kol mu desem diye düşünmüyor değilim. gg’deki kalabalık bir satıcı grubu bu dilde konuşuyor, şimdi joystick yazarken garip geldi nedense heheh.

Bu SJS (Sinclair Joystick System) joystick’ler piyasada bulunuyor mu, çok ender. Temin etseniz bile her oyunu oynayamazsınız, Interface 2 arabiriminin oyunlardaki desteklenme oranı var bir de işin içinde. Oran bence yaklaşık %80. Ama bir de Kemston joystick interface var ki en popüler olan arabirim, oyunlardaki desteklenme oranı %98 denilebilir.

Önce Kempston joystick interface alayım bari dedim, standart bir joystick takar kullanırım. Baktım pek yok, var ama gg’deki sevmediğim adamlar satıyor. Kendim yapayım  o zaman dedim. Hem de internal olsun, zaten expansion port’a takılacak kenar konektör de bulamam piyasada. Oyunlarda port 2’yi hiç kullanmadığımı düşündüm, port 2’nin bacaklarını pcb’den ayırdım, Sinclair ZX Spectrum Circuit Diagrams 'deki 2-chip Kempston Joystick Interface devresini yaparak port 2’ye bağladım, ama çalışmadı nedense. Ardından 8bit Projects For Everyone 'daki devreyi yapınca oldu.

Sonra port 1' i kullanabilmek amacıyla standart bir joystick’i açıp içerden modifiye edip SJS uyumlu yapayım, kolay olur dedim. Yaptım çalıştı. Gerçi içi biraz karışıktı, kolay olmadı. İşimi gördü, ama hep aynı joystick’i kullanmak zorunda kalıyorum, diğer joystick’leri kullanamıyorum bu sefer. Modifiye olanı da diğer retrolarda kullanamıyorum. O zaman bir joystick dönüştürücü adaptör yapayım bari dedim, standart joystick’lerin ucuna takar kullanırım. Malzemelerini aldım, ama öyle kaldı. Kempston joystick interface bile dahili olarak dururken dışarıda ara parça kullanmak olmaz şimdi dedim ve port 1' i içeriden modifiye ettim.

Fotoğraflar aşağıda, detaylarla devam edicem...



* SDC10390-R.jpg (156.94 KB, 800x600 - Görüntüleme: 1837 kez.)

* SDC10393-R.jpg (137.96 KB, 800x600 - Görüntüleme: 1743 kez.)

* SDC10398-R.jpg (154.06 KB, 800x600 - Görüntüleme: 1802 kez.)

* SDC10399-R.jpg (144.74 KB, 800x600 - Görüntüleme: 1796 kez.)
Logged
Arda
Uzman
*****
Mesaj Sayısı: 2.326


I'm *the* guy from Argleton


Üyelik Bilgileri WWW
« Yanıtla #1 : Aralık 05, 2009, 00:35:47 ÖÖ »

nihayet düzgün bir başlık :=)

Valla kıskanmadım değil ha, çok güzel olmuş. Aslında o kadar pesimist değilim ben sinclair+2 portları konusunda. O joystick portları amstrad ürünü değil bu arada, kauçuk tuşlu speccyler için çıkmış interface2 üzerinde de aynı portlar bulunuyordu. Çalışma sistemi bildiğimiz joysticklerden farklı değil, sadece pinlerin yeri değişik. Clive bunu hep yapmış, "market lideri biziz, marketi de bizim yaratmaya hakkımız var" diyordu bir belgeselde. O zamanlar commodore64 hala 550$ civarındaymış tabii (speccy 200$ civarında iken)...ve önemli oyunların tamamı sinclair joystick portunu destekliyor.

Ammaa, kempston portunun bir güzelliği var, Kempston'a mouse bağlanabiliyor. Sırf bu iş için bile almaya değer. Aynı sitede 3 buton kempston mouse modifikasyonu da vardı, bakmaya değer

Neyse, temiz işçilik çıkarmışsın, orjinal gibi olmuş güle güle kullan.
Logged

LW3D
Yönetici
*****
Mesaj Sayısı: 11.418


Günü Kurtaran Avam Hiooargggh :)


Üyelik Bilgileri WWW
« Yanıtla #2 : Aralık 05, 2009, 10:50:05 ÖÖ »

Güzel ve temiz bir iş çıkartmışsın... Bizlerle paylaştığın içinde ayrıca teşekkürler...
Logged

Metallic
Uzman
*****
Mesaj Sayısı: 1.081



Üyelik Bilgileri
« Yanıtla #3 : Aralık 05, 2009, 10:59:16 ÖÖ »

Teşekkürler arkadaşlar. Şimdi biraz daha devam edeyim, belki bir yapmak isteyen olur.

 
Internal Kempston Joystick Interface yapmak isteyenler için detaylar

Devre şeması şöyle;



Devreyi direk Z80 üzerine de bağlayabilirsiniz, ben expansion port’u tercih ettim. Bu devre takılıyken çalışmayan oyun pek görmedim. Sonradan elime geçen Datel marka bir joystick  interface var,  Kempston uyumlu. RD sinyali kullanılmadığından bazı oyunlar çalışmıyor. Aklıma gelenler Ghost Busters, Ball Blazer, Gyroscope, Stunt Car Racer. Bu devreye de RD sinyalini bağlamayabilirsiniz, ama saydığım oyunlar çalışmaz tabii. Nedeni, devrenin sadece kendisine ait IO işlemine cevap vermesi gerekirken RD sinyali kontrol edilmezse interrupt acknowledge cycle anında da data bus’a veri göndermesi.

İlk gönderdiğim mesajdaki fotoğraflarda fark ettiyseniz 74LS32 yerine 74LS10 kullandım. RD sinyalini yerine M1 sinyalini kullanıyorum. Niye böyle, çünkü Z80 üzerine bağlayarak yaptığım ikinci bir uygulama daha var, ileride anlatırım, o da RD sinyalini kullandığı için uyumsuzluk oluyor. Devrenin değiştirdiğim kısmı şu şekilde;



Devrenin expansion port bağlantıları için aşağıdaki tabloya bakabilirsiniz.



Devre pertenaks’ını sabitlediğim yer fotoğrafta görülüyor, tek cıvata yeterli.

Devreyi port 2’ye bağlamak için portu pcb’den havya ile söktüm. Pinlerini düzelttim, plastik tabanına cıvata geçmesi için iki delik açtım, devreden gelen kabloları pinlere lehimledim. En son olarak portu cıvata ile pcb’ye sabitledim.



Port 1’deki düzenlemeyi yapmak isteyenler için detaylar

Önce portu pcb’den küçük bir yan keski ile ayırdım. Pinlerini düzelttim, plastik tabanına cıvata geçmesi için iki delik açtım. 6’lı kısa bir kabloyu pinlere lehimledim, kablonun diğer uçlarını pcb üzerindeki pin bağlantı noktalarına lehimledim. Son olarak portu cıvata ile pcb’ye sabitledim. Buradaki bağlantı için aşağıdaki tabloyu kullanabilirsiniz;

Port pin   Pcb üzerindeki pin bağlantı noktası    Fonksiyon
---------   -----------------------------------------    ---------
1                        5                                              Up
2                        9                                              Down
3                        7                                              Left
4                        6                                              Right
6                        4                                              Fire
8                        8                                              Ground

Pcb üzerindeki pin bağlantı noktalarının numaraları yok, ama port pinlerinin numaralarına bakarak şu şekilde bulabilirsiniz;

Pin1 bu noktaya bağlıydı, demek ki bu nokta : pin bağlantı noktası 1
Pin2 bu noktaya bağlıydı, demek ki bu nokta : pin bağlantı noktası 2

Bu düzenleme  için şu kaynaklardan yararlandım;
 


Digital joystick connector pinouts



Aşağıdaki fotoğrafta “Use only Sinclair SJS1 joysticks” yazısı silinmiş durumda görülüyor. Şöyle bir macerası oldu; yazıyı çıkarmak için kolanya ve süngerin sert tarafını kullandım, baktım çıkıyor, iyi, devam ettim. Temizleyince gördüm ki yazının beyazlığı dağılmış etrafa, diğer taraflarla arasında bir ton farkı var. Tiner bu beyazlığı çıkarır dedim. Bu sefer süngerin yumuşak tarafıyla siliyorum, yapışkan bir şeyler oluşmaya başladı. Allaa baktım sünger erimeye başlamış. Hemen deterjanlı süngerle sildim, neyse çok kötü bir şey olmadı. Biraz matlık kaldı şimdi o bölgede, boyamak lazım artık ilerde, başıma iş çıkardım. Siz benim gibi yapmayın artık, bırakın kalsın o yazı daha iyi hehe.




Logged
LW3D
Yönetici
*****
Mesaj Sayısı: 11.418


Günü Kurtaran Avam Hiooargggh :)


Üyelik Bilgileri WWW
« Yanıtla #4 : Aralık 05, 2009, 11:08:30 ÖÖ »

Harikasın... Sinclair'e pek ayıracak zamanım olmasada, bu tür düzenlemelerle uğraşanları ve bununla kalmayıp paylaşanları tebrik etmeden geçemem...
Logged

Metallic
Uzman
*****
Mesaj Sayısı: 1.081



Üyelik Bilgileri
« Yanıtla #5 : Aralık 05, 2009, 17:41:00 ÖS »

Neden uğraşılır ki bu kadar işle, oyunlar klavyeden de oynanılıyor zaten. Yok benim gibi alıştıysanız C64, Amiga500, Atari800xl, MSX gibi retrolarda joystick kullanmaya, klavyeden oynamak hiç rahat olmuyor. Hele bir de sonuna kadar gidicem diyorsanız, hızlı oyunlarda da parmaklarınız heyecandan dolanıyorsa. Oyunlarda Kempston joystick interface'in gerekliliğini belirtmek için bir de şunu yazayım. Aşağıdaki oyunlarda Interface 2 desteği yok, menüde redefine yapıp 67890 ile hareketleri Interface 2'ye de yönlendiremiyorsunuz. Ama Kempston varsa takın bir joystick ve oyunun keyfini çıkarın.

Atic Atac
Airwolf
Android 2
Cookie
Jetpac
Manic Miner
Pssst

Hepsi klasik oyunlar. Şu Airwolf ve Cookie yok mu klavye ile hiç şansınız yok bence.

Logged
ilkergorkem
Üye
***
Mesaj Sayısı: 179



Üyelik Bilgileri
« Yanıtla #6 : Aralık 10, 2009, 10:16:07 ÖÖ »

Yazıyı büyük bir keyifle okudum. ellerine sağlık
Logged

ZX Spectrum 48K+ , Amiga 1200 , ZX Spectrum +2 , Amstrad 6128
---------------
7D9 Oyun Yarışması 2.si Board Soccer
7DX Oyun Yarışması 3.sü Run Baby Run
7DX 2013 Oyun Yarışması 3.sü Falcon Patrol
Sayfa: [1]   Yukarı git
Yazdır
Gitmek istediğiniz yer: