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 KategoriProjeFrame buffer kullanmadan PAL > VGA mümkün olabilir mi?
Sayfa: 1 [2] 3   Aşağı git
Yazdır
Gönderen Konu: Frame buffer kullanmadan PAL > VGA mümkün olabilir mi?  (Okunma Sayısı 24189 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
witchdoktor
Uzman
*****
Mesaj Sayısı: 6.238



Üyelik Bilgileri
« Yanıtla #15 : Aralık 01, 2016, 20:21:12 ÖS »

768x288 ya da 384x288 fb kurtarmazmı? Her pixel 16 bit ya da 12 bit?

Ben DOS zamanlarında CCS64'ü 384x288x50Hz'de kullanıyordum ve CRT VGA monitör bu modu sorunsuz gösteriyordu ve C64'ü PC'de bu ayarda emüle etmenin yolunu hala bulamadım. Muhtemelen ekran kartından sinyaller 'doubling' ile 768x576@50Hz olarak gönderiliyordur.
Logged
hakanzade
Ziyaretçi
« Yanıtla #16 : Aralık 01, 2016, 20:36:26 ÖS »

Konuyla ilgilimi bilemedim ama vakti zamanında uydu alıcıyı vga monitöre şu parçayla bağlamıştım görüntü aşırı kayık çıkmıştı bir türlü oturtamamıştım, görüntü PAL idi.

Logged
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #17 : Aralık 01, 2016, 21:03:10 ÖS »

Xwindow'da tam ekran mame oynayacağım diye 384x288 ve tam ekran tv için 768x576 modeline'lerim vardı... bir zamanlar. 768x576 modeline diye aratınca şu sayfada bir sürü modeline çıktı:
http://geocities.ws/podernixie/htpc/modes-en.html

Ben renkleri yuv olarak saklamayı tercih ederdim. Görüntü kalitesi yüksek olur, renk kalitesi düşer ama insan gözü aydınlığa renklerden daha hassas olduğu için aynı bit derinliğindeki rgb'den daha iyi sonuç elde edilir.

2 pixel için ortak u ve v olunca 2x8-bit intensity + 8-bit u + 8-bit v = 32, 2 pixel olduğu için pixel başına 16-bit

4 pixel için ortak u v olursa 4x8-bit + 8-bit u + 8-bit v = 48-bit, 4 px olduğu için pixel başına 12-bit. Bu ikincisinin renk kalitesi düşük tabi



Monitörler bu modları destekliyorsa, 720x576 yada 800x600 50Hz sanırım hayli hayli destekler o zaman. Sıkıntı olmaz.

Renk meselesine gelince, ben çok detaya girip karıştırmak istemedim ortalığı ama detay vermek gerekirse, PAL sinyal zaten FPGA içerisine alınmadan önce digitize edilecek. Bu esnada decoder chipi dediğin gibi YUV formatında 4:2:2 çıkış üretiyor. Yani yan yana gelen iki pixel için 8 bit u, 8 bit v ve her bir pixel için ayrı ayrı 8 bit y (intensity). Dediğin gibi pixel başına 16bit data giriyor.

İçeride linebufferda zaten bu şekilde saklanıyor. Ama VGA'e dönüştürüleceği esnada, RGB analog çıkış üretilmek zorunda olduğu için color space çevrimi yapılıyor ve YUV RGB oluyor. Şimdi bu işlem sonucunda 16bit YUV sinyal 3x8Bit RGB halini alıyor. Ben 15 bit derken, analoga çevirme esnasında kanal başına 5bit DAC kullanılabilir anlamında dedim. Aslında FPGA bacak sayısı yeterse ve PCB biraz daha büyük olsun denilirse 24bit olarak bile bırakılabilir. (C64 için çok anlamı olur mu bilemedim, zaten toplam 16 farklı renk var...)



Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
Levent (Lvnt)
Uzman
*****
Mesaj Sayısı: 2.392



Üyelik Bilgileri
« Yanıtla #18 : Aralık 01, 2016, 22:44:40 ÖS »

Aklımdaki senaryo şu, olur mu olmaz mı işin içinde olmadığım için tam da net bilmiyorum: Framebuffer kullanınca; pal ekranın tüm satırları pal clock hızında fb'ye aktarıldığında (1/25 sn sürer, hem tek hem çift frame'ler) fb artık ayrı bir clock hızında vga'ya aktarılabilir. Bir sonraki 1/25sn boyunca vga ekranda istenen çözünürlüğe scale edilmiş halde bu fb gösterilir. Vga vertical retrace 25hz'in katları olursa görüntünün orta yerinde diğer frame'e geçilmeyeceği için tearing olmaz. 50-75-100-125hz gibi. Scaling için fazladan hafıza kullanmaya gerek yok, vga taraması sırasında hedef pixelin intensity değeri, fb'nin hangi iki ya da üç pixeline pozisyon olarak yakınsa intensitysini yakınlığı oranında bu pixellerden alır. U V renk fark değerleri kolaylık olsun diye direkt olarak en yakın pixelinki kullanılabilir.

Bu sırada, yani ikinci 1/25sn boyunca ilk fb vga'da gösterilirken, ikinci fb'ye pal'den gelen görüntü aktarılmaktadır, yine 1/25sn sonra bu fb'de tam dolmuş olur. Bu sefer vga'da bu fb gösterilmeye başlanır. Doublebuffer sayesinde pal frame farklı clockta depolanırken fb vga'ya farklı bir clockta aktarılabilir oluyor.

768x288 ve 384x288 çözünürlükleri ve 16-bit ve 12-bit yuv formatlarını az ram kullanımı için söylemiştim. Fb'den yuv pixel değerleri okunup o anda rgb'ye çevrilip vga'ya gönderilir şeklinde.

Bu senaryo bana çalışır gibi geliyor. Frameleri fb'de saklama olayı basit. Belki yuv fb satırından farklı genişlikte bir vga satırına o anda scaling ve rgb dönüşümü biraz korkunç gözüküyor olabilir. Ben yine de yapılabileceğini düşünüyorum.

Lcd'lerde bu çözünürlükler çalışır mı? Tahminim çalışır yönünde, ama lcd'ler hep 60hz civarı bir dikey tarama istiyor. 720x400@70hz çalışmak zorunda gerçi, 80x25 text modu bu video modunda gösteriliyor. Dikey tarama hızı 320x240 gibi çözünürlüklerde 100-120hz vb olunca açmıyordu sanki. Xwindowda da 320x240 deyince dikey tarama böyle yüksek modda açıyordu, oradan hatırlıyorum galiba.
Logged

Use the brute force, Luke
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #19 : Aralık 01, 2016, 23:17:34 ÖS »

Heyecanı öldürmek istemem ama HDMI yeterli olmaz mı bize yahu? Elimdeki crt monitörü depoya kaldırdım, yeni pc monitörleri artık hdmi alıyor. VGA'yı yaptık diyelim, VGA monitör nasıl bulacağız?

Tarama frekansı değişince bu frame'i atla, bu frame'i iki defa göster gibi şeyler ortaya çıkacak. Delimawi kastettiğin tek frame için hafıza yetmez dediğin bu muhtemelen değil mi? Bundan dolayı da görüntü aslında çok naturel olmayacak. Normalde bu tip durumlarda interpolasyon gibi teknikler kullanılarak aralara eklenen frame'lerin daha doğal olması falan sağlanıyor sanırım. Misal 50Hz'den 60Hz'e geçerken.

Şahsi kanaatim şu aşağıdaki sayfadaki konular HDMI64 projesinde emüle edilse çok daha katma değerli bir iş ortaya çıkar.

http://hitmen.c02.at/temp/palstuff/
Logged

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

twitter | blog
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #20 : Aralık 01, 2016, 23:42:52 ÖS »

Hades'in HDMI li monitoru yokmus. Gomlum razi olmadi VGA olanini da yapalim diyorum. Kahkaha Neyse saka bir yana yarin cevap yazacagim. Iyi geceler.
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #21 : Aralık 02, 2016, 08:53:29 ÖÖ »

@Lvnt, yazdıklarında tamamen haklısın. Sanırım şöyle bir yanlış anlama oldu. Tüm bu yazdıkların en az iki framelik bir buffer kullanıldığında aynen geçerli olur. Ben daha önce yazdığım sebeplerden ötürü, framebuffer kullanmamayı tercih ettiğim için bu dediklerini uyguluyamıyorum. Aslında şu eldekiler çıkınca biraz daha gelişmiş bir kart üzerinde framebuffer kullanarak neler yapılabilir ona da ayrı bir proje ile bakabiliriz.

@i_r_on, evet aslında HDMI cepte zaten. Onu bir kenara bıraktığım falan yok.

Şöyle birşey oldu, Neo Geo projesinde, aslında HDMI kullanacaktım, sonra VGA kullanmayı denedikten sonra, nedense (belki de orjinal sinyal zaten analog olduğu için) VGA yöntemine daha çok ısındım. HDMI tam dijital olduğu için en ufak bit hatasında TV gelen sinyali kabul etmiyor vb dertler olabiliyor. Halbuki görüm ki, VGA hatalara karşı çok daha toleranslı.

Bir de hakikaten eski analog VGA monitörlerde kullanabilmek ya da HDMI'ı olmayan kişilerin de kullanımına sunabilmek için enteresan olabilir diye düşünüyorum.

Ayrıca, yapmışken bunu da yapalım, birşey daha öğrenmiş olalım faktörü de var.

Elektronik olarak baktığında aslında devreler hemen hemen aynı. Sadece çıkış kısmında bir değişiklik oluyor. Hatta VGA versiyonunda daha çok eleman var. Zira DAC çevrim yapılıyor. HDMI olanında FPGA'den hatlar doğrudan HDMI konnektöre gidiyor.

Belki ikisi de tek PCB de bile çizilebilir.
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
hades
Üye
****
Mesaj Sayısı: 395



Üyelik Bilgileri
« Yanıtla #22 : Aralık 02, 2016, 10:32:57 ÖÖ »

3 tane monitörüm var ve sadece vga girişli. pal>vga on numara olur benim için.

Öyleyse en birinç ben. 1 lehimli bir lehimsiz olsun.
Logged
LW3D
Yönetici
*****
Mesaj Sayısı: 11.415


Günü Kurtaran Avam Hiooargggh :)


Üyelik Bilgileri WWW
« Yanıtla #23 : Aralık 02, 2016, 10:45:21 ÖÖ »

@delimawi : çok bilmediğim için saçma bir soru olabilir...Ama hdmi'dan bir TV alıcısına girmekle, vga'den bir VGA LCD ekrana girmek arasında gecikme açısından fark olur mu? Misal piyasadaki ucuz hdmi dönüştürücülerin (denemedim) çok ciddi lag'a sebep olduğunu okumuştum...VGA girişlilerle, hdmi girişliler arasında bir fark olma ihtimali var mı?
Logged

ibo1973
Uzman
*****
Mesaj Sayısı: 2.502


Üyelik Bilgileri
« Yanıtla #24 : Aralık 02, 2016, 18:02:24 ÖS »

Bende şunu soruyum biten projelerini kaynak kodları ile birlikte paylaşmayı düşünüyormusun ? .

yan projeler olabilir kendine yapmak isteyenler olabilir örnek ben Kahkaha .
Logged
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #25 : Aralık 02, 2016, 19:27:00 ÖS »

Evet dusuniyorum ama zaten ne yaptiysam hem detayli anlatiyorum hem de verilog kodlarini paylasiyorum. Ayrica yapmak isteyen olursa ya da bir yerini anlamayan ya datartismak isteyen olursa da sonuna kadar yazisirim bilgi paylasirim. Bilginin saklanmasi yonunde bir tavrim yok.

Gel gelelim merak eden yan proje cikartmak isteyen bir zahmet neyin ne oldugunu anlamaya calissin gerekiyorsa sorsun o sekilde ilerlesin. Komple compile edilmeye hazir proje dosyasi istenmesi beni gicik eden hir konudur. Ha yaparim sorum yok ama kimse okumayacaksa anlamaya calismayacaksa da hu kadar teknik zirvayi bosu bosuna yazmayalim biten projeden bir video bir screen shot bir de ziplenmis proje dosyasi paylasalim olsun bitsin. Ne dersiniz...
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
Decypher
Deneyimli
*****
Mesaj Sayısı: 690



Üyelik Bilgileri
« Yanıtla #26 : Aralık 02, 2016, 20:24:02 ÖS »

Valla ben bu odada açılan tüm proje konularını büyük bir ilgiyle takip ediyorum. Bunların bir kısmı hakkında en ufak bir fikrimin bile olmadığı konular oluyor (mesela bu başlıktaki timing tartışmaları gibi), ama bunları okumak bile benim için büyük keyif. Çünkü her konunun bana az veya çok bir şeyler kazandırdığını düşünüyorum ve kim bilir belki de ileride bunlardan bazıları çok işime yarayacak.

Ha bu başlıkta yalnızca biten projeden bir video ve ziplenmiş proje dosyası olsaydı öylesine bir bakar çıkardım. I ıh, istemez öyle
Logged
Simon (Özay Turay)
Yönetici
*****
Mesaj Sayısı: 7.764


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #27 : Aralık 02, 2016, 20:28:52 ÖS »

Yok abi sen böyle devam et, işin eğlencesi nerede kalacak o zaman.
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
LW3D
Yönetici
*****
Mesaj Sayısı: 11.415


Günü Kurtaran Avam Hiooargggh :)


Üyelik Bilgileri WWW
« Yanıtla #28 : Aralık 02, 2016, 20:51:54 ÖS »

Aynen devam etmelisin...Bence çok iyi ve değerli bilgiler veriyorsun. Çoğumuza %90'ımıza sonuç ürünü dağınık halde versen bile bir araya getiremeyiz.
Logged

witchdoktor
Uzman
*****
Mesaj Sayısı: 6.238



Üyelik Bilgileri
« Yanıtla #29 : Aralık 03, 2016, 09:09:30 ÖÖ »

Bu proje gerçekleşirse AEC/Lumafix ihtiyacı daha mı belirgin olacak, yoksa bu duruma pratik bir tür çözüm eklemek mümkün mü?


* aec_vertical.jpg (244.11 KB, 1024x683 - Görüntüleme: 1284 kez.)
Logged
Sayfa: 1 [2] 3   Yukarı git
Yazdır
Gitmek istediğiniz yer: