Gönderen Konu: Cepp compiler sunumu videosu  (Okunma sayısı 16030 defa)

Cepp compiler sunumu videosu

« : 05.04.2008 03:31:15 »
Hızlı düğmeleri aç

nightlord

İleti: 1.085

Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.nightnetwork.org
Selam Arkadaslar,
 
http://video.google.com/videoplay?docid=-1025668876440125334&hl=en
 
Bu linkte birkac hafta once MossyCon etkinliginde yaptigim Cepp tanitimini bulabilirsiniz. Videounun ilk 20-25 dakikasi benim yaptigim sunum. Tabii ingilizce ama en azindan Cepp ilk defa Turkiye disinda bir yerde sunulmus oldu.
« Son Düzenleme: 05.04.2008 16:46:59 Gönderen: nightlord »

Cepp compiler sunumu videosu

« Yanıtla #1 : 05.04.2008 05:30:13 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
Gurur duydum kardeşim. Yakında Anatolian Governer ile birlikte release etmeni umuyorum, heyecanla bekliyorum.

Cepp compiler sunumu videosu

« Yanıtla #2 : 05.04.2008 14:43:30 »
Hızlı düğmeleri aç

vigo


  • Ziyaretçi
"video error" diyor... ya halen process ediliyor yada ????

Cepp compiler sunumu videosu

« Yanıtla #3 : 05.04.2008 16:29:09 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
dün ben seyrettim sorunsuz. bugün birşey olmuş.

Cepp compiler sunumu videosu

« Yanıtla #4 : 05.04.2008 16:54:10 »
Hızlı düğmeleri aç

nightlord

İleti: 1.085

Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.nightnetwork.org
MossyCon organizatorleri lipsynch olayi daha iyi olan bir video versiyonu yuklemisler. yukaridaki linki degistirdim

@skate: saol abi iyi dileklerin icin.

Cepp compiler sunumu videosu

« Yanıtla #5 : 05.04.2008 17:29:35 »
Hızlı düğmeleri aç

vigo


  • Ziyaretçi
waaaaaaaaaaaaaaaaaaaaaaaaaaaaay brocuğum nightshift tshirt'ünü giymişsin yeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah !!!! kardeşim gurur duydum gözlerim yaşardı izlerken ya.....

Cepp compiler sunumu videosu

« Yanıtla #6 : 05.04.2008 17:31:42 »
Hızlı düğmeleri aç

vigo


  • Ziyaretçi

Cepp compiler sunumu videosu

« Yanıtla #7 : 06.04.2008 01:44:58 »
Hızlı düğmeleri aç

scg

İleti: 214

Çevrimdışı
  • ***
  • Full Member
    • Profili Görüntüle
    • http://
Defalarca denememe rağmen ~8 dakikadan fazlasını izleyemedim. Konuşmanda %100 C++ standartını desteklemediğini  ( ki gayet normal VC++ daki compilerın bile %100 desteklediğini sanmıyorum) söyledin. Peki ne kadarını destekliyorsun?

Kod: [Seç]

C++ kodu --> Senin Compiler --> 6510 asm --> Assembler --> 6510 binary

gibi bişeyler olmalı. Compiler ın yanı sıra Assembler ı da sen mi yazdın?
Ayrıca compilerını bi şekilde var olan bi IDE ye entegre mi ettin ?? Video yu net   seyredemediğim için ne kullandığını anlayamadımda.

Yine konuşmandan hatırladığım kadarıyla mantık içeren kodların (AI programlama) assembly ile yazılmasının güçlüğünden bahsediyordun. Proje sadece oyunları hedefliyor sanırım.
Sormak istediğim bu sistem Glance demolarında kullanılıyor mu yada kullanılacak mı?

C64 için yazılım geliştirme konusunda bilgim / deneyimim yok. Yaptığın şeyleri yeterince anlamamış olabilirim (video yu da eksik seyredebildim).
Sanki önünde 3 seçenek var gibi :

1) Kendi dilini dizayn edip ayrıca compiler ını yazmak
2) Var olan bi dili seçip onun için compiler yazmak [senin yolun]
3) Basic

3. seçeneği şundan düşündüm. Yine sunumunun bi yerinde senin compilerın yarattığı assembly kodunun elle yazılan asm koduna göre 2 kat kadar daha yavaş olduğunu söyledin. Peki Basic in durumu nasıl?

Çalışmalarında başarılar.. umarım 2008 de bi Glance demosu daha gelir..

Not: Bu tip ilginç videoları ve bizim partylerde verilen seminerleri falan
offline seyredebilmek istiyorum. Umarım doğrudan download edebiliriz...

Cepp compiler sunumu videosu

« Yanıtla #8 : 06.04.2008 08:27:35 »
Hızlı düğmeleri aç

nightlord

İleti: 1.085

Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.nightnetwork.org
skate: saol kardesim. Anatolian Governor'dan once cikaricam sanirim Cepp'i. Zaten su an Cepp'ten de Anatolian Governor'dan yuksek oncelikli baska projeler var ;)
 
vigo: saol abicim gururla giydim tabii ki NS tisortumu. Zaten sIk sIk MS'e de giyiyorum. Belki bi gorup merak eden soran olur diye :)
 
scg: selam scg. sorulari sirayla yanitlamaya calisayim
 
C++'tan destekledigim seyler
- switch/case haric butun keywordler
- classlar, public/private attribute ve metodlar, constructor ve destructorlar
- pointerlar ve heap objeleri. tek bir primitive type var o da cByte. cByte disindaki objelerin hicbiri stackde local yaratilamiyor. hep newlenip deletelenmeleri lazim
- overloaded metodlar
 
desteklemediklerim:
- recursion (c64 stack cok kucuk cunku)
- operator overloading
- templates
- inheritance (bunun eksikligini hissediyorum ama cok yavaslatmadan eklemenin bir yolunu bulmam lazim)
 
limitler:
- metodlara gecirilen arguman sayisi maksimum 2 olabilir. daha cok arguman gecirilmesi gereken durumlarda o argumanlardan bir class olusturmak ve o classtan bir obje gecirmek gerekiyor.
 
C= spesifik ozel eklentiler:
- her class icin obje pool size tanimlama: Cepp teki temel dizayn kararlarindan biri pointer'lari 1 bayt yapmak ve her class'in dinamik yonetimi icin bir pool kullanmak idi. Yani pointerlar pooldan dondurulen objenin pool icindeki indexi oluyorlar. bu pool size o objeden bir anda kac tane olabilecegini gosteriyor. eger bu ebadi asacak kadar new yapip delete yapmazsaniz, new null dondurmeye basliyor. bu limit default olarak 31 ama 255'e kadar herhangi bir sayiya set edilebilir. bunun icin _CEPP_CLASS_MAX( n ) macrosu eklendi:
 
Kod: [Seç]

class cSoldier _CEPP_CLASS_MAX( 127 )
{
public:
...
};
 
- Bir diger onemli ekleme singleton patterni. Bu pattern sadece bir instance yaratilacak olan classlari ozel olarak singleton olarak tanimlamanizi sagliyor. Boylece o classlarin metod ve attributelerine ulasirken compiler daha optimize kod uretebiliyor. cunku bu objeler compile time' da bellekte sabit bir yere yerlestiriliyor. Bir classi singleton yapmak icin adinin 's' ile baslamasi yeterli. 'sIsim' diye bir singleton tanimlandiktan sonra kodda o singleton objeye erismek icin 'TheIsim' demek yeterli
 
- _CEPP_PLACE_AT( address ) macrosu. bu macro ile bir singleton'in bir attribute'u bellekte istenen bir adrese yuklenebiliyor. Bu sayede memmory mapped IO cihazlarinin registerlerini bir singleton'in attributeleri yapmak mumkun.
 
Kod: [Seç]

class sAvideo {
public:
    cByte mInit();
    cByte mSetBorderColor(cByte i_bColor);
    cByte mSetScreenColors(cByte i_bBorderColor, cByte i_bBackgroundColor);
    cByte mGetBorderColor();
    cByte mIsInitialized();
 
private:
    cByte a_bBorderColor; _CEPP_PLACE_AT( 0xcf00 )
    cByte a_bBackgroundColor; _CEPP_PLACE_AT( 0xcf01 )
    cByte a_fInitialized;
    cByte a_fBorderColorSet;
};
 

 
----------------------
 
gelelim ikinci soruya. aslinda dosya akisi soyle oluyor
 
C++ kodu -> GNU cpp preprocessor -> preprocessed c++ kodu -> cepp -> asm kodu -> Acme crossassembler -> c64 binary
 
preprocessor gcc nin preprocessoru. onunla uyumluyum yani. Assembler da Acme adli assembler. ben yazmadim.
 
-----
 
compiler bir console uygulamasi. Bir ideye isteyen entegre edebilir. ya da make gibi build otomasyon araclari ile kullanilabilir asagi yukari gcc gibi kullaniliyor. daha az olmakla beraber ayni opsiyonlari destekliyor (-o -I -O1 vs). Ben videoda Emacs ve bildigin cmd.exe kullaniyorum.
-----
evet proje daha cok oyunlari (ozellikle strateji ve adventure oyunlarini) hedefliyor. Alisilagelmis c64 demo efektleri acisindan cok fazla bir kullanim alani olmayabilir. VIC efektleri zaten cycle exact olmak zorunda oldugu icin elle yazilmak zorunda. Math efektlerinin her tarafi unroll edilen looplar ve pre calculation tablolari ile dolu.
 
Ancak particle sistem tarzi efektlerde kullanilabilir. Bilemiyorum yapilacak efekt tipine bagli. Eger kullanabilecegimiz bir efekt bulursak bir Glance demosunda kullaniriz.
 
-----
 
Bahsettigin uc yoldan ikincisini tercih etme sebeplerim
- c++'in iyi bir dil oldugunu dusunmem
- hali hazirda var olan c++ development toolarini kullanmak istemem. Syntax higlighting ideler, Intellisense, static analizerlar, code browserlar, UML code generatorlar vs...
- sifirdan dizayn edilmis yeni bir dile gore developerlarin C++ compilerini daha kolay adopt edeceklerini dusunmem
 
Basic ML'e gore cogu zaman onlarca kat yavas kaliyor. Cepp gerek C64teki Basic interpreter'a gerekse BlitzBasic gibi Basic compilerlarina gore cok cok daha hizli. aslinda cyclic complexitesi dusuk rutinlerde neredeyse elle yazilmis kadar optimum kod uretebiliyor. Cyclic complexite'nin arttigi durumlarda 2 kat civari fazla instruction uretebiliyor.
 
-----
 
Ilgin icin tesekkurler. 2008'de Glance demosu gelecek.

Cepp compiler sunumu videosu

« Yanıtla #9 : 06.04.2008 14:18:54 »
Hızlı düğmeleri aç

tesla

İleti: 426

Çevrimdışı
  • ****
  • Sr. Member
    • Profili Görüntüle
    • http://
Dün kulakların çınladı mı Nightlord? ,Dün gene gizli bir Ankara buluşması yaptık. Scene muhabbetleri, breakpoint ürünleri, Cepp ve seni çekiştirdik biraz ;)  .. aslında ıstanbul yada her nerede olursa arada sırada kulağı çınlayan bir tr-scener varsa demek ki Ankara'da bir meeting oluyordur :)

Video'yu da dün izleyememiştim (açılmıyordu), bu gün izledim.

Video çekimleri çok güzel olmuş. Adeta Discovery channel'da belgesel izler gibi. Ama ses kalitesi biraz kötü olmuş. Diğer elemanların dedikleri tam anlaşılmıyor. Ordaki mandrake şapkalı kim ? Bastonlu falan?

Cepp projesine ve sana başarılar....  

Alıntı
2008'de Glance demosu gelecek.
evet bu güzel haber... :cool:

Cepp compiler sunumu videosu

« Yanıtla #10 : 16.04.2009 16:24:42 »
Hızlı düğmeleri aç

horselogy

İleti: 64

Çevrimdışı
  • **
  • Jr. Member
    • Profili Görüntüle
    • http://horselogy.blogspot.com
video yine açmıyor -.-