C64 için Püf Noktaları

PRENOKTAS

Püf Noktaları

COMMODORE'UNUZ İÇİN DİKDÖRTGENLER için dikdörtgenler, hem 64'te hem de 128'de 40 sütun modunda dikdörtgenler çizer. 60-100. satırlar arasındaki altrutin dikdörtgenleri oluşturur. Rutini programınızda kullanmak için, SC değişkenini dikdörtgeninizin sol üst köşesine tekabül eden bir ekran yerine yerleştirin. HT ve WT değişkenleri dikdörtgenin yüksekliğini ve genişliğini belirlerler. CL rengi, CH de dikdörtgeni çizen karakteri temsil eder.

PROGRAM ADI 1

60000 REM
00010 POKE C
00020 FOR
FOR 1 TO
HTSL TO 2d ST
ER 4
00020 GO
00040 <149>
80850 GOTO 18
80060 FOR LXeSC TO
KE
00070 FOR TO
ÖKE LX.CHIPOKE —
FOR TO
KE
60696 FOR TO STEP
SATIR NUMARASI ÇIKARTMAK

BASIC programlarından satır numaralarını çıkarmanız gerekirse, sadece bu POKE'lardan birini yazmanız yeterli olacaktır.

Satır

numaralarını yeniden geri almak için de şu POKE'ları yazın: C-64: 22,25 C-128: 24,27

6414128 DÜŞEY TAB

İşte size Commodore Basic'te bulunmayan her amaca uygun bir düşey tab rutini. 10. satırdaki komutları kendi programlarınıza yerleştirin. Programdaki daha sonraki satırlar düşey tabı harekete geçtikten sonra göstermektedir.

PROGRAM ADI © DÜSEY TAB

AFM GAZIN DÜSEY TAR
60810 DIM 1!
TO
BERT 3
#0020 PRİNT TeR4 TO 1 STE ia
TAB
<es2>
00030 GET ARTIR THEN 20
00040 PRİNT <236>
FOR

GÜÇ KAYNAĞINI SOĞUTMAK

Tüm C-64 kullanıcıları, bilgisayarlarının güç kaynağını soğutmak için bir yöntem geliştirmişlerdir. Ona bir vantilatör tutmak ve çevrede havalandırmanın olabilmesi için alan bırakmak gibi. Kısa Devre 64 prog- Tamıyla, onu programlarınıza ekleyerek, bir “erime” tehlikesini bilgisayarın önceden size görsel ve işitsel olarak duyurmasını sağlayabilirsiniz.

PROGRAM ADI 1 KISA DEVRE

©8000 REM 64 KISA DEVRE
00010 PRİNT Tel TO DİNEKT 1
PRİNT
<ca42>
ca12>
<057>
COK SICAKI"
FOR
00020 POKE 54296.1S1POKE 34206.G1NEKT — <000)>
60040 FOR TO G46.DIN
EKT 1G0TO 16

ÖNCE B YÜZÜNE KAYDEDEREK ZAMAN KAZANIN

4574 modunda formatlanmış bir diski kullanmak, data dosyalarını save ettiğinizde ve onlara ulaşmak istediğinizde diski çevirme gereğini ortadan kaldıra- Tak, teorik olarak size zaman kazandırır. Ama gerçekte bu zaman avantajı sağlanamamaktadır, çünkü sü- Tücü programı B yüzüne save ederken her bloğu yazdıktan sonra A yüzündeki blok yer haritasına bakmak zorundadır. Bu sorunu çözmek için, yeni bir disk formatlayın ve sonra verdiğimiz Blok Yer Haritası Doldurucu programını çalıştırabilirsiniz. Bu program rehber (directory) dışında, A yüzündeki tüm blokları yerleştirir. Sonra ana programı ve destek dosyalarını B yüzüne save edin. En sonunda da A yüzünü yeniden serbest bırakmak için, Collect komutunu kullanın. Diskete bir autoboot program koymadan önce Collect komutunun işini bitirmesini bekleyin. Yoksa autoboot bloğunu serbest bırakacaktır.

PROGRAM ADİ © DİSKET ÜZERİNDEKİ YE
08810. REM. DISKET. UZERINDEKI YER. HARITASI (822)
DİSKET. ÜZERİNDEKİ (829>
68020 NUS-CHRSCO)
R
INT #15. "UA:8.0.10.0"
.NUS/ I NEXT
00050 PRINT #15.°9-P18,76*IFOR X=76 TO 14
<182>
<002>
X476 TO 14
(029>

YENİ İLK DOSYA

Bir diskette bir dizi dosyanız olduktan sonra, en çok kullandığınız dosyayı directory'de ilk sıraya yerleştirmek isteyebilirsiniz. O pozisyona geldiğinde, bilgisayarınızı açtıktan sonra, LOAD"*”,8- girerek dosya adını — ASAL SAYILAR ki İka Baya ile Bu kısa ve oldukça hızlı program bir sayının yerlerini değiştirebilmenizi sağlayacaktır. Bu progra- asal olup olmadığını saptar. 10.000'e kadar mı önce yedek bir kopyada deneyin. Yoksa bir hata olan sayılar bir iki saniye içinde belirlenebilmek- © disketteki her şeyi kaybetmenize neden olabilir. le birlikte, 9999973 gibi büyük sayıların tespiti C- 64'te 40 saniye kadar alabilmektedir. Bu prog-

Tamın her tür Commodore bilgisayarında çalış-

ması gerekir.
PROORAM ADI © ILK DOSYA
©0010 REM ILK DOSYA
00020 INPUT "SİMDİKİ ILK PROGRAMIN
* PROORAM ADI ASAL SAYILAR
60020 INPUT “İLK YAPILACAK PROGRAMIN ADI"
©8010 REM ASALSAYILAR
60040 PRİNT PRİNT
“ver case> 00030 İNPUT *COOKND Ka
000350 PRİNT "DOSYA © THEN END
<ese> 00040 IF THEN PRİNT
©0060 PRİNT 30
<020> ©0058 FOR TO Z STEP
00070 PRİNT 8-0-1 cier>
IF S>0 THEN NEXT
00080 PRİNT 00070 IF 8-0 THEN PRİNT
E*160TO 20
00080 CLOSE İSİPRİNT TAMAMI 00000 PRİNT *CDOKNDASAL *100TO 30
.

C-64 INSTR FONKSİYONU

C-128'de bir dizginin (string) diğeri içindeki yerini bulabilmek için pratik bir INSTR fonksiyonu vardır. Aşağıdaki altyordam aynı sonucu 64'te de almanızı sağlayacaktır: A$ ve B$ değişkenleri, sırayla uzun dizgi ve bulmak istediğiniz kısa dizgidirler. İlk harf uygunluğunun pozisyonu XX değişkeninde verilmektedir. 0 değeri çıkarsa hiç uygunluk bulunamadığı anlamına gelir. Altyordamdaki değişkenleri -XA, XB, XE, XX ve SP- programınızın başka kısımlarında kullanmamaya dikkat edin. Tuhaf sonuçlarla karşılaşabilirsiniz.

PROGRAM ADI: INSTR

00010 REM 64 INSTR
000
UYGUN POZİSYONU BAŞLATMA
FOR TO MİOSCAS.
THEN
#1028 NEXT <187>