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)
commodore.gen.trCommodoreCommodore Yazılımcgtr intro yapıyoruz-4(logo+müzik+raster)
Sayfa: [1]   Aşağı git
Yazdır
Gönderen Konu: cgtr intro yapıyoruz-4(logo+müzik+raster)  (Okunma Sayısı 5063 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
joker_
Deneyimli
*****
Mesaj Sayısı: 2.120



Üyelik Bilgileri
« : Şubat 18, 2014, 22:41:01 ÖS »

Ekranımızı sildik,müzik ekledik,logomuzu bastık,şimdi de logonun altına raster basalım.
  Raster için daha önce linklerini verdiğim kaynaklarda çok detaylı bilgiler mevcut.
  Sadece raster çeken bir rutin yazıcam.Açıklamaları satırların yanında bulabilirsiniz.

Kod:
!to"raster.prg",cbm

                * = $0900 ;<--Kodumuzun başlangıç adresi

jsr $e544

lda #$00
sta $d020
sta $d021

;====Burada irq ayarlarımızı yapıyoruz=======

                sei

lda #$7f
                sta $dc0d

                lda #$01
                sta $d01a

lda #$00
sta $dc0e

              lda #$1b
              sta $d011

lda #$6d
sta $d012

lda #<irq
sta $0314
lda #>irq
    sta $0315
 
              cli
jmp *

;====irq 'ya girip logomuzu gösteriyoruz====
irq
inc $d019
;burada üst raster'ı basıyoruz.

lda #$00 ;ekran rengini siyah yapıyoruz
sta $d020
sta $d021

ldx #$01 ;zamanlamayı tam satır başında
dex ;yaklamak için bekleme yapıyoruz
bne *-1

ldx #0
- lda üst_renk,x ;iç ve dış ekran rengini
sta $d020 ;tablodan okuyup,ilgili register
sta $d021 ;lara yazıyoruz.

ldy ust_raster_gecikme,x ;burada tek bir satırın sonuna kadar
dey ;çizilmesini bekleyip
bne *-1

inx ;tablodaki diğer rengi okuması için counter'ımızı 1 arttırıyoruz.
cpx #4 ;tablo sonuna geldikmi diye kontrol ediyoruz.
bne -

ldx #$01
dex
bne *-1

lda #$00 ;iç ve dış ekranı tekrar
sta $d020 ;siyah renk yapıyoruz.
sta $d021

lda #$a2 ;bir sonraki irq'nun başlayacağı
sta $d012 ;satırı belirtiyoruz.

lda #<irq1
sta $0314
lda #>irq1
    sta $0315

jmp $ea81

irq1
inc $d019
;burada alt raster'ı basıyoruz.
ldx #$06
dex
bne *-1

ldx #0
- lda alt_renk,x
sta $d020
sta $d021

ldy alt_raster_gecikme,x
dey
bne *-1

inx
cpx #4
bne -

ldx #$02
dex
bne *-1

lda #$00
sta $d020
sta $d021

lda #$6d
sta $d012

lda #<irq
sta $0314
lda #>irq
    sta $0315       
   
jmp $ea81

;=========== kodumuzun sonu ======================
üst_renk   
!by $06,$0e,$03,$01

alt_renk
!by $01,$03,$0e,$06
           
ust_raster_gecikme       
!by $08, $08, $08, $08

alt_raster_gecikme       
!by $08, $08, $08, $07


* raster.png (0.88 KB, 384x272 - Görüntüleme: 1408 kez.)

* logo+raster.png (2.49 KB, 384x272 - Görüntüleme: 1527 kez.)
* raster.zip (8.91 KB - Yükleme: 273 kez.)
Logged
malcomic-xd
Üye
***
Mesaj Sayısı: 173



Üyelik Bilgileri
« Yanıtla #1 : Şubat 19, 2014, 00:10:34 ÖÖ »

merhaba abi projede banada yer ayırırsan birşeyler yapmak istiyorum birşey sorucam raster dediğin hazır resim mi oluyor hazır resmi ekrana basmayamı raster basma diyorsun ?
Logged

-C64,C64C,Atari2600jr,SinclairZxSpectrum48k,SinclairZxSpectrum+,AmstradCPC,Amiga500,NES,SegaMasterI,SegaMasterII,HPJornada,GameBoySerisi,DSFat,CasioFX-730p,CasioFX-790p,QuickShot Serileri
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.798


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #2 : Şubat 19, 2014, 08:36:05 ÖÖ »

Raster tekniği, CRT ekranlarda görüntü oluşturmak için kullanılan bir teknik. Bu teknikte elektron tabancası görüntü alanını satırlar halinde tarıyor. Bu tarama esnasında oluşan satırlara da raster line deniyor.


PAL cihazlarda VICII 320 raster satırı üretir ancak bunların 200 tanesi borderların içindedir. Her hangi bir hile hurdaya karışmıyorsak bu 200 satır içinde çalışırız.

VIC'in bize sağladığı bir güzellik, elektron tabancasının hangi satırda olduğunu CIA2'ye bildirmesidir. Bu sayede herhangi bir raster satırına IRQ atayabilir, ve titiz bir programlamayla, renk, ekran modu, VIC bank, karakter seti gibi parametrelerle oynayarak, zamanlamaya da dikkat ederek çeşitli efektler yapabiliriz. Bunlara da raster effect denir. Raster effectlerin en ünlüsü turbo loader'ların çizdiği yükleme hızını gösteren renkli barlardır.

Kısaca: raster basmak = Ekranda raster IRQ tabanlı efekt göstermek
Logged

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



Üyelik Bilgileri
« Yanıtla #3 : Şubat 19, 2014, 08:39:15 ÖÖ »

 Ben yazarken wizofwor benden hızlı davranmış.

merhaba abi projede banada yer ayırırsan birşeyler yapmak istiyorum birşey sorucam raster dediğin hazır resim mi oluyor hazır resmi ekrana basmayamı raster basma diyorsun ?


 Yok kardeşim raster hazır resim değil.Ekranın tarama esnasındaki her bir satırı diyebiliriz kısaca.

 Sana bu konuda nightlord'un bu tutorialini tavsiye ederim.Çok detaylı anlatmış nightlord.

http://nightnetwork.org/writings_tr/c64_grafik_programlama/chunk/index.html


 Bizim burada yaptığımız ise tarama esnasında,istediğimiz satıra gelince,o satırın rengini değiştirmek.

&nbsp; Şöyle anlatayım,ekran yukarıdan çizilmeye başlıyor,diyelim iç ve dış ekran rengini,siyah olarak çiziyoruz.Biz raster bar yapmak isteğimiz satırın tam başında ekranın iç ve dış rengini istediğimiz bir renkle değiştiriyoruz.Diğer satırın başına geldiğimizde yine renk değiştiriyoruz,diğer satırın başından başka bir renk veriyoruz,kaç satır istiyorsak o kadar satırda bu işlemi tekrar ediyoruz.Daha sonra ekran rengini tekrar eski haline geitiriyoruz.

  Örnekte dikkat edersen,raster renklerini bir tablodan okuyoruz.Kodun en sonundaki  üst_renk  ve   alt_renk  yazan tablolardaki renk değerlerini değiştirip,compile edersen,ekrandaki renklerin değiştiğini görürsün.

 Bu şekilde ekranımızın istediğimiz bir yerinde renkli çubuklar oluşturuyoruz.Bu işlemede raster çekmek veya raster bar deniyor.
« Son Düzenleme: Şubat 19, 2014, 08:45:15 ÖÖ Gönderen: joker_ » Logged
Sayfa: [1]   Yukarı git
Yazdır
Gitmek istediğiniz yer: