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 ZX Spectrum FLASH attribute uzerine dusunceler...
Sayfa: [1]   Aşağı git
Yazdır
Gönderen Konu: Sinclair ZX Spectrum FLASH attribute uzerine dusunceler...  (Okunma Sayısı 8554 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
мemrah
Uzman
*****
Mesaj Sayısı: 1.355



Üyelik Bilgileri
« : Mart 17, 2014, 21:49:40 ÖS »

Gecmiste ara ara forumda benzeri dusuncelerimi paylasmistim; retro cihazlarin tasarimlarina baktigimda bazen "acaba bunu neden farkli sekilde gelistirmemisler" ya da "cok ufak bir tasarim farki ile olmayan bir ozellik eklenebilirmis ama adamlar makineyi sifirdan yaratmis, akillarina gelmemis olamayacagina gore vardir bir bildikleri" dedigim oluyor.

Bunlarin birisi ZX Spectrum'un renk ozellikleri uzerine.

Bilindigi gibi ZX Spectrum sinirli miktarda bellege sahip oldugu icin, eldeki bellegi mumkun oldugunca verimli kullanmak durumunda. Bunu icin de ekran bellegi zekice bir yontemle pixel bilgisi ve renk bilgisi (attribute) olarak iki alana ayrilmis ve attribute yani renk bilgisi her 8X8 pixellik kare icin sadece bir onplan ve bir arkaplan rengi atanabilecek sekilde duzenlenerek bellekten tasarruf saglanmistir. Tabi bunun en olumsuz yani "attribue clash" yani renk ozellikleri cakismasidir. Bu ekran duzeninde, attribute alanini olusturan byte'larin 3 biti arkaplan yani PAPER, 3 biti ise on plan yani INK verisini saklar. Geri kalan bitlerin birisi BRIGHT bitidir. Bu bit 1 ise, RGB bitleri ile ifade edilen rengin bir ton daha parlak olani goruntulenir. Bu sekilde Spectrum'un 1'er bitlik RGB paleti ile goruntuleyebildigi 8 renk, iki katina cikartilarak 16 renk haline gelir. (Aslinda 15, cunku parlak siyah ile normal siyah ZX Spectrum'da aynidir.) Sonuncu bit ise FLASH bitidir. Bu bit 1 oldugunda adi gecen 8X8'lik blok'un PAPER ve INK degerleri 1 saniyede bir yer degistirir. Yani o alan tabir caizse "yanip soner." Bu benim hep ilgimi cekmistir. Gerektiginde cok basit bir kod ile CPU'ya rahatlikla yaptirilabilecek bir "yanip sonme" efekti icin, ekran belleginin son derece kisitli ve dolayisi ile kiymetli bitlerinden birini kullanmak yerine bu biti EXTRA BRIGHT gibi normal BRIGHT'in iki kati parlak renkler elde etmek icin kullanmak,hatta alternatif bir 3 bitlik paleti aktive etme mantigi ile kahverengi, turuncu gibi Spectrum'da normalde bulunmayan renkleri eklemek ve  makineyi 32 renk gosterebilir hale getirmek dururken, o bit neden FLASH ozelligi icin harcanmistir hep merak ederim...

Yaa iste boyle.... Kahkaha Kahkaha

Siz ne dersiniz, 16 yerine 32 renk gosterebilecek bir makineyi mi tercih ederdiniz yoksa CPU destegi olmadan karakter karesi onplan ve arkaplan renklerini saniyede bir degis-tokus edebilen bir cihazi mi?
« Son Düzenleme: Mart 17, 2014, 22:33:22 ÖS Gönderen: мemrah » Logged
tolga abaci
Uzman
*****
Mesaj Sayısı: 641



Üyelik Bilgileri
« Yanıtla #1 : Mart 17, 2014, 23:30:44 ÖS »

Sanırım ZX Spectrum tasarımında birisi bu Flash olayının çok güzel bir fikir olduğunu düşünmüş olmalı. Bazen yazılım ve donanım tasarımında bu tip nutuk tutulmaları yaşanabiliyor . Her zaman bir bildikleri falan da olmuyor, mesela Oric tasarımında böyle çok örnek var (gittim Oric'e proje yaptım ama bayılıyorum saydırmaya ).

Tabii burada başka faktörleri de değerlendirmek lazım, o tek extra biti son çıkış aşamasına kadar aktarmak, prototip üretiminde işleri karıştırmış, entegre (=gate) sayısını arttırmış falan olabilir (pek sanmam ya), Rus'ların Spectrum klonlarının şemalarını bir incelemek lazım, onlarda tamamı ile 74 serisi entegrelerle yapılmış ULA'sız tasarımlar var, fikir verebilir bu konuda.
Logged

"Finished products are for decadent minds." -- attributed to Hari Seldon, in Isaac Asimov's Second Foundation.
joker_
Genel Yönetici
*****
Mesaj Sayısı: 2.122



Üyelik Bilgileri
« Yanıtla #2 : Mart 18, 2014, 09:15:42 ÖÖ »

32 renk güzel olurdu,fakat bu spectrum'un grafik kalitesini ne kadar yukarı çekerdi ayrı?

Birde flash olayı benim hep hoşuma gitmiştir.Gerçi programı break yaptıktan sonra ekran yanıp sönmeye devam ediyor,o başka.Onuda Flash 0
 ile kapatabiliyorsun.Özellikle menü'lerde çok işe yarıyor.

Güzel alet be spectrum,seviyorum ben bu cihazı.Yani yolda A500-A600 ile spectrum görsem,sadece 1 tanesi alma hakkım olsa,hiç düşünmez spectrum'u alırım. Kahkaha 
Logged
мemrah
Uzman
*****
Mesaj Sayısı: 1.355



Üyelik Bilgileri
« Yanıtla #3 : Mart 18, 2014, 19:38:02 ÖS »

32 renk güzel olurdu,fakat bu spectrum'un grafik kalitesini ne kadar yukarı çekerdi ayrı?

Birde flash olayı benim hep hoşuma gitmiştir.Gerçi programı break yaptıktan sonra ekran yanıp sönmeye devam ediyor,o başka.Onuda Flash 0
 ile kapatabiliyorsun.Özellikle menü'lerde çok işe yarıyor.

Güzel alet be spectrum,seviyorum ben bu cihazı.Yani yolda A500-A600 ile spectrum görsem,sadece 1 tanesi alma hakkım olsa,hiç düşünmez spectrum'u alırım. Kahkaha



32 renk fena olmazdi bence. FLASH bazi isler icin cok pratik dogru ama onu CPU ile yaptirmak mumkun oldugu icin cok eksikligi hissedilmezdi diye dusunuyorum. Ama cocukken en sevdigim seylerden biriydi FLASH ile oynamak. Ozellikle de MANIC MINER'in yukleme ekranini gordukten sonra.



Tabi belki Tolga'nin dedigi gibi ULA'daki kullanilabilir maximum gate sayisi filan yetmemistir. ZX Spectrum icinmiydi yoksa ZX-81 icin mi tam hatirlamiyorum ama ULA icin kullanilmasi onerilen maksimum gate sayisini astiklari icin ULA'nin fazla isindigini duymustum bir yerlerden. Ne kadar dogru bilmiyorum. ULA'nin beni uyuz eden ozelligi tuhaf (dikey 3 parca da , 8'erli atlayan satirlar, vs.) ekran bellegi duzenidir. Linear frame buffer yapmak bu kadar mi zordu, ugrastirdiniz onca programciyi? Kahkaha

Toplamda 2 bucuk yil kadar Sinclair, sonra 9 yil da cesitli model Amigalar kullandim ama yolda bir A500 bir de ZX Spectrum gorsem, ayni temizlikte olurlarsa ben de Spectrum'u alirdim Ne ilginc degil mi.

« Son Düzenleme: Mart 18, 2014, 19:44:56 ÖS Gönderen: мemrah » Logged
Sayfa: [1]   Yukarı git
Yazdır
Gitmek istediğiniz yer: