ROM'unuzdan Yararlanın
sayıda makine dilinin daha kolay kullanma yollarını araştırıyorduk hatırlarsanız.
Ama daha işin başından zorlu bir kayaya çarptık. Makine dilini kullanarak ondalıklı sayılarla işlemleri nasıl yapacağımız sorununu araştırmak istiyorduk. Ama bu işe girişmeden önce sahip olmanızı istediğim temel birazcık uzun sürecek gibi. En iyisi lafı fazla dolandırmadan temeli inşa etmeye devam edelim, yoksa bu sayı da harcanacak gibi... Hatırlarsanız geçen sayıda ikilik düzende ondalık kesirli sayıları nasıl ifade edebileceğinizi anlatmıştım. Son olarak da birkaç örnek çözmüştük. Bu sayıda da kaldığımız yerden devam edeceğiz. İlk olarak düzendeki kesirli sayıların ondalık düzendeki karşılığını bulmayı öğreneceğiz, daha sonra bu sayıların bilgisayarda kullanılmasıyla ilgili birkaç örnekle uğraşacağız. Kolay gelsin! Geçen sayıdaki bilgilerimizle sayıları ondalık düzenlerden ikilik düzene çevirebiliyorduk. Şimdi de tersini yapmaya çalışalım. Hatta anlamak için örnek üzerinde çalışalım. Örneğimiz geçen sayıda çözdüğümüz -5.5 olsun:
M3 M4
83 BO 00 0000 sonücünü geçen sayıda bulmuştuk. Geri dönmek için uzun uzun uğraşmak yerine basit bir formül oluşturalım isterseniz: SAYI — (ML AND 128)*2.(ÜS-129)* AND ( işareti üs alma işlemini gösteriyor.) Yukarıdaki formüle dikkatle baktığınızda işaretin doğrudan doğruya Mantisa'nın ilk baytının (M1) son bitinden okunduğunu
Vedat Hallaç
0. -0.0078125 -0.0009765625
-0.00048828125
-0.00009765625 - -0.00006103515625
0.00003662109275
İkinin üssü: -2
-6 görebilirsiniz. Üssü hesaplamak için üs baytının 129 eksiğini almamıza da dikkatinizi çekerim. Bir de, her bitin etkisini ayrı ayrı hesaplamak yerine baytların değerini olduğu gibi 256'ya (ve katlarına) bölerek bit ağırlığı hesaplaması yapılıyor. İsterseniz formülümüzü yukarıdaki sayı üzerinde deneyelim: X = -SGN(176 AND 128) * ... Bu işlem sonucunda orijinal -5.5 sayısını elde ederiz. İsterseniz bu konuyu pekiştirmek açısından siz de bazı sayıları ondalık düzenden ikilik düzene çevirin, sonra da aynı işlemi tersine yapın. Bilirsiniz, pratik olmadığı zaman bu teorik bilgiler uçup gider... Hayat o kadar da kolay değil... Şimdiye kadar çözdüğümüz tüm örneklerde ikilik düzendeki sonuçlar tam olarak bitlerine sığdılar. Oysa gerçek hayatta her şey bu kadar basit değildir. İsterseniz bir de 0.4'ü ikilik düzene çevirmeye çalışalım. Geçen sayıda yaptığımız gibi her seferinde ikinin en yüksek üssünü sayımızdan çıkararak ilerleyeceğiz: Bu işlemleri sonsuza kadar sürdürebiliriz.
nun
Bölmelerin sonucu hiçbir zaman sıfıra erişmeyecektir. Sonuç olarak kendini tekrar eden bir sayıyla karşılaşırız:
1001 1001 1001 1001 1001 1001 1001 Bu da demektir ki 0.4 sayısı ikilik düzende hiçbir zaman tam olarak ifade edilemez. Elimizde 32 bit olduğu için ilerlemeyi 31. bitte durdurmamız gerekir. Yani sonuç olarak:
1.1001 1001 1001 1001 1001 1001 1001 1001 değerini alacaktır. Üs ve işaret bitiyle birlikte: 0100 1100 1100 1100 1100 1100 1100 1100 veya onaltılık olarak: 3F4CCCCCCD değerini alacaktır. 0.4'ü bu düzeyde yazamamış olmamız kesinlikle sadece ikilik düzeyden doğan bir problem değildir. Aynı problem her düzeyde bulunur. İsterseniz 1/3'ü ondalık düzende yazmaya çalışın. Sonuçta şöyle bir
Ve bu sayıyı da bir yerlerde kesmek zorunda kalırsınız. Oysa onluk düzende bu sayı 0.333... olarak ifade edilir.
Yaşasın, pratiğe geldi sıra: Satırlar dolusu karmakarışık teorik bilgiler sonucunda öğrendiğimiz bu ikilik-onluk, onluk-ikilik dönüşümleri ve kesirli sayılarla yapılan işlemler bilgisayar tarafından sık sık kullanılmaktadır. Bu yüzden BASIC-ROM'da yerlerini almış durumda beklerler. Bu durumda yapılacak en iyi şey bu rutinleri kullanmayı öğrenmek olacaktır sanırım. BASIC yorumcusu işlemleri için iki adet kesirli sayı belleğine sahiptir. FAC (Floating Point Accumulator) adını alan bu belleklere sırasıyla FAC1 ve FAC2 isimleri verilir. Her iki akümülatör de 6'şar bayttan oluşur (1 bayt üs için, 4 bayt mantisa için, 1 bayt da işaret için). Bu baytların yanında, bazı işlemler için kullanılabilecek ekstra iki bayt daha vardır. Tek girdili işlemler yapılacaksa (SIN, COS, LOG, vb. gibi) mutlaka FAC1 kullanılır. Eğer toplama, çarpma gibi işlemler yapılacaksa ikinci
sayıyla karşılaşacaksınız: değer FAC2'de kullanılır. İşlemin sonucu
ise her zaman FAC1'de tutulur. Bu sebeple 0.333333333333 genelde FAC1, FAC2 ise ARG (argüman) olarak kullanılır. Bu sayede önceliği daha iyi vurgulanır. Bu akümülatörlerdeki sayılar sıkıştırılmış 5-bayt formatında tutulmazlar. İşaret bitini tutmak için bir bayt ayrılmıştır. Demin söylediğim ekstra baytlardan biri yuvarlama işlemleri için kullanılan genel bir bayttır (yuvarlama baytı). Diğeri ise iki girdili işlemlerde, işaretlerin karşılaştırılmalarının sonucunu tutar. Eğer iki girdinin de işareti aynıysa $00, farklıysa $FF değerini alır ve işaret karşılaştırma baytı olarak adlandırılır. Bu baytların adreslerini aşağıdaki tabloda bulabilirsiniz,
Tablo 1: ROM tarafından kullanılan adresler.
ERSEY
Fok
Commodore BASIC işlemcisinin kesirli sayıları ilgilendiren oldukça fazla rutini vardır. Biz en basitinden, yani ondalık düzende bulunan bir sayıyı ikilik düzene çeviren rutine göz atacağız. İlk olarak. Ama bundan önce, Commodore'un sizle iletişim kurmasını sağlayan en önemli rutinine bir göz atmamız yerinde olur. Çünkü bu rutini sık sık kullanacağız. Bu rutin sıfırıncı sayfada yer alır ve CHRGET sembolik ismiyle tanınır. CHRGET'in yaptığı tek iş, kendisine her sıçranıldığında sırada duran klavyeden ilkini alıp size iletmektir. Ama bu işi yaparken bazı karakterler göz ardı edilir, bazıları da değişik anlamlar taşırlar. Rutine sıçranılabilecek bir adres daha vardır. CHRGOT adıyla tanınan bu adres, CHRGET ile son alınan baytı size tekrar iletir.
Bu rutinin en esnek yanı (ve RAM'de yer almasının sebebi) kendisini değiştiren bir rutin olmasıdır. Yani her baytı aldığınızda, kendi içinde bulunan bir vektörün (TXTPTR) gösterdiği adres bir artırılır. TXTPTR, okunacak bir sonraki harfin bellekteki adresini tutar. Eğer rutinin bellekteki halini incelerseniz olayı daha iyi kavrarsınız:
Cmp
Bes
Cmp
Beg
Sec
Sbe
Sec
Bitir
CHRGET rutinine her sıçrayışınızda, CHRGOT'da ($0079) bulunan adres bir artırılır, bu adresteki değer alınır ve gerekli karşılaştırmalar yapılır. Eğer alınan geçerli bir harfse (kodu $3A'dan büyükse), harf A registerinde (akümülatörde) tutularak geri dönülür. Kodu $3A'dan küçükse, ilk olarak harfin boşluk olup olmadığı kontrol edilir. Eğer boşluksa, bir sonraki harf alınır. Yani BASIC, komutlar arasındaki boşlukları hiçbir zaman görmez. Eğer harf bir boşluk değilse yapılan çıkartma işlemlerinin akümülatör üzerinde hiçbir etkisi olmaz. Yalnızca elde bayrağı (carry flag) alınan harfe göre değer alır: Harf “0” ile “9” arasında bir rakamsa (kodu $30-$39 arasındaysa) elde bayrağı sıfır olur. Eğer son alınan harf iki nokta üstüste (“:”) ise geri dönüşte sıfır bayrağı da kaldırılır. Kısaca özetlersek: CHRGET rutini ilk olarak alınacak harfin yerini gösteren TXTPTR'nin değerini bir artırır ve alınan karakteri akümülatöre koyarak geri döner. Eğer bu karakter iki nokta üstüste ($3A) ise, ya da $00 ise sıfır bayrağı kaldırılır. $3A komut sonunu, $00 da satır sonunu belirtir. Eğer bir rakam okunduysa elde bayrağı temizlenir. Artık ondalık düzendeki kesirli sayıları ikilik sisteme çevirecek rutini inceleyebiliriz. $BCF3 adresinde bulunan bu rutin, ASC-FLOAT adıyla tanınır. Bu rutini çağırdığınızda A'dan ilk rakam (veya işareti) bulunmalı ve bayraklar CHRGET'in ayarladığı şekilde durmalıdır. Doğal olarak TXTPTR'de sayının ASCII kodları bulunmalıdır.
-CHRGET rutininin bellekteki durumu.
—
88388888
bir sayıyı okuyarak ikilik kesirli sayılara çevirebilirsiniz: Programı kullanmak için SUPER ASSEMBLER'ı yükleyin ve çalıştırın. Daha sonra bir de monitör programı ($8000'de veya $C000'da çalışması iyi olur) yükleyin. Şimdi programı yazın, kasede veya diske kaydedin, RUN ile belleğe assemble edin. Daha sonra monitör programını çalıştırın.
D 033C
komutunu kullanarak programı görebilirsiniz. Sayınızın ASCII kodları $034B adresinde bulunur ve sonunda bulunan $00, sayının nerede bittiğini gösterir. Şimdi programı “G 033C” komutunu kullanarak çağırın. 1.2345 sayısının mantisa ve üs değerlerini tabloda bulunan adreslere bakarak rahatça görebilirsiniz:
M 0061 0066
30061 81 YE 04 18 93 00
İsterseniz bir de bildiğimiz 0.4'ü deneyelim. Değişik sayılar vermek için $034B adresinde bulunan rakamları değiştirmeniz gerekir.
M 034B
32 2E 32 33 34 35
sayıyı 30 2E 34 00 00 00 00 00 yapın. Programınızı şimdi çağırırsanız $0061'de 0.4'ün ikilik düzendeki karşılığını görebilirsiniz. Bu sonuç:
30061 7F CC CC CC CC 00
olacaktır. Sayının işareti ayrıca bir baytta tutulacaktır (altıncı bayt). Bu rutine yolladığınız sayıların başına +, - koyabilirsiniz. Ayrıca sayının içinde “on üzeri” anlamına gelen e karakterini kullanabilirsiniz. Yani -1000 yerine “-1e3”, ya da -0.001 yerine “-1e-3” kullanabilirsiniz. ROM'unuz bu gösterimi rahatlıkla anlayacaktır. İsterseniz şimdi bir de “-1E8” sayısını çevirelim. Sonuç olarak: 30061 9B BE BC 20 00 FF
Sanırım buraya kadar yaptıklarımızın kullanımını iyice öğrenmişsinizdir artık. İsterseniz birkaç örnek sayı bulup bunları elle hesaplayın, daha sonra yukarıdaki rutini kullanarak sonuçlarınızı test edin. Bunun oldukça yararı olacaktır. Şimdi tekrar 0.4 örneğimize dönelim. Sanırım çoğunuz 0.4'ü ikilik düzene çevirdiğimizde yuvarlanmamış olduğunu farketmişsinizdir. Yani bu rutini kullandığınızda yuvarlama işlemi otomatik olarak yapılmaz. Ama bu konuda gereken bilgiler gene de size iletilecektir. Tablo 1'de gerekli baytları açıklarken bir de yuvarlama baytından bahsetmiştim. Bu bayt işte burada işimize yarayacak... Şimdi 0.4 örneğini tekrar çalıştırın ve $0070 adresindeki değere bir göz atın. Burada $80 değerini göreceksiniz. Bu değer sonucun tam olarak bitmediğini ve son biti bir artırmanızı söyler size. Tabii ki bu işle de sizin ilgilenmeniz gerekmez ROM'da bu baytı kontrol eden ve gerekli durumda sayının son bitini bir artıran bir rutin mevcuttur. Deminki programı, yuvarlama işlemini de yapacak şekilde değiştirmek için aşağıdaki satırları programınıza ekleyin ve tekrar assemble edin.
Bu programda 0.4 örneğini denediğimizde şu sonucu elde ederiz:
30061 TF CC CD 00
Gördüğünüz gibi sayı otomatik olarak yuvarlandı. Merak edenler için söyleyeyim, yuvarlama rutini bu işi yaparken yuvarlama baytını da temizler. Yani, hiçbir zaman yuvarlanmış bir sayının son bitinin tekrar artırılması söz konusu olmaz. Nasıl? Sayıları ikilik düzene çevirmek pek de zor değil, değil mi? Emin olun bu işin tersini yaptırmak daha da kolay. Tüm yapmanız gereken ikilik düzendeki bir sayıyı $0061'e yerleştirmek ve $BDDD adresinde bulunan FLOATASC adlı rutine sıçramak. Bütün işlemler bilgisayarınız tarafından gerçekleştirilecektir. Sonucu nasıl mı göreceğiz? $0100'a bir göz atarsanız sonucun ASCII değerlerini burada görebilirsiniz. İsterseniz bu konuda da biraz örnek çizelim:
30061 90 8F 00 00 00 80 girip $BDDD'ye sıçrayın (JSR $BDDD; BRK komutlarını monitörden kullanarak). Şimdi $0100'da yazılı olanlara bir bakalım:
30100 2D 33 36 36 30 38 00 00
Bu sonucu kullanıcıya kolayca iletebilmemiz için en sona $00 bile eklenmiş. Bütün yapmamız gereken Y, A'ya $0100 verip $AB1E'ye sıçramak. Bir sayıyı ikilik düzenden ASCII formatına çeviren ve bunu ekrana basan programcığı aşağıda bulabilirsiniz:
Bu programla ikilik düzenden ASCII'ye çevirdiklerinizi kolayca ekrana basabilirsiniz.
Bu aylık da yerimiz buraya kadar izin veriyor. Gelecek ay, ROM'da bulunan değişik rutinlerden bazılarının kullanılışını açıklamak istiyorum. Eğer yerimiz kalırsa basit matematik işlemlerinin adreslerini öğrenmeye de başlayabiliriz. Gelecek ay görüşene dek hoşçakalın.
Murat Altan
Üç Püf Noktası:
1. parken özel ekran düzeni kullanmayın. Bunlar büyük ihtimalle karşı taraftaki programla uyumlu olmayacak ve sadece daha sonra temizlenmesi gereken artıklara dönüşecektir.
2. Commodore ASCII olarak kaydedilen dosyaları standart ASCII'ye dönüştürmeyi unutmayın. Birçok kelime işlem programı bu işlemi de desteklemektedir. 3. Dönüşüm işlemi sırasında program dosyaları değil sequential denen sıralı dosyalar kullanın. Program dosyaları dönüştürülebilseler bile düzgün olmayacaklardır.
MS-DOS uyumlu bilgisayarlar, Apple veya AMIGA sistemleri ile C-64 ve C-128 arasında dosya alışverişi yapmanız mümkün. Ancak bunun için bilgisayarınızı ikna etmeniz gerekecek. Büromuzda birçok bilgisayar teknik bir gürültü içinde sürekli çalışıyorlar; AMIGA'lar, C64'ler, PC uyumlu sistemler hatta bir tane de C-128-D. Elimizde bir tek Apple sistemi yok. Ama diğer sistemlerde bile dosya alışverişi yapmayı pek düşünmedik. Aslına bakarsanız bu iş hiç de sanıldığı gibi zor değil. Tüm bu sistemler birbirlerinden farklı yazılım ve donanıma sahip olmasına rağmen ortak bir sistemde birleşip dosyalarını paylaşabilirler. Ancak C-64 ve C-128 ile diğer sistemler arasındaki fark biraz daha büyüktür. Uygun yazılım ve donanım desteğiyle yazı ve veri tabanı dosyaları sistemler arasında paylaşılabilir ama şimdiden belirtelim; paylaşılması ve farklı sistem platformlarında çalışması neredeyse imkansızdır.
Yazılım ve Donanım
En rahat ve en yaygın kullanılacak dosya değişimi C-64 ve MS-DOS sistemi arasındadır. Diğer tüm sistemler de MS-DOS ile alışveriş yapabildiklerinden bu sistem ortak bir platform oluşturur. Hangi yönde dosya değişimi yapılacak olursa olsun ihtiyacınız olan bazı birimler vardır. Özel bir dönüştürüm veya haberleşme programının yanı sıra, MS-DOS formatlı disketleri okuyabilmek için 1571 ya da 1581 sadece 1541 ya da uyumlu disk sürücüsü varsa modem haberleşmesi veya null-modem kablosu kullanmanız gerekir, çünkü 1541 sürücüleri MS-DOS formatlarını okuyacak devreye sahip değildir. Dosya dönüşümlerinde haberleşme sistemini kullanmak için ihtiyacınız olan şey her bilgisayar için birer modem ve bununla kullanılacak bir haberleşme programıdır. Modemlerin haberleşme için kullanılmasına daha sonra değineceğiz. Modem kullanmadan dosya dönüşümü yapılabilmesi için 1571 veya 1581 yeterlidir. Ancak C-64, veya C-64 modunda C-128 kullanıyorsanız 1571 sürücünüzü 1541 moduna çevirmek için şu komutu vermeniz gerekmektedir:
OPEN 15,8,15,“UO 15
MS-DOS disklerinden okuma yapmak, bunları formatlamak veya bu formatta dosya kaydetmek için çeşitli programlar bulunmaktadır. Bunlardan biri SOGWAP Yazılım'ın Big Blue Reader adlı programıdır. Bir başka program olan MS-DOS Bağlantısı'nı da açıklamalarıyla beraber gelecek sayımızda yayınlayacağız. Sürekli olarak Commodore-MS-DOS dönüşümü yapılıyorsa Big Blue Reader bu konuda en büyük yardımcı olacaktır. Bu program hem 1571 hem de 1581'i destekler, birden fazla sürücü ile çalışabilir ve C-64 ve C-128 versiyonları mevcuttur. Program istenilen sayıda dosyayı veya tüm bir diski kopyalayabilir. Bunun yanında yardımcı program olarak kullanabileceğiniz birbirini tamamlayan programlar da vardır. Örneğin Big Blue Reader ile uyumlu olarak çalışacak Lharc128.arc adlı program MS-DOS sıkıştırma sistemleri kullanılarak kısaltılmış dosyaları incelemenizi ve bu sıkıştırılmış dosyaları açmanızı sağlar. Bu program MS-DOS 1.5 işletim sisteminde çalışır. Başka bir program da 1571 ile MS-DOS diskleri formatlamanıza olanak tanıyan Format IBM-DOS'tur. Eğer C-64/C-128 ile hazırlanmış yazı dosyalarını AMIGA formatına çevirmek istiyorsanız tek bir yazılım çözümü bulunmaktadır: Transfer. Bu programı Dragon's Lair adlı oyunu yazan ReadySoft adlı Kanada şirketi hazırlamıştır. AMIGA ile kullanılacak olan bu program Commodore'un 8-bit'lik yazı dosyalarını okuyabilir ve gerekirse AMIGA formatına çevirebilir.
Haberleşme
Bir formattan diğerine dosya dönüşümü yapmamızın bir başka yolu da haberleşmedir. Bu işlemde dönüşüm programı yerine bir BBS (bulletin board system - bülten panosu sistemi) programı kullanılmalıdır. BBS, iki farklı sistem arasında veya aynı model iki bilgisayar arasında, modem yardımıyla kurulacak olan bir haberleşme ağıdır. Böylece ortak bir standartta bulunan dosyalar istenen sisteme dönüştürülebilir. Bu yöntem için bir terminal programına ihtiyacınız olacaktır. Bir bilgisayar BBS'ye bir dosya yükledikten sonra diğeri aynı dosyayı kendi formatında alabilir. Genel olarak yazı dosyaları düzgün olarak değişebilir. Daha da hızlı çalışacak olan bir sistem null-modem kablosu kullanmaktır. Null-modem olarak isimlendirilen kablo seri porttan modem bilgisi alışverişi yapacak olan nötr bir kablodur. İki bilgisayar arasına takılacak olan bir teli modeme bilgi göndermek, diğeri modemden bilgi almak için kullanılır. Aslında modem kullanırken başka tellere de ihtiyaç vardır, ama iki bilgisayar arasında direkt bağlantı sırasında iki tel yeterli olacaktır. Tabi ki bilgisayarların kablonun yetişeceği kadar yakın olmaları gerekir. Aklınızda bulunması gereken bir nokta da kablo uzadıkça iletişim hatalarının ortaya çıkacağıdır; bu yüzden kabloyu mümkün olduğunca kısa tutmaya bakın. Gelecek sayılarımızda bu konuda daha ayrıntılı bilgi vermeye çalışacağız.
Sıralanan Sınırlamalar
Dosya dönüşümü yaparken Commodore kullanıcılarının en korktuğu konu artık MS-DOS 286/386/486 sistemlerinde standart haline gelmiş olan 1.44 megabayt'lık yüksek yoğunluklu disklerin kullanılmasıdır. Commodore 1581 disk sürücüsü bu formatı okuyamadığı için çözüm, dönüştürülecek dosyaların öncelikle normal formatlı bir diske aktarılmasında veya dosyaları haberleşme ile dönüştürmekte yatmaktadır. Grafik dosyalarını dönüştürmek, yazı dosyalarıyla uğraşmaktan daha zordur. İşin içine grafikler, bit-map çizimler ve yazı karakterleri girince özel dönüşüm programları kullanmak gerekir. Disk formatının değişmesinin yanı sıra, başka faktörlerin de göz önüne alınması gerekir: kaynak ve hedef sistemler arasında ekran çözünürlüğü, grafiğin hedef sistemde yerleştireceği hafıza bölgesi, kaynak ve hedef bilgisayarın modelleri, kullanılan çizim paketleri ve daha bir sürü detay.
Grafik Dosyaları
Commodore'dan başka platformlara grafik aktarmak için çeşitli sebepleriniz olabilir. Tabii ki diğer sistemlerden Commodore'a da grafik aktarılması yapılabilir ancak başka sistemlerde genellikle C-64'ten daha fazla renk bulunmaktadır ve aktarım işlemi çok zor olacaktır. C-64'ten grafik dosyası aktarmakta çeşitli amaçlarınız olabilir demiştik: grafiklerinizi Commodore'u olmayan kullanıcılarla paylaşmak isteyebilirsiniz, C-64'ü evinizde basit bir grafik sistemi olarak kullanıp, dosyalarınızı işinizde kullandığınız MS-DOS veya Mac sisteminde işlemek isteyebilirsiniz veya AMIGA gibi daha iyi bir grafik sistemine geçeceğiniz zaman C-64 ile yaptığınız çalışmaları arkanızda bırakmak istemiyor olabilirsiniz. Bunun yanında, örneğin bir demo hazırlamak için AMIGA ile örneklenmiş bir grafiği C-64'e aktarmak isteyebilirsiniz. Tüm bu işler için özelleşmiş çeşitli programlar bulunmaktadır.
Aktarma işlemi için uygulanabilecek iki yöntem vardır. Bunlardan ilki iki sistem arasında direkt bir aktarmayı öngörür. Bunun yanında karşılıklı bir dönüşüm düşünülüyorsa ortak bir sistem saptanıp her iki grafik formatı da ortak bir standarda dönüştürülmelidir.
İşe Yarayanı Kullanın
Eğer elinizde gereken malzemeler varsa, Commodore formatından diğerlerine ve diğer formatlardan Commodore formatına dosya dönüştürmek kolaydır. Elinizdeki malzeme doğru değilse bu işlemi yapmak imkansız hale gelecektir. Verebileceğimiz en iyi tavsiye şu: işe yarayanı kullanın. Yazı dosyalarıyla uğraşırken iyi bir program kullanın, mesela Big Blue Reader'ı. Grafik dosyaları için de piyasadaki programlardan size uygun olanını seçin. Eğer dönüşüm işlemi sırasında hatayla karşılaşırsanız MS-DOS diskinin yüksek yoğunlukla formatlanmış olup olmadığını kontrol edin. Son olarak, dönüştürme işleminin mükemmel olmasını beklemeyin. Çeşitli sebeplerle RETURN karakterleri kaybolacak, satır atlanması gereken yerlerde atlanmayacak ve yazınıza garip karakterler girecektir. Bu yüzden dönüştürme işleminden sonra bir temizlik yapmayı unutmayın. Küçük problemleri saymazsanız Commodore'unuz MS-DOS ile uyumlu olarak çalışabilir. Gelecek yıllarda bilgisayarınız diğer sistemlerden geride kalmayacaktır.