Commodore sayı 31, sayfa 53

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 53

Üçüncü altprogram zaman bitimini belirten gong sesini çalar. Bu sesi istediğiniz bir ses efekti ile değiştirebilirsiniz. Eğer gong sesini istemezseniz 5200 numaralı satırı RETURN komutuyla bitirin.

5200 S-54272 5210 FOR L—0 TO 24 : POKE S4 : NEXT 5220 POKE S4 1,130 : POKE S4- 5,9 5230 POKE 15,30 : POKE S4 24,SES 5240 POKE S4 4,21 5250 FOR T— 1 TO 300 : NEXT 5260 POKE S4 4,20 5270 FOR T— 1 TO 500 : NEXT 5280 FOR L—0 TO 24 : POKE : NEXT 5290 RETURN

Yeni INPUT komutunu kullanmak istediğiniz programlara bu üç altprogramı eklemeyi unutmayın. Yeni INPUT komutunu kullanan program şu şekilde olabilir: 100 POKE 53280,6:POKE 53281,6:PRINT” BLK “:PRINT CHR$(447) 1410 : : ZA=10 200 PRINT “SORUYA 10 SANİYE İÇİNDE CEVAP VERİN” 210 PRINT “ÇALIŞTIĞINIZ BİLGİSAYAR NEDİR” 220 GOSUB 5000 : INPUT A$ : GOSUB 5100 230 IF FLG THEN 250 240 PRINT “ÜZGÜNÜM SÜRE BİTTİ.“:GOSUB 5200: GOTO 270 250 IF A$=“COMMODORE” THEN PRINT “SANİYENİZ KALMIŞTI”:GOTO 270 260 PRINT “CEVAP YANLIŞ” 270 END

Bu programda 100 numaralı satırda ekran renklerini belirliyoruz. 410 numaralı satırda geri sayımda kullanılan üç değişken ayarlanıyor. 200 ve 210 numaralı satırda kullanıcıya soru soruluyor. 220 numaralı satırdaki GOSUB komutuyla geri sayım başlatılıyor. Her GOSUB 5000 çağrısını GOSUB 5100 çağrısı izlemeli, aksi takdirde geri sayım hep devam eder. Eğer GOSUB 5100 komutu işlenmeden programı RUN/STOP ile durdurursanız geri sayım devam eder. Saati durdurmak için SYS 65418 komutunu kullanabilirsiniz. 230 numaralı satırda FLG değişkeni kontrol ediliyor. Bu değişken, kullanıcının zamanında RETURN tuşuna basıp basmadığını belirliyor. Eğer değişkenin değeri sıfır ise zaman bittiğinden gong sesi çalar. Eğer zaman bittiğinde doğru cevap yazılmış, ama RETURN tuşuna basılmamışsa cevap yanlış kabul edilir. Bu durumu belirlemek için programa şu satırı ekleyin:

235 IF A$-“COMMODORE” THEN PRİNT “CEVAP DOĞRU, ANCAK RETURN TUŞUNA BASMAYI UNUTTUNUZ.”:GOTO 270

Makine Dili Makine dili programı yaparken ekranı yüksek çözünürlüğe nasıl geçiririz? 53265 numaralı adresin beşinci biti yüksek çözünürlük modunu kontrol eder. Bu biti yakmak için BASIC'te POKE 53265,PEEK(53265) OR 32 komutunu vermek yeterli olur. Makine dilinde de aynı tekniği kullanacağız.

LDA 53265 ORA 32 STA 53265

Aşağıda makine dilinde yazılmış olan program yüksek çözünürlük ekranını 24576 numaralı adreste açar.

LDA 56578 ORA 3 STA 56578 LDA 56576 ;VİC çipi bu adrese AND 252 ;dikkat et. ORA 2 STA 56576 LDA 53272 ;VİIC bu adrese bak AND 15 ve bitmap için ORA 120 ;hafıza STA 53272 LDA 53265 ;53265 numaralı adresin ORA 32 beşinci bitini yak STA 53265 RTS

Tekrar normale dönmek için aşağıdaki programı kullanabilirsiniz.

LDA 56578 ORA 3 STA 56578 LDA 56576 AND 252 ORA, 3 STA 56576 LDA 21 STA 53272 LDA 27 STA 53265 RTS

Şimdilik hoşçakalın.

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