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ımLogo Swing / Sallanan Logo Efekti
Sayfa: [1] 2   Aşağı git
Yazdır
Gönderen Konu: Logo Swing / Sallanan Logo Efekti  (Okunma Sayısı 12756 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.798


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« : Kasım 28, 2014, 21:59:49 ÖS »

Demo/intro efektlerin devam. Bu seferki hedefim yine introların olmazsa olmazı salanan logo (logo swing) efekti. Tabi bunun için önce bir logo lazım. Elimde hazır bir şey olmadığından CSDB'de kısa bir araştırmadan sonra bulduğum Marq's PETSCII Editor'ü kullanarak uyduruktan bir şeyler karaladım. Program çizimleri c kaynak kodu olarak kaydediyor ama içindeki data aynı data. PETSCII'yi tercih etmemin nedeni şu aşamada bir de karakter seti değiştirmekle uğraşmamak. İşi basit tutmak için renklerle de uğraşmayacağım.

Kod:
ogo	!by 32,32,85,64,73,85,64,64,73,85,64,73,85,64,64,64,64,64,73,85,64,73,85,64,64,73,85,64,73,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,224,194,194,224,224,194,194,224,194,194,224,224,224,224,224,194,194,224,194,194,224,224,194,194,224,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,206,194,194,224,224,194,194,206,194,202,192,192,206,224,206,203,194,206,194,194,224,224,194,194,206,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,206,194,194,224,224,194,194,206,194,224,224,206,224,206,224,224,194,206,194,194,224,224,194,194,206,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,206,202,203,213,201,202,203,206,194,213,206,224,224,237,192,201,194,206,202,203,213,201,202,203,206,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,224,224,224,194,194,224,224,224,194,194,224,224,224,224,224,194,194,224,224,224,194,194,224,224,224,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,74,64,64,64,75,74,64,64,64,75,74,64,64,64,64,64,75,74,64,64,64,75,74,64,64,64,75,32,32,32,32,32,32,32,32,32,32,32,32

Daha önce ekrana yazı yazmak için kullandığım kodun aynısını bu kez logo için kullanacağım.

Kod:
!to "build/logoswing.prg",cbm
!src "standart.asm"

;----------------------------------------
;CONSTANTS
;----------------------------------------

SCREEN_RAM = $0400


+BASIC_START

;-----------------------------------------
; MAIN
;-----------------------------------------

* = $c000

+CLEAR_SCREEN

lda #00
sta $d020
sta $d021

ldx #00
- lda logo,x
sta SCREEN_RAM+40*5,x
lda logo+160,x
sta SCREEN_RAM+40*9,x
inx
cpx #160
bne -
   
jmp *
       

;------------------------------------------------------
; DATA
;------------------------------------------------------

logo !by 32,32,85,64,73,85,64,64,73,85,64,73,85,64,64,64,64,64,73,85,64,73,85,64,64,73,85,64,73,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,224,194,194,224,224,194,194,224,194,194,224,224,224,224,224,194,194,224,194,194,224,224,194,194,224,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,206,194,194,224,224,194,194,206,194,202,192,192,206,224,206,203,194,206,194,194,224,224,194,194,206,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,206,194,194,224,224,194,194,206,194,224,224,206,224,206,224,224,194,206,194,194,224,224,194,194,206,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,206,202,203,213,201,202,203,206,194,213,206,224,224,237,192,201,194,206,202,203,213,201,202,203,206,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,224,224,224,194,194,224,224,224,194,194,224,224,224,224,224,194,194,224,224,224,194,194,224,224,224,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,74,64,64,64,75,74,64,64,64,75,74,64,64,64,64,64,75,74,64,64,64,75,74,64,64,64,75,32,32,32,32,32,32,32,32,32,32,32,32
!scr "  logo  swing  by  wizofwor             "

Dikkat ettiyseniz iki tane STA komutu kullandım. 6510 endeks yazmaçları 8 bitlik olduğu için döngü içersinde en fazla 255 değer yakalanabiliyor.  Bu da 40 sütün ekranda, 7 satırlık bir logoyu tek seferde güncellemek için yeterli değil. Bu yüzden logoyu 4 satırlık iki parçaya ayırdım ve iki defada ekrana yazdım. Biri 4 satırlık iki parça 8 satıyor mı dedi? Evet kodun bellekten rastgele değerler bulup logonun son satırına kopyalamaması için en alta bir !scr satırı ilave ettim.

Kodu derleyip çalıştırdığımda logom ekrana geliyor. 


* wzw.png (2.68 KB, 384x272 - Görüntüleme: 1395 kez.)
Logged

wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.798


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #1 : Kasım 28, 2014, 22:19:14 ÖS »

Şimdi sıra geldi logoyu kaydırmaya. Efekt için bazı sayaçlar kullanmam gerekiyor. Önce bunları ayarladım.

Kod:
	;----------------------------------------
;CONSTANTS
;----------------------------------------

SCREEN_RAM = $0400
EFFECT_COUNTER = $02
CHAR_OFFSET = $03
PIXEL_OFFSET = $04

Logoyu kaydırmak için IRQ kullanmak gerekiyor. Nasıl yapıldığını burada anlatmıyorum. Nightlard'un dökümanlarında çok detaylı açıklaması var. Aşağıdaki kodlarla 154'üncü satırdan itibaren başlayan bir IRQ kurdum.

Kod:
	;Set raster irq
  sei

lda #$7f ;Disable CIA I and CIA II interrupts
sta $dc0d

lda $d01a ;Enable raster interrupts
ora #$01
sta $d01a

lda #$00
sta $dc0e

lda #154 ;set raster line
sta $d012
lda $d011
and #$7f ;%01111111
    sta $d011

lda #<irq ;set interrupt handler
sta $0314
lda #>irq
sta $0315
 
    cli

Sonra IRQ rutinimi yazdım.

Kod:
        ;-----------------------------------------------------
        ; IRQ ROUTINE
        ;-----------------------------------------------------

irq inc EFFECT_COUNTER ;increase effect counter
ldx EFFECT_COUNTER ;and grab swing data
lda swing_data,x

lsr ;Divide by 8 and
lsr ;store as char ofsset
lsr
sta CHAR_OFFSET

lda swing_data,x
and #$07
sta PIXEL_OFFSET

jsr updateLogo

asl $d019
jmp $ea81

updateLogo
!zone { ;Pixel Scroll
lda PIXEL_OFFSET
and #$07 ;%00000111
sta $d016

;Char Scroll
ldx CHAR_OFFSET
ldy #00
- lda logo,y
sta SCREEN_RAM+40*5,x
lda logo+160,y
sta SCREEN_RAM+40*9,x
inx
iny
cpx #160
bne -

rts
}

IRQ rutinini biraz inceleyelim. İlk olarak efekt sayacını artırdım. Sonra efekt sayacını kullanarak sinüs tablomdan bir değer çekitim. (Sinüs tablomda 0-64 arasında 255 adet değer var.)

Şimdi önce okuduğum değeri 8'e bölüp sonucu CHAR_OFFSET adresine kaydettim. Sonra aynı değeri tekrar okuyup bu sefer 8'e bölümden kalanı alıp PIXEL_OFFSET adresine kaydettim. Sanıyorum bir şeyler tahmin etmeye başladınız. Bu hesaplamadan sonrasını işleri daha da karıştırmamak bir subrutin kullanarak yapmaya karar verdim. updateLogo subrutinine atlıyorum.

updateLogo iki parçadan oluşuyor. İlk parça hardware scroll yapan kısım. Burda PIXEL_OFFSET değerini VIC'in scroll yazmacına yazıyorum. İkinci parça ise software scroll. Burada karakterleri CHAR_OFFSET değerine göre yeniden ekrana basıyorum. X ve Y yazmaçlarının beraber kullanımına dikkat. Kayan yazı efektindeki tekniğin aynısı.

Son olarak denemek isteyenler için kodu bütün olarak yapıştırıyorum.

Kod:
!to "build/logoswing.prg",cbm
!src "standart.asm"

;----------------------------------------
;CONSTANTS
;----------------------------------------

SCREEN_RAM = $0400
EFFECT_COUNTER = $02
CHAR_OFFSET = $03
PIXEL_OFFSET = $04


+BASIC_START

;-----------------------------------------
; MAIN
;-----------------------------------------

* = $c000

+CLEAR_SCREEN

lda #00
sta $d020
sta $d021

;Set raster irq
  sei

lda #$7f ;Disable CIA I and CIA II interrupts
sta $dc0d

lda $d01a ;Enable raster interrupts
ora #$01
sta $d01a

lda #$00
sta $dc0e

lda #154 ;set raster line
sta $d012
lda $d011
and #$7f ;%01111111
    sta $d011

lda #<irq ;set interrupt handler
sta $0314
lda #>irq
sta $0315
 
    cli
   
    jmp *
       
        ;-----------------------------------------------------
        ; IRQ ROUTINE
        ;-----------------------------------------------------

irq     inc EFFECT_COUNTER ;increase effect counter
ldx EFFECT_COUNTER ;and grab swing data
Lda swing_data,x

lsr ;Divide by 8 and
lsr ;store as char ofsset
lsr
sta CHAR_OFFSET

lda swing_data,x
and #$07
sta PIXEL_OFFSET

jsr updateLogo

asl $d019
jmp $ea81

updateLogo
!zone { ;Pixel Scroll
lda PIXEL_OFFSET
and #$07 ;%00000111
sta $d016

;Char Scroll
ldx CHAR_OFFSET
ldy #00
- lda logo,y
sta SCREEN_RAM+40*5,x
lda logo+160,y
sta SCREEN_RAM+40*9,x
inx
iny
cpx #160
bne -

rts
}

;------------------------------------------------------
; DATA
;------------------------------------------------------

logo !by 32,32,85,64,73,85,64,64,73,85,64,73,85,64,64,64,64,64,73,85,64,73,85,64,64,73,85,64,73,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,224,194,194,224,224,194,194,224,194,194,224,224,224,224,224,194,194,224,194,194,224,224,194,194,224,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,206,194,194,224,224,194,194,206,194,202,192,192,206,224,206,203,194,206,194,194,224,224,194,194,206,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,206,194,194,224,224,194,194,206,194,224,224,206,224,206,224,224,194,206,194,194,224,224,194,194,206,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,206,202,203,213,201,202,203,206,194,213,206,224,224,237,192,201,194,206,202,203,213,201,202,203,206,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,224,224,224,194,194,224,224,224,194,194,224,224,224,224,224,194,194,224,224,224,194,194,224,224,224,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,74,64,64,64,75,74,64,64,64,75,74,64,64,64,64,64,75,74,64,64,64,75,74,64,64,64,75,32,32,32,32,32,32,32,32,32,32,32,32
!scr "  logo  swing   by  wizofwor             "

swing_data  !by 32,33,34,34,35,36,37,37,38,39,40,41,41,42,43,44,44,45,46,46
!by 47,48,49,49,50,50,51,52,52,53,54,54,55,55,56,56,57,57,58,58
!by 59,59,60,60,60,61,61,61,62,62,62,62,63,63,63,63,63,64,64,64
!by 64,64,64,64,64,64,64,64,64,64,64,63,63,63,63,63,63,62,62,62
!by 61,61,61,60,60,60,59,59,58,58,58,57,57,56,56,55,54,54,53,53
!by 52,51,51,50,50,49,48,47,47,46,45,45,44,43,42,42,41,40,39,39
!by 38,37,36,36,35,34,33,32,32,31,30,29,28,28,27,26,25,25,24,23
!by 22,22,21,20,19,19,18,17,17,16,15,14,14,13,13,12,11,11,10,10
!by 9,8,8,7,7,6,6,6,5,5,4,4,4,3,3,3,2,2,2,1
!by 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
!by 1,1,1,1,2,2,2,2,3,3,3,4,4,4,5,5,6,6,7,7
!by 8,8,9,9,10,10,11,12,12,13,14,14,15,15,16,17,18,18,19,20
!by 20,21,22,23,23,24,25,26,27,27,28,29,30,30,31,32


Logged

wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.798


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #2 : Kasım 28, 2014, 22:34:01 ÖS »

Tabi bu beni kesmedi. Logonun dikeyde de sallanması lazım. Bunun için ufak bir sinüs tablosu daha hazırladım. 5 bitlik bu tabloda 32 adet 0-7 arasında değişen değerler var. Bu sefer değerler 8'i geçmiyor çünkü sadece hardware scroll yapacağım. Satır kaydırmakla uğraşmak istemiyorum.

Kod:
swing_data2 !by 4,4,5,6,6,7,7,7,7,7,7,6,6,5,4,4,3,2,1,1,0,0,0,0,0,0,1,1,2,3,4,4

Kullanacağım adreslerin isimleri yeniden düzenledim ve bir iki ilave yaptım.

Kod:
	SCREEN_RAM = $0400
EFFECT_COUNTER = $02
EFFECT_COUNTER2 = $03
CHAR_OFFSET = $04
PIXEL_OFFSET_H = $05
PIXEL_OFFSET_V = $06

EFFECT_COUNTER2'yi arttırmak için alttaki kodu ekliyorum. Yeni eklediğim tablonun 5 bitlik olduğunu hatırladınız mı? Sayacı arttırdıktan sonra and #$1f ile eğer değer 32 olmuşsa sayacı sıfırlıyorum.

Kod:
	inc EFFECT_COUNTER2 	;increase effect counter 2 		;till 31
lda EFFECT_COUNTER2
and #$1f ;(%00011111)
sta EFFECT_COUNTER2

Sonra da sayacı kullanarak PIXEL_OFFSET_V'yi güncelliyorum.

Kod:
	ldx EFFECT_COUNTER2
lda swing_data2,x
sta PIXEL_OFFSET_V


Son olarak updateLogo subrutini içinde VIC'in dikey scroll yazmacını güncellemem gerekiyor.

Kod:
;Pixel Scroll Vertical
lda $d011
and #$78 ;%1111000
ora PIXEL_OFFSET_V
sta $d011

Programın tam listesi burada.
Kod:
!to "build/logoswing2.prg",cbm
!src "standart.asm"

;----------------------------------------
;CONSTANTS
;----------------------------------------

SCREEN_RAM = $0400
EFFECT_COUNTER = $02
EFFECT_COUNTER2 = $03
CHAR_OFFSET = $04
PIXEL_OFFSET_H = $05
PIXEL_OFFSET_V = $06

+BASIC_START

;-----------------------------------------
; MAIN
;-----------------------------------------

* = $c000

+CLEAR_SCREEN

lda #00
sta $d020
sta $d021

;Set raster irq
  sei

lda #$7f ;Disable CIA I and CIA II interrupts
sta $dc0d

lda $d01a ;Enable raster interrupts
ora #$01
sta $d01a

lda #$00
sta $dc0e

lda #160 ;set raster line
sta $d012
lda $d011
and #$7f ;%01111111
    sta $d011

lda #<irq ;set interrupt handler
sta $0314
lda #>irq
sta $0315
 
    cli
   
    jmp *
       
        ;-----------------------------------------------------
        ; IRQ ROUTINE
        ;-----------------------------------------------------

irq inc EFFECT_COUNTER ;increase effect counter
ldx EFFECT_COUNTER ;and grab swing data
Lda swing_data,x

lsr ;Divide by 8 and
lsr ;store as char ofsset
lsr
sta CHAR_OFFSET

lda swing_data,x
and #$07
sta PIXEL_OFFSET_H

inc EFFECT_COUNTER2 ;increase effect counter 2 ;till 31
lda EFFECT_COUNTER2
and #$1f ;(%00011111)
sta EFFECT_COUNTER2

ldx EFFECT_COUNTER2
lda swing_data2,x
sta PIXEL_OFFSET_V

jsr updateLogo

asl $d019
jmp $ea81

updateLogo
!zone { ;Pixel Scroll Horizontal
lda PIXEL_OFFSET_H
and #$07 ;%00000111
sta $d016

;Pixel Scroll Vertical
lda $d011
and #$78 ;%1111000
ora PIXEL_OFFSET_V
sta $d011

;Char Scroll
ldx CHAR_OFFSET
ldy #00
- lda logo,y
sta SCREEN_RAM+40*5,x
lda logo+160,y
sta SCREEN_RAM+40*9,x
inx
iny
cpx #160
bne -

rts
}

;------------------------------------------------------
; DATA
;------------------------------------------------------

logo !by 32,32,85,64,73,85,64,64,73,85,64,73,85,64,64,64,64,64,73,85,64,73,85,64,64,73,85,64,73,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,224,194,194,224,224,194,194,224,194,194,224,224,224,224,224,194,194,224,194,194,224,224,194,194,224,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,206,194,194,224,224,194,194,206,194,202,192,192,206,224,206,203,194,206,194,194,224,224,194,194,206,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,206,194,194,224,224,194,194,206,194,224,224,206,224,206,224,224,194,206,194,194,224,224,194,194,206,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,206,202,203,213,201,202,203,206,194,213,206,224,224,237,192,201,194,206,202,203,213,201,202,203,206,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,194,224,224,224,194,194,224,224,224,194,194,224,224,224,224,224,194,194,224,224,224,194,194,224,224,224,194,32,32,32,32,32,32,32,32,32,32,32
!by 32,32,74,64,64,64,75,74,64,64,64,75,74,64,64,64,64,64,75,74,64,64,64,75,74,64,64,64,75,32,32,32,32,32,32,32,32,32,32,32,32
!scr "  logo  swing  by  wizofwor             "

swing_data  !by 32,33,34,34,35,36,37,37,38,39,40,41,41,42,43,44,44,45,46,46
!by 47,48,49,49,50,50,51,52,52,53,54,54,55,55,56,56,57,57,58,58
!by 59,59,60,60,60,61,61,61,62,62,62,62,63,63,63,63,63,64,64,64
!by 64,64,64,64,64,64,64,64,64,64,64,63,63,63,63,63,63,62,62,62
!by 61,61,61,60,60,60,59,59,58,58,58,57,57,56,56,55,54,54,53,53
!by 52,51,51,50,50,49,48,47,47,46,45,45,44,43,42,42,41,40,39,39
!by 38,37,36,36,35,34,33,32,32,31,30,29,28,28,27,26,25,25,24,23
!by 22,22,21,20,19,19,18,17,17,16,15,14,14,13,13,12,11,11,10,10
!by 9,8,8,7,7,6,6,6,5,5,4,4,4,3,3,3,2,2,2,1
!by 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
!by 1,1,1,1,2,2,2,2,3,3,3,4,4,4,5,5,6,6,7,7
!by 8,8,9,9,10,10,11,12,12,13,14,14,15,15,16,17,18,18,19,20
!by 20,21,22,23,23,24,25,26,27,27,28,29,30,30,31,32

swing_data2 !by 4,4,5,6,6,7,7,7,7,7,7,6,6,5,4,4,3,2,1,1,0,0,0,0,0,0,1,1,2,3,4,4

Kodu derlemek istediğinizde standart.asm'yi isteyecek. Standart.asm Kayan yazı örneğindekiyle aynı.

* logo-swing.zip (7.7 KB - Yükleme: 209 kez.)
« Son Düzenleme: Kasım 28, 2014, 22:38:18 ÖS Gönderen: wizofwor » Logged

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


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #3 : Kasım 28, 2014, 22:45:48 ÖS »

Ooooo yeni teknikler gelmiş. Mantığı bir kere çözen sanırım bunları grafik logolara da uyarlayabilir. Devamını bekliyoruz, gayet güzel ve sade bir anlatım.
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.798


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #4 : Kasım 28, 2014, 23:07:13 ÖS »

Aynı teknik zaten. İşi kısa yoldan halletmek için standart karakter setini kullandım. Yoksa grafik logolar da önce bitmap olarak hazırlanıp, karakter setine çevirerek yapılıyor.
Logged

i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #5 : Kasım 29, 2014, 01:45:54 ÖÖ »

Özendim valla. Logonun gözüktüğü her scanline'da kaydırma register'ini sinüs tablosuna göre değiştirdiğim bir intro yapmıştım çok eskiden. Onda badline'ları da hesaba katarak bir şeyler yapmak güzel olurdu. Belki hafta sonu kurar biraz kurcalarım. Şansıma teşkilatı depoya kaldırmamışım
Logged

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

twitter | blog
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.798


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #6 : Kasım 29, 2014, 09:37:28 ÖÖ »

İnan bana depoya inip teşkilatı kurmaya falan gerek yok. Çapraz geliştirmenin tadını bir kez aldın mı tek özleyeceğin şey SID olacak. Önerim Relaunch64'e bir bakman.
Logged

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


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #7 : Kasım 29, 2014, 11:45:29 ÖÖ »

Editörün son versiyonunda asm, prg, png gibi formatlarda kaydetme seçeneği varmış.

http://www.kameli.net/marq/?page_id=2717
« Son Düzenleme: Kasım 29, 2014, 12:18:06 ÖS Gönderen: Simon (Özay Turay) » 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
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #8 : Kasım 29, 2014, 15:18:27 ÖS »

pc'yi geliştirme yapmak için daha önce kullandım aslında. ancak pc üzerinde kaynak kodlarım mevcut değil. sıfırdan da yapmak istemedim.

pc tarafında 6502 macro assembler & simulator programını kullanıyorum. 8-bit bilgisayardan bağımsız bir program, debug özelliği varo hoşuma gidiyorum.

bir de nostalji tarafı var tabii ki işin, seneler önce yazdığın programı disk gıcırtıları ile yüklemek, çalıştırmak, kartuşla freeze edip assembly monitör'e düşmek falan. matah bir şey değil ama yaşattığı hisler güzel. verimlilik anlamında pek tabii ki pc tarafındaki programlar daha iyi.

bu arada intro'yu daha iyi hatırladım, efekti belki kullanmak isteyebilirsin. full bir ekran taramasında sinüs tablosunu 0 dereceden, diğer taramada 90 dereceden başlatıyordu. böylece ekranda sanki iki logo varmış ve birbirinden bağımsız hareket ediyormuş gibi gözüküyordu. Tabii titreşimli bir görüntü oluyordu her bir logonun hareketi toplam kare sayısının yarısına düştüğü için.
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 #9 : Kasım 29, 2014, 16:17:47 ÖS »

Kardeşim süpersin, demo efektlerine geçişin yakındır
Logged
emarti
Uzman
*****
Mesaj Sayısı: 2.627


Only Amiga Makes It Possible █


Üyelik Bilgileri WWW
« Yanıtla #10 : Kasım 29, 2014, 19:11:08 ÖS »

Abi süper bi yazı. Şu ara Amiga'da c ile boğuşuyorum; yazıyı okuyunca 6502 assemblerı boşladığımı farkettim.
Logged

https://github.com/emartisoft My GitHUB | http://csdb.dk/scener/?id=26786 My CSDB | https://c64kernal.com Genesis

READY.
SYS(64767): EMARTI
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.798


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #11 : Aralık 05, 2014, 12:47:08 ÖS »

Örnekte kullandığım sinüs tablosunu Excel'de hesaplamıştım. Excel anlık çözüm için ideal ama sürekli kullanmak için hantal kalıyor. Baktım olacak gibi değil. learnpythonthehardway.org ve stackoverflow.com desteğiyle ufak bir python betiği hazırladım. Betik, dosyanın başında tanımlanan parametrelerde bir sinüs tablosu hazırlıyor ve ACME formatında kaydediyor. Kodu github sayfamdan alabilirsiniz.
Logged

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


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #12 : Aralık 05, 2014, 13:42:02 ÖS »

Raster Colorbar Efekti konusunda Sinüs Editör önermiştim, onu da kullanabilirsin.

http://www.thegang.nu/releases.php?type=4&year=all&headline=Utils&nomenu=1
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.798


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #13 : Aralık 05, 2014, 14:09:18 ÖS »

Sinüs Editör'ü indirdim aslında. Ama bu tip durumlarda kendi kodunu yazmanın sayısız faydası var. İlerde başka sinüs yerine Lissajous eğrisi gibi farklı fonksiyonlarda kullanmayı düşünüyorum veya birden fazla sinüs dalgasını üst üste bindirenilirm. Bir de python'un Linux ve Mac'te standart olarak bulunduğunu öğrendikten sonra bir yerlerden başlamak için mazerete ihtiyacım vardı.
Logged

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


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #14 : Aralık 05, 2014, 14:22:00 ÖS »

Evet güzel bir mazeret olmuş.

Python güzel ve öğrenmesi kolay bir dil. Compile edilebiliyor ve çalıştırılabilir olarak kaydedilebiliyor olması da ayrı güzel.

http://effbot.org/zone/python-compile.htm

Ayrıca Pygame ile oyun ve demo tarzı programlar bile yazılabiliyor. Sonraki adımın da sanırım bu olur bu tarz işlere meraklı birisi olarak.

http://www.pygame.org/wiki/about

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
Sayfa: [1] 2   Yukarı git
Yazdır
Gitmek istediğiniz yer: