Commodore sayı 63, sayfa 25

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 25

rutin | Cmp Beg Cmp

Beg Lda

Lda

Bne Bitgt 2 Lda

Sta Lda

Sta Beg

# $40 Ex | # $SA

Bitgt 3 # $02

$0365

Ex İ # $30

$0365 # $00

$CI

; hâlâ senk. baytı mı? ; evet, öyleyse bekle ; güvenlik baytı? ; hayır, öyleyse senk. ; baytı aramaya devam.

; Rutin 3'ü göster

; kontrol toplamını ; sıfırla ; interrupt'tan çık

Burada da güvenlik baytı aranıyor. Eğer bayt ne senk. baytı ne de güvenlik baytıysa senkronizasyon yapılmamış demektir, başa dönüyoruz. Güvenlik baytıysa rutin

3'e geliyoruz. Rutin 3 Sta

Inc Lda

Cmp Bne Lda

Sta Bne Rutin 4 Ldy

Sta Eor Sta

Sta Inc

Inc Bne Inc Bitgt 5 Lda Cmp Lda

SBC Becc Lda

Sta Bne Rutin 5 Sta

Lda Sta Lda

$FB

Rutin 341 Rutin 34 1

$FF Exi # $43

$0365 Exİ # $00

($FB),Y $C1 $CI

$CI $DO20

$FB Bitgt 5 $FC $FB $FD

$FE Ex 1 # $65

$0365 $C2

# $FF $02 # $03

; Başlangıç, bitişi al. ; adresi bir artır ; $FB, $FC, $FD, $FE'ye ; değer yaz

; dört bayt da alınınca ; rutin 4'e geç

; baytı belleğe yaz ; kontrol toplamı ; kontrol toplamı ; hesapla ; çalıştığını göster

; yüklemenin sonuna ; geldik mi? : HAYIR! ; Rutin 5'e geldik

; kontrol toplamı oku ; Bitiş sinyali ; ver! ; Gene Bitgot'a

Sta $0365 ; Çevir Lda ; Bir daha kul- lanılâbilir Sta Rutin 341 ; hale gelir

Bne Exl

Yükleme kısmı bu kadarıyla ilgileniyor. Bu arada bütün yükleme boyunca çalışan bir de programımız vardı:

; Sinyal geldi mi? ; HAYIR! bek- le.

$03DD Lda $02 Beg $03DD İlk seferde bir şey yapmak istemediğimiz için normal

program olarak hiçbir şey koymadık. Yalnızca yüklemenin bilinmesini bekliyoruz.

Lda $00 Sta $01 ; sinyali temizle Ldoa # $07 ; ROM'lar içeri Sta $01 $03F3 ; Etrafı toparla! İsr $A663 ; CRL komutu Lda $CI ; kontrol top- lamarını Cmp $C2 ; karşılaştır Bne ERROR ; FARKLI!!! Jmp — A474 ; 'REDY.' yaz ERROR Ldx # $1D ; ?LOAD EROR' İmp — $A437 ; Mesajı yolla

Fark ettiğiniz gibi rutin AUTORUN için ayarlanmamış. Fakat bu işi yapmak çok kolay.

Jmp — $SA474 # yerine İsr $A659 Jmp —$A7AE

yazın. Dosya adı uzunluğunu üç artırın. Programınız artık AUTORUN da yapacaktır. $A7AE adresinde RUN komutu bulunmaktadır çünkü.

Klavyeyle gezinmek için ← ve → tuşları.