İçindekiler
Yaptığınız birşeye gerçekten intro diyebilmeniz için içinde müzik logo, raster barlar ve smooth scroll olmalı. Ama bunlar olmada yapacağınız ve introya benzeyen şeyler olacak bunlara o yüzden pre-intro diyeceğim. Artık ilk pre-intronuzu yapmaya hazırsınız. Birazdan vereceğim programda yeni hiç birşey yok. Sadece bugün bahsettiğimiz CR ve scroll kodları ile önceki derslerden tanıyacağınız ekran silme rutinini kullanarak ilk pre-intronuzu yapabilecek durumdasınız. İşte kod:
!to "out.prg"
* = $c000
VM_SATIR_L = $0400 + (4 * 40) + 9
VM_SATIR_S = $0400 + (12 * 40)
CR_SATIR_L = $d800 + (4 * 40) + 9
CR_SATIR_S = $d800 + (12 * 40)
lda #0
sta $d020
sta $d021
jsr clear_screen
jsr color_setup
jsr logo_setup
loop1:
ldx #0
loop2:
lda VM_SATIR_S+1,x
sta VM_SATIR_S,x
inx
cpx #39
bne loop2
read: lda text_source
sta VM_SATIR_S+39
inc read+1
ldy #$40
ldx #0
delay: dex
bne delay
dey
bne delay
end: jmp loop1
clear_screen:
ldx #0
lda #$20
cs_loop:
sta $0400,x
sta $0500,x
sta $0600,x
sta $0700,x
inx
bne cs_loop
rts
color_setup:
ldx #0
stp_loop:
lda scroll_colors,x
sta CR_SATIR_S,x
inx
cpx #40
bne stp_loop
logo_setup:
ldx #0
lloop:
lda logo_text,x
sta VM_SATIR_L,x
lda logo_colors,x
sta CR_SATIR_L,x
inx
cpx #21
bne lloop
rts
!align 255,0
text_source:
!scr "merhaba dunya... iste karsinizda yazdigim "
!scr "ilk scroll rutini... henuz smooth degil ama "
!scr "onemli degil. onu da bi kac gune kadar yapmis "
!scr "olacagim zaten. greetings to ali, veli, 49, 50..."
!scr "the new codemaster signs off..."
!fill $2c,$20
scroll_colors:
!by $06,$0b,$04,$0e,$0f,$01,$01,$01
!fill 24,1
!by $01,$01,$01,$0f,$0e,$04,$0b,$06
logo_colors:
!by $09,$09,$02,$08,$0a,$0f,$07,$01
!by 1,1,1,1,1
!by $01,$07,$0f,$0a,$08,$02,$09,$09
logo_text:
!scr "6510 assembly has you"
Bu kodla oynayın. Renkleri mesajları değiştirin. Logonun ekranda durduğu yerle oynayın. Bu programda ne olduğunu tam olarak anladiğinizdan emin olun. Sorularınız olduğunda mutlaka sorun.