NightNetwork - yazılım, yazın, verim vs.

Bölüm 13. İlk Pre-İntro

İçindekiler

13.1. Ödevler

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.

NightNetwork - 2009