Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz

  Gelişmiş Arama
insanın içinde varsa, commodore.gen.tr açığa çıkarır bunu.. bir nevi retro olaylarının dolunayıyız.(Arda)
Sayfa: [1] 2 3 4   Aşağı git
Yazdır
Gönderen Konu: intro yapıyoruz  (Okunma Sayısı 41995 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
joker_
Deneyimli
*****
Mesaj Sayısı: 2.120



Üyelik Bilgileri
« : Şubat 18, 2014, 22:19:50 ÖS »

Selam arkdaşlar,uzun süredir aklımda olan bir projeyi sonunda hayata geçirmeye karar verdim.Forumda daha önce blackturk arkadaşımız amiga'da "commodore.gen.tr" introsu yapınca,yaa commodore forumumuz var,fakat commodore intromuz niye yok diyerek bende,commodore.gen.tr için commodore introsu yapmaya karar verdim.

   Fakat bu introyu hep birlikte yapacağız.Yani ben elimden geldiği kadar,efektleri ayrı başlıklarda açıklamayı düşünüyorum.Hepsini bir başlık altında yapınca arada kaynayıp gidiyor.Ve sizlerden de katkı bekliyorum.

   Örnek:Benim aklımda,üstte logo,altında birkaç raster,1X2 scroll,tekrar raster,altında text fade,arka planda müzik çalan bir intro yapmak var.

  Fakat birileri çıkar farklı efektler eklerse süper olur.Hep birlikte yapmış oluruz introyu.(Kızım sana söylüyorum,Skate,Nightlord,Hades sen anla Kahkaha )

  Neyse fazla uzatmadan devam edelim.Baştan söylemeliyim,benim niyetim 6502 assembler dersi vermek değil.Zaten bu konuda nightlord'un,hades'in,skate'in yazdığı ve plazma dergilerindeki dökümanlar size çok sağlam bilgiler veriyor.Ayrıca tr-demoscene'de çok güzel bilgiler mevcut,hatim etmenizi öneririm.Bu ustaların tutoriallerinin üzerine benim tutorial yazmam saygısızlık olur.

Bu linkler işinizi görecektir.

Nightlord'un tutorialleri için.
http://nightnetwork.org/writings_tr/6502_makine_dili/chunk/index.html
http://nightnetwork.org/writings_tr/c64_grafik_programlama/chunk/index.html

Hades'in çıkarttığı c64turkiye dergileri için.
http://www.retrodergi.com/list.php

Plazma dergileri için
http://www.plazma-dergi.org/

  Yani irq nedir,raster,sprite nedir? nasıl basılır?,gibi konulara girmeden devam edicem.İntromuzu pc üzerinde acme crossassembler kullanarak yazıcaz.Bize lazım olacak tool'lar

acme
http://www.esw-heim.tu-clausthal.de/~marco/smorbrod/acme/

http://codebase64.org/doku.php?id=base:crossdev

http://www.kweepa.com/step/vic20/acme091_x64.zip

puchrunch (alternatif olarak başka programlarda var,ben bunu kullanıyorum)
http://www.cs.tut.fi/~albert/Dev/pucrunch/#Progs

Size tavsiyem acme ve pucrunch'ı windows klasörünün altına kopyalayın.Daha sonra intro için bir klasör oluşturup,içine de boş bir notepad dosyası oluşturun.Notepad'in içine;

acme cgtr_intro.a
pucrunch -x $0801 cgtr_intro.prg cgtr_intro.prg
pause

yazıp kaydedin.Adını compile uzantısınıda bat olarak değiştirin.Bu şekilde,compile dosyasını çalıştırarak,intromuzu hızlı bir şekilde compile edeceğiz.

  Evet hazırsak başlayabiliriz artık.Bundan sonraki her adımı farklı bir başlık altında yazıp ilerleyeceğiz.
 
--Ekranı Silmek ve Ekran rengini değiştirmek.--

İlk önce boş bir notepad dosyası açıp,ilk satıra,program derlenince vereceği çıktının ismini yazalım.

!to"cgtr_intro.prg",cbm

burada derleyici,programımızı derleyince bize,
"cgtr_intro.prg" isimli bir dosya oluşturacak. ,cbm parametresini görüncede bunun bir c64 dosyası olduğunu anlıyor.

Şimdi de programımızın hafızanın hangi bölgesine,yükleneceğini belirten adresi yazıyoruz.

   * = $0801
Ben $0801 adresini kullanıyorum.

Ekranı silme işlemi için romdaki hazır silme rutinlerini kullanabiliriz.

   jsr $e544

Ekran renklerini değiştirelim.

   lda #$00    <----Siyah renk kodu   
   sta $d020   <----Dış ekran register
   sta $d021   <----iç ekran register   
   
Dosyamızı kaydedip,compile.bat dosyamızı çalıştıralım,çıktıyı emulatör ve c64'den deneyerek sonucu görebilirsiniz.

* giris.zip (1.06 KB - Yükleme: 301 kez.)
Logged
Gökçe Bozkurt
Deneyimli
*****
Mesaj Sayısı: 2.968


Nigripinis


Üyelik Bilgileri WWW
« Yanıtla #1 : Şubat 18, 2014, 22:39:40 ÖS »

vAy vay vay diyorum.
Keşke kodlamadan anlayaydım.

Düşüncenize emeğinize sağlık. Helal olsun şimdiden.

Logged

A4000|FastlaneZ3|RetinaZ3|Tandem Ide|CF
A2000|G-Force 040/33|Cybervision64-3D|
A2000|Mobo|GVP HX-2000-II|Supra 8Mb
A2000|Mobo|8Up!6Mb
A1200|PPC 040/25/200|Mediator Sx|Vodoo4500|256Mb
A1200|Hawk 8Mb|CF
A1200|Mobo|Elbox 4Mb
A600|ACA030|Indivision ECS|A604|CF
A600|Mobo|A
LW3D
Yönetici
*****
Mesaj Sayısı: 11.418


Günü Kurtaran Avam Hiooargggh :)


Üyelik Bilgileri WWW
« Yanıtla #2 : Şubat 18, 2014, 22:54:00 ÖS »

Çok güzelde...Tüm dersleri bir anda yayınlamayaydın iyiydi Adım adım gideydik...Birşeyler yaptıkça, çözdükçe bir sonraki adıma geçeriz diye düşünüyordum...Mavi ekran verecek millet
Logged

joker_
Deneyimli
*****
Mesaj Sayısı: 2.120



Üyelik Bilgileri
« Yanıtla #3 : Şubat 18, 2014, 22:57:54 ÖS »

haklısın o yüzden son efekti ve intronun bitmiş halini yarın yayınlayalım.
Logged
joker_
Deneyimli
*****
Mesaj Sayısı: 2.120



Üyelik Bilgileri
« Yanıtla #4 : Şubat 18, 2014, 23:04:26 ÖS »

intro yapımı ile ilgili daha önce skate'in yaptığı çok güzel bir örnek var,bunu da inceleyebilirsiniz.

http://www.tr-demoscene.info/index.php/topic,1941.0.html
Logged
LW3D
Yönetici
*****
Mesaj Sayısı: 11.418


Günü Kurtaran Avam Hiooargggh :)


Üyelik Bilgileri WWW
« Yanıtla #5 : Şubat 19, 2014, 00:17:01 ÖÖ »

Bitmiş halini ya da finali haftaya bırak bence (pztesi misal). Bunlarla ilgilenen arkadaşlar olursa, denesinler, sorularını sorsunlar, biraz çalışılsın üzerinde
Logged

Simon (Özay Turay)
Yönetici
*****
Mesaj Sayısı: 7.757


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #6 : Şubat 19, 2014, 09:00:45 ÖÖ »

Vay arkadaş bir akşam hasta olup erken yatıyoruz joker_ coşuyor. Ben daha sık hasta olayım bari.

Güzel çalışma olmuş. Ellerine sağlık.

Şu raster'ların zamanlamalarını tutturamıyorum ben bir türlü. Şu bekleme sürelerini neye göre yapıyoruz bi deyiver hele joker_ kardeş. Yoksa betmen'e sorucam sana ayıp olacak valla. Kahkaha
Logged

https://retrodergi.com - https://e-turay.com - https://karizmawow.e-turay.com

Retro: Commodore 64, Amiga 500, Amiga 1200
Retromsu: Wii, XBox360, XBox, PS3 Slim, PS2 FAT, PS1, PS Vita, Nintendo 3DS, Nintendo 2DS
joker_
Deneyimli
*****
Mesaj Sayısı: 2.120



Üyelik Bilgileri
« Yanıtla #7 : Şubat 19, 2014, 09:11:42 ÖÖ »

Şu raster'ların zamanlamalarını tutturamıyorum ben bir türlü. Şu bekleme sürelerini neye göre yapıyoruz bi deyiver hele joker_ kardeş. Yoksa betmen'e sorucam sana ayıp olacak valla. Kahkaha
Geçmiş olsun Özay.
Dur hemen betmen'i çağırma,şaka yapmıştım sadece Kahkaha

 Aslında raster zamanlamarını tam olarak tutturmak için cycle saymak en doğru yol.Bu konuda uzman arkadaşımız skate daha iyi anlatır.

Fakat rasrer'a girmeden hemen önce 

  ldx #$01
  dex
  bne *-1

  Buradaki ldx değerini değiştirerek veya bit $eaea,nop ekleyerekde bir kaç denemeyle tutturabilirsin.
 
« Son Düzenleme: Şubat 19, 2014, 09:14:46 ÖÖ Gönderen: joker_ » Logged
Simon (Özay Turay)
Yönetici
*****
Mesaj Sayısı: 7.757


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #8 : Şubat 19, 2014, 09:31:02 ÖÖ »

Şağol kardeşim, şimdi daha iyiyim. Tylolhot'u çekip akşam erkenden yatınca iyi geldi. Genelde oğlan erken uyumadığı için bilgisayar seanslarımız gece yarısından sonraya kaydığından uykusuz kalıyoruz, haliyle vücut bir yerden sonra yeter diyor.

Raster olayına gelince ben de bu şekilde deneme yanılmayla yapıyorum ama opcode'ların cycle'larını bilerek yapmak istiyorum. Skate bunu basitçe anlatabilirse güzel olur.

Ben biraz fazla mükemmeliyetçi olduğumdan (kaynak kodlarım bile düzgün biçimlidir hep o kadar yani) ve zaman da az olduğundan teorik bilgileri alsamda pratikte bir arpa boyu yol ilerleyemiyorum ve sana bu konuda imreniyorum valla.

Dün PSX-Scene sitesinde Rebug geliştiricisinin Rebug/Cobra'nın gecikmesinin sebebinin tam 4.53'ü bitirmek üzereyken 4.55 çıkması olduğunu belirttiği mesajına yapılan bir yorum çok hoşuma gitti. Benim durumumu çok güzel alatıyor sanırım.

Perfect is an enemy of done. -> Mükemmel bittinin düşmanıdır.

Dur hemen betmen'i çağırma,şaka yapmıştım sadece Kahkaha


Robocop?

Logged

https://retrodergi.com - https://e-turay.com - https://karizmawow.e-turay.com

Retro: Commodore 64, Amiga 500, Amiga 1200
Retromsu: Wii, XBox360, XBox, PS3 Slim, PS2 FAT, PS1, PS Vita, Nintendo 3DS, Nintendo 2DS
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.789


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #9 : Şubat 20, 2014, 18:09:08 ÖS »

Ekranı temizlemek için kullandığım rutini ekleyeyim de çorbada benim de tuzum bulunsun. Bu rutinin farkı kernel'a bağlı olmaması. Eğer kernal'ı kapatacaksınız jsr $e544 yerine bu tarz rutin kullanmanız şart.

Kod acme için yazılmıştır. Programın başında SCREEN_RAM'in programın başında SCREEN_RAM = $0400 şekilinde tanımlanmış olduğunu varsayar.

Kod:
!zone clear_screen{
clear_screen:
lda #$06
sta $d020

ldx #$00 ; set counter
lda #$20 ; set fill char
.loop:
sta SCREEN_RAM,x
sta SCREEN_RAM+$FF,x
sta SCREEN_RAM+$1FF,x
sta SCREEN_RAM+$2FF,x
inx
bne .loop
rts
}
Logged

joker_
Deneyimli
*****
Mesaj Sayısı: 2.120



Üyelik Bilgileri
« Yanıtla #10 : Şubat 21, 2014, 07:48:34 ÖÖ »

eline sağlık kardeşim,introya ekliyorum.
Logged
Gokhan Ozkan
Deneyimli
*****
Mesaj Sayısı: 2.265



Üyelik Bilgileri
« Yanıtla #11 : Şubat 21, 2014, 09:22:52 ÖÖ »

Sabırsızlıkla introyu bekliyorum. Emeğinize sağlık arkadaşlar.
Logged
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #12 : Şubat 23, 2016, 00:42:00 ÖÖ »

Hort...

Hani intro joker?
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
joker_
Deneyimli
*****
Mesaj Sayısı: 2.120



Üyelik Bilgileri
« Yanıtla #13 : Şubat 23, 2016, 07:33:06 ÖÖ »

intronun efektlerini farklı başlıklar altında yayınladım Geriye güzel bir logo çizip, birleştirmek kaldı

Logo çizerim diyen varsa hemen yayınlayalım introyu
Logged
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #14 : Şubat 23, 2016, 08:03:40 ÖÖ »

Vay güzel topic'miş. Ben duhul olmadan önce yaşanmış maalesef...
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
Sayfa: [1] 2 3 4   Yukarı git
Yazdır
Gitmek istediğiniz yer: