tr-demoscene

the scene => coding => c64 => Konuyu başlatan: nightlord - 03.01.2007 19:04:42

Başlık: VIC kursu preview
Gönderen: nightlord - 03.01.2007 19:04:42
Selam arkadaslar,
 
3 gun gecikme ile de olsa VIC kursunun ilk bolumunu tamamladim. Goreceginiz gibi hayli buyuk bir bolum oldu. VIC ve 6510'un etkilesimlerinin anlatildigi bu ilk bolum yenilere faydali olacagi gibi zaten bir miktar VIC kodlamayi bilen insanlarin da bilgilerinde bosluklari doldurabilir diye umuyorum. (mesela ben uzun yillar neden irq rutini icinde inc $d019 yaptigimi bilmeden kullanirdim)
 
http://www.nightnetwork.org/files/VIC_RELEASE_0-4-0.zip
 
Yalniz sunu itiraf etmeliyim ki bugune kadar yazdigim butun tutorialler icinde acik ara en zevklisi bu oldu. Bu kursu takip edenlerin cok hizli sekilde cok guzel ve zevkli seyler yapacagini dusunuyorum. umarim oyle olur. Bugune kadar disini sikip da yazdigim kurslari takip edenler, gercekten bunun meyvesini simdi yiyecekler.
 
hatta bi sonraki bolumun ornek kodlarini yazarken oyle hosuma giden seyler ciktiki dun gece oturup bi saat ornek raster efektlerini izledim :)
 
henuz butun formatlama hazir degil o yuzden preview olarak koyuyorum (normal web sayfama post etmedim henuz). indirdiginiz zip dosyasinda rtf olarak tutorial dosyasi ve vic_gra01.png diye de tutorialde Sekil1 olarak refer edilen sekil var. ayrica vic tutorial adli klasorun altinda ornek kodlar var. Bu bolumdeki kodlarin bi bolumu kursun bi sonraki bolumunde aciklanacak. Ama teaser olarak koymayi uygun buldum
 
Nightnetwork'e post etmemis olmamin bir sebebi daha var. O da surpriz olsun... Bir kac gun icinde....
 
Buyrun afiyetle yiyin
Başlık: VIC kursu preview
Gönderen: spaztica - 03.01.2007 19:30:45
ellerine sağlık nightlord! eminim meraklıları keyifle okuyacaktır. ben de bir ara okurum; ne menem bişeymiş şu vic olayları, görelim...
Başlık: VIC kursu preview
Gönderen: vigo - 03.01.2007 22:56:15
hocam süper süper... acaip faydalı olmuş eline sağlık
Başlık: VIC kursu preview
Gönderen: skate - 03.01.2007 23:07:04
Vay be kardeşim. Dili acayip anlaşılır olmuş ellerine sağlık.
 
@Yeni başlayan ve bu tutorialdan yararlanmak isteyen arkadaşlar:
Eğer ilk okuyuşunuzda anlamadığınız bölümler ya da adresler olursa hiç canınızı sıkmayın. VIC belki ilk anda anlaşılması çok basit bir konu olmayabilir. Ancak şunu bilin ki bu tutorial bulabileceğiniz en güzel anlatım diline sahip tutorial. ıngilizce tutoriallar arasında çok güzel VIC tutorialları mevcuttur ama hepsi de bundan daha teknik anlatıma sahiptir. Bu dökümanın değerini bilin ;)
 
@nightlord: stable raster anlatacağın bölümü sabırsızlıkla bekliyorum kardeşim. millet senin tutorialları okuyiim derken bir bakacak side borderlar açılıvermiş :D
Başlık: VIC kursu preview
Gönderen: GnoStiC - 03.01.2007 23:12:55
c64 coding'e merakim yok ama oturup zevkle okudum valla, ellerine saglik nightlord..
Başlık: VIC kursu preview
Gönderen: coze - 04.01.2007 04:06:07
Allaa iste naytlord'un beklenen hamlesi. Hemen okuyoruz efendim ellerinize saglik ...
Başlık: VIC kursu preview
Gönderen: stranger - 04.01.2007 10:26:26
bende $u anda okuyorum... AnLatIm bu kadar mI guzeL oLur. Bana musade bi bitireyim yazIyI okumayı :)
Başlık: VIC kursu preview
Gönderen: Bakkada - 04.01.2007 10:49:38
Sonunda geldi VIC tutoriali :)
Başlık: VIC kursu preview
Gönderen: spritus - 04.01.2007 10:57:33
ama.. ama plazma :[
Başlık: VIC kursu preview
Gönderen: stranger - 04.01.2007 15:25:18
Super bir tutorial olmu$. Ezbere yazmaktansa, hardware 'I bilmek ba$ka bir oLay tabii. Bu yuzden degerli bir kaynak olarak arsivlerimizdeki yerini aLdI. YanLIz hemen soyLeyeyim en guzel yerinde kaLmI$. Bu arada... Vapurda sakin kafayLa okuyunca ayrI bir tadI oluyor. Nightlord 'a tebrik ve te$ekkurler.
Başlık: VIC kursu preview
Gönderen: esmaeild - 04.01.2007 15:29:00
hocam ellerine sağlık. uzun zamandır elim kolum bağlı beklediğim bir kaynaktı. tabiki bu akşam emulatörümle kafa kafaya verip dersimize çalışıcaz. teşekkürler.
Başlık: VIC kursu preview
Gönderen: Bakkada - 04.01.2007 16:45:50
Alıntı yapılan: esmaeild
hocam ellerine sağlık. uzun zamandır elim kolum bağlı beklediğim bir kaynaktı. tabiki bu akşam emulatörümle kafa kafaya verip dersimize çalışıcaz. teşekkürler.

Abi sen nerdesin yaf :)
Başlık: VIC kursu preview
Gönderen: esmaeild - 04.01.2007 17:24:39
geçici bir süreliğine dünyadan koptum abi. bizde yılsonu çok çetin geçiyor. yeni yazdığım bir uygulama üzerinden (C# + SQL)stok sayımı yapıldı. gece gündüz başındaydım. neyseki atlattık :)
Başlık: VIC kursu preview
Gönderen: Bakkada - 04.01.2007 17:34:11
Alıntı yapılan: esmaeild
geçici bir süreliğine dünyadan koptum abi. bizde yılsonu çok çetin geçiyor. yeni yazdığım bir uygulama üzerinden (C# + SQL)stok sayımı yapıldı. gece gündüz başındaydım. neyseki atlattık :)

 
E hadi gecmis olsun daha fazla aramizda gorelim seni , Nighshift'i de kacirmassin umarim :)
Başlık: VIC kursu preview
Gönderen: nightlord - 05.01.2007 04:48:15
arkadaslar super gaz verici yorumlariniz icin cok tesekkurler. oyle gaza geldim ki kasarak (ve durust olmak gerekirse yazarken cok da yorularak) 2. bolumu de yazdim. Bu da cok buyuk ve detayli bir bolum oldu. Sanirim icindeki bazi bilgiler ilk defa Turkce anlatiliyor tarihte. Hem de oyle temel bilgiler ki bunlarin bazilari. Turkiyeden sira sira Crossbowlar cikmadigina fazla sasmamak lazim :(
 
Bazen Hydrogenle konusurduk. Bu bilgilere batidaki kullanicilar Transactor dergileri sayesinde 87- 88 gibi yillarda erisebiliyorlardi. Benim bunlari internette bulmam 97, anlamam ise 2003. Yani cok basit konular degiller ama onlari bilmeden de ilerlemek mumkun degil.
 
Neyse... su an yoruldum. Artik bu bolumden sonra sorulup tartisilabilecek seyler de ortaya cikacagini saniyorum.
 
VIC kursunun 2. bolumu size cok yakismis. Gule gule giyin.
 
adres bu thread'in ilk post'unda
Başlık: VIC kursu preview
Gönderen: vigo - 05.01.2007 09:06:24
ahahhah ya olm, hayvansın sen yaaaau... walla kanka, son yıllarda okuduum, okurken gülmekten komaya girdiim en süper döküman bu yaa... ellerine kollarına beynine saalık kardeşim...
Başlık: VIC kursu preview
Gönderen: esmaeild - 05.01.2007 09:35:28
dün gece 1.5 ta eve vardım. 1. bölümü bitirdiğimde saat 3 e geliyordu yattım. şimde sabah işe gelir gelmez bi bakayım dedim ahanda 2. bölüm. Eli öpülesi insansın. Commodore dergilerindeki makine dili köşesini okuduğum zamanlardaki hislere kapılmaya başladım. (arada fark var tabi. Baytan BıTıRMEZ in yazdığı bir cümleyi 10 defa okuduktan sonra 11i okuyuşumda yavaş yavaş anlamaya başlıyordum. senin cümleleri birer defa okudum.) bu da şunu gösteriyor eğitici olabilmek için bir işi iyi biliyor olmak yetmiyor. bir algoritmanın önce kafanın içinde çalışmaya başlaması gerekiyor. bunun içinde gerçek olmayan dünyadaki tanımlamaların gerçek dünyadaki nesnelerle ilişiklendirelebilmesi gerekiyor. yani şimdi senin yazını oturup ciddi bir biçimde c64'te uygulama geliştirmek için okuyan biri plastik topları nasıl unutabilir. Bu makalen eğitici yeteneğinin olduğunu açıkça gösteriyor. Commodore dergisinde makinedili köşesinde  bir akümülatör - baş merkeb eşleştirmesi vardı. aradan 15 yıl geçti hala unutmuyorum. Ya hala program döküm ekinin 20. sayısının kapağının kahve rengi olduğunu, 25 sayının koyu yeşil 7. sayı mor,1. sayı mavi, 17. sayı açık yeşil...........  unutmuyorum.  53281 i 49152 yi :D.
Başlık: VIC kursu preview
Gönderen: skate - 05.01.2007 10:55:24
@nightlord: abi sihirli sayıları açıklamışsın, artık gerçekten sıkı coderlar türemeye başlayabilir 64 platformunda.
 
Alıntı
DMA, 63, 23.... Siz artık bir VIC programcısısınız.

Bu bölüme bayıldım. Doğru söylemişsin. Anlatım dilin de süper. Olm sonunda Amerika'ya üstünlük sağladık işte. Amerikalılar bu dökümanı bulamayacak, bulsa da anlayamayacak, çevirtse de 63, 23 kıçlarında patliicak ahahahhahaha
Başlık: VIC kursu preview
Gönderen: stranger - 05.01.2007 12:51:44
Buyuk emek harcanarak hazIrLanmI$. AyrIca 2. yazInIn bu kadar cabuk geLmesi supriz oLdu. Hangi diLde oLursa oLsun VIC hakkInda bu denLi anLa$ILabilir tutoriallarin cok yaygin olmadigini dusunuyorum. Ve bu emegi ufak bir tebrik yazIsI ile gecemeyecegim. Bu gercekten "BUYUK I$" olmu$.   Bunun yanInda 1999'dan sonra scene ile bagLantIm kopunca 2003 yILInda cIkan water'I da yeni gordum. Nightlord note dosyasInda demo'nun yorumLanmasInIn kendisi icin onemLi oldugunu yazmI$. Dedikodu oLmasIn da.. :) gecenlerde yabancI ve dunyaca unLu bir grubun onemli bir partide yayinlanip ust siralarda yer bulmu$ demosunu izledim. Vektor partInda coder kendini ovup duruyordu. YanLI$ hatirlamiyorsam 1 senede geli$tirdigi rutinden bahsediyordu. Buna kar$In ben water'I daha cok begendim. AyrIca siirsel bir oLayI demo ile birle$tirme fikri cok ho$uma gitti. AyrIca nightLord'un mutevaziligi de takdire $ayan bir oLay.90'LI yILLarda c64'te ne zaman vektor gorsem Kadem akLIma geLirdi. $imdi birde Nightlord akLIma gelecek :) En onemli $ey deriz ya... Kendinden sonrasI icin dunyaya bir iz bir isim bIrakmak. Bence insanLarIn beyninde iz bIrakMak bu olsa gerek...
Başlık: VIC kursu preview
Gönderen: esmaeild - 05.01.2007 13:24:51
Commodore dergisinin döküm eklerinden birinde Tuna ERTEMALP in rotasyon ve fonksiyon diye iki tane yazılan fonksiyonun grafiğini çizen programı vardı. program bizden fonksiyonu istedikten sonra ekranı kapatarak grafik çizme işini yapıyordu. çizim bittiğinde ekranı tekrar açıyordu. böylece çizim esnasında 6510 u 2 Mhz de çalıştırıp fonksiyonun hesaplanması için gereken süreyi yarı yarıya düşürüyordu. o zaman kafamda bu konuyla ilgili bir çok şey havada kalmıştı. şimdi diyorum ki kendi kendime demek ki ekranı kapatarak osilatörün oluşturdu 1 Mhz lik salınımın iki cycle ınıda VIC'e ait kısmını bir şekilde VIC ten alarak 6510 a tahsis ediyor.
Başlık: VIC kursu preview
Gönderen: skate - 05.01.2007 13:37:33
Ufak bir düzeltme yapiim. Eğer bahsettiğin Commodore 64 ise 1 MHZ'i (hatta .98 MHZ'i) geçmesi mümkün değil. Commodore 128'de olabilir ancak bu. Ekranı kapatarak yalnızca DMA satırlarından dolayı kaybettiğimiz 1000 cycle'ı kazanarak %5'lik bir performans artışı sağlarız. Ancak bu yine 1 Mhz çerçevesinde olur.
Başlık: VIC kursu preview
Gönderen: esmaeild - 05.01.2007 13:53:26
yok eminim C64 tü. yine 1mhz de çalışıyor. ama 1 Mhz hızda 2 katı işlem yapıyor. 2 Mhz gibi oluyor yani. akşam eve gidince bakayım o sayfayı scan edip buraya gönderiyim.
Başlık: VIC kursu preview
Gönderen: skate - 05.01.2007 14:43:18
ben hala böyle birşeyin imkansız olduğunu savunuyorum kardeşim :) o 2 mhz'de işlem yaptığını sanmıştır en fazla ;)
Başlık: VIC kursu preview
Gönderen: coze - 05.01.2007 18:18:30
Alıntı yapılan: esmaeild
Ya hala program döküm ekinin 20. sayısının kapağının kahve rengi olduğunu, 25 sayının koyu yeşil 7. sayı mor,1. sayı mavi, 17. sayı açık yeşil...........  unutmuyorum.

haa, ne ? Ulan yoksa ? Oha 25 sene sonra dustu jeton galiba bende bunlar niye boyle rengarenk derdim hep :)
Başlık: VIC kursu preview
Gönderen: nightlord - 05.01.2007 21:12:32
Selam arkadaslar.. Hepinize guzel yorumlariniz için çok teşekkürler. ikinci bölümde özellikle DMA satırları ile ilgili bölümleri yazarken çok zorlandım. Ve çıkan sonucun ne kadar anlaşılabilir olduğuna dair şüphelerim vardı. Terminoloji ve cümleler yer yer kafa karıştırıcı oldular ve ben onları bir türlü daha anlaşılır kılamadım diye endişeleniyordum. O yüzden yazının anlaşılırlığı ile ilgili olumlu yorumlarınız beni çok mutlu etti.
 
Ayrıca bu kursları yazarken oldschool VIC programlamanın zevkini hatırladım. hele doksanlarda ilk rasterlarımı yaptığım zamanki heyecanlar geldi aklıma. umarım okuyanlarda ve uygulayanlarda aynı lezzetli heyecan oluşur. hatta böyle nightshiftte birkac intro çıksa ne harika olur :)
 
vigo, skate, stranger, esmaeild, coze, bakkada, gnostic ve spaztica hepinize cok teşekkürler. @stranger abi beni mahçup ediyorsun :) waterdaki engine bayağı kötü aslında. mist'teki hali daha iyidir. Ama feedback için çok teşekkürler. bu arada geçmişe dönüp mistin ilk release edildiği zamanki forum threadini buldum. süper nostaljik daha insanlarla da yüzyüze tanışmamışım o zamanlar heheh
 
http://www.tr-demoscene.info/bbs/t76-p-yeni-civitas-demosumist.html (http://www.tr-demoscene.info/bbs/t76-p-yeni-civitas-demosumist.html)
 
Ayrıca threadin sonundaki hydrogen'in mesaj da süperdir :D
 
" evet böyle Void kalitesinde birşey olacaksa olabilir..."
 
yani yaklaşık olarak beraber amatör film çekelim gibi bir öneriye "evet yani starwars kalitesinde olacaksa olur" falan demek gibi :D Zaten o mesajın üstüne kimse de cevap atamamış...
-------------
 
VIC kursunun üçüncü bölümü büyük olasılıkla önümüzdeki haftanın ortalarında gelecek... Sevgiler
Başlık: VIC kursu preview
Gönderen: esmaeild - 05.01.2007 21:55:21
Commodore dergisi 1. ve 2. sayılarının program dökümlerini evde kaybettim. 2 buçuk saatir arıyorum hiç bir yerde yok. ikisindeden birinde rotasyon ve fonsiyon diye ikitane porgram olması lazım. elinde olan var mı.
Başlık: VIC kursu preview
Gönderen: stranger - 05.01.2007 22:20:43
@nightlord: mist de $ahaneymi$. CCS64(3.0)'te daha guzeL caLI$Iyor. Rubber vektor oLayIna bayILIrIm. Dragon ball(her ne kadar amiga efekti olsada)'dan sonra en sevdigim efekt :) Bu arada nightshift'e yeti$meyecek oLsada 10 kusur sene sonra code'a ba$LadIm. Elinde gfxLe coder pe$inde ko$maya son :) Skate'in gonderdigi programLar senin tutoriallar ve gaz. Zaten sonucta en egLenceLi plartform yine 64...
 
@esmaeild: Bende bazI sayILar var p.d.e'nin. 1. saYIda MDE, hyperscreen,saat,hyperscreen-demo,c64 yazI karakteri tanImLama,Dunya isimLi programLar var. AradIgIn bunLardan biriyse p.tesi i$yerinde  scanLeyip gonderebilirim.
Başlık: VIC kursu preview
Gönderen: esmaeild - 05.01.2007 22:34:30
yok bunlar değil o zaman büyük ihtimalle 2. sayının döküm ekinde. komple scan yapmana gerek yok sadece rotasyon ve fonksiyon diye 2 tane program vardı. onun açıklama kısmında yazan bişey kafama acayip takıldı. 3 boyutlu grafikler çiziyordu program. evet %80 2. sayıdaydı. kahverengiyidi şimdi hatırladım. Sadece bu programlar açıklamaları ile birlikte lazım.
Başlık: VIC kursu preview
Gönderen: vigo - 05.01.2007 23:18:42
ya beyler, harbiden gözlerim doluyor... aman bu gaz sönmesin, herkes bişiler yapsa nightshift'de release lese... çünki c64/amiga lovers durumuya... yani yabancı scener'larda bilirki "oo, nightshift'de c64 releaseleri oluyor" hesaaabı yani...
Başlık: VIC kursu preview
Gönderen: skate - 06.01.2007 01:04:31
@esmaeild: kardeşim, bulabilirsen bul o yazıyı. ama bak sana bu makinede yapılamayacak şeyleri iyi bilen biri olarak söylüyorum, "iki kat hızlı işlem yapmak" diye birşey yok. Olsa emin ol kullanırdık. Adam orda yalnızca ekranı kapatıyor ve azcık tasarruf ediyor DMA satırlarından hepsi bu. Yaklaşık oran da dediğim gibi %5. Aynı olay yükleme sırasında ekranın kapatılmasında da kullanılır. Yükleme zamanı azcık kısalsın diye ekranı kapatırsın, daha hızlı yükler. Eğer 64'de ekstra hardware kullanmadan 2 Mhz'e çıkıyorsa alet (ya da bu olaya denk başka birşey oluyorsa) yan yana 9 sprite da basılır diim sen anla :)
Başlık: VIC kursu preview
Gönderen: hades - 06.01.2007 02:55:01
Aslında c64'te niye 1Mhz hızında çalışan bir işlemci kullanmışlar onu düşünmek lazım. Belki VIC, SID ve CIA'ların hızları uyum sağlasın diye öyle yapmışlardır diyeceğim ama programcının el kitabının son sayfalarında gerek 6510 gerekse 6526 için "1 Mhz ve 2Mhz de çalışabilme"  ifadesi yazılmış. Eğer gerçekten böyle bir özellik varsa bunun en basitinden bir kristal değişikliğiyle mümkün olması gerekmektedir. C64 şemasını incelemem lazım.
(Zira işyerinde ürettiğimiz cihazlara 16Mhz kristal yerine yanlışlıkla 8Mhz kristal takıldığında cihazların çalışması displaydeki görüntünün titremesi şeklinde değişiyor).
Ayrıca 6510'un modifiye edilmiş bir 6502 olduğundan hareket edersek ve 6502 lerin 1-2 ve 4Mhz de çalışan versiyonlarının bulunduğu dikkate alınırsa 6510'un 2 Mhz de çalıştırılabilmesi mümkün olabilir gibi geliyor bana.
Expansion porttaki /DMA girişi kullanılarak 6510'un adres ve data buslara erişimi engellenebiliyor. Bu özellik kullanılarak herhangi bir işlemci C64'ün belleğine doğrudan erişebilir. Yani dışarıdan takılacak hızlı bir 6502 versiyonu ile C64'ü x2, x4 gibi hızlandırmak mümkün.
Bir zamanlar C64 için 4,09 MHz Turbo Master CPU accelerator vardı.
Birde 20 Mhz'lik Super CPU var. Unutmamak lazım.

Bu hızlandırmalar sonucu VIC'in çalışma hızında değişiklik olurmu bilemiyorum. Ne bileyim belki normalde 4 dakika süren bir demo part 1 dakikada bitecektir. Veya kursör daha hızlı yanıp sönecektir, müzikler daha hızlı çalacaktır vs...

(1Mhz 6510 da yanyana 8 sprite basılabiliyorsa 4 Mhz'lik 6502 ile 32 sprite yanyana basılabilir.:D)
Başlık: VIC kursu preview
Gönderen: GnoStiC - 06.01.2007 03:05:52
http://www.zimmers.net/anonftp/pub/cbm/documents/projects/accelerators/ (http://www.zimmers.net/anonftp/pub/cbm/documents/projects/accelerators/)

burda c64'u 2 veya 4 mhz yapmak icin semalar var.. 2mhz'lik semalara bakarsak;
vic sadece 1mhz calistigindan ve clockunu sistem'den aldigindan dolayi, cpu ve vic'in clock'larini ayirmak gerekiyor.. boylece vic yine 1 mhz iken cpu 2 mhz olabiliyor ama bu seferde ram'lerin clock'unu da vic sagladigi icin ram'lere de mudahale gerekiyor..

sonucta ortalik 74xx kayniyor :)

Alıntı yapılan: hades
Eğer gerçekten böyle bir özellik varsa bunun en basitinden bir kristal değişikliğiyle mümkün olması gerekmektedir. C64 şemasını incelemem lazım.


6502'de;
1) 6510'un DMA yetenegi (AEC signal)
2) $00/$01 'daki 6 bit I/O port
yokmus..

Alıntı yapılan: hades
Ayrıca 6510'un modifiye edilmiş bir 6502 olduğundan hareket edersek ve 6502 lerin 1-2 ve 4Mhz de çalışan versiyonlarının bulunduğu dikkate alınırsa 6510'un 2 Mhz de çalıştırılabilmesi mümkün olabilir gibi geliyor bana.
Başlık: VIC kursu preview
Gönderen: skate - 06.01.2007 03:37:00
ohoo konu SuperCPU'ya kadar gelmiş :) Bu arada şaşırtıcı bir durumdur ki yanılmıyorsam SuperCPU ile bile 9. sprite basılamadı. Herhalde VIC'in yapısından kaynaklanıyordur. Yani 4 MHZ != 4x8 sprite. Bu konu çok ince bir konu, doğrudan cycle sayısıyla ilgili değil herşey. Bu kadar lineer hesaplamalara gitmeyin. Crossbow'un IRC'den alınmış bir logu vardı 9. sprite ile ilgili. Yanılmıyorsam orda bahsediyordu "SuperCPU ile deneyin ama başaracağınızı sanmam" gibi bir ifadeden. Ya da benim hafızamda öyle kalmış.
Başlık: VIC kursu preview
Gönderen: skate - 06.01.2007 03:45:45
Bakın buldum, bu tartışmadan bahsediyorum.
 
http://www.cei.net/~rreed/9sprites+fli.txt (http://www.cei.net/~rreed/9sprites+fli.txt)
Başlık: VIC kursu preview
Gönderen: skate - 06.01.2007 03:53:58
Ahahaha bu diyaloğu unutmuşum yaw çok güldüm.
 
repose önce shifli formatının daha geniş bir alanda yapılabileceğinden bahsediyor. crossbow ona 8 sprite limitinden dolayı daha geniş yapılamadığını anlatıyor. bunun üzerine eleman "o zaman daha uzun yapılabilirdi" modeuna geçiyor ki 168 rasterda bir spriteların ne yaparsanız yapın DMA satırına denk geldiğini bilmiyor muhtemelen. Crossbow'da yapılsa yapılsa 1 raster satırı daha yüksek yapılabileceğini söylüyor. Eleman bunun bir bug olduğu konusunda Crossbow'u ikna etmeye çalışıyor. Crossbow'un son cümlesi süper "zaten bütün editör başlı başına bug!". ahahaha. doğru söze ne denir. inanmayan açsın baksın programcının el kitabına bakalım grafik modelarında shifli'ye yaklaşan birşey bulabilecek mi :)
 
Alıntı
yes, certainly taller is possible
also I think it is a bug, really, about the first line
I think you should start the raster a little earlier
hehehe...I could have done it...but it had needed a bigger displayer....
and a 100% stabel raster....
no excuse :) it's a bug :)
and I was to lazy... ;)
if I have time, in 2 days I would make a better one.. there is many things I wish I could try :(
but hey....who cares ....168 or 167 lines ;)
well, it bothers my sense of perfection :)
hehehe....try to remove this bug! :)
also I think you should save pictures with smaller files
the whole editor is a bug!
Başlık: VIC kursu preview
Gönderen: GnoStiC - 06.01.2007 07:48:34
tam tum *fli serisini ogrendim galiba derken yeni prefix'ler goruyorum :p

bu mode'lari su site cok guzel aciklamis, resimli felan hem:
http://www.studiostyle.sk/dmagic/gallery/gfxmodes.htm (http://www.studiostyle.sk/dmagic/gallery/gfxmodes.htm)

Alıntı yapılan: skate
..
repose önce shifli formatının daha geniş
...
Başlık: VIC kursu preview
Gönderen: esmaeild - 06.01.2007 09:14:09
işlemci 1 Mhz. donımsal olarak bir hack olmadığı sürecede 1 Mhz ok. oh be en azından 1 Mhz. :) fakat 6510 bu 1 Mhz nın yarım cycle ını kullanıyor.diğer yarım cycle da VIC kullanıyor.
hatta DMA ayağına yatıp 40 cycle da ikide bir 6510 dan gasp ediyor.  benim sorum şu 6510 VIC ten 63 cycle'ı gasp edebilir mi?  bu gasp mekanizması nasıl çalışıyor?
 
@skate:
evet yükleme olayındaki gibi ekranı kapatıp hız kazanıyordu. 2 mhz de geçmişten aklımın bir köşesinde duruyor. yani elbetteki üstadlar olarak siz daha iyisini bilirsiniz. iki olay kafamın içinde bir yerlerde ilişikenip karşıma bir bütün olarakta çıkmış olabilir :) Yani ısrarım bu olayın ayrı olaylarmı olduğunu yoksa gerçektende 2 mhz yi ordamı gördüğümü bir açıklığa kavuşturup kafamın içinde kalmış olan ? ni gidermek.  ama şunu iyi anladım acilen kocaman bir sürü rafı olan bir kitaplık almam gerekecek.  1. ve 2. sayının ekleri kayıp. scannerdan tarayıp websiteme aktarmak için yıllardır durdukları yerden çıkarmıştım. daha öncede 3-4 kez aynı sayılar kaybolup hiç ummadığım yerlerden çıkmıştı.
Başlık: VIC kursu preview
Gönderen: esmaeild - 06.01.2007 09:40:04
Alıntı yapılan: nighlord
6510 için zaten yarım cycle kavramı yoktur. o yine 1 cycle içinde 1 cylce lık iş yapar. Ama o cycle içinde eğer belleğe erişmesi gerekiyorsa bunu cycle'ın ilk yarısında yapacak şekilde dizayn edilmiştir.

sorumun cevabıda bu galiba. yani bir şekilde VIC i durdursan bile belleğe erişmek için 6510 o cycle ları kullanamaz diyor. yahu insan oraya bir register koymaz mı set edince cycle'ın altını da üstünü de kullansın. 1 cycle içinde 1 cycle lık işyapar cümlesi üzerinde düşününce şimdi aklıma bir soru daha geldi. 6510 belleğe erişemediği diğer yarımlar esnasında ne iş yapıyor? şöyle mi : 1. cycle ın ilk yarısında bellekten okuyor. ikinci yarısında okuduğunu işliyor. 2. cycle ın ilk yarısında sonuçları belleğe yazıyor. ama 2. yarımlar esnasında belleğe erişmesi gereken bir durum oluşursa 1. yarımı beklmek durumunda. iş gücü kaybı. bir işlem yapacak. işlem çıktısını hesaplayacak zamanı var ama girdi için beklemek zorunda.
Başlık: VIC kursu preview
Gönderen: esmaeild - 06.01.2007 10:29:59
Alıntı yapılan: skate
Adam orda yalnızca ekranı kapatıyor ve azcık tasarruf ediyor DMA satırlarından hepsi bu. Yaklaşık oran da dediğim gibi %5. Aynı olay yükleme sırasında ekranın kapatılmasında da kullanılır. Yükleme zamanı azcık kısalsın diye ekranı kapatırsın, daha hızlı yükler.

burada da merak ettiğim bir şey var. 63 cycle lık belleğe erişmek için yarım zamanlara sahip VIC  25 karakter satırlık ekran olduğuna göre normal şartlarda her karakter satırının ilk raster satırında DMA sinyali ile belleğe erişecek ve 25 kez 6510 un belleğer erişme payanın 63 te 40 ını gasp edicek. yani 25 * %63.5 bu durumda full belleğe erişim gerektiren bir uygulamada bu çok büyük bir pay değilmi.
Başlık: VIC kursu preview
Gönderen: esmaeild - 06.01.2007 20:15:43
Alıntı yapılan: nightlord
RasterIRQHazirla:
sei
6510 içinde “Dışarıdan Gelecek Kesinti ısteklerini Bloklama” imkanı mevcut. Bunun için Durum Registerinde Interrupt Flag adlı bir bit var. Bu bit 1 yapıldığı zaman 6510 IRQ pinine sinyal gelse bile kesinti uygulamaz ve hiçbirşey olmamış gibi devam eder. Sei komutu işte bu bit'i 1 yapar. Tersi olan cli komutu ise bu biti 0 yaparak bundan sonraki interruptlara izin verir. Yani sei ve cli komutlarının arasındaki komutlar çalışırken başka bir interrupt sinyali gelip de 6510'un herhangi bir yere atlama şansı yoktur. Bunun neden önemli olduğunu birazdan göreceksiniz.
lda #$7f
sta $dc0d
C64 içinde 6510'a kesinti isteği gönderebilen tek çip VIC değil. Disket sürücü, klavye gibi pekçok çevre birimini kontrol eden CIA çipleri de 6510'a kesinti isteği gönderebiliyor. Normalde C64 ilk açıldığında Kernal'deki başlangıç rutini içinde CIA çiplerinde bulunan timerlardan biri programlanır ve bu timer her 20 ms'de bir 6510'a kesinti isteği gönderir. Bu kesinti isteği ile beraber 6510 yine ROMdaki başka bir bölgeye atlar ve bazı rutin işlerle ilgilenir (klavyeyi kontrol etmek, cursoru yakıp söndürmek gibi). Bizim programımızda bu rutin hizmetlerin hiçbiri ile ilgilenmediğimiz için bu kesinti isteğinin gelmesini engellemek istiyoruz. Bunun için isteği gönderen CIA çipine “bana IRQ gönderme” dememiz gerekiyor. CIA çıpının ayrıntıları konumuz dışında. Fakat bu iki komutun bu işe yaradığını bilin yeter.

sei ile interrupt flagını 1 olarak set ettiğimizde artık 6510 un kesinti isteklerine cevap vermiyeceğini belirttiğiniz halde extradan cia neden kesinti isteği gönderme demek zorunda kalıyoruz?
Başlık: VIC kursu preview
Gönderen: skate - 06.01.2007 20:49:26
Alıntı yapılan: esmaeild
burada da merak ettiğim bir şey var. 63 cycle lık belleğe erişmek için yarım zamanlara sahip VIC  25 karakter satırlık ekran olduğuna göre normal şartlarda her karakter satırının ilk raster satırında DMA sinyali ile belleğe erişecek ve 25 kez 6510 un belleğer erişme payanın 63 te 40 ını gasp edicek. yani 25 * %63.5 bu durumda full belleğe erişim gerektiren bir uygulamada bu çok büyük bir pay değilmi.
@esmaeild: ekran açıkken 25 satırlık bölgede yalnızca her satırın başında 40 cyclelık bir kayıp oluyor. Bu da toplamda 25x40 = 1000 cycle ediyor. Toplam 312 raster satırı var ve bunlardan yalnızca 25'i DMA'ya denk geliyor anlayacağın.
 
312 x 63 = 19656 cycle var toplamda
ekran açıkken
19656 - (40x25) = 18656 cycleımız kalıyor.
bu da
18656/19656*100 = %94,912494912494912494912494912495
ediyor
Ben de tüm bu karışık hesaplara girip sana
%5,08750508750508750508750508751
oranında bir kayıp olduğunu söylemek yerine kafadan hesaplayıp yaklaşık %5 dedim. :)
 
"Bu arada ekranı kapatmak daha fazla hızlandırır mı acaba?" diye düşünme sakın. Bu ters mantık. Aslında ekranı kapatmak hiçbirşeyi hızlandırmaz. 19696 cycle'ı olduğu gibi kullanırsın sadece. Aksine ekranı açık tutmak cycle kaybına neden olur. Bu mantıkta ekrana basılan spritelar, ekstra çalışan interruptlar ve içlerinde gerçekleşen olaylar v.s. hepsi cyclelarınızı birer birer yerler. Örnek olarak ekrana sprite bastığımızda o spritelar da cycle yiyorlar ve bu defa ekranın kapalı ve açık olması arasında daha büyük bir oranda fark elde etmiş oluyoruz. Ama Commodore saniyede 50 kere ekran taraması yapar (50hz kısaca) ve her taramada 19656 cycle vardır. Bu iki gerçek ne yaparsak ekstra donanım kullanmadan asla ve asla değişmez. ıstisnası yoktur.
Başlık: VIC kursu preview
Gönderen: skate - 06.01.2007 20:51:12
Alıntı yapılan: esmaeild
sei ile interrupt flagını 1 olarak set ettiğimizde artık 6510 un kesinti isteklerine cevap vermiyeceğini belirttiğiniz halde extradan cia neden kesinti isteği gönderme demek zorunda kalıyoruz?
SEI komutu CIA interruptlarını kesmez. Bu yüzden.
Başlık: VIC kursu preview
Gönderen: skate - 06.01.2007 21:07:26
Bu arada madem c64 donanımıyla 1mhz'nin üstüne çıkmayla ilgili zihni sinir yöntemlerine bu kadar meraklısınız, o zaman size bu konudaki ilginç fikirlerden birini söyliim. şahsen hiç uygulamasını görmedim henüz. 1541'in içinde de ufak bir işlemci ve yanılmıyorsam 8k'lık bir hafıza var. Bunları kullanarak 1541'e asynchronous hesaplamalar yaptırmakla ilgili fikirler vardı. Örnek olarak ekranda çevirmen gereken 500 tane vertexin var ama cycle sayın yetmiyor. bir kısmını 1541'e veriyorsun, o hesaplıyor, sen o arada sonuçları beklemeksizin kendi hesaplamalarını yapıyorsun. daha sonra kendi işin bitince 1541'in hesapladığı değerleri de okuyorsun v.s. Böyle birşeylerden bahsedildiğini hatırlıyorum ama ekstra donanım modifikasyonu gerektiriyor mu ya da 1541'e ne yaptırıp ne yaptıramıyoruz hiçbir fikrim yok. Bu kadar kafayı taktığınız için sizinle paylaşiim dedim bu konuyu. Yine de bana kalırsa bu konuya hiç kafa yormayın. ınanın değmez :) Öncelikle cyclelar size yetmeyecek hale gelsin. Ondan sonra kafa kafaya verip bu tür konularda birlikte mantık yürütürüz.
Başlık: VIC kursu preview
Gönderen: GnoStiC - 06.01.2007 21:20:47
c64 goes dualcore :D

1541 kullanma olayini 7d6'da hydrogen bahsetmisti.. party'den donunce bakindim, ilgili demonun adi Altered States 50% (by Taboo)..
http://www.pouet.net/prod.php?which=1413 (http://www.pouet.net/prod.php?which=1413)

Alıntı
The most shocking thing is the fact that coordinates for vector-part are calculated by 1541-disk drive and c64 does only filling/drawing..

Alıntı yapılan: skate
Bu arada madem c64 donanımıyla 1mhz'nin üstüne çıkmayla ilgili zihni sinir yöntemlerine bu kadar meraklısınız, o zaman size bu konudaki ilginç fikirlerden birini söyliim. şahsen hiç uygulamasını görmedim henüz. 1541'in içinde de ufak bir işlemci ve yanılmıyorsam 8k'lık bir hafıza var. Bunları kullanarak 1541'e asynchronous hesaplamalar yaptırmakla ilgili fikirler vardı. Örnek olarak ekranda çevirmen gereken 500 tane vertexin var ama cycle sayın yetmiyor. bir kısmını 1541'e veriyorsun, o hesaplıyor, sen o arada sonuçları beklemeksizin kendi hesaplamalarını yapıyorsun. daha sonra kendi işin bitince 1541'in hesapladığı değerleri de okuyorsun v.s. Böyle birşeylerden bahsedildiğini hatırlıyorum ama ekstra donanım modifikasyonu gerektiriyor mu ya da 1541'e ne yaptırıp ne yaptıramıyoruz hiçbir fikrim yok. Bu kadar kafayı taktığınız için sizinle paylaşiim dedim bu konuyu. Yine de bana kalırsa bu konuya hiç kafa yormayın. ınanın değmez :) Öncelikle cyclelar size yetmeyecek hale gelsin. Ondan sonra kafa kafaya verip bu tür konularda birlikte mantık yürütürüz.
Başlık: VIC kursu preview
Gönderen: esmaeild - 06.01.2007 21:23:08
hocam DMA satırları olmazsa 6510 un kazancı 1 sayfada belleğe erişim yönünden 25 * 40 = 1000 cycle olmaz mı.
Başlık: VIC kursu preview
Gönderen: GnoStiC - 06.01.2007 21:27:10
bu arada unutmadan, yukarida bahsi gecen altered states %50'nin kalan diger %50'si de surada:
Late Ejaculation by Elysium
http://www.pouet.net/prod.php?which=7737 (http://www.pouet.net/prod.php?which=7737)
Başlık: VIC kursu preview
Gönderen: stranger - 06.01.2007 21:46:19
Super Cpu demi$ken...
http://www.go64.de/english/scpu_e/ (http://www.go64.de/english/scpu_e/)
Başlık: VIC kursu preview
Gönderen: esmaeild - 06.01.2007 21:47:35
Alıntı yapılan: skate
Bu arada madem c64 donanımıyla 1mhz'nin üstüne çıkmayla ilgili zihni sinir yöntemlerine bu kadar meraklısınız, o zaman size bu konudaki ilginç fikirlerden birini söyliim. şahsen hiç uygulamasını görmedim henüz. 1541'in içinde de ufak bir işlemci ve yanılmıyorsam 8k'lık bir hafıza var. Bunları kullanarak 1541'e asynchronous hesaplamalar yaptırmakla ilgili fikirler vardı. Örnek olarak ekranda çevirmen gereken 500 tane vertexin var ama cycle sayın yetmiyor. bir kısmını 1541'e veriyorsun, o hesaplıyor, sen o arada sonuçları beklemeksizin kendi hesaplamalarını yapıyorsun. daha sonra kendi işin bitince 1541'in hesapladığı değerleri de okuyorsun v.s. Böyle birşeylerden bahsedildiğini hatırlıyorum ama ekstra donanım modifikasyonu gerektiriyor mu ya da 1541'e ne yaptırıp ne yaptıramıyoruz hiçbir fikrim yok. Bu kadar kafayı taktığınız için sizinle paylaşiim dedim bu konuyu. Yine de bana kalırsa bu konuya hiç kafa yormayın. ınanın değmez :) Öncelikle cyclelar size yetmeyecek hale gelsin. Ondan sonra kafa kafaya verip bu tür konularda birlikte mantık yürütürüz.

peki hocam 4 tane soruya cevap vermekten sıkılacağını hiç düşünmedim ondan soruyorum. özür dilerim. söylemesen sorularım böyle uzayıp gidecekti. şimdi durup dururken 1541 araya sokup niye kafamı karıştırıyorsun. ben bir taraftan nightlordun dökümanını uyguluyorum şu anda bir taraftanda kafama takılanı soruyorum. sorduklarım sizin seviyenizde olmayabilir ama cevap vermek istiyorsanız sabretmeniz lazım.
 
kısacası aklıma ne takılırsa sorucam şimdenden söyliyim (biraz geç oldu).
Başlık: VIC kursu preview
Gönderen: hades - 06.01.2007 22:14:32
sadece bir fikir olarak söylüyorum. eğer programda illegal opcodelar kullanılırsa birkaç cycle kazanmak mümkün olabilir. bu illegal opcodeların kullanıldığı bir demo varmı yokmu hiç bilmiyorum.
neyse ben sustum. yoksa esmaeild'in kafası iyice karışacak. ben en iyisi (eprom+)rtc+mmc+expander(+cf+ide) projeme geri döneyim. arada bir postları okuyayım.
Başlık: VIC kursu preview
Gönderen: skate - 06.01.2007 22:21:00
@esmaeild: 1 Mhz'nin üstüne çıkma konusuna takıldığın için bunun bildiğim tek yöntemini yazdım sana. Bunun haricinde
 
Alıntı
hocam DMA satırları olmazsa 6510 un kazancı 1 sayfada belleğe erişim yönünden 25 * 40 = 1000 cycle olmaz mı.

demişsin. Ben de aynı şeyi söylüyorum işte. 1000 cycle. ama toplan cycle sayısı yaklaşık 20000 olunca bu yalnızca %5 ediyor. Yani 1000 cycle o kadar da büyük bir kazanç değil. Ekranı kapatmaktaki asıl kazanç bu cyclelardan çok stable bir raster timing elde etmektir. Mesela ekran kapalıyken raster barlar çizdirmek çok kolaydır çünkü 8 satırda bir DMA'ya rastlamayacağınızı bilirsiniz. Minicik bir loop ile hiçbir tablodan değer okumadan (opsiyonel olarak renk tablosu hariç) kolayca tüm ekranı rasterlarla kaplayabilirsiniz. Yani ekranı kapatmak bize hızdan çok kodlama açısından kolaylık sağlar. Elbette ki ekran kapalıyken yapılabilecek efekler de bir o kadar sınırlıdır. Unutulmaması gereken nokta ise ekranın tamamını kapatmamızın gerekmediğidir. Yani ekranın üst bölümünde logo, spritelar v.s. yer alırken alt kısmında ekran kapatılarak raster efektleri v.s. yapılabilir. Tahmin ediyorum Nightlord dökümanın ilerleyen kısımlarında bu konulara detaylı olarak yer verecektir.
Başlık: VIC kursu preview
Gönderen: esmaeild - 06.01.2007 22:35:43
ben sorunu anladım. sende VIC e takmış durumdasın sürekli benim sorumu yanlış anlıyorsun. ben 6510 dedikçe sen VIC diyorsun. VIC cipini gecici bir süreliğini sök hocam makineden şimdi DMA satırları yok, spritelar yok, rasterlar yok. soruma bu şekilde bakarmısın.
Başlık: VIC kursu preview
Gönderen: nightlord - 06.01.2007 22:43:57
selamlar... esmaeild hic cekinmeden full sorulari sor abi. skate de saolsun cevaplari yetistirmeye calisiyor ve bundan cok memnun olduguna da eminim :) text ortami azizligine gelmeyin diye soyluyorum. sorulari cevaplamaya calisayim:
 
1- gasp mekanizmasi nasil calisiyor:
 
VIC 6510 dan DMA satirlarinda busi almak icin BA isimli pinini kullaniyor (AEC degil). Bu pin 6510 uzerinde RDY pinine bagli. VIC BA sinyalini low yaptiktan 3 cycle sonra AEC'i bir sure hep low tutarak (normalde aec her cycle'in yarisinda low yarisinda hi olarak 6510un bellek erisimini her cycle da yarim cycle izin verir) 6510u durdurur. Neden 3 cycle sonra ? detayli cevap kursun ilerilerinde gelecek.
 
2- 6510 bellege erisemedigi yarimlarda ne yapiyor:
 
6510 icin yarim diye bir kavram yok. onun icindeki islemleri hangi hizda yaptigini bilmiyoruz. bildigimiz tek zaman birimi cycle. bir komutun 1. cycleinda sunu yapiyor ikinci cycleinda bunu yapiyor diyebiliriz. Fakat bu cycledaki zamanin ne kadarini kullaniyor bilemeyiz. commodoreun spesify ettigi tek sey belli islemlerin bir cycledan az zamanda olacagi.
 
cyclelarin her yarisinda ayri ayri islem yapabilmek icin cipte ozel olarak ayri elemanlar gerekirdi. (low to hi ve hi to low transitionlari detect etmek icin) bu ozellik VICe konulmus. bu sayede sistemde 1 mhz lik tek clock sinyali ile bir adet 1 mhz de calisan cip ile bir adet 2 mhz de calisan cip calistirilmis oluyor
 
3- sei ile interrupt flagını 1 olarak set ettiğimizde artık 6510 un kesinti isteklerine cevap vermiyeceğini belirttiğiniz halde extradan cia neden kesinti isteği gönderme demek zorunda kalıyoruz?
 
sei aslinda ciaden gelen IRQlari da bloklar. biz sei ile sadece irq pointerlarini ayarlarken kendimizi koruyoruz. 10-15 komut sonra cli ile irqlari tekrar salacagiz. Bu noktadan sonra CIAdan bir timer yuzunden irq gelirse, bizim irq rutinimize atlayacak. biz ise rutinimizin sadece VIC belli bir satira geldiginde atlanacagini dusunerek tasarladik. Bu yuzden isler karisacak.
Eger CIA interrpuptlarini disable etmezsek (ki bazi durumlarda gerekebilir) o zaman IRQ rutinimizde ilk basta "hmm bu irq istegi CIA dan mi yoksa VIC ten mi geldi" diye kontrol etmemiz gerekiyor. biz kendimizi bu dertten kurtarmak icin cogu zaman CIA interruptlarini kapatiyoruz.
 
4- hocam DMA satırları olmazsa 6510 un kazancı 1 sayfada belleğe erişim yönünden 25 * 40 = 1000 cycle olmaz mı.
 
evet skate in hesapladigi gibi bir sayfada 19656 cycledan DMA satirlari yuzunden 1000 tanesini kullanamiyoruz. bu satirlar olmazsa o 1000 cycle'i da kullanabiliriz
 
5- drive coding nasil oluyor?
 
c64 ile 1541 default olarak iec protokolu adli bir protokol ile haberlesiyor. bu protokolde talk listen gibi komutlar mevcut. normalde load yaparken c64 1541e talk diyor (bi takim baska argumanlarla beraber) 1541 de dosyanin baytlarinin gonderiyor. save ise listen islemi ile yapiliyor.
 
bu protokolde bu cok kulanilan komutlarin disinda bir de memread memwrite ve mem execute komutlari da var.
 
Bu komutlarla c64 1541in bellegine yazma okuma yapabiliyor. ayrica 1541e onun bellegindeki bir adresten baslayan programi calistirmasini da boylece soyleyebiliyoruz.
 
Zaten fastloaderlar da bu sekilde calisiyor. c64 memwrite ile once 1541 bellegine bir kod gonderiyor. ardindan memexecute ile o kodu calistirtiyor. 1541 artik tamamen o kodun yonetimine giriyor. bu sayede iecten daha hizli custom bir protokol ile 1541 ve c64 haberlestirilerek fastloaderlar irq loaderlar vs yapiliyor.
 
drive coding (yani efektin bi bolumunun 1541e yaptirilmasi) da boyle oluyor. c64 1541e yaptirmak istedigi seyi yapan kodu 1541e gonderiyor. ve ardindan mem execute yaptiriyor. sonra da aralarinda belirledikleri bir protokolle, c64 o rutine input datalarini 1541e gonderiyor. bir sure sonra da sonuclari geri alip kullaniyor
Başlık: VIC kursu preview
Gönderen: esmaeild - 06.01.2007 23:02:49
hocam 6510 belleğe erişirken cycle ın ilk yarısını kullanıcak şekilde dizan edilmiştir dediniz. bu donanımsal olarak mı böyle her iki yarısınıdada erişmesini sağlayacak bir anahtar yokmu. bu cpu nun cycle paylaşımı yapmayacağı bir devre dizanı düşünülmemiş mi.
Başlık: VIC kursu preview
Gönderen: nightlord - 06.01.2007 23:50:43
bildigim kadariyla boyle bir imkan yok. aslinda olaya su sekilde bakmak daha mantikli. 6510 1 cycle da bir kere bellek erisimi yapabiliyor. bu zaten her dijital cipten beklenen bir yeti. bu yetiye ilave olarak 6510 tasarimcilari cip icindeki devrelerde biraz optimizasyon yaparak, 6510un bir cycle icinde yaptigi bellek erisimini hizlandirarak toplam suresini cyclein yarisi kadar zamana dusurebilmisler. bu sayede bellek erisiminin olmadigi kalan yarim cyclelik zamanlarda baska ciplerle bellegi paylasabiliyor. yani 6510 icinde yapilan baska 1-cycle'lik islemler cycle zamaninin tamamini kullanabilir.
 
dolayisiyla 6510 donanimsal olarak bellek erisimlerini sadece clock cycle'inin bir yarisinda yapabiliyor. bunu degistirmenin benim bildigim bir yolu bir trigi yok.
Başlık: VIC kursu preview
Gönderen: esmaeild - 07.01.2007 00:07:21
anladım. yaklaşık 6 saattir adım adım aşağıdaki örneği yapıyordum az önce bitti :) biraz uzun gibi gelebilir ama ben biraz geç anlıyorum. benim gibi acemiler için aşağıya koydum (notlarıda alınmış vaziyette)
 
 
Kod: [Seç]
[SIZE=1][COLOR=#008000]
[B][SIZE=4]!to[/SIZE][/B][/COLOR][/SIZE][COLOR=#800080][B][SIZE=4]"raster0.prg"[/SIZE][/B]
[/COLOR][SIZE=4][COLOR=#008000][B]*=[/B][/COLOR][/SIZE][COLOR=#804000][B][SIZE=4]$c000[/SIZE][/B]
[/COLOR][COLOR=#000040][B][SIZE=4]baslangic:[/SIZE][/B]
[B][SIZE=4]jsr rasterIrqHazirla[/SIZE][/B]
[/COLOR][COLOR=#000040][B][SIZE=4]son:[/SIZE][/B]
[B][SIZE=4]jmp son[/SIZE][/B]
[/COLOR][FONT=FixedSys][COLOR=#804000]
[/COLOR][/FONT][COLOR=#000040][B][SIZE=4]rasterIrqHazirla:[/SIZE][/B]
[/COLOR][COLOR=#808080][B][SIZE=4];kimse bana irq gondermesin elimi sürmem[/SIZE][/B]
[B][SIZE=4];transaction burda basliyor[/SIZE][/B]
[/COLOR][COLOR=#000040][B][SIZE=4]sei[/SIZE][/B]
[/COLOR][COLOR=#808080][B][SIZE=4];cia bana irq gonderme[/SIZE][/B]
[/COLOR][B][SIZE=4][COLOR=#000040]lda [/COLOR][COLOR=#008080]#[/COLOR][/SIZE][/B][COLOR=#804000][B][SIZE=4]$7f[/SIZE][/B]
[/COLOR][SIZE=4][COLOR=#000040][B]sta [/B][/COLOR][/SIZE][COLOR=#804000][B][SIZE=4]$dc0d[/SIZE][/B]
[/COLOR][COLOR=#808080][B][SIZE=4];raster irq fonksiyonunu set et (1 ile orlanıp sadece son bit değiştiriliyor)[/SIZE][/B]
[/COLOR][B][SIZE=4][COLOR=#000040]lda [/COLOR][COLOR=#804000]$d01a[/COLOR][/SIZE][/B][COLOR=#808080][B][SIZE=4];bu vic registerlerinden birinin adresi[/SIZE][/B]
[/COLOR][SIZE=4][COLOR=#000040][B]ora [/B][/COLOR][/SIZE][COLOR=#804000][B][SIZE=4]$01[/SIZE][/B]
[/COLOR][SIZE=4][COLOR=#000040][B]sta [/B][/COLOR][/SIZE][COLOR=#804000][B][SIZE=4]$d01a[/SIZE][/B]
[/COLOR][COLOR=#808080][B][SIZE=4];irq nun 6510 a gonderilecegi satir icin 9 bitlik satir no gondericez[/SIZE][/B]
[B][SIZE=4];312 satırdan dolayı ancak 9 bite sığıyor.[/SIZE][/B]
[/COLOR][B][SIZE=4][COLOR=#000040]lda [/COLOR][COLOR=#804000]$d011[/COLOR][/SIZE][/B][COLOR=#808080][B][SIZE=4]; dokuzuncu bit[/SIZE][/B]
[/COLOR][B][SIZE=4][COLOR=#000040]and [/COLOR][COLOR=#008080]#[/COLOR][COLOR=#804000]$7f[/COLOR][/SIZE][/B][COLOR=#808080][B][SIZE=4]; sıfırlanıyor 01111111 [/SIZE][/B]
[/COLOR][SIZE=4][COLOR=#000040][B]sta [/B][/COLOR][/SIZE][COLOR=#804000][B][SIZE=4]$d011[/SIZE][/B]
[/COLOR][B][SIZE=4][COLOR=#000040]lda [/COLOR][COLOR=#008080]#[/COLOR][COLOR=#804000]$20[/COLOR][/SIZE][/B][COLOR=#808080][B][SIZE=4]; 32. satir[/SIZE][/B]
[/COLOR][B][SIZE=4][COLOR=#000040]sta [/COLOR][COLOR=#804000]$d012[/COLOR][/SIZE][/B][COLOR=#808080][B][SIZE=4]; ilk 8 bit[/SIZE][/B]
[/COLOR][B][SIZE=4][COLOR=#000040]lda [/COLOR][COLOR=#008080]#[/COLOR][COLOR=#000040]<irqRutini[/COLOR][/SIZE][/B][COLOR=#808080][B][SIZE=4]; irq rutini adresinin düşük ve yüksek bytelarını alınıp [/SIZE][/B]
[/COLOR][SIZE=4][COLOR=#000040][B]sta [/B][/COLOR][/SIZE][COLOR=#804000][B][SIZE=4]$0314[/SIZE][/B]
[/COLOR][B][SIZE=4][COLOR=#000040]lda [/COLOR][COLOR=#008080]#[/COLOR][/SIZE][/B][COLOR=#000040][B][SIZE=4]>irqRutini[/SIZE][/B]
[B][SIZE=4]sta [/SIZE][/B][/COLOR][SIZE=4][COLOR=#804000][B]$0315[/B][/COLOR][/SIZE][COLOR=#808080][B][SIZE=4]; adreslerine yazarak altrutinimizin hangi adreste olduğunu 6510 un default olarak bakacagi yere koymus oluyoruz.[/SIZE][/B]
[/COLOR][COLOR=#000040]
[/COLOR][COLOR=#808080][B][SIZE=4];transaction burda bitiyor[/SIZE][/B]
[B][SIZE=4];artik gonderebilirsiniz[/SIZE][/B]
[/COLOR][COLOR=#000040][B][SIZE=4]cli[/SIZE][/B]
[/COLOR][COLOR=#000040][B][SIZE=4]rts[/SIZE][/B]
[/COLOR][FONT=FixedSys][COLOR=#804000]
 
[/COLOR][/FONT][COLOR=#000040][B][SIZE=4]irqRutini:[/SIZE][/B]
[B][SIZE=4]inc [/SIZE][/B][/COLOR][SIZE=4][COLOR=#804000][B]$d019[/B][/COLOR][/SIZE][COLOR=#808080][B][SIZE=4]; irq sinyalini aldim isliyorum az kadi. haberin olsun. (bu adres VIC in registerlerinden birinin adresi)[/SIZE][/B]
[/COLOR][COLOR=#808080][B][SIZE=4];syc. tam burda oluyor. bu register 1 olarak set edilmis oluyor  [/SIZE][/B]
[/COLOR][COLOR=#808080][B][SIZE=4];tam VIC isaretledigimiz satira geldiginde 6510   cerceve rengini beyaz gosterttiriyor. boylece sadece isaretledigimiz bolge beyazmis gibi gorunuyor.  dolayisiyla elektron demetine hukmetmis oluyoruz. sonrada VIC 0 olarak set ediyor.[/SIZE][/B]
[/COLOR][B][SIZE=4][COLOR=#000040]lda [/COLOR][COLOR=#008080]#[/COLOR][COLOR=#804000]$01[/COLOR][/SIZE][/B][COLOR=#808080][B][SIZE=4]; cerceve beyaz - siyah bir flashing yapıyor buda efektimizi olusturmak icin tarama satirimizi elde etmemizi sagliyor[/SIZE][/B]
[/COLOR][SIZE=4][COLOR=#000040][B]sta [/B][/COLOR][/SIZE][COLOR=#804000][B][SIZE=4]$d020[/SIZE][/B]
[/COLOR][B][SIZE=4][COLOR=#000040]lda [/COLOR][COLOR=#008080]#[/COLOR][/SIZE][/B][COLOR=#804000][B][SIZE=4]$00[/SIZE][/B]
[/COLOR][SIZE=4][COLOR=#000040][B]sta [/B][/COLOR][/SIZE][COLOR=#804000][B][SIZE=4]$d020[/SIZE][/B]
[/COLOR][COLOR=#000040]
[B][SIZE=4]jmp [/SIZE][/B][/COLOR][SIZE=4][COLOR=#804000][B]$ea81[/B][/COLOR][/SIZE][COLOR=#808080][B][SIZE=4]; irq rutininden geri dönüp kaldigin yerden devam edebilmek icin bu islemi bizim icin romun otomatik yapabildigi bir adres.[/SIZE][/B]
[/COLOR]
Başlık: VIC kursu preview
Gönderen: nightlord - 07.01.2007 00:35:08
selam esmaeild eline saglik ve hayirli olsun. sadece commentlerdeki bir cumle beni dusundurdu. inc $d019 un altinda...
 
VIC planladigimiz rastera atliyor demissin ya... yanlis anlamadigindan emin olmak icin aciklayayim. VIC hep rasterlari ayni sirayla 1den 312ye dogru ayni hizda geciyor (monitor onlari ayni sira ve hizla bekledigi icin) VIC istedigi zaman veya 6510dan gelen bir komut uzerine bir rasterdan baskasina atlayamiyor. burada olan olay biz irq ile VICe diyoruz ki "abi sen normal sekilde tek tek rasterlari monitore gonderiyorken 50.satira gelince bize haber ver" sonra da 6510un bellegine $0314 0315 adrelerine de irq rutinimizin adresini koyarak diyoruz ki "ey 6510... VIC sana haber verince bu rutini calistir" boylece irq rutini icinde biliyoruz ki tam olarak VIC o sirada istedigimiz satirda. yani bir nevi biz VICi bir rastera ziplatmiyoruz da VIC 6510u bizim istedigiimiz rastera geldigi zaman bizim istedigimiz rutine ziplattiriyor.
 
Belki de bunu zaten anlamis durumdaydin ama ben yine de commenti okuyan baskalari yanlis anlayabilir diye aciklayayim dedim :)
Başlık: VIC kursu preview
Gönderen: esmaeild - 07.01.2007 00:43:56
ok. 6510 VIC ten haber bekliyor. 6510 VIC e uymak zorunda çünkü VIC monitörü bekletmemek zorunda. hani monitörde beklerde başında monitöre bakan adam beklemez dimi. eli mahkum. :) orayı hemen düzelteyim.
Başlık: VIC kursu preview
Gönderen: esmaeild - 08.01.2007 00:13:35
hocam şurdaki +$00 ın ne işe yaradığını anlayamadım. ldy sin_table+$00,x
 
düzeltme : devamını okuyunca anladım:D .
Başlık: VIC kursu preview
Gönderen: skate - 08.01.2007 01:10:49
Bu arada Nightlord herhalde bahsetmiştir ama çok detaylı okumadığım için yazıları hemen belirtiim, sin_table,x kullandığın sürece sinüs tablosunun bir kopyası yeterli olacaktır, yani.
 
sin_table !by 128,129,130,132...........,124 (256 adet değer)
 
Ancak eğer sin_table+$30,x gibi tabloyu biraz ilerden okumaya başlayacak olursan bu taşmaya neden olacaktır. Mesela x'e $e8 gibi bir değer verecek olursak
 
$e8 + $30 = $118
 
Tablonun toplam uzunluğu $100 (=256) olduğuna göre hafızadan saçma değerler dönecektir. Bunu engellemek için tabloyu tekrar ettirmek gerekir. Yani;
 
sin_table !by 128,129,130,132...........,124 (256 adet değer)
             !by 128,129,130,132...........,124 (256 adet değer) <- üst satırın kopyası
 
256 bytelık bir sinüs tablosu için 512 byte kullanmamız gerekir kısacası. Bir diğer önemli husus sinüs tablosu gibi tabloları tam $100'lük bir bloktan başlatmaktır. Yani tablo $0e37 gibi bir adresten değil de $0e00 ya da $0f00 gibi yuvarlak bir adresten başlamasını tercih etmenizi tavsiye ederim.
 
Bunu ACME'de yapmanın basit bir yolu var. !align komutu.
 
!align 255,0,0
 
Diyecek olursanız kod tam $100'lük bir bloğun başına atlar. Diyelim ki şöyle bir kod yazdık.
 
Kod: [Seç]
* = $080d
 
sei
lda #$00
sta $d020
rts
 
!align 255,0,0
sin_table !by ....................
             !by ....................

kod hafızaya şu şekilde yerleşir
 
Kod: [Seç]
.080d sei
.080e lda #$00
.0810 sta $d020
.0813 rts
.........
.........
.0900 -> sin_table

Satır numaraları aklına takılanlar olursa açıklaması "sei" ve "rts" 1 byte, "lda" parametresiyle birlikte 2 byte, "sta" ise yine parametresiyle 3 byte kaplar. Bu yüzden hafıza yerleşimi o şekilde oluyor.
 
Burda rts'den sonraki hafızaya dokunmaz ACME. align komutu olduğu için sonraki ilk $100'lük bloğa yani $0900'e atlar ve sinüs tablosunu ordan itibaren yerleştirir.
 
Sanırım Nightlord bu anlattıklarımı anlatmıştı bir dökümanında ama hangisi hatırlayamadım. En fazla pekiştirme olur sizin için. Sinüs tablosu yaratmanın alternatif yöntemleri için Plazma disk magazinindeki "Test Platformu" köşesini okuyabilirsiniz.
Başlık: VIC kursu preview
Gönderen: esmaeild - 08.01.2007 14:09:14
bu akşam kendi başıma ilk effectimi yapmaya çalışıcam. nasıl birşey ortaya çıkıcak merak ediyorum. bana şans dileyin:)
Başlık: VIC kursu preview
Gönderen: skate - 08.01.2007 14:21:26
bol şanslar kardeşim. arkandayız :)
Başlık: VIC kursu preview
Gönderen: esmaeild - 10.01.2007 21:28:45
raster0.prg örneğinde çıkardığımız çizgiyi 1 pixellik noktaya dönüştürmenin kısa bir yolu varmı? iki gündür uğraşıyorum.:)
 
bir de en temel şekliyle dikey rasterlar elde etmek için küçük bir örnek verebilirmisiniz.
Başlık: VIC kursu preview
Gönderen: nightlord - 10.01.2007 22:24:52
cizgiyi tek pixele indirebilmek icin,
lda #01
sta $d020
 
komutlarindan sonra super hizli sekilde yeni bi degeri d020ye gondermen lazim. bunu yapabilecegin en hizli komut 4 cycle oldugu ve sen 6510da 4 cycle harcarken VIC ekrana 4 karakterlik(32 piksel) sinyali gondermis olacagi icin, bu metodda cizgiyi en fazla 32 pixele kadar kisaltabilirsin.
 
Dikey raster yapabilmek icin titremeyen interruptlar yaratmayi bilmek gerekli, bu da kursun ilerleyen bolumlerinde...
Başlık: VIC kursu preview
Gönderen: esmaeild - 10.01.2007 22:42:16
evet olmadı zaten :) hızlandıramaycağımı zaten anladımda geri kalan kısmını yavaşlatabilirmiyim diye uğraştım.:D
Başlık: VIC kursu preview
Gönderen: skate - 10.01.2007 23:44:57
Aslında çok temiz olmasa da dikey rasterlar elde etmen mümkün minik aptal programcıklarla. Ama hiçbir zaman zamanlamalarına güvenilmez titremeyen raster rutini olmadıkça
 
Kod: [Seç]
sei
 lda #0
 sta $d011
 lda #5
 ldx #7
 ldy #13
.vrst
 sta $d020
 nop
 stx $d020
 nop
 sty $d020
 nop
 jmp .vrst

şunu bir dene. Denedikten sonra bir de "restore" tuşuna basmayı dene (Vice'da Page Up tuşu). O zaman anlarsın niye zamanlamalarına güven olmadığını.
Başlık: VIC kursu preview
Gönderen: hades - 10.01.2007 23:56:24

DıKEY RASTER BAR 1

       *=$0900
      SEI
       LDA #$00
       STA $d011
TEKRAR LDA #$00
       STA $D020
       LDA #$01
       STA $D020
       LDA #$02
       STA $D020
       LDA #$03
       STA $D020
       LDA #$04
       STA $D020
       LDA #$05
       STA $D020
       LDA #$06
       STA $D020
       LDA #$07
       STA $D020
       LDA #$08
       STA $D020
       LDA #$09
       STA $D020
       JMP TEKRAR

DıKEY RASTER BAR 2

       *=$0900
      SEI
       LDA #$00
       STA $d011
TEKRAR LDA #$00
       STA $D020
       LDA #$07
       STA $D020
       LDA #$02
       STA $D020
       JMP TEKRAR

VIC --> Very Intersting Chip
Başlık: VIC kursu preview
Gönderen: esmaeild - 11.01.2007 00:07:46
evet runstop tuşu etkiliyor. peki biz bütün kesme isteklerini kapattığımız halde niye etkiliyor.:confused:
Başlık: VIC kursu preview
Gönderen: hades - 11.01.2007 00:27:05
cevabını ben vereyim :)

retore tuşuna basıldığı zaman 6510'un NMI  (maskelenemez interrupt) girişine sinyal geliyor ve işlem yapmak zorunda kalıyor. Dolayısıyla zamanlamada bir anlık değişmeler oluyor.
NMI vektörünü değiştirerek bu  sorunun çözülebileceğini tahmin ediyorum.
Başlık: VIC kursu preview
Gönderen: skate - 11.01.2007 00:33:59
hades doğru söylüyor. ve burda konuyu kapatıyoruz.. çünkü Nightlord da tam olarak bunun nasıl yapılabileceğini anlatacak. bundan sonra bölük pörçük devam edersek iyice kafa karıştırmaktan başka bir işe yaramaz.
Başlık: VIC kursu preview
Gönderen: esmaeild - 11.01.2007 00:38:59
sağol hocam bu yatay ve dikey rasterlar beni uzun bir süre oyalar.
Başlık: VIC kursu preview
Gönderen: nightlord - 12.01.2007 10:22:01
selamlar

bu haftanin ortalarina kursun 3. bolumunun sozunu vermistim. Aslinda ilk planladigim seyleri de yazdim. Lakin su an iyi bolunebilecek bir yerde degil. Biraz daha ilerleyip oyle bolmem daha mantikli olacak. Karakter setlerini anlattim, smooth scroll ve 3 renkli logolari da ekleyip hafta sonuna release edecegim 3. bolumu. Bu bolumden sonra muzikli, logolu, raster efektli ve kayan yazili intro yapabileceksiniz. (Evet araya muzik caldirmayi da sikistirdim)

Nerde yahu bu kursun devami diye merak etmeyin diye soyluyorum:)
Başlık: VIC kursu preview
Gönderen: Ragnor - 12.01.2007 10:46:09
Abi süpersin, süper yazıyorsun, okumak için sabırsızlanıyorum. vakitsizlikten fazla ilgi gösteremiyorum gerçi şimdilik. Sonraya kalacak bunları çalışmak falan. Ellerine sağlık abi :)
Başlık: VIC kursu preview
Gönderen: GnoStiC - 12.01.2007 12:42:58
rambo'dan rica ettim, djvu olarak gonderdi ilk iki eki.. 2nci ek = yesil.

3 boyutlu grafikler cizen bir program dokumu var dogrudur.
"matematik temelli cizimler icin" adi ve bahsettigin rotasyon/fonksiyon ibareleri geciyor ancak aciklamasinda hizla ilgili tek sey su;

Alıntı
en fazla 5 dakika icerisinde cizimin yapilisini gorursunuz. bu arada ufak bir sey belirtelim. Eger bu programin cizim ve hesaplari BASIC ile yapilmis olsaydi, en basit grafigin cizimi bile en az 6 saat surerdi.

isteyen var ise, upload edebilirim bir yerlere..

Alıntı yapılan: esmaeild
yok bunlar değil o zaman büyük ihtimalle 2. sayının döküm ekinde. komple scan yapmana gerek yok sadece rotasyon ve fonksiyon diye 2 tane program vardı. onun açıklama kısmında yazan bişey kafama acayip takıldı. 3 boyutlu grafikler çiziyordu program. evet %80 2. sayıdaydı. kahverengiyidi şimdi hatırladım. Sadece bu programlar açıklamaları ile birlikte lazım.
Başlık: VIC kursu preview
Gönderen: esmaeild - 12.01.2007 15:18:27
ben isterim.:) Teşekkürler. (rengini şaşırmışız ama en azından sayıyı doğru tahmin etmişim) acayip güzel çiziyordu ama he. kafadan fonksiyonlar girip çizimleri azım açık vaziyette izliyordum):D
Başlık: VIC kursu preview
Gönderen: GnoStiC - 12.01.2007 15:39:21
http://gnostic.lryiu.com/commodore_programdokumeki_02.djvu (http://gnostic.lryiu.com/commodore_programdokumeki_02.djvu)

dokum ekini scanleyip, djvu cevrim islemini yapan: rambo

Alıntı yapılan: esmaeild
ben isterim.:) Teşekkürler. (rengini şaşırmışız ama en azından sayıyı doğru tahmin etmişim) acayip güzel çiziyordu ama he. kafadan fonksiyonlar girip çizimleri azım açık vaziyette izliyordum):D
Başlık: VIC kursu preview
Gönderen: esmaeild - 12.01.2007 16:04:01
sağolun hocam. ramboya da Teşekkürler. çok makbule geçti.
Başlık: VIC kursu preview
Gönderen: GnoStiC - 12.01.2007 16:20:28
rica ederim, rambo'da login olur tesekkuru gorur insallah :)

hatta rambonun elinde tum commodore dergi/dokum ekleri vardi, onlari scanleyecek firsat buldukca..

Alıntı yapılan: esmaeild
sağolun hocam. ramboya da Teşekkürler. çok makbule geçti.
Başlık: VIC kursu preview
Gönderen: nightlord - 26.01.2007 09:41:37
arkadaslar ucuncu bolumun yine fazla uzamasi sebebiyle kesebildigim bi yerden kesmek zorunda kaldim (yine 30K ya yaklasiyordu text dosyasi ). Dolayisiyla 3.bolum eklenmistir.
 
Ayrica klasor yapisinda biraz degisiklik ve organizasyon oldu. daha derli toplu hale geldi sanirim. Ayrica ayni dokumandan daha ileride pdf, html vs output edebilecek bir alt yapi kuruyorum.
 
--------------------------
 
- VIC Kursunun 3. Bolumu cikmis duydun mu komsuuuu
- Ay yok anam yalandir o, guya gecen hafta cikacakti o.
 
 
adres bu thread'in ilk post'unda
Başlık: VIC kursu preview
Gönderen: esmaeild - 26.01.2007 10:00:01
:eek: yılın en sansalsilasyonlu haberi :eek: işte buuuuuuuuuuuu. döndürme VIC çipini. o düzlüğü dönmemesi lazım. 6510 dan kıskançlık kokan haraketler. 6510 çevirdi. ileride nightlordu gördü. verdi pasını vic araya girdi. kesme isteğini gönderdi. ama engel olamadı. şimdi top nightlorda. monitörle karşı karşıya çekti şutunu. dma satırlarından sıyırdı. inanımaz bir gol sayın seyirciler. nightlord 3. golünü attı. tirübünler coştu. hadi bakalım. başarıcaz. monitör de introlar, görüyoruz. tirübülerde mistik c64 müzikleri çalınıyor. teşekkürler nightlord. teşekkürler Türkiye....
Başlık: VIC kursu preview
Gönderen: skate - 26.01.2007 10:16:13
@nightlord: tutorial'ı baştan sona okudum, örnekleri inceledim. çok güzel olmuş ellerine sağlık. smooth scrollün mantığını gösteren şema da süper. ama bence bir de sağdan sola sabit hızla kayan scroll örneği iyi gider devamında diğer konulara atlamadan önce.
Başlık: VIC kursu preview
Gönderen: vigo - 26.01.2007 10:27:24
süper olmuş... seni "tr demoscene volunteer of dı yiır" seçiyorum ve bu yılki, MVS yani most valüıbl siinır ödülüne aday gösteriyorum. :)
Başlık: VIC kursu preview
Gönderen: stranger - 26.01.2007 11:21:29
en sonunda beklenen tutorial geldi :) hemen soyLe bir baktIm.  super...
tebrik ve te$ekkurlerimiz NightLord'a...
 
Fakat bu sefer gelecek soruLar biraz daha fazla oLabiLir. :)
Başlık: VIC kursu preview
Gönderen: esmaeild - 26.01.2007 21:37:24
@nightlord:
 
Alıntı yapılan: nightlord
$12 indeksli karakterin baytları $2060 - $2067 arasında,


$12 * $8 = 90

dökümada acizane bir düzeltme yapmak istedim. ufak bir göz yanılması olmuş sanırım.
Başlık: VIC kursu preview
Gönderen: nightlord - 26.01.2007 21:49:05
Dogru... Duzeltme icin tesekkurler. Su an dokumanda duzeltmeyi yapamiyorum. yaklasik 8-9 saat sonra evden yapacagim
Başlık: VIC kursu preview
Gönderen: skate - 26.01.2007 22:54:31
Microsoft katı kuralları galiba :/ Evindeki internet de onların firewallundan geçmiyordur inşallah ;)
Başlık: VIC kursu preview
Gönderen: stranger - 26.01.2007 23:30:59
3. boLumu iyice sokmek 3-4 gun daha surecek. skate'in dedigi gibi birde sagdan sola  kayan  ve ekrandan cIkan yazI oLsaydI ke$ke. Gerci Nightlord onu da siz yapIn goreLim diyebilir :)
Başlık: VIC kursu preview
Gönderen: skate - 26.01.2007 23:53:32
aslında şimdi hatırladım, ona zaten nightshift 2006'da seminer olarak vermiştik :) kodu da yayınlamıştık herhalde ama bir daha ekliyorum buraya. ne yazık ki kodun içinde açıklama yok ama nightlord'un tutorial'ının yardımıyla anlayabileceğinizi sanıyorum.
Başlık: VIC kursu preview
Gönderen: nightlord - 27.01.2007 00:07:23
Hmm arkadaslar haklisiniz aslinda. bir sonraki bolumdeki introda normal scroller olacak diye planladim aslinda. Ama onu anlatmadan once logo basmayi anlatacaktim. bu feedbackler dogrultusunda 4. bolumun basina normal scrollu kaydirip (bkz kinaye :) ) logoyu ona ekleyecek sekilde siralasam daha iyi olacak gibi gorunuyor
 
Aklimdaki bir fikir de butun bolumlerin sonuna bir Soru-Cevap kosesi eklemek. Sizlerin sordugu ve sormadigi sorulardan olusan bir grup soruyu (pratikte birsey yapmaya calisirken karsilasilabilecek) listeleyip cevaplamak.
 
Sanirim bu da bolumleri okuyan bir kisi bolum sonuna geldiginde bir kontrol mekanizmasi saglar. okuyucu once sorulari cevaplamaya calisir. Ardindan da cevaplari okuyup kontrol edebilir bilgisini.
Başlık: VIC kursu preview
Gönderen: stranger - 27.01.2007 20:48:18
Bu arada bizim gelenekseL karakter setimiz nerde sakLanIyordu yaw?
$2000 e 2.karakter setini koyduk. Ekranda aynı anda default karakter setini de gostermek istiyorum o bakImdan...
Başlık: VIC kursu preview
Gönderen: nightlord - 27.01.2007 22:50:59
c64 karakter seti aslinda bellekte saklanmiyor kendi ayri dedicated ROMu var. Konu birazcik karisik ama dayanin. o Rom VIC acisindan bakildiginda $1000 - $2000 arasinda, fakat 6510 acisindan bakildiginda normalde gozukmuyor. Yani 6510daki programiniz $1000 $2000 arasinda normal 64Klik RAMinizin $1000-$2000 arasindaki baytlarini goruyor.
 
VIC ise bu baytlar arasinda RAM baytlari yerine ROM baytlarini goruyor.
 
Yani d018'in alt 4 bitine 4 yazarsak (kurstaki tabloda gorebilirsiniz) karakter setini $1000den okumasini soylemis olacagiz. O da bu adreste RAM'i degil de karakter ROMUNU gordugu icin geleneksel karakterler kullanacak. Mesela Video Matris yine $0400 da ise
lda #$14
sta $d018
 
Hatta bu yuzden kursta genelde 2000 4000 arasini kullanacagiz demistik. Ve hatta bu yuzden genelde C64 muzikleri $1000 $2000 arasinda olur. Cunku o bolge grafik icin kullanilamaz zaten
 
Edit by Skate: $d018 yanlışlıkla $d028 yazılmıştı onu düzelttim sessizce.
Başlık: VIC kursu preview
Gönderen: stranger - 28.01.2007 19:00:46
KIsa bir hatIrlatma yapayIm. Gelecekte bu kurs dokumanlarInI okuyacaklara veya direkt olarak vic kursuna baslamIs olan varsa. Ozellikle 3. bolumde ortaya cIkan LSR CLC ADC gibi komutlarI
(nightnetwork.org) dan incelemeyi unutmayIn.
Başlık: VIC kursu preview
Gönderen: nightlord - 12.02.2007 10:37:03
vic kursunu versiyonlamaya basladim. su an VIC_RELEASE_0-3-1.zip olarak son versiyonu yayinliyorum. Versiyon numaralama tahmin edeceginiz uzere 2. basamakt yeni bolum eklendikce bir artarken, en kucuk basamakta ise kucuk duzeltmeler oldugunda bir artacak. su an 3.bolumden sonra ortaya cikan bazi syntax duzeltmeleri ve ornek programlardan birindeki bir bugin temizlenmis oldugu 0.3.1 versiyonu geliyor.
 
 
ayrica klasor yapisina birkac yeni dosya eklendi, eksik olan screenshotlar tamamlandi. yeni eklenen dosyalar (zip_deploy.pl ve makefile'lar) benim yeni versiyonlari otomatik deploy etmeme yariyor. Okuyucu acisindan cok onemli degil. Ayrica yine yapilan istek ve uzerinde calisilan duzeltmelerin oldugu yine otomatik uretilen change_log dosyasi her yeni versiyonda olacak.
 
Bu topicin basindaki ilk linki de degistiriyorum.
 
Ayrica kurla ilgili elestri, duzeltme ve isteklerinizin hepsini hata takip sistemine giriyorum ve hepsini yavas yavas hallediyorum. Bu yuzden istek ve duzeltmelerinizi bana iletmeye devam etmeniz cok degerli.
 
aslinda hata takip sistemini webe acmam mumkun olabilir ilerde, fakat su an statik ip'm olmadigi icin bunu yapmiyorum (aslinda aklimda biraz pis bi hack var ama bakalim). o zaman direk webden bug iletebileceksiniz
 
simdilik bu kadar. su an ilk 3 bolumde bildigim bir hata yok. eger 4. bolumu yazana kadar yeni hata bulunmazsa 0.4.0 versiyonunda gorusuruz. ;P
Başlık: VIC kursu preview
Gönderen: skate - 12.02.2007 11:14:19
static IP için pis bir hacke gerek yok be kardeşim, zaten nette onlarca dynamic ip redirection programları mevcut. sen her online oluşunda otomatik yönlendirme yapıyor. nightlord.dyn-ip.org gibi bir adresten sana ulaşıyor herkes sen online oldukça. hiç araştırmıyorum google'dan, sen araştırıp en uygununu bulursun. ben zamanında (1997-1999 arası) epey kullanmıştım bu servisleri.
Başlık: VIC kursu preview
Gönderen: stranger - 12.02.2007 15:13:30
Bu guzel bir haber oLdu. Cunku 3.bolumde VIC Tutorial cok pis bi yerde kaLdI. :) Nightlord'u da fazla sIkI$tIrmak istemeyiz ama merakla bekliyoruz da yani ...
Başlık: VIC kursu preview
Gönderen: skate - 12.02.2007 15:47:12
Alıntı yapılan: stranger
Bu guzel bir haber oLdu. Cunku 3.bolumde VIC Tutorial cok pis bi yerde kaLdI. :) Nightlord'u da fazla sIkI$tIrmak istemeyiz ama merakla bekliyoruz da yani ...
Hele Nightlord adam akıllı stable raster konusunu falan bir anlatsın, o zaman hem kafalar biraz daha zorlanacak, hem de birçok efektin sırrı (raster split, side-border v.s.) açığa çıkacak. Ben sabırsızlıkla Nightlord'un o tutorialı yazmasını bekliyorum ki ardından örneklerle destekliim.
Başlık: VIC kursu preview
Gönderen: GnoStiC - 12.02.2007 16:06:22
nightlord & skate'i, hic usenmeden uzun uzun yazmalari, ogretme istekleri ve bu konudaki tutkularinindan dolayi, tebrik ediyorum..
c64 ile alakam olmamasina ragmen ben bile gaza gelip, okuyorum dokumanlari..

nightshiftte irili ufakli bir suru c64 release gormeyi umuyorum :)
Başlık: VIC kursu preview
Gönderen: hades - 12.02.2007 22:58:49
           !to "lamesplit.prg",cbm    
       
            *=    $0801

            !word    nextline, 2007
            !byte    $9e
            !text    "2061"
            !byte    0
nextline    !word    0

            sei
            lda    #$00
            sta    $d011
loop0       ror    $d020    
loop1       lda    $d012
            cmp    #$30
            bcc    loop1
            sta    $d020
            jmp    loop0


denemesi bedava :)
Başlık: VIC kursu preview
Gönderen: skate - 12.02.2007 23:51:37
Hadi forum üzerinden c64 için on the fly tiny intro compo yapalım!!! :)
 
sei
lda #0
sta $d011
eor #8
sta $d020
lsr $00
bne *-7
eor #12
adc #1
eor *-1
bne *-16
Başlık: VIC kursu preview
Gönderen: stranger - 13.02.2007 12:40:05
Bende code'LarI kurcaLarken hasbelkader pastel tonLarInda bi$i yakaLadIm. :)
 
!to "raster.prg",cbm
*=$c000
sei
lsr $d011
dongu:
inc $d020
inc $d020
ldx#$fd
dongu2:
inx
bne dongu2
jmp dongu
Başlık: VIC kursu preview
Gönderen: skate - 13.02.2007 15:35:33
vaays. süper olmuş kardeşim :)
Başlık: VIC kursu preview
Gönderen: atiflz - 17.04.2007 22:40:03
Eveet, benim bu güzel şeylerden yeni haberim oldu, da. Devamı nerde nerde nerde
Başlık: VIC kursu preview
Gönderen: nightlord - 17.04.2007 22:48:32
devami pipeline'da duruyor. Dogal olarak onune high priority Plazma #4 yazilarini aldik :) Bu arada reklam gibi olmasin ama plazma #4'e bi Vice ile debugging yazisi yazdim valla parmaklarinizi yiyceksiniz :)
Başlık: VIC kursu preview
Gönderen: atiflz - 17.04.2007 23:55:26
Alıntı yapılan: nightlord;14198
Vice ile debugging yazisi yazdim valla parmaklarinizi yiyceksiniz :)

Aha. Bu günden itibaren nightlord için kült kuruyorum.
Başlık: VIC kursu preview
Gönderen: skate - 18.04.2007 00:02:42
@nightlord: Oy oy oy. Süper haber. Ben bir ara Endo'ya NO$C64'ü gösteriyordum. Dedim "olm süper birşey bu, breakpoint falan da koyabiliyorsun" diye. Endo da dedi "E onu Vice'da da yapıyorsun" diye. O zaman öğrendim Vice'ın debuggerının bu kadar gelişmiş olduğunu. Ben hep salak gibi external toollar kullandım bu güne kadar. şu senin Plazma #4 yazın çok işime yariicak, şimdiden sağolasın.
Başlık: VIC kursu preview
Gönderen: nightlord - 27.04.2007 02:49:24
Bu aksam Vic 4. bolum geliyor. Onceki uc bolumden de daha uzun ebadi ve uc yeni ornek programla beraber en iri bolumu oldu kursun. Bir oturusta bitirmeyi ummayin :)
 
Sonunda da ilk intronuz var....
 
Gecikme icin ozur ;)
Başlık: VIC kursu preview
Gönderen: nightlord - 27.04.2007 08:21:08
VIC Kursu 4. bolum cikti.
 
Bu bolumde Kayan yazilar, Karakter logolari ve Muzik caldirma konulari anlatiliyor. Bolumun sonunda da ilk intro ornegi var. Gule gule binin
 
- Erdener Abi VIC kursunun 4. bolumu cikmis abi ne diyosun?
- jmp $ea81... zindik seni
 
adres bu thread'in ilk post'unda
Başlık: VIC kursu preview
Gönderen: stranger - 27.04.2007 11:03:53
Iste beklenen 4.bolum geldi. Hemen inceledim. 4. bolum diger bolumlere gore en kapsamLI ve vurucu bolum olmu$ bence. nightnetwork'teki ba$LangIc seviyesi kurslar ve 4 VIc tutoriaL'I ile bence seri tamamLanMI$ oldu. Eger bu tutorial 15-16 sene once Turkiye'de yayInLanMI$ olsaydI bu forumda $u an oldugumuzun 5-10 katI kadar adam oLurduk. (Gerci C64 cIkan stuffLara vs. bakILIrsa c64 ikinci baharInI ya$Iyor o da ayrI bir konu)
Nightlord'u bu tutorial icin tebrik etmek istiyorum. Herkes partilerde aynI ki$iLeri gormekten yada senelerdir aynI grupLarIn piyasada oLmasIndan $ikayet ediyor. Belkide eksik oLan, insanLarI ba$LangIc seviyesinde kar$ILayabilecek scene ile ilgiLi dokumanLarIn oLmamasIdIr. OzellikLe code ile iLgili soyluyorum. Grafiker ve muzisyenlerin scene 'e adapte oLmasI daha kolay cunku. Amiga ile TR'de ugra$an cok fazla insan kaLmadI. PC 'lerin modasI hic gecmeyecek. Ve herkesin onunde 1'er tane oLacak. Demek ki bazI babaLarInda cIkIp buna benzer tutoriallarI PC icin hazIrLamasI gerekecek. Denemesi bedava nightlord'un dokumanLarInI 2 ay inceleyen herhangi biri intro yazabilir. AynI $ansI onunde PC olan onbinlerce ki$inin yakaLadIgInI du$unun.
Herneyse olayI fazLa uzattIm galiba fakat bu kadar guzel bir dokumanIn hazIrLanmasI beni cok etkiledi herhalde :) Bu kadar emege kuru bir tebrik ve te$ekkur yetmez ama ne yapaLIm. Turkiye'de gorebiLirsek bi$iLer IsmarLayacagIz herhalde :)
Başlık: VIC kursu preview
Gönderen: skate - 27.04.2007 14:14:14
Az önce okudum, henüz stable raster konusuna gelinmemiş ama iyi de olmuş, sindire sindire çok güzel ilerliyor konular. Oturup intro kodlayasım geldi okuyunca :D
Başlık: VIC kursu preview
Gönderen: nightlord - 27.04.2007 21:57:28
Tepkiler icin cok tesekkurler :)
 
Alıntı yapılan: stranger;14457
nightnetwork'teki ba$LangIc seviyesi kurslar ve 4 VIc tutoriaL'I ile bence seri tamamLanMI$ oldu.

Daha durun yahu ne bitmesi :) buraya kadarki konular zaten daha once daha az detayla da olsa Commodore dergilerinde anlatilmisti. Simdi asil orjinal bolumler basliyor. Tahminlerime gore vic kursu en az 3 bolum daha icerecek
-bolum 5: logo swing, tech tech, basit zoomer, spritelar, multiplexerlar
-bolum 6: stable rasterlar, dma satirlarinin sirri, fli
-bolum 7: fld, sprite strech, ve diger dma tabanli efekt fikirleri
 
5. bolumu hemen bir kac gun icinde cikarmak istiyorum ama bakalim.
 
Sonra da bir kac okuyucuya sozum var 3. boyut serisine donecegim :)
Başlık: VIC kursu preview
Gönderen: spaztica - 27.04.2007 22:13:56
keyifle okumaya başlayacağımı müjdeleyebilirim. artık ben de bir c64+1541'liyim! :)
Başlık: VIC kursu preview
Gönderen: skate - 28.04.2007 18:49:17
@Nightlord: FLD ve Sprite Stretch 7. bölümde demek... Ben 4. bölümde yayınlayacağını tahmin ettiğim için Plazma #4'deki yazımda senin siteyi referans gösterdim. 4. bölümde göremeyince de "olsun en kötü 5. bölümde anlatır" dedim içimden. Çabuk yaz bare yazıları da ben rezil olmiim :)
Başlık: VIC kursu preview
Gönderen: fiskem - 08.05.2007 05:49:36
10 numara adamsin nigthlord

cabalarin icin tesekkurler, yillar once bende kendi capimda ugrasmistim bu raster olaylari ile ama bi demo yapmak (adam gibi demo) nasip olmadi.

isin dogrusu tabi bu kadar usta olamadik, ama reverse'm iyidir.

gecenlerde eski c64 disket arsivimden kalanlari d64 yaptim, icinden 1, 2 oyun cikti (made in fiskem)

birde wizard of wor isimli oyuna trainer yapmisim onu da buldum, olumsuzluk saglayan (sonsuz hak degil) ve de enteresan bir ozellik daha var kendi kendilerini vurabiliyorlar :))


bilmiyorum merak eden olur mu,

tekrar tesekkurler nightlord!
Başlık: VIC kursu preview
Gönderen: nightlord - 08.05.2007 06:21:13
estafurullah :) yeniden gaza gelip c64 ustunde biseyler kodlamaya donmeni dilerim
Başlık: VIC kursu preview
Gönderen: skate - 08.05.2007 23:30:01
@fiskem: wizard of wor'a kendi kendilerini vurabilme trainerı eklemen çok hoş bir fikir olmuş. crack dünyasında hep artı puandır bu tür sıradışı trainerlar. kesinlikle senin yeni çalışmalarını görmek isterim.
Başlık: VIC kursu preview
Gönderen: fiskem - 11.05.2007 05:54:07
ilginize tesekkurler ustalar
dosyayi (d64) ekledim icerdigi programlari kisaca aciklayim :

PONG-SON,
eskiden ugrastigim bir makine dili projesiydi,
tamamlayamadan o zamanki 1541'im bozuldugu icin proje SON noktada oldugu gibi kalmis,
calisir vaziyette, ustalarin yorumlarini bekliyor, birde sys 16384 ile atesliyoruz, (basicten direk RUN etmek icin) sys satirini en son ekleyecektim, onu hatirliyorum, olmadi(mis).

WIZARD OF WOR+,
bahsettigim "kolaylastirilmis" ve patchli olan, bu da ayni sekilde siz ustalarin yorumlarini bekler.

TOTO programi cok sacma tabi, bunu koydum cunki, benim gibi futbolla ilgilenen arkadaslar oturup C64 un nasil mac sonuclarini tahmin edebildigini gorunce sasirabilirsiniz (en azindan benim icin oyleydi)
tabi birazda komik bi durum..

ASSEMBLER 2.0,
benim yazdigim bir assembler programi :))) benim yazdigim dedigim, programin programmeri ben degilim tabi, zamanin "elo elektronik" dergisinden (1984 tarihliydi) dokumunu bulmustum, oturup teker teker elle yazdim, tabi o zaman internet ne gezer (benim bahsettigim 90 li yillarin baslari ), bilgisayarci diye tabir ettigimiz zamanin "korsan cd"cilerinde boyle seyler bulunmazdi maalesef.
Bu da sys 40855 ile atesleniyor, basicden ".A" komutu ile de compile basliyordu
basicden satir no'su vererek kodlama yaptigimi hatirliyorum, cok isimi gormustu, bence harika bir assemblerdi.
Başlık: VIC kursu preview
Gönderen: skate - 11.05.2007 10:20:45
Öncelikle Pong'a bayıldım, çok cici olmuş. Galiba spritelar Krackout'un spriteları ya da esinlenilmiş :) Gerçekten tebrik ediyorum, bence oyunu bitir ve yayınla.
Wizard Of Wor da güzel bir crack örneği olmuş. Başına bir de intro eklesen tam olurmuş.
Toto olayı her ne kadar gereksiz ve saçma dursa da elbette ki benzer şeyleri hepimiz yaptık zamanında. Giriş ekranındaki ASCII hoşuma gitti.
Son olarak "Assembler 2" de hoşuma gitti. Daha önce benzer (belki de aynısıydı) programlar görmüştüm ama hiç kullanmamıştım. Hemen denedim.
0 org $c000
1 lda #$00
2 sta $d020
3 rts
.a
sys 49152
diye. Kullanımını ilk denemeden tutturdum, çalıştı walla :)
Başlık: VIC kursu preview
Gönderen: fiskem - 12.05.2007 06:36:01
@skate
degerli yorumlarin icin gercekten tesekkurler

PONG da evet butun sprite'lari krackout tan rip'lemistim

source'unu de arsivde buldum, fakat o zamanki kotu bir huy iste, kod uzerinde hicbir aciklayici "documentation" yapmamisim, acikcasi biraz zaman alacak gibi tabi zaman ayirabilirsem.

WOF+ icin bir intro dusunuyorum, arsivden hazir yapilmis (benim degil tabi) ve template olarak hazirlanmis editlenebilecek introlar mevcut :)

bu arada TOTO programi ile gecen haftaki FB-BJK derbi macina C64 Fener 3 BJK - 1 demisti, bende buna gore iddia etmistim fener alacak maci diye :))
1-0 bitti :)