Commodore 64 ile ilk intronuzu yazmanız için elimden başka ne gelir diye düşündüm ve sıfırdan düzenli bir şekilde dummy bir intro kodlamaya karar verdim. Plazma için çok uygun birşey değil bu çünkü yalnızca koddan ibaret. Ben de tr-demoscene'e hediye ediyorum bu kodları. Gerçi tahmin ediyorum yakında move edilecek başka yerlere
Attachment olarak mesaja ekliyorum projeyi. Ayrıca her ihtimale karşı URL de veriim.
www.akaydin.com/misc_files/dummyintro.zip şimdi bu paketin içinde 3 adet birbirinin devamı olan intro geliyor. Her birinin .a uzantılı olan kaynak kodu ve .prg uzantılı olan ise çalıştırılabilir dosyası.
dummyintro1: koala logo+raster barlar+karakter set+scroll+müzik
dummyintro2: dummyintro1+color flash
dummyintro3: dummyintro2+sinuse bağlı dolanan 8 sprite
Kısacası en basitten incelemeye başlayıp onu sindirdikçe bir sonraki efekti inceleyerek ilerleyebilirsiniz. Ben bu "dummyintro" projesini yeri geldikçe 4,5,6... şeklinde ilerletmeyi düşünüyorum.
Introların gereksinim duyduğu tüm dosyalar "files" klasöründe mevcut. Peki o dosyalar nerden geldi? Hepsini ben PC'de hazırlayıp çeşitli yöntemlerle 64'e uygun hale getirdim. Orjinal PC dosyaları "worx" klasörü içersinde mevcut. Birkaç dip not:
Logoyu photoshopta hazırladıktan sonra Timanthes kullanarak koala formatına çevirdim. Ardından da HexEditör ile yalnızca üstten 11 karakterlik alanın verisini (88 pixel yüksekliği) parçalara böldüm bitmap, video ve color dataları şeklinde. Bu iş için gerekli tool linkleri:
Timanthes:
http://noname.c64.org/csdb/release/?id=30789 XVI32 Hex Editor:
http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm Koala formatının içinden ilk 11 karakter satırının datasını almak için Bitmap alanının (detaylar için bkz: Plazma #3 grafik modları) ilk 40*8*11=320*11 byte'ı, video ve color ekranlarının ise 40*11 byte'ını ayrıştırmanız gerekiyor. Elbette ki projede ayrıştırılmışı var ancak kendi logonuzu eklemek istediğinizde bu işlemleri yapmanız gerekecek.
Sinus olayına çok değinmeyeceğim. Zaten defalarca anlattım Plazma'da. Ancak bu sefer ufak bir fark var. sinus1 tam 256 byte'a denk gelirken sinus2 bu defa 240 bytelık bir genişliğe sahip. Nedeni ise spriteların x ve y sinuslerin peryodlarının farklı olması sayesinde efekt daha dinamik bir hal alıyor. Elbetteki 240 genişliği ekstra kontroller gerektiriyor. 3. intronun kodunu inceleyiniz.
Sprites klasörüne girince ufak bir karmaşa göreceksiniz. Korkmayın
Burdaki "sprites.psd" photoshopda 8 spriteın layerlar halinde durduğu dosya. sprite1.raw'dan sprite8.raw'a kadar olanlar ise layerların tek tek raw olarak kaydedildikleri format. Ancak dikkat!!! Bu raw formatı spritelar tek renk olduğu halde 3 kanal yani RGB şeklinde kaydedilmiş halleri olmalıdır. Çünkü benim converterım öyle çalışyor
24x21'lik alan 504 byte kaplar ancak her bir byte için x3 renk kanalı 1512 byte oluyor. "C64 Gfx-Sprite Converter.exe" ise .NET Framework 1.1 gerektiriyor. Yıllar önce "kim bilir yıllar sonra gelişe gelişe ne hale getiririm bu projeyi" diye başladığım ancak 3-4 senedir update yüzü görmemiş bir projedir. Convert sprite butonuna tıklayıp *.raw dosyasını seçtikten sonra .spr uzantısıyla kaydedeceğiniz dosya commodore 64'ün sprite formatıdır. Ard arda eklemeyi kolaylaştırmak için 21x3 = 63 bytelık dosyaları sonuna bir 0 byteı ekleyerek 64 byte olarak kaydeder. Tüm sprite çıktılarını aldıktan sonra yine Hex Editor kullanarak kıç kıça ekleyebilirsiniz spriteları.
Müzik ve karakter seti bulmak ise size kalmış. Ama size bir kıyak olarak özellikle commodore karakter setleri için şu URL'i de veriim. Kişisel tavsiyem yayınlayacağınız projelerde karakter setini bir grafikere çizdirmeniz ve böylelikle orjinal bir karakter seti kullanmanızdan yanadır.
http://kofler.dot.at/c64/font_01.html şimdilik bu kadar. Artık sizlerden canavar introlar beklemek hakkımdır herhalde. Kolay gelsin