COMMODORE 64'ün BELLEK HARİTASI

Commodore 64, ev bilgisayarları alanında Türkiye piyasasında tartışılmaz lider. Şimdiye kadar satılmış olan C-64 sayısı çoktan 50.000'i geçmiş durumda. Commodore'cuların büyük bir kısmı 64'ü oyun ve eğitim makinesi olarak kullanıyor. Yine büyük bir kullanıcı grubu ise C-64'e, daha gelişkin makinelere geçişte bir basamak olarak bakmakta. Özellikle bu gruba giren kullanıcılar arasından, dergimizin döküm ekinde de kanıtlandığı gibi, çok yetenekli programcılar çıkıyor. Makineyi yalnızca oyun amacıyla kullanmak istemeyenlerin en çok ihtiyaç duydukları konulardan biri de Commodore 64'ün bellek haritası. Bu sayımızdan itibaren bellek haritasını bir dizi halinde yayınlamaya başlıyoruz. Dizinin ilk bölümü giriş niteliğinde olduğundan bir sözlük de içeriyor.

İster acemi, isterseniz uzun zamandan beri programlama ile uğraşan bir kullanıcı olun, Commodore 64'ün bellek haritasına hoş geldiniz. Bu dizi, Commodore 64'ün beyin hücrelerinin derinliklerine yapacağınız gezide size rehberlik yapmayı amaçlıyor. Bu dizide anlatılanlar, bilgisayarın sisteminin içindeki özel yerlere ulaşmanızda size yardımcı olacak gerçek bir harita, bir rehber olacak. Bu özellikler katmanız için size büyük yardımlarda bulunacak. Bu yolculuğu daha da zevkli bir hale getirebilmek için, tiplerimiz Profesör Çalkafa ve onun sempatik uzaylı arkadaşı Prototip, yol boyunca sizi neşelendirmeye çalışacaklar. Bellek haritası, size kolaylık sağlamak amacıyla, iki bölüme ayrılmış durumda. Her bölüm, belleğin özel bir parçasını inceliyor. Dizi boyunca makinemizde çalıştırmanız gereken birçok program örneği ile karşılaşacaksınız, çünkü çoğu zaman örneği yalnızca okumak yerine onu makineye girerek ekran üzerinde görmek, anlamayı daha da kolaylaştırır. Program örneklerinin bazıları, BASIC'e RENUMBER gibi faydalı kolaylıklar (Utilities) ekler. Diğer bazı örnekler ise, gene çok faydalı programlama incelikleri öğretmeyi amaçlamaktadır. Her durumda, neler olup bittiğini daha yakından görebilmeniz için döküm (listing) çalışması yapmanız ve bir kod sistemi kurmanız yararlı olacaktır. Dizinin sonunda yer alacak olan ekler, yaratık (sprite) yaratmak ya da ses üretmek gibi bazı işlerin nasıl yapıldığını gösterecek ve detaylara inecek. Burada sunulacak olan programlar daha uzun olacak ve Commodore 64 ile yapabileceğiniz daha gelişkin bazı etkinlikleri anlatacaklar. Bu dizi bir roman tefrikası değil, bu nedenle okumaya istediğiniz yerinden başlayabilirsiniz, bazı kısımlar size çok basit de gelebilir. Ama işe baştan başlamanın yararı da inkar edilemez. İddiamız, dizinin programcılık isteyen okurlarımıza mutlaka yarar sağlayacağı. Bu bellek haritası dizisini kolay okunur ve kullanılır hale getirebilmek için çok çalışıldı. Yerleşim (location) adresleri, yeri geldikçe dişi olarak (siyah zemin içinde beyaz) basıldı. Prototip ya da kısaca Proto, yeni başlayan veya orta düzeyde bilgiye sahip programcının sık sık kullanacağı bellek alanlarını ve rutinlerini bulmakta yardımcınız olacaktır. Sayfaları karıştırırken kenarda onu arayın.

SÖZLÜK

ASCII: Bilgi alışverişi için Amerikan Standart Kodu. Klavye üzerindeki harfler ve karakterlere rakamları tayin eden bir standarttır. Commodore 64 bilgisayarlar gerçek ASCII (ASK KEY diye okunur)'yi izlemez, ancak bunun yerine kendi kodları vardır. Akümülatör: Mantık ve aritmetik işlemlerin sonuçları geçici olarak burada saklanır. Bu, işlek bir otobüs durağı gibi davranır, kimse burada uzun süre beklemez. Adres: Verilen bir yerleşim yerinin numarası. Sokak adresinin aynısıdır. Atak: Başlangıcından, en yüksek değerine ulaşan nota ya da ses değeri.

Atak

Baud: Bir hat üzerinde taşınan bilginin aktarılma hız değeri. Saniyede aktarılan bilginin bit olarak değeri. Modem veya özel bir yüzey gerektiren bir cihaz kullanıyorsanız bu terimle karşılaşmışsınızdır. Bit: Bilgisayarın kullandığı bilginin en küçük parçası. Bir bayt'ın içinde 8 bit bulunur. Buffer: Saklama yeri, ara bellek. Örneğin klavye buffer'ı vuruşlarınızı saklar ve daha hızlı bir şekilde yazı yazmanızı sağlar. Buffer'daki bilgi eninde sonunda kullanılmak üzere herhangi bir yere gider. Bus: Bus, ona bağlı tüm cihazların paylaştığı elektrik hatlarının sistemidir. Bu, cihazların adresleme ve verileri paylaşmaları için kullanışlı bir yoldur. Bu sistem bir parti hattı gibi çalışır (işler). Decay: Sesin en yüksek düzeyden uzatıldığı düzeye kadar değişen değeri anlamına gelen müzik terimi.

Default: Bilgisayar açıldığında ya da diğer işlemler yapılırken bir bellek konumunun aldığı başlangıç değeri. Disable: Kapatma. RUN/STOP tuşunu kapatarak, birinin yanlışlıkla programınızı durdurmasını önleyebilirsiniz. Enable: Açma; disable'ın karşıtı. Flag: Bir şey olduğunu belirten sinyal. Flag'ları programlarınızın içinde kullanabilirsiniz. Örneğin:

IF A$ = "B", bu ifadede flag durumundadır. Floating Point: Ondalık sayılar kullanarak yapılan aritmetik işlemler. Immediate Mode: Bilgisayarınızı bir program çalıştırmadan kullanma. Örneğin:

10 PRINT 3 2

bir programdır ve cevap alabilmek için RUN ile çalıştırılmalıdır.

PRINT 3 4 2

RETURN tuşuna bastığınızda 5 cevabını verecektir. Jump: Bir adresten ötekine gitme. BASIC'te bunun için eş terimler GOTO ve GOSUB'tır. KERNAL: Bilgisayarı işleten bir dizi makine dili altrutinini adlandırmak için Commodore'un kullandığı kavram. Nybble: Bir nybble yarım bayt'tır. Alt nybble 0-3 bit'lerinden oluşur. Üst nybble ise 4-7 bit'lerini temsil eder. Operating System: İşletim sistemi.

Bazen OS olarak da yazılır. Bunun bir bölümü yukarıda bahsedilen KERNAL'dır. Görevi bilgisayarı işletmektir. Page: Bir sayfa 256 bayt bellek demektir. Bu şekilde daha kolay saklandığından, bilgisayar belleğin değişik bloklarını sayfalar halinde kontrol eder. Pointer: Bilgisayara bilgi için nereye bakması gerektiğini gösteren bir işaret. RAM: Random Access Memory — Rasgele erişimli bellek. Bu çeşit bellek kolaylıkla değiştirilebilir. Programlarınız RAM'da saklanır ve bilgisayar kapatıldığında RAM'daki bilgiler kaybolur. ROM: Read Only Memory — Salt okunur bellek. Bu tip bellek, bilgisayar kapatıldığında silinmez, ROM belleğine örnek BASIC ve KERNAL'dır. Register: Sicil. Bellek konumunun diğer adı. Register'lar bir bayt'tan daha uzun olabilirler. Release: Uzatma seviyesinden sıfır volüme düşme oranını belirten müzik terimi,

Release

—

Reserved Word: Programınızın içinde veri saklamada kullanamayacağınız harfler. Örnekler:

ST (STatus): Durum, TI (Time) ve TI$: Zaman

Bir sorun çıkmaması için herhangi bir BASIC komutu veya BASIC kelimelerinin baş harflerini programlarınız içinde veri saklamada kullanmayın.

Sustain: Bilgisayarın ses yetenekleri ile ilgili başka bir terim. Bu, sesi, piyanonun pedallarına benzer şekilde uzatır.

Sustain

Waveform: Dalga biçimi. Bu, üretilen ses tipinin bir tanımıdır. Bilgisayarın dört ayrı waveform'u vardır: Üçgen, testerediş, kare ve gürültü. Herbiri aynı tip seslerdir. Vector: Bu başka bir tür pointer'dır. Bir rutinin başlangıç adresi anlamına gelir. Bilgisayar, rutini nerede arayacağını bilmek zorundadır.

PEEK VE POKE NASIL YAPILIR?

Bu bölüm, bellek haritasının nasıl kullanıldığını henüz öğrenmekte olanlar içindir. Temel olarak, bellek haritası, çeşitli amaçlar için doğrudan doğruya kullanılabileceğiniz, bilgisayarın içindeki değerli bellek yerleşim alanlarının dökümüdür. Bu yerleşim alanları belirli bir yerdeki belleğin byte'ları olarak adlandırılır. Belleğin 64 K olması, çalışabileceğiniz 64*1024 adet bellek alanının varlığıösterir. Bu baytların bazıları bilgisayarın işletim sisteminin kullanımına ayrılmıştır, ama büyük kısmı sizin programlarınızda kullanabilmeniz için boş bırakılmış durumdadır. Bu dizimizde size ayrılmış olan kısımla ilgili bilgiler verilecektir. Örneğin, boşluk çubuğu gibi belirli tuşların ardarda basılmasını kontrol eden 650 adresli bellek alanını bulmak içni bellek haritasını taramanız gerekir. Herhangi bir tuşu basılı tutğunuz sürece o tuş yaptığı rarlayacağından, dizide verilen ipuçlarını izleyerek, bu bellek yerleşim alanındaki değeri değiştirebilirsiniz. Yapacağınız bu tür değişiklikler geçicidir ve bilgisayarı kapattığınızda kaybolur.

Şimdi de BASIC'teki değişiklikleri nasıl yapacağınızı açıklayalım. Diyelim ki, harita listesini taradınız ve 650 sayılı bellek yerleşim alanını değgiştirmeye karar verdiniz. (HEXadesimal rakamını gösteren $ sembolüyle ya da “hex”' şeklinde tamınlanmadıkça, tüm rakamlar desimaldir). Commodore, 650'yi RPTFLG olarak çağırır. 650'nin görevi klavyede hangi tuşların tekrarlanacağına karar vermektir. Böylece, klavyedeki tüm karakterlerin tuşu basılı tuttuğunuz sürece tekrarlanmasını istiyorsanız, 650 sayılı bellek yerleşim alanına hangi doğru değerin POKE edilmesi gerektiğini bulmanız gerekir. Bu örnekte bellek haritası tüm tuşların tekrarlanması için 255 değerinin kullanılması gerektiğini belirtir. Bir sayının belleğe yerleştirilmesini sağlayan BASIC komutu “POKE” olarak adlandırılır. Bu denli uzun açıklamalardan sonra, bu değişikliği yapmanın ne denli basit olduğunu görelim:

POKE 650, 255

İPUCU POKE ifadesi ile birlikte daima bir desimal (ondalık) sayı kullanım. Bunun anlamı, arada sırada binary (ikili), hexadesimal (onaltılı) ve desimal sayılar arasında dönüştürme işlemi yapmak zorunda kalacağınızdır. Herhangi bir bellek alanı yalnızca 255'e kadar olan bir sayıyı alabilir. Niçin?.. Commodore'un her bir kelime (bellek alanı) için sekiz bit kullandığını hatırlayın ve ikili sistemde sekiz bitin O'dan 255'e kadar sayı alabileceğini gözönünde bulundurun (makine, kendi içinde yalnızca ikili sistemi kullanır). İkili sistem hakkında daha fazla bilgi edinmek için dizinin bundan sonraki bölümü olan “Bitler ve Baytlar”ı inceleyebilirsiniz. Bu kısıtlamadan dolayı, bazen tek bir sırada iki bellek alanına sayi POKE'lamak zorunda kalabilirsiniz. Örneğin MEMSIZ olarak adlandırılan 643&644 sayılı bellek alanına bakalım. Bu alanlar kullanabileceğiniz belleğin (RAM — Random Access Memory — Rasgele Ereşimli Bellek) en uç noktasına karşılık gelen bir sayı alırlar. Belleğin en üst tabanı 40960'a kadar gelebileceğinden, bir bellek yerhleşim alanı için 256 limitinin üzerindeki birsayı değerini saklamak için bilgisayar iki alana ihtiyaç duyacaktır. Evet, birinci alan için 256 artı ikinci alan için başka bir 256 saklamak, 64 K'lık bir makine için pek pratik bir yol değil. Bunun yerine bilgisayar ikinci alandaki her sayıyı alıp 256'ya böler.

Örnekler:

DI alıbyt'ta saklanır. 411/267 üst bayt'ta saklanır

Bilgisayar 267'yi 11 şeklinde görür. Bir başka örnek:

121 alı bayı'ta üst bayta'ta 7*2564 121 -1913'tür. Bazen Commodore 64'ü üst belleği olduğundan daha aşağıdaymış gibi düşündürerek şaşırtmak yararlı olabilir. Bundan kazancımız son bin byt'lık bir bellek olacaktır ve bu belleği yaratıklar (sprites) için saklayabiliriz. Burada da birinci örnekte olduğu gibi bir POKE işlemi uygularsınız, ancak bunu iki kere yapmanız gerekir; bir kere sayının alt kısmı için, bir kere de üst kısmı için. Bir sayının alt kısmının ilk bellek alanında ve üst kısmının ise onu izleyen alanına yerleştiğini söylemiştim. Bu biraz ilkel gözüküyorsa da, bunu anlamak hiç de zor değil. COMMODORE (ve diğer pek çok mikrobilgisayar) çok parçalı sayıları bu şekilde saklayabiliyor. Bazen bu kural bozulabiliyor ve eğer böyle bir istisna bulursanız, bizi arayıp düzeltmeye çalışmayın. Bu durumda ne yapacaksınız. MEMSIZ'in değerini olduğundan |

K azaltın.

1) O andaki değeri bulun...

10 A-PEEK (643 4 PEEK
(643)*256
ALT kısım ÜST kısım

MEMSİZ'in değeri olan bu sayı 64'ünüzü ilk açtığınızda 40960'ı verecektir.

2) Bu değerden 1K eksiltelim. 20 A-A-(1*1024) Bir K'nin 1024 bayt olduğunu hatırlayın (Daima 1'i kullanmak zorunda değilsiniz, bu başka bir sayı da olabilir.)

3) Yeni değeri ALT ve ÜST kısımlara ayırın 30 — A-(B*256) ve olur Böylece C'yi alt kısım B'yi de üst kısım yapmış olduk. ÖR: 40960-1K — 39936 30. satır RUN edildiğinde size üst kısım için 156 alk kısım için se O verecektir. 4) Bu sayıları belleğe POKE edin. 40 POKE 643,C: POKE 644,R (sayılar ondalik verilmeli!) ÖR: POKE 643,0: POKE 644,146

Son Öğütler

1) Ana Bellek Haritasında bahsedilen konuları denemek ve sonuçlarını görmek için istediğiniz gibi PO-KE ve PEEK yapmaktan çekinmeyin. Anlatımlar, COMMODORE'de mümkün olan çeşitli işlemleri nasıl yapacağınızı sadece en temel yönleriyle vermektedir. Daha fazla bilgi, geniş uygulama ve örnekler için Programcının El Kitabı ve dergide yeralan Püf Noktaları köşesini takip etmenizi öneririz.

2) Bazı bellek alanlarının değerini bilgisayara anlatmak için iki sayı gerektiğini unutmayın. Bu sayılardan birincisi ALT kısım, ikincisi ise ÜST kısım olarak saklanır.

3) Bütün bellek alanlarına erişmeniz mümkün, ancak çoğu sadece ileri düzeyde kullanıcılar içindir. Eğer ne işe yaradıkları yakında bir fikrinız yoksa üzülmeyin. Yapacağınız şey denemek ve öğrenmektir. 4) Eğer bir sorun çıkarsa Run/stop ve Restore ile pek çok bölgenin değgerlerini orijinal değerlerine döndürebilirsiniz.

5) Ana Bellek Haritasının bazı alanları sadece okunmak içindir. Yani, burada ne olduğunu görmek için PEEK yapabilir, ama kendi sayınızı buraya POKE yapamazsanız. Bunun nedeni, belleğin bazı kısımlarının ROM yani Salt okunabilir Bellek olmasıdır. Bu tür hafıza sürekli kalıcıdır ve POKE yaparak değiştirilemez, ama COMMODORE düşünceli olarak bu ROM bölgelerini belleğin diğer kısımlarını kopyalayıp, orada POKE edehilme imkanını sağlamıştır.

Şimdi gı dönün ve son bölümü en az bir kaç yüz kere daha okuyun. MEMSIZ'in eski değerini okuyup yeni değer saklayan program sadece dört satırdan oluşur. Bu asatırları, program olarak yapız RUN etmenin yanında doğrudan da girebilirsiniz.

Baytlar ve Bitler

PEEK ve POKE yapabilmek için, önce bir baytın ne olduğunu ve nasıl bir yapıya sahip olduğunu anlamalısınız. Bunu anlamak o kadar zor de- Ve bunlar hakkında çok fazla şey bilmeden de bellek haritasını kullanabilirsiniz. Ama baytlar ve bitler haktıysa bitin ne olduğunu daha başka bir şekilde açıklayalım. Bir bit, bilgisayarın kullanabileceği en küçükbilgi parçasıdır. Esasında bilgisayar temelde sadece bitlerle uğraşır, Bir mikroişlemciyi bir otobüs durağına benzetebi Bu otobüs durağına sadece tek şeritli bir yol gelir. Bu da, iki otobüsün birbirlerini geçebilmesi için yeterli boşluk olmadığından, bir otobüsün bir defata yalnızca bir yönde seyahat edebileceğini gösterir. Bu yüzden bir otobüs ya durağa varıyor ya da duraktan ayrıliyor olabilir. Mikroişlemci ya da otobüs durağı otobüsüne “varan otobüsü kabul ediyorum” ya da “kalkan otobüsü gönderiyorum” anlamına gelen bir sinyalle bunları tarifeye bağlayabilir. Aslında gerçek bilgisayarın donanım yapısında mikroişlemciye ve mikroişlemciden bilgi taşıyan hatlara “data busses” (bilgi taşıtları) adı verilir. Sekiz ayrı giriş (INPUT) ve sekiz ayrı çıkış (OUTPUT) hattına ihtiyacımız yoktur. Çünkü otobüs durağına gelen tek şeritli yol gibi, hatlar da çift yönlüdür. Yani bilgi ya varıyor (INPUT) ya da ayrılıyor (OUTPT) olabilir. Mikroişlemcinin ayrıca bilgi alacağını (INPUT) veya göndereceğini (OUTPUT) belirleyen kendine özgü bir sinyali vardır

Otobüste kimler var?

Bu otobüse biraz daha yakından bakalım. BYTE EXPRESS olarak adlandırılabilen bu otobüsün sekiz koltuğu vardır ve daima sekiz yolcu 1, kapalı olduklarında ise 0 değerine sahip olurlar. Bildikleri ve size anlatmak istedikleri tek şey değerleridir. Şimdi, karşımızda duran ve herbiri “AÇIK” ve “KAPALI” diye bağıran sekiz küçük canavardan nasıl anlamlı bir bilgi elde edebiliriz? İşlemciye vardığında bütün bir kında ne kadar çok şey bilirseniz, Commodore'unuzun kontrolü hakkında o kadar çok şey öğrenebilirsiniz. Bir bayt gerçekte hiç de karmaşık değildir. Sekiz adet bit bir bayt oluşturduğunda, bu bitlerin herbirinin özel bir önemi vardır. Kafanız karışmasın. Bu yolcular bit olarak bildiğimiz küçük habercilerdir ve grup halinde bayt (byte) adını alırlar. Bu haberciler ya da bitler, oldukça uyuşukturlar. Ya açılırlar (ON) ya da kapatılırlar (OFF). Buna, iki ayrı durumları olabildiğinden, ikili sistem (binary) denir. Bitler açık olduklarında baytı otobüsten indirerek önünüzde sıraya dizebilir ve açık olanları sayabiliriz. Böylece en fazla sekize kadar sayma imkanımız olur. Yani en fazla sekiz açık bit olabilir. Çok sınırlı bir sayı, değil mi? Hımmm! Bu gruba bir lider gerekiyor. Bu lider sol baştaki ilk bit olsun. Bundan sonra bu “en önemli bit” veya EÖB diye çağıracağız. En sağdaki bit ise “çömez” veya ÇB olacak. Harika. Şimdi artık bir grup liderimiz ve onun herbiri sıralı rütbeler taşıyan takipçileri oldu.

Rütbelerle uğraşmak ciddi bir konu ve bunu yaparken iyi düşünmeliyiz. Önce ÇB'den başlayalım ve en önemsiz bit olduğundan ona | rütbesini verelim. Sırada onun solunda olan bit için rütbeyi iki katına çıka- MULTİ İCE İli - FİNAL İli - MULTİ İCE İl - DOUBLE CARTRİDGE rırsak işimiz kolaylaşır. Böylece ICE MACHİNE SUPER PLUS - FİNAL CARTRIDGE

EÖB'ye gelene kadar rütbeleri katla- DOLPHINDOS 2.0 - EXPERT CARTRİDGE - İŞİKLİ KALEM yarak dağıtalım. Şimdi baytımız aşa- JOYSTİCK - KASET - DİSKET - LED CONTROL ğidaki şekilde olduğu gibi görünecek - COMMODORE OYUN KARTUŞLARI - C-64 ADAPTÖRÜ tir DİSKET KUTUSU - PRINTER KAĞIDI - RESET MAKİNE DİLİ ÖĞRENİYORUZ” KİTABI BİLGİSAYAR TOZ ÖRTÜSÜ Mİ OCAK AYI SÜRPRİZİ

DOĞANA dür

KR OR OR A Xx

Anlamlı mesajlar

Şimdi elimizde ne var? Bir grup rütbeli canavar. Bayt, bayt ekspresten indiğinde ve her bit bize değerlerini anlatmaya başladıklarında, bu rütbeler sayesinde neler olup bittiğini daha iyi anlayabiliriz. Örneğin, sağdan dördüncü bit hariç herkes sustuğunda ya da kapandığında, bu açık bitin rütbesine bakıp 8 olduğunu görebiliriz. Böylelikle bitlerin hepsi bilmeden bize bir mesaj getirmiş olurlar ve bu mesaj da sekizdir. Bilgisayarlar çok verimli makinelerdir ve bilgi israf etmekten hoşlanmazlar. Bu yüzden bilgisayarlarla ilgili sayılar genellikle sıfırdan başlar. Biz, kendi düşünme işlemimize uygunluğundan ötürü genelde saymaya birden başlarız. Böylece son nesneyi saydığımızda vardığımız sayı, gerçekten sayılan nesnelerin toplam sayısını verir. Normalde bitleri birden sekize doğru sayabiliriz. Bilgisayar ise ölümlülerden daha hızlı ve verimli düşünür. Bu nedenle 0'dan 7'ye doğru numaralanmış sekiz ayrı bit görür.

* * * ik #4 * ik *# * * * ik ke ike ike ik ik ike ik 4 ike ike

EÖB

ÇB e

RÜTBE Lı 28| | 64

DEĞER 1k ee 32

BİT “xe

Eğer sadece sağdan dördüncü biti (bit 3) açarsanız, değer kutusunda 8 değerini görürsünüz. Aldığınız mesaj da buydu. Pekala, şimdi bitleri tekrar otobüse bindirelim ve ilk mesajın sahibine biz de bir mesaj gönderelim. Örneğin bu mesaj 9 olsun. Dikkat, şimdi küçük bir problemimiz var. Baytın içinde rütbesi 9 olan hiçbir bit yok. Şimdi ne yapsak acaba? Burada yapılacak en iyi şey, çömez bite karşı nazik olup kafasını yavaşça okşayarak onu açmaktır. Böylece gönderici mesajımızı aldığında 1 ve 8 rütbeli bitleri açık bulacak ve her iki rütbeyi toplayarak 9 sayısını elde edecektir. Bütün rütbeleri böyle değişik şekillerde toplaya-

ZININA NNSTO ZİININA

GÜZEYUE . ne işe yaradıkları hakkında bir fikriniz yoksa üzülmeyin. Yapacağınız şey denemek ve öğrenmektir.

4) Eğer bir sorun çıkarsa Run/stop ve Restore ile pek çok bölgenin değerlerini orijinal değerlerine döndürebilirsiniz. 256 ayrı durum mümkün olabilir.

DEĞE

BİT.

İşte sayıları da bellek haritasındaki yerleşim alanlarına böyle POKE edebiliyorsunuz. Başka bir örnek alalım: Eğer Proto bir yaratık olsaydı, 0 ila 7 arasında bir numarası olacaktı. Proto'yu 0 numaralı yaratık yapmak için, 53269 adresindeki 0'ıncı biti açın, yani POKE 53269,1 BİT KAÇ TANE DEĞER 128 64 16 8 4 2 1 Commodore'unuzun hakkında ne kadar çok şey bilirseniz, Commodore'unuzun hakkında o kadar çok şey bilirsiniz. Bir bayt gerçekte hiç değildir. Sekiz adet bit oluşturduğunda, bu bitlerin özel bir önemi vardır. İYİ OLSUN

Proto'yu 3 numaralı yaratık yapmak içinse, 3. biti açın: Proto'yu 3 numaralı yaratık yapmak içinse, 3. biti açın:

POKE 53269,8

DEĞER

BiTe ©

Ekranda dört ayrı yaratık göstermek için, her yaratığın bitini açın:

POKE 53269,46

DEĞER 128 32 16

1

BITe

Bu işlem, 5, 3, 2 ve 1 nolu yaratıkları açar. Anlamadınız mı? Öyleyse bu bölümü birkaç yüz kere daha okuyun ve bellek haritasının yerleşim alanlarıyla oynayın, oynayın, oynayın. Oynadıkça daha iyi öğreneceksiniz. Gelecek sayımızda alt bölümünde buluşmak üzere hoşçakalın,

YENİ YILINIZ KUTLU OLSUN