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 KategoriProjeKetchup - Sd kart destekli Atari 2600 kartuş projesi
Sayfa: 1 [2] 3 4   Aşağı git
Yazdır
Gönderen Konu: Ketchup - Sd kart destekli Atari 2600 kartuş projesi  (Okunma Sayısı 37222 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #15 : Ocak 07, 2016, 16:46:57 ÖS »

Harmony denen kartuşta menü sistemi var gördüğüm kadarıyla. Ben de düşünüyorum menü sistemi. Zaten bankswitching yapılabildiği noktada menü işinin kritik noktası olan atari 2600'ün kartuşa seçim gönderme kısmı hallolmuş oluyor. Donanım kısmında ilerleyemediğim zamanlarda Atari 2600 programlamaya bakmayı düşünüyorum.

Kartuşun ismi Ketchup  Catch up, yakalamak, yetişmek'ten çıkardım. Kartuştaki microcontroller'ın bankswitching, şudur budurla da ilgilenip bus'a bağlı bir memory cihazı gibi davranarak bus hızına yetişmeye çalışacak. İsmin  hikayesi bu, CatchUp da olabilirdi ama biraz modifikasyon iyidir
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
Simon (Özay Turay)
Yönetici
*****
Mesaj Sayısı: 7.757


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #16 : Ocak 07, 2016, 16:52:26 ÖS »

Kendin yapmayı düşünmüyorsan itinayla PCB çizimi yapılır. Kahkaha
Logged

https://retrodergi.com - https://e-turay.com - https://karizmawow.e-turay.com

Retro: Commodore 64, Amiga 500, Amiga 1200
Retromsu: Wii, XBox360, XBox, PS3 Slim, PS2 FAT, PS1, PS Vita, Nintendo 3DS, Nintendo 2DS
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #17 : Ocak 07, 2016, 16:57:18 ÖS »

Kendin yapmayı düşünmüyorsan itinayla PCB çizimi yapılır. Kahkaha

Nasıl tembel bir adamsam, ne yalan söyleyeyim düşünmüyorum valla
Sen gelmesen ben senin kapını çalacaktım. Seve seve.
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
EMREZ
Deneyimli
*****
Mesaj Sayısı: 1.940



Üyelik Bilgileri
« Yanıtla #18 : Ocak 07, 2016, 17:20:01 ÖS »

bende bir tane atari 2600 çalışan olması lazım. ancak ben onu çalıştırdığımda görüntüsü nedense komşunun televizyonunda kayan grimsi gölge şeklinde çıkıyordu. ilginç.
Logged

this is amiga speaking.
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #19 : Ocak 08, 2016, 00:48:28 ÖÖ »

Bu arada bugün elimdeki board'lardan birine header lehimleyip programlama denemelerine başladım.

Bu board'u arduino ide ile kullanabilmek için şurada oldukça faydalı başlangıç bilgileri mevcut : http://grauonline.de/wordpress/?page_id=1004

Sadece bir pin set etmek için önce en yavaş çalışacak örneği denedim.

Kod:
#define pinOUT PC14
 
void setup() {
while (1) {
 digitalWrite(pinOUT, HIGH);
 digitalWrite(pinOUT, LOW);
 }
}



750 khz. Bu hızla 6507'yi biz değil, o bizi kovalar Sadece bir pin'i toggle ettiğimize de dikkat edelim. Arduino ile 72mhz de çok matah değilmiş demekki

İkinci örnek,

Kod:
#define pinOUT PC14
 
void setup() {

pinMode(pinOUT, OUTPUT);

while(true) {
 gpio_write_bit(GPIOC,14,HIGH);
 gpio_write_bit(GPIOC,14,LOW);
 }
}



8Mhz, Eh.. hala tek pin toggle ediyoruz. Sanki bu iş .oka saracak gibi

8 bit ve 16 bit erişimleri biraz daha araştıracağım. Güzel tarafı STM32'de pin okuma ve yazmaları 16 bit olarak da yapılabiliyor. Ancak bir 8 bit için tüm 16 bitlik portu feda etmek gerekecek, yine 12 bitlik adres hattını okumak için bir port daha feda etmek gerekecek.

Vectrex multicart'ı yapan elemanın yazılarını okuduğumda c ile sonuç alamadığını assembly'e dönmek zorunda kaldığını okumuştum. Source'larına baktığımda her şeyi c ile yazmış, rom emülasyonunu yapan kısmı assembly ile yazmış. Aslında benim yapacağım iş ile de aşağı yukarı aynı şeyi yapıyor. (Esinlenmek mümkün)

O aşamaya geldiğimizde iki yol var önümüzde,

1. 6507'ye interface etmek için custom hardware yapılacak, micro sadece kontrolcü olacak.

2. C yetiyor mu denenecek
a. Yetiyorsa ne ala
b. Yetmiyorsa assembly'e geçilecek. (Arm assembly öğrenmesi var bir de)


* digitalWrite.png (24.69 KB, 785x167 - Görüntüleme: 3744 kez.)

* gpio_write.png (27.91 KB, 877x186 - Görüntüleme: 3622 kez.)
« Son Düzenleme: Ocak 08, 2016, 00:51:11 ÖÖ Gönderen: i_r_on » Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
Simon (Özay Turay)
Yönetici
*****
Mesaj Sayısı: 7.757


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #20 : Ocak 08, 2016, 09:20:27 ÖÖ »

Benim logic analyzer da dün geldi. STM32'lerin birinin de headerlarını lehimlemiştim zaten. Akşama bir deneyeyim şunu.

Bu arada STM32 iyi hoş da auto reset atmadığından biraz sıkıntılı olacak sanırım geliştirme süreci, BOOT0 jumper'ını 1 yap RESET tuşuna bas, kodu yükle, BOOT0 jumper'ını 0 yap RESET tuşuna bas. Bunu otomatikleştirmek lazım.

Gerçi birileri yapmıştır mutlaka bir araştırayım.
Logged

https://retrodergi.com - https://e-turay.com - https://karizmawow.e-turay.com

Retro: Commodore 64, Amiga 500, Amiga 1200
Retromsu: Wii, XBox360, XBox, PS3 Slim, PS2 FAT, PS1, PS Vita, Nintendo 3DS, Nintendo 2DS
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #21 : Ocak 08, 2016, 11:56:16 ÖÖ »

Ide ile beraber çalışırken sürekli o operasyonu yapmak gerekmiyor. Çıkartıp tekrar takarsan yahut uzun zaman geçtikten sonra reset atman gerekiyor sadece.

Sendekinin pin numaralandırması için silk screen nasıl? Bendeki kargacık burgacık, rezil. Kağıda yazdım pinleri sayıyorum resmen
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #22 : Ocak 14, 2016, 00:12:29 ÖÖ »

Custom logic üstüne biraz kafa yordum. O yola girmek hakikaten de işi epey zorlaştıracak gibi gözüküyor. Kısmen belirli bankswitch yöntemlerine destek verilse bile epey karmaşık bir logic uygulamak lazım. Micro ile bus'ı sürmek ise timing açısından sıkıntılı ancak devreyi oldukça basitleştiriyor. Gereken yerlerde vectrex rom emülatörünü yapan vatandaş gibi assembly'e başvurmak lazım. Gerçi eleman kapasitesi daha yüksek bir stm32 (100mhz, 125'e de overclock yapıyor) kullanıyor ama denemekte fayda var.

Bu arada arduino'yu bırakıp Coocox ide'ye geçtim. İlk led yakıp söndürme testini başarı ile tamamladım. Arduino tarafında anladığım kadarıyla herkes tek bir kişinin eline bakıyor. (Roger Clark isminde bir vatandaş port etmiş Maple'ın yazılımını) Diğer tarafta ise arm için geliştirme yapılabilecek paralı yahut free başka geliştirme araçları da var. Bunlardan biri de CooCox Ide.

Güzel tarafı, elde ST-Link kablosu varsa (Aliexpress'te ucuz klon var) debug yapmak bile mümkün. Hatta vatandaş debug yaparken sağ tarafta c kodunun arm assembly karşılığını bile gösteriyor. Timing gerektiren yerde cycle saymak için de faydalı.

Bu hafta fazla bir vakit bulamadım çalışmaya, iş güç, gribal enfeksiyon vesaire. Bakalım nereye gidecek önümüzdeki günlerde.

ps: Bahsetmişken, ilgilisi için CooCox ide ile hello world için aşağıdaki sayfada bulunan tutorial kullanılabilir.

https://stm32geek.wordpress.com/2013/04/04/hello-world-stm32-coocox-coide-and-gcc-arm/
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
Simon (Özay Turay)
Yönetici
*****
Mesaj Sayısı: 7.757


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #23 : Ocak 14, 2016, 00:39:55 ÖÖ »

Bir de CooCox çıkar başımıza aferin.

Portable versiyonu yokmuş, hiç sevmem kurulan programları. Masum

Logolarını da Google'dan araklamışlar zaten. Kahkaha

Logged

https://retrodergi.com - https://e-turay.com - https://karizmawow.e-turay.com

Retro: Commodore 64, Amiga 500, Amiga 1200
Retromsu: Wii, XBox360, XBox, PS3 Slim, PS2 FAT, PS1, PS Vita, Nintendo 3DS, Nintendo 2DS
cihangirabi
Üye
***
Mesaj Sayısı: 115



Üyelik Bilgileri
« Yanıtla #24 : Şubat 13, 2016, 09:10:26 ÖÖ »

 :(bir gelişme varmı
Logged
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #25 : Şubat 13, 2016, 13:27:16 ÖS »

Projede cpld kullanma ile ilk plana göre hareket etme arasında kararsız kaldım. Araya vhdl öğrenme girdi. 4 bit bir cpu tasarladım. Bununla vhdl kapasitemi sınayacağım. Bunun haricinde önümüzdeki haftalarda alacağım izinle beraber zemin proje çalışmaya gayet müsait olacak.
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #26 : Ağustos 27, 2016, 02:02:16 ÖÖ »

Projeye tekrar başladım bu arada. Klon atari 2600'lerden birinin kartuş port'unu breadboard'a aktardım. Tekrar döndüm 72mhz'lik stm işlemciye, bir miktar kodladım ancak sonra biraz daha inceleyince döngü kodu olmadan (unrolled loop) elde edilebilecek en yüksek io hızı 18mhz olduğunu görünce denemeye bile yeltenmedim. fpga çözümünü değerlendirdim, o da epey kompleks olmaya yatkın zira sd kart interface'ini ucuz bir fpga ile yapmak epey çetrefilli. pahalı bir fpga kullanıldığında soft core'lar ile falan kolayca yapılabiliyor.

Şu aşamada aliexpress'ten sipariş ettiğim stm32f4 serisi geliştirme board'unu bekliyorum. Bir yandan da farklı ne yapılabilir onu düşünüyorum.

ps: Sorum vardı bu arada, reset işini nasıl hallederiz sizce Atari 2600'da? Kartuş üstünde reset ile ilgili bir pin yok. İlk atılan rom bir şekilde bizim donanıma devam et birader diye haber etmeli sanki.
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
Levent (Lvnt)
Uzman
*****
Mesaj Sayısı: 2.398



Üyelik Bilgileri
« Yanıtla #27 : Ağustos 27, 2016, 08:37:32 ÖÖ »

Konuyu ilk defa okuyorum, elinize sağlık. 72mhz'in rom işini görmeyeceğini yazmanız iyi olmuş, bende ram ile benzer şeyler kurup duruyordum. Sorunuza cevap olarak da (kaçırdığım birşey varmı tam da anlamadım ama) 2600'de açma kapama hariç tüm joystick ve konsol üstü düğmeler yazılımla kontrol ediliyor hatırlıyorum. Yani resetide oyun kontrol ediyor.
Logged

Use the brute force, Luke
LW3D
Yönetici
*****
Mesaj Sayısı: 11.418


Günü Kurtaran Avam Hiooargggh :)


Üyelik Bilgileri WWW
« Yanıtla #28 : Ağustos 27, 2016, 11:32:36 ÖÖ »

Faydalı olur mu? ya da fikir verir mi bilmiyorum ama Retromaster'ın (Tolga) şu projesini hatırlatmakta fayda görüyorum.

http://www.commodore.gen.tr/forum/index.php?topic=4439.0
Logged

i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #29 : Ağustos 27, 2016, 21:45:39 ÖS »

@Lvnt : ESP8266 ve SRAM ile devam eden şöyle bir proje var : https://hackaday.io/project/12962-esp2600-atari-2600-wi-fi-cartridge-emulator/log/43081-first-experiments-with-esp8266-beasts

Bankswitching düşünülmemiş sanırım.

Reset konusu 2600'da c64'dekinden falan biraz farklı. 2600 üstünde sistem yazılımı içeren bir rom olmadığı için makine takılan ROM'a muhtaç.  Açılışta işlemcinin ilk yaptığı iş reset vektörünü okuyup oradan çalışmaya başlamak olduğu için fpga da kullanılsa hızlı bir mikro işlemci de kullanılsa yapılan ilk okumalar tasarlanan devre tarafından gözetilmek durumunda. Misal FPGA yahut işlemci ayağa kalkana kadar makineyi kontrol altına alacak bir değer databus'tan gönderilebilir. Misal $EA.

Atari 2600 board'unu da incelemek lazım. Belki işlemcinin ayağa kalkması için internal bir reset devresi vardır (sanmıyorum ama) ve bu kontrol edecek mikro işlemcinin açılışından uzun sürüyordur.

Atari 2600 ile ilgili bu anlamda bir dokümantasyon henüz bulamadım.

Bu arada 72mhz overclock edilip de sonuç alınabilir belki. Uzun zaman önce aldığım osiloskop'u ilk kez adam akıllı bu denemelerde kullanabilirim.


@LW3D : Şimdi hatırlayamadığım başka bir konuda bu projeyi yadetmiştik Ben Tolga'nın olduğunu bilmeden foruma link vermiştim, Özay da çakmıştı durumu O projenin source'larını indirip inceledim o zaman. FPGA yoluna gidersem bankswitching için yapılan çalışmayı direkt araklayabilirim.
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
Sayfa: 1 [2] 3 4   Yukarı git
Yazdır
Gitmek istediğiniz yer: