commodore.gen.tr

Commodore => Commodore Yazılım => Konuyu başlatan: Simon (Özay Turay) üzerinde Mayıs 01, 2009, 02:10:26 ÖÖ



Konu Başlığı: C64 Turbo Load Simülasyonu
Gönderen: Simon (Özay Turay) üzerinde Mayıs 01, 2009, 02:10:26 ÖÖ
Nightlord'un VIC tutorial'ını okumaya başladıktan sonra 2003 senesinde yaptığım ilk intronun kaynak kodlarından da bazı kısımlar alarak kasetten yükleme yaparken çıkan renkli çubukları simüle ettim raster barlar ile. Bakalım kaçınızı eski günlere götürebileceğim?

Kod:
!to "colorbars.prg", cbm

*=$0801

!word nextline ;start basic listing
!word 2009 ;2009
!byte $9e ;sys
!text "2061" ;2061
!byte 0
nextline:
!word 0 ;end basic listing

start:
lda #$00 ;choose black color
sta $d020 ;set border color
;sta $d021 ;set background color
;lda #$01 ;chose white color
;jsr $e536 ;set character color & clear screen

jsr prepare_irq ;prepare irq

end:
jmp end ;endless loop

prepare_irq:
sei ;disable interrupts
lda #$7f
sta $dc0d ;disable cia interrupts
lda $d01a
ora #$01
sta $d01a ;activate raster irq
lda $d011
and #$7f
sta $d011 ;irq raster line < 256
lda #$00
sta $d012 ;irq raster line = 0
lda #<irq_routine
sta $0314
lda #>irq_routine
sta $0315 ;set irq routine address
lda #$01
sta $d019
cli ;enable interrupts
rts

irq_routine:
inc $d019 ;irq ok, prepare for the next one
lda #$00
jsr wait_raster ;wait for raster line
jsr draw_colorbar ;draw color bar
lda $dc01 ;read keypress
cmp #$ef ;if not space
bne continue ;continue, else
sei ;disable interrupt
jsr $ff81
jsr $ff84
lda #$31
sta $0314 ;restore lo byte
lda #$ea
sta $0315 ;restore hi byte
cli ;enable interrupts
jmp $a474 ;exit program
continue:
jmp $ea31 ;give the control to the cpu

wait_raster:
cmp $d012 ;compare $d012 with register a
bne wait_raster ;wait for raster line
rts

wait_timer:
dey ;decrement register y
bne wait_timer ;until it reaches zero
rts

draw_colorbar:
ldx #$00 ;reset counter
loop:
ldy #$21 ;delay timer = 33
jsr wait_timer ;wait timer to finish
stx $d020 ;change border color
;stx $d021 ;change background color
inx ;increment counter
bne loop ;loop
rts

Derlemek için http://www.esw-heim.tu-clausthal.de/~marco/smorbrod/acme/ (http://www.esw-heim.tu-clausthal.de/~marco/smorbrod/acme/) adresinden veya ekten indirebileceğiniz ACME Crossassembler'ı kullanabilirsiniz.

Not: colorbars1.png yukardaki kodun çıktısı, colorbars2.png ise ; ile çalışması engellenmiş

Kod:
;sta $d021			;set background color
;lda #$01 ;chose white color
;jsr $e536 ;set character color & clear screen

ve

Kod:
;stx $d021			;change background color

komutlarının önünden ; kaldırılarak elde edilmiş kodun çıktısıdır. ;


Konu Başlığı: Ynt: C64 Turbo Load Simülasyonu
Gönderen: ilkergorkem üzerinde Mayıs 01, 2009, 16:46:07 ÖS
Eline sağlık, ama ben sinclair in yükleme ekranını hep daha güzel buldum (sarı lacivert) diye herhalde  ;)


Konu Başlığı: Ynt: C64 Turbo Load Simülasyonu
Gönderen: Simon (Özay Turay) üzerinde Mayıs 01, 2009, 22:56:46 ÖS
Ayıp ettin kardeşim, Z80 assembly kasarsam senin için de onu yaparım. ;)


Konu Başlığı: Ynt: C64 Turbo Load Simülasyonu
Gönderen: EMREZ üzerinde Mayıs 03, 2009, 09:30:40 ÖÖ
Selam, bu sınır çizgisinin üzerine nasıl çizim yapılıyor hep merak etmişimdir. bununla ilgili teknik bilgi alabilirmiyim. mesela sınır çizgisinin üst yarısını siyah alt yarısını beyaz yapmak için nasıl bir kod yazılmalı.


Konu Başlığı: Ynt: C64 Turbo Load Simülasyonu
Gönderen: Simon (Özay Turay) üzerinde Mayıs 03, 2009, 10:13:19 ÖÖ
Aslında burda direk olarak bir çizim işlemi yok. Sadece ekran taraması interrupt ile beklenip border ve ekran rengi belli aralıklarla değiştirilerek elde edilen bir efekt.

Nightlord'un tutorial'ının ilk konusu olan raster'lar konusunu okuyarak istediğin şeyi nasıl yapabileceğini öğrenebilirsin. :)


Konu Başlığı: Ynt: C64 Turbo Load Simülasyonu
Gönderen: coze üzerinde Mayıs 03, 2009, 10:31:22 ÖÖ
yeri gelmisken nightlord tutoriallerinin en son versiyonlarini nerede bulabiliriz ? nightnetwork (http://www.cepp.nightnetwork.org/)'teki egitseller permissionlari set edilmedigi icin gorulemiyor. duy sesimizi ey gecelerin efendisi ! :D

edit : pdf versiyonlari gorulebiliyormus. sesimizi ignore edebilirsin ey gecelerin efendisi :D


Konu Başlığı: Ynt: C64 Turbo Load Simülasyonu
Gönderen: Simon (Özay Turay) üzerinde Mayıs 03, 2009, 11:10:50 ÖÖ
Burada da hatmedilmesi gereken güzel bilgiler var. ;)

http://tr-demoscene.info/forumdisplay.php?s=&f=31&page=1&pp=20&sort=lastpost&order=desc&daysprune=-1 (http://tr-demoscene.info/forumdisplay.php?s=&f=31&page=1&pp=20&sort=lastpost&order=desc&daysprune=-1)


Konu Başlığı: Ynt: C64 Turbo Load Simülasyonu
Gönderen: EMREZ üzerinde Mayıs 03, 2009, 11:16:05 ÖÖ
http://nightlord.dr2.net (http://nightlord.dr2.net) linki çalışmıyor::((

Aslında burda direk olarak bir çizim işlemi yok. Sadece ekran taraması interrupt ile beklenip border ve ekran rengi belli aralıklarla değiştirilerek elde edilen bir efekt.

Nightlord'un tutorial'ının ilk konusu olan raster'lar konusunu okuyarak istediğin şeyi nasıl yapabileceğini öğrenebilirsin. :)


Konu Başlığı: Ynt: C64 Turbo Load Simülasyonu
Gönderen: Simon (Özay Turay) üzerinde Mayıs 03, 2009, 11:50:38 ÖÖ
Yeni adres http://www.nightnetwork.org (http://www.nightnetwork.org)

Eğitseller için direk link:

http://nightnetwork.org/writings_tr/6502_makine_dili/pdf/6502_makine_dili.pdf (http://nightnetwork.org/writings_tr/6502_makine_dili/pdf/6502_makine_dili.pdf)
http://nightnetwork.org/writings_tr/c64_grafik_programlama/pdf/c64_grafik_programlama.pdf (http://nightnetwork.org/writings_tr/c64_grafik_programlama/pdf/c64_grafik_programlama.pdf)


Konu Başlığı: Ynt: C64 Turbo Load Simülasyonu
Gönderen: EMREZ üzerinde Mayıs 03, 2009, 11:57:01 ÖÖ
Çok teşekkür ederim. sağolasın kardeş.


Konu Başlığı: Ynt: C64 Turbo Load Simülasyonu
Gönderen: Simon (Özay Turay) üzerinde Mayıs 03, 2009, 11:57:56 ÖÖ
Yeni bir C64 programcısı geliyor diyebilir miyiz o zaman? :)


Konu Başlığı: Ynt: C64 Turbo Load Simülasyonu
Gönderen: EMREZ üzerinde Mayıs 03, 2009, 12:47:31 ÖS
Benden sözediyorsan kardeş asm bana çok zor geliyor. c64 ü en az amiga kadar sevmekteyim.


Konu Başlığı: Ynt: C64 Turbo Load Simülasyonu
Gönderen: nightlord üzerinde Haziran 09, 2009, 11:01:12 ÖÖ
Uzun bir aradan sonra bu mesajı gördüm. Bir hafta kadar önce yeni hostinge geçtim ve daha önce hack sonrası çalışmaz hale gelen html versiyonları da artık çalışır halde. Gecikme için kusura bakmayınız. Sevgiler :)


Konu Başlığı: Ynt: C64 Turbo Load Simülasyonu
Gönderen: LW3D üzerinde Haziran 09, 2009, 11:07:48 ÖÖ
kendini bu kadar özletme nightlord...eksikliğini hissettik...