Ana Sayfa
Amiga Dokumantasyon Projesi
Medya
Yardım
Ara
Giriş Yap
Kayıt
Merhaba,
Ziyaretçi
. Lütfen
giriş yapın
veya
üye olun
.
1 Saat
1 Gün
1 Hafta
1 Ay
Her zaman
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.tr
Genel Kategori
Proje
PS2 Dualshock to C64 Mod
« önceki
sonraki »
Sayfa: [
1
]
2
3
...
6
Aşağı git
Gönderen
Konu: PS2 Dualshock to C64 Mod (Okunma Sayısı 10897 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
ksercan5
Deneyimli
Mesaj Sayısı: 662
80ler candır... Commodore fan since ‘86
PS2 Dualshock to C64 Mod
«
:
Mart 23, 2020, 20:44:55 ÖS »
Güncelleme 2
PCBWAY'den kartlar geldi. Elimde sadece Arduino pro mini 3.3V olmadığından onu lehimlemedim. Şu andaki görünümü bu şekilde oldu. Arduino'nun rahatça programlanması için ilave pin headerlar ekledim. İlave olarak harici güç ile besleme için ikili header ve güç seçme düğmesi var. Arduino'nun kullanılmayan bacaklarını da ileride modifiye yapılması için boş bırakacağım. Bu konuda fikri olan olursa yazsın lütfen. Kartı ona göre güncelleyebilirim.
Daha ileriki aşamalarda da PIC kullanarak yapmak istiyorum aynı devreyi.
Güncelleme,
Tekrar selamlar,
Bu projenin daha kolay yapılabilmesini sağlamak için PCB tasarımı işine biraz bulaşayım dedim. Karantina sürecinde bayağı bir uğraştım. En son bir deneme yapmak maksadı ile bu projenin PCB'sini çizdim ve PCBWAY'de ürettirdim. Şu an yolda. Gelince test edip sizinle tekrar paylaşırım. Şimdilik PCB'nin çizimlerini koyuyorum.
Satış sayfası --->
https://www.commodore.gen.tr/forum/index.php?topic=18856.0
------------------------------------------------------------------------------------
Merhaba,
Evde oturmak zorunda kaldığımız şu günlerde kendimi retro projelerine verdim. PS2 Dualshock kontrolcüyü C64 de kullanmak istiyorum. Aşağıdaki linkte bunun için yazılmış bir Arduino kütüphanesi var.
http://www.billporter.info/2010/06/05/playstation-2-controller-arduino-library-v1-0/
Örnek kod ve açıklamalar ile aşağıdaki gibi bir prototip oluşturdum. Çalıştığını gördükten sonra Arduino pro mini kullanmak istiyorum. Son durum şöyle:
PS2 den arduinoya giden kısım tamam. Cihaz çalışıyor ve serial monitor'da tüm tuşları kontrol ediyorum. Ama C64'e bağladığımda klavye ile çakışma oluyor. Bazı tuşlar joystick takılınca çalışmıyor. Arduino dosyası da ektedir. Üstatlarımdan yardım rica ederim. Saygılar ve sağlıklı günler dilerim.
Yazılım için ->
https://github.com/ksercan5/PS2toDB9Adapter
Ps2_to_C64_bb.jpg
(602.83 KB, 2475x1182 - Görüntüleme: 259 kez.)
C64_Joystick_Project_V0_1.zip
(2.56 KB - Yükleme: 89 kez.)
Small_dualshock_c64_adapter.png
(111.51 KB, 1024x682 - Görüntüleme: 82 kez.)
Small_dualshock_c64_adapter2.png
(83.44 KB, 1024x682 - Görüntüleme: 95 kez.)
Small_IMG_20201015_160223.jpg
(141.47 KB, 576x768 - Görüntüleme: 81 kez.)
Small_IMG_20201015_160247.jpg
(131.74 KB, 576x768 - Görüntüleme: 89 kez.)
Small_IMG_20201015_160252.jpg
(114.51 KB, 576x768 - Görüntüleme: 84 kez.)
Small_IMG_20201015_160750.jpg
(145.28 KB, 576x768 - Görüntüleme: 92 kez.)
«
Son Düzenleme: Aralık 10, 2020, 17:06:23 ÖS Gönderen: ksercan5
»
Logged
A500 - Rev6 - 1Mb RAM - GOTEK - Multi-rom
C64C - Multikernel cart - TapeCartSD - Pi1541
C64C - EPYX Fastload
Atari 800XL - Restored
Gameboy DMG-01 - RIPS v2 Upgrade
seco.gen.tr
|
Satış Sayfam
yavuzg
Genel Yönetici
Mesaj Sayısı: 5.521
Ynt: PS2 Dualshock to C64 Mod
«
Yanıtla #1 :
Mart 23, 2020, 21:01:26 ÖS »
O şemadan DB9 bağlantılarının tam olarak hangi Arduino pine gittiği çok belli değil. Arduino GND DB9'un pin 8'ine gitmeli ancak o şemada sanki pin 9'a bağlanmış gibi. Eğer öyleyse yanlış. Umarım öyle değildir zira SID çipine zarar verme ihtimali var ki orası analog pin ve direk SID çipine gider
Logged
SCARTCADE
NEO GEO
Elvira Pinball Restorasyon
ksercan5
Deneyimli
Mesaj Sayısı: 662
80ler candır... Commodore fan since ‘86
Ynt: PS2 Dualshock to C64 Mod
«
Yanıtla #2 :
Mart 23, 2020, 21:04:14 ÖS »
Alıntı sahibi: yavuzg üzerinde Mart 23, 2020, 21:01:26 ÖS
O şemadan DB9 bağlantılarının tam olarak hangi Arduino pine gittiği çok belli değil. Arduino GND DB9'un pin 8'ine gitmeli ancak o şemada sanki pin 9'a bağlanmış gibi. Eğer öyleyse yanlış. Umarım öyle değildir zira SID çipine zarar verme ihtimali var ki orası analog pin ve direk SID çipine gider
Evet ben de anlaşılmayabileceğini tahmin ettim. DB9 pin 8 gnd'a, pin 6'da arduino D7 ye bağlı. DB9 da 5,7 ve 9 boşta. 7'yi daha sonra arduinoyu beslemek için kullanmak istiyorum.
Logged
A500 - Rev6 - 1Mb RAM - GOTEK - Multi-rom
C64C - Multikernel cart - TapeCartSD - Pi1541
C64C - EPYX Fastload
Atari 800XL - Restored
Gameboy DMG-01 - RIPS v2 Upgrade
seco.gen.tr
|
Satış Sayfam
yavuzg
Genel Yönetici
Mesaj Sayısı: 5.521
Ynt: PS2 Dualshock to C64 Mod
«
Yanıtla #3 :
Mart 23, 2020, 21:32:43 ÖS »
DB9'a doğru yerden bakarak sayıyorsun değil mi? Yani C64 port'una dışarıdan bakarken en sol üst köşedeki pin 1 dir.
Bağlantılarının gerçek fotoğraflarını gösterirsen hatayı daha kolay buluruz.
Bu arada illaki bir hata vardır zira anlattıklarına bakılırsa digital pinlerle klavyenin bir alakası yoktur yani Arduino kodu bile sorunlu olsa klavye problemi yaşamaman lazım. Ancak analog hatlara (pin 5, pin 9) potansiyometre dışında bir sinyal bağladıysan analogları kontrol eden multiplexer sapıtıyor olabilir ki bu multiplexer CIA'a bağlı ve hangi portun okunması gerektiğini ayarlarken arada klavye matrisini de tarar...
Bu arada Arduino'yu DB9'dan gelen +5V ile beslememelisin. O pin'in maksimum besleme akımı 100mA. Fazla akım çekersen C64'e zarar verirsin.
Logged
SCARTCADE
NEO GEO
Elvira Pinball Restorasyon
AmigaEsref
Genel Yönetici
Mesaj Sayısı: 6.435
love is better than
Ynt: PS2 Dualshock to C64 Mod
«
Yanıtla #4 :
Mart 23, 2020, 21:38:30 ÖS »
Bu amiga ama sanırım c64 ile aynı şema belki işinize yarar.
https://www.commodore.gen.tr/forum/index.php?action=dlattach;topic=18064.0;attach=35255;image
Logged
AMIGA 500 | GOTEK | 1 MB RAM | 1.3 ROM | Pi Zero HDMI
AMIGA 1200 | 8GB CF | 3.1 ROM | 8 MB RAM | HDMI-520
COMMODORE 64 | IRQHack64 | KissCart64 | 64K CUPCAKE-CART | Pi 1541 | 1084 S
ksercan5
Deneyimli
Mesaj Sayısı: 662
80ler candır... Commodore fan since ‘86
Ynt: PS2 Dualshock to C64 Mod
«
Yanıtla #5 :
Mart 23, 2020, 21:39:02 ÖS »
Evet pinler doğru, zaten joystick kontrol programını yükleyip joysticki bağlayınca tüm yönlerin ve fire tuşunun çalıştığını görüyorum. Ama klavyede sorunlar oluyor ayrıca ekranda da ufak bir parazit görüyorum bağlayınca. Fotoğraf koyamıyorum çünkü jumper kablolar çok karışık. Birşey anlaşılmıyor uzaktan bakınca
Arduino pro mini kullancağım, max 200mA çeker diyor, o zaman dışarıdan beslemek lazım sanırım
Logged
A500 - Rev6 - 1Mb RAM - GOTEK - Multi-rom
C64C - Multikernel cart - TapeCartSD - Pi1541
C64C - EPYX Fastload
Atari 800XL - Restored
Gameboy DMG-01 - RIPS v2 Upgrade
seco.gen.tr
|
Satış Sayfam
ksercan5
Deneyimli
Mesaj Sayısı: 662
80ler candır... Commodore fan since ‘86
Ynt: PS2 Dualshock to C64 Mod
«
Yanıtla #6 :
Mart 23, 2020, 21:40:19 ÖS »
Alıntı sahibi: AmigaEsref üzerinde Mart 23, 2020, 21:38:30 ÖS
Bu amiga ama sanırım c64 ile aynı şema belki işinize yarar.
https://www.commodore.gen.tr/forum/index.php?action=dlattach;topic=18064.0;attach=35255;image
Aynen sadece fire2 yerine pot var c64'de farklı olarak.
Logged
A500 - Rev6 - 1Mb RAM - GOTEK - Multi-rom
C64C - Multikernel cart - TapeCartSD - Pi1541
C64C - EPYX Fastload
Atari 800XL - Restored
Gameboy DMG-01 - RIPS v2 Upgrade
seco.gen.tr
|
Satış Sayfam
AmigaEsref
Genel Yönetici
Mesaj Sayısı: 6.435
love is better than
Ynt: PS2 Dualshock to C64 Mod
«
Yanıtla #7 :
Mart 23, 2020, 21:46:35 ÖS »
Alıntı sahibi: ksercan5 üzerinde Mart 23, 2020, 21:39:02 ÖS
Evet pinler doğru, zaten joystick kontrol programını yükleyip joysticki bağlayınca tüm yönlerin ve fire tuşunun çalıştığını görüyorum. Ama klavyede sorunlar oluyor ayrıca ekranda da ufak bir parazit görüyorum bağlayınca. Fotoğraf koyamıyorum çünkü jumper kablolar çok karışık. Birşey anlaşılmıyor uzaktan bakınca
Arduino pro mini kullancağım, max 200mA çeker diyor, o zaman dışarıdan beslemek lazım sanırım
Kalem pil çözer gibi abi o işi. Devre işlerini ustalar daha iyi bilir. Belki 7. pinden voltajı alıp, GND üzerinden besleme sağlanabilir. Atıyorum bu konu hakkında bilgim olmadığı için
Belki bir işe yarar buda dursun;(Farklı marka kalem pillerin mA cinsinden verdikleri değerler)
https://store.donanimhaber.com/85/b9/35/85b935bac99e6413c047a36f0d408467.JPG?utm_campaign=DonanimHaber&utm_medium=referral&utm_source=DonanimHaber
«
Son Düzenleme: Mart 23, 2020, 21:50:21 ÖS Gönderen: AmigaEsref
»
Logged
AMIGA 500 | GOTEK | 1 MB RAM | 1.3 ROM | Pi Zero HDMI
AMIGA 1200 | 8GB CF | 3.1 ROM | 8 MB RAM | HDMI-520
COMMODORE 64 | IRQHack64 | KissCart64 | 64K CUPCAKE-CART | Pi 1541 | 1084 S
ksercan5
Deneyimli
Mesaj Sayısı: 662
80ler candır... Commodore fan since ‘86
Ynt: PS2 Dualshock to C64 Mod
«
Yanıtla #8 :
Mart 23, 2020, 21:48:05 ÖS »
Alıntı sahibi: AmigaEsref üzerinde Mart 23, 2020, 21:46:35 ÖS
Alıntı sahibi: ksercan5 üzerinde Mart 23, 2020, 21:39:02 ÖS
Evet pinler doğru, zaten joystick kontrol programını yükleyip joysticki bağlayınca tüm yönlerin ve fire tuşunun çalıştığını görüyorum. Ama klavyede sorunlar oluyor ayrıca ekranda da ufak bir parazit görüyorum bağlayınca. Fotoğraf koyamıyorum çünkü jumper kablolar çok karışık. Birşey anlaşılmıyor uzaktan bakınca
Arduino pro mini kullancağım, max 200mA çeker diyor, o zaman dışarıdan beslemek lazım sanırım
Kalem pil çözer gibi abi o işi. Devre işlerini ustalar daha iyi bilir. Belki 7. pinden voltajı alıp, GND üzerinden besleme sağlanabilir. Atıyorum bu konu hakkında bilgim olmadığı için
Besleme kalsın sadece sıkıntı değil üstat, bir şekilde elektrik veririm ona ben
Aslında anladığım kadarı ile pinler ile gnd arasında bağlantı kurulduğunda joystick görev yapıyor, ben de ps2 deki tuşa basılıp basılmadığını arduino ile kontrol edip basılmış ise ilgili pini LOW yapıyorum, basılmamış ise HIGH'da kalıyor. Mantık hatası mı yapıyorum acaba?
«
Son Düzenleme: Mart 23, 2020, 21:50:18 ÖS Gönderen: ksercan5
»
Logged
A500 - Rev6 - 1Mb RAM - GOTEK - Multi-rom
C64C - Multikernel cart - TapeCartSD - Pi1541
C64C - EPYX Fastload
Atari 800XL - Restored
Gameboy DMG-01 - RIPS v2 Upgrade
seco.gen.tr
|
Satış Sayfam
fort_apocalypse
Uzman
Mesaj Sayısı: 2.506
Ynt: PS2 Dualshock to C64 Mod
«
Yanıtla #9 :
Mart 23, 2020, 22:07:25 ÖS »
Kuplaj yapmayı denediniz mi? Mesela 2 adet 74HC4066 ile DB9'un GND ve kontrol pinleri arasındaki anahtarlamayı arduinodan izole edebilirsiniz. Ben Amiga elektronik booter devrede bu şekilde anahtarlama yapmıştım.
Not: 74HC4066, 4066 entegreden daha kararlı çalıştığı için 74HC4066 tercih etmiştim, belki 4066 da işinizi görebilir. "586220 Diagnostic harvest" devrede de 2 adet 4066 mevcut. Bir çipte 4 anahtar mevcut, 5. anahtar için 2 adet gerekecek.
pin-assignment-of-74hc4066.jpg
(43.64 KB, 1000x819 - Görüntüleme: 181 kez.)
«
Son Düzenleme: Mart 23, 2020, 22:14:00 ÖS Gönderen: fort_apocalypse
»
Logged
Teknik soruları özel mesajla değil forum aracılığıyla sorunuz, herkes faydalanabilsin.
...
ksercan5
Deneyimli
Mesaj Sayısı: 662
80ler candır... Commodore fan since ‘86
Ynt: PS2 Dualshock to C64 Mod
«
Yanıtla #10 :
Mart 23, 2020, 22:16:52 ÖS »
Alıntı sahibi: fort_apocalypse üzerinde Mart 23, 2020, 22:07:25 ÖS
Kuplaj yapmayı denediniz mi? Mesela 2 adet 74HC4066 ile DB9'un GND ve kontrol pinleri arasındaki anahtarlamayı arduinodan izole edebilirsiniz. Ben Amiga elektronik booter devrede bu şekilde anahtarlama yapmıştım.
Not: 74HC4066, 4066 entegreden daha kararlı çalıştığı için 74HC4066 tercih etmiştim, belki 4066 da işinizi görebilir. "586220 Diagnostic harvest" devrede de 2 adet 4066 mevcut. Bir çipte 4 anahtar mevcut, 5. anahtar için 2 adet gerekecek.
Sinan hocam ben de böyle bir şey düşünüyordum ama elektronik bilgim iyi olmadığı için tabi varlığından haberdar değildim. Bence bu işi çözer gibi. Teşekkür ediyorum.
Logged
A500 - Rev6 - 1Mb RAM - GOTEK - Multi-rom
C64C - Multikernel cart - TapeCartSD - Pi1541
C64C - EPYX Fastload
Atari 800XL - Restored
Gameboy DMG-01 - RIPS v2 Upgrade
seco.gen.tr
|
Satış Sayfam
fort_apocalypse
Uzman
Mesaj Sayısı: 2.506
Ynt: PS2 Dualshock to C64 Mod
«
Yanıtla #11 :
Mart 23, 2020, 22:22:15 ÖS »
Rica ederim, bir şey değil.
Logged
Teknik soruları özel mesajla değil forum aracılığıyla sorunuz, herkes faydalanabilsin.
...
yavuzg
Genel Yönetici
Mesaj Sayısı: 5.521
Ynt: PS2 Dualshock to C64 Mod
«
Yanıtla #12 :
Mart 23, 2020, 22:49:01 ÖS »
İlgili PSX butonu basılınca DB9'a giden lgili arduino pin'lerini LOW yapmak doğru. Ancak PSX butonuna basılmayınca DB9'a ne gidiyor? HIGH mı? Eğer öyleyse farklı bir +5V kaynağından sinyal göndermeniz C64 CIA çipi ve Arduino arasında voltaj farkı yaratıp sorun çıkartır.
Bunun yerine ya fort_apocalypse'in önerdiği gibi solid-state röle entegresini kullanabilirsiniz ya da bunu yazılımda çözebilirsiniz.
Eğer ilgili pin'i HIGH yapmak yerine yönünü Input'a çevirirseniz pin High-Z durumuna geçer. Yani hiçbir voltaj vermeden yüksek empedans moduna geçer. Yani açık devre olur. Bu sayede Arduino ve C64'ü izole etmiş olursunuz.
Bu genelde voltaj uyumu olmayan iki devre arasında kullanılan bir yöntemdir (örn. 3.3V sistem - 5V Arduino/AVR vs arasında).
Örnek:
if (ps2x.ButtonPressed(PSB_PAD_DOWN)) {
Serial.println("Pad Down pressed");
pinMode(5, OUTPUT);
digitalWrite(5, LOW);
}
...
if (ps2x.ButtonReleased(PSB_PAD_DOWN)) {
Serial.println("Pad Down Released");
pinMode(5, INPUT);
}
Logged
SCARTCADE
NEO GEO
Elvira Pinball Restorasyon
yavuzg
Genel Yönetici
Mesaj Sayısı: 5.521
Ynt: PS2 Dualshock to C64 Mod
«
Yanıtla #13 :
Mart 23, 2020, 23:01:46 ÖS »
Bir de kodun baş tarafındaki pin 3,4,5,6 ve 7'yi OUTPUT'a set eden pinmode'ları kaldırın ya da INPUT'a çevirin.
Logged
SCARTCADE
NEO GEO
Elvira Pinball Restorasyon
ksercan5
Deneyimli
Mesaj Sayısı: 662
80ler candır... Commodore fan since ‘86
Ynt: PS2 Dualshock to C64 Mod
«
Yanıtla #14 :
Mart 23, 2020, 23:19:03 ÖS »
Tamam hocam, deneyip paylaşırım sonucu, teşekkür ederim
Logged
A500 - Rev6 - 1Mb RAM - GOTEK - Multi-rom
C64C - Multikernel cart - TapeCartSD - Pi1541
C64C - EPYX Fastload
Atari 800XL - Restored
Gameboy DMG-01 - RIPS v2 Upgrade
seco.gen.tr
|
Satış Sayfam
Sayfa: [
1
]
2
3
...
6
Yukarı git
« önceki
sonraki »
Gitmek istediğiniz yer:
Gitmek istediğiniz yer:
-----------------------------
Genel Kategori
-----------------------------
=> Genel Sohbet
=> Proje
===> Proje Alım/Satım
=> DemoScene
=> Tanışma Forumu
-----------------------------
Commodore
-----------------------------
=> Commodore Genel
=> Commodore Yazılım
=> Commodore Donanım
===> C64DTV (C64 Direct-to-TV)
=> Commodore Yayınları
=> Commodore Emulasyon
-----------------------------
Amiga
-----------------------------
=> Amiga Genel
=> Amiga Yazılım
=> Amiga Donanım
=> Amiga Yayınları
=> Amiga Emülasyon
-----------------------------
Diğer Nostaljik Bilgisayarlar
-----------------------------
=> IBM Uyumlular / Retro x86 Sistemler
=> FPGA/ARM Sistemler
=> Amstrad
===> Amstrad - Genel
===> Amstrad - Yazılım
===> Amstrad - Donanım
===> Amstrad - Yayınlar
===> Amstrad - Emulasyon
=> Apple
===> Apple - Genel
===> Apple - Yazılım
===> Apple - Donanım
===> Apple - Emulasyon
=> Atari
===> Atari - Genel
===> Atari - Yazılım
===> Atari - Donanım
===> Atari - Emulasyon
=> MSX Uyumlular
===> MSX - Genel
===> MSX - Yazılım
===> MSX - Donanım
===> MSX - Emulasyon
=> Oric
===> Oric - Genel
===> Oric - Donanım
===> Oric - Yazılım
===> Oric - Emulasyon
=> Sinclair
===> Sinclair - Genel
===> Sinclair - Yazılım
===> Sinclair - Donanım
===> Sinclair - Emulasyon
=> Diğer Bilgisayarlar
-----------------------------
Arcade Sistemler ve Oyun Konsolları
-----------------------------
=> Arcade Sistemler
=> Oyun Konsolları