|
Konu Başlığı: C64 - The Earth Demo Gönderen: eins üzerinde Şubat 16, 2019, 02:34:39 ÖÖ Sanıyorum bu C64 demosunu burada paylaşmadım. Geçtiğimiz ay yayınlamıştım. Belki ilgilenenler olabilir. Color cycling dediğimiz bir efekti değişik şekilde kullandım. Müzik benim değil ama geri kalan kodu bir hafta içerisinde yazdım. Keyifli seyirler...
https://csdb.dk/release/?id=173345 32rEL_hFNFg Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: Exu üzerinde Şubat 16, 2019, 07:37:06 ÖÖ Müthiş olmuş. C64 ün bunu yapabileceğini bilmiyordum. Elinize sağlık.
Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: ercanersoy üzerinde Şubat 16, 2019, 08:04:18 ÖÖ Gerçekten güzel bir demo. Elinize sağlık.
Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: spunky üzerinde Şubat 16, 2019, 10:47:20 ÖÖ Çok iyi.
Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: Cengiz Demir üzerinde Şubat 16, 2019, 11:03:48 ÖÖ Çok güzel olmuş :)
Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: zanpinoz üzerinde Şubat 16, 2019, 11:16:24 ÖÖ Harika olmuş.. Atmosfer tabakası bile belli oluyor.
Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: emarti üzerinde Şubat 16, 2019, 11:23:30 ÖÖ RAAT#5'te ilk görenlerdenim. Real C64'te daha güzel.
Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: zanpinoz üzerinde Şubat 16, 2019, 11:30:49 ÖÖ Müzik te güzelmiş, daha önce bu müziği dinlemiş gibiyim
Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: Alpyre üzerinde Şubat 16, 2019, 12:01:34 ÖS Color cycling sadece metin sprite'larında değil mi? Dünya haritasını karakter setiyle çizdiriyorsun. Gayet etkileyici görünüyor. Eline sağlık.
Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: LW3D üzerinde Şubat 16, 2019, 12:02:33 ÖS Ben müziği beğenmedim. Ama uygulama çok başarılı...Ellerine sağlık...
Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: eins üzerinde Şubat 16, 2019, 12:15:54 ÖS Color cycling sadece metin sprite'larında değil mi? Dünya haritasını karakter setiyle çizdiriyorsun. Gayet etkileyici görünüyor. Eline sağlık. Hayır, dünya karakter seti değil multi color bitmap. Ancak multi color bitmap i 50 fps güncellemek mümkün olmadığı için, sadece her karttaki renk değerleri değiştiriliyor. Ancak bitmap de buna uygun olarak çizilmiş. Color cycling effect deniyor bu tricke. Bilgisayar başına geçince daha detaylı anlatabilirim. Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: emarti üzerinde Şubat 16, 2019, 14:38:42 ÖS Color cycling sadece metin sprite'larında değil mi? Dünya haritasını karakter setiyle çizdiriyorsun. Gayet etkileyici görünüyor. Eline sağlık. Hayır, dünya karakter seti değil multi color bitmap. Ancak multi color bitmap i 50 fps güncellemek mümkün olmadığı için, sadece her karttaki renk değerleri değiştiriliyor. Ancak bitmap de buna uygun olarak çizilmiş. Color cycling effect deniyor bu tricke. Bilgisayar başına geçince daha detaylı anlatabilirim. Abi kaç frame kullandın? Benim anladığım her framede bitmap üzerinde ilgili kendi oluşturduğun kareyi renklendirmenden ibaret. Bu şekilde her rasterde bitmap çizmek için uğraşmayıp sadece renkleri lda/sta ediyor diyebilir miyiz? Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: eins üzerinde Şubat 16, 2019, 20:04:11 ÖS Emarti,
Frame sayısı önemli değil aslında. Burada 2D bir texture 3D bir yüzeye map ediliyor. 2D Texture aşağıdaki, 256 pixel genişliğinde. (https://i.hizliresim.com/9arvjo.jpg) (https://hizliresim.com/9arvjo) Bu 2D texture, aşağıdaki multicolor bitmap'a map ediliyor. (https://i.hizliresim.com/nQNYBR.jpg) (https://hizliresim.com/nQNYBR) Burada kritik nokta şu; Bir cart içerisinde maksimum 4 renk olmalı. Siyah genel renk. Bu durumda her 8x8 blokta alt alta maksimum 3 sıra sığacak şekilde hazırladım bu görseli. Şimdi bunun nasıl map edildiğine gelecek olursak, yukarıda gösterdiğim ilk görselde, x ekseninde örneğin 1. kolondan itibaren, n tane piksel okunuyor ve bu ikinci gösterdiğim gösrseldeki karşılık gelen renk değerlerine set ediliyor. Yani tek bir atama ile o kart içerisindeki birden çok pikselin rengini tek seferde değiştirebilmiş oluyorum. atalamar, LDA $NNNN,x STA $MMMM şeklinde, bu sayede sadece x registerini değiştirerek, dünyayı döndürmüş oluyorum... Dünyayı döndüren kod örneği: Kod: LDA $9845,x Böyle uzayıp gidiyor. Toplam 6000 satırın üzerinde... :D Ha diyeceksin nasıl yazdın sen bunu? Ha işte aslında bu demoda neredeyse hiç C64 kodu yazmadım. C64 kodunu yazan PC programını yazdım... ;) Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: eins üzerinde Şubat 16, 2019, 20:11:10 ÖS Bu arada bir iki ek daha yapayım.
Mutlicolor bitmap mode'da her kartta 3 renk set edilebiliyor ya, renklerden ilk ikisi $0400 den balayan bölgeye set ediliyor. Diğeri $d800 den başlayan bölgeye set ediliyor. Ancak C64'de 15 renk var, dolayısı ile iki renk bir byte'a sığabiliyor. İşte iki renk $0400 bölgesinde, alt 4 bit ve üst 4 bit şeklinde set ediliyor. Kodda gördüğünüz aralardaki ORA komutları bu iki rengi birleştirip tek byte içerisine yazmak için... Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: LW3D üzerinde Şubat 16, 2019, 20:14:24 ÖS Yanlış anlamadıysam 3D dokulandırmada kullandığımız UV'ye benzer bir yöntem olmuş bu. -Eğer öyleyse favori yöntemlerimden biridir :)
Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: eins üzerinde Şubat 16, 2019, 20:19:02 ÖS Çok uzattım ama bu demoda dünyayı döndürmek kolaydı. Esas uğraştığım yer, dünyanın etrafında dönen scrolltext... Her bir karakter bir sprite ama dikkat ederseniz 8 den fazla sprite var.
Ha basit bir sprite multiplexing diyeceksiniz. Ama öyle değil, spritelar arkadan öne doğru birbirlerinin önünde geldiği için, sprite nolarını kafamıza göre set edemiyoruz. Yani ilk 8 sprite gösterildikten sonra diğer 8 sprite'ı assign edemiyoruz. Öncelik ilişkisini korumaya devam etmek gerekiyor. Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: eins üzerinde Şubat 16, 2019, 20:20:44 ÖS Yanlış anlamadıysam 3D dokulandırmada kullandığımız UV'ye benzer bir yöntem olmuş bu. -Eğer öyleyse favori yöntemlerimden biridir :) Evet aslında harcoded UV denebilir. Yazmış olduğum (pardon PC ye yazdırmış olduğum) kod, her bir texel'in (texel: texture üzerindeki pixel), gerçekte dünyaya map edildğinde hangi pixele (x,y) ye karşılık geldiğini hesaplıyor ve hafıza bölgesine set ediyor gibi... Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: LW3D üzerinde Şubat 16, 2019, 20:29:42 ÖS Bizim yazılımda, remap adını verdiğimiz ve benim yazılmasını istediğimden, her sorunun çözümü olarak espriyle karışık remap (https://www.youtube.com/watch?v=aPAppFFvm4k) ile yapabiliriz dediğim bir efektimiz var. C64'de kullanabilirmiyiz diye aklıma gelmiş olsa da, bu kadar kısıtlı bir donanımda, bunu başarmak imkansız diye hiç ciddiye almamıştım... Tebrikler...
Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: emarti üzerinde Şubat 16, 2019, 20:57:29 ÖS @eins: Bu teknik hoşuma gitti. Paylaşımın için teşekkürler.
Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: eins üzerinde Şubat 16, 2019, 21:01:18 ÖS Emarti, eğer sevdiysen "censor design" nın demolarına bak. Yıllardır neredeyse hep bu teknikle demo çıkartıyorlar. ;)
Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: emarti üzerinde Şubat 16, 2019, 21:03:38 ÖS Emarti, eğer sevdiysen "censor design" nın demolarına bak. Yıllardır neredeyse hep bu teknikle demo çıkartıyorlar. ;) Hemen :) Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: Alpyre üzerinde Şubat 16, 2019, 21:22:15 ÖS "Cart" nedir bilmediğim için hiçbir şey anlamadım. :D
Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: i_r_on üzerinde Şubat 16, 2019, 21:32:56 ÖS "Cart" nedir bilmediğim için hiçbir şey anlamadım. :D 4*8'lik bitmap alan, multicolor character yani. Vic'i tasarlayanlar bitmap modlarını çıkarırken karakter modunu farklı şekilde kullanma yoluna gitmişler. Ps : güzel bir efekt olmuş bu arada :) Konu Başlığı: Ynt: C64 - The Earth Demo Gönderen: emarti üzerinde Şubat 16, 2019, 21:34:38 ÖS "Cart" nedir bilmediğim için hiçbir şey anlamadım. :D Amigacılar anlamaz :) |