Commodore tarihinin derinliklerine inmeye çalışır ve "acaba yeniden bir KIM-1 yapabilir miyiz" ya da hiç değilse "6502 tabanlı bir anakartı KIM-1'e dönüştüremez miyiz" diye araştırırken birkaç bulguya denk geldim.
Birincisi, Endüstri Meslek liselerinde meğerse zamanında 6502 tabanlı bir deney seti kullanılıyormuş. Lab-Volt Firması (artık Festo Didactic olmuş firma adı) tarafından yapılmış bu deney setleri Dünya Bankası finansmanıyla alınıp okullara dağıtılmış... Bu deney seti KIM-1'i andırıyor. Bit pazarı vb.'de denk gelen var mı acaba?
Nurettin Topaloğlu'nun Mikroişlemciler ve Assembly Dili adlı kitabında da bu Lab-Volt deney seti anlatılıyormuş sanırım. Elinde bu kitap olan varsa bir bakabilir mi doğru mu diye?
Bunun dışında, meğer birileri KIM-1'in replikasını yapmış.
Micro KIM:
http://www.brielcomputers.com/wordpress/?cat=24Micro KIM manual:
http://www.brielcomputers.com/files/mkmanual.pdfSet halinde satılıyor, biz lehimliyoruz. Almayı düşünmüyor değilim.
Bu arada, bir süredir Tiny Basic'i LUnix ve Contiki'ye uyarlamayı düşünüyordum. Tiny Basic ilk olarak KIM-1 gibi SBC'ler için yazılmış. Kilobaud Microcomputing dergisinde bu tür başka hobi bilgisayarları hakkında düzenli yazı dizileri vardı. Meraklısının ilgisini çekebilir. Bu Tiny Basic ise basit, sadece tamsayı aritmetikli ve array'le string işlemleri usr fonksiyonuyla doğrudan belleğe erişilerek yapılıyor olmasına karşın bu dille yazılmış çeşitli adventure oyunları vb. var.
Tiny Basic KIM-1'de seri port üzerinden kullanılabiliyor.
KIM-1'in, C64'te çalışan KIMplement dahil çeşitli emülatörleri var. Ama bunlardan bir tanesi, Palm PDA için olanı (
http://www.genedorr.com/software/ ) ilgimi çekti. Yükleyip denedim şimdi.
1976 yılında nasıl bir işkenceyle program yazdıklarını görmek ilginç.
Deneme olarak,
2+2=?
işlemini seçtim.
KIM-1'in 16 adet 0-F arası rakamlardan ve 7 adet de ne işlem yapılacağını belirten tuşlardan oluşan basit bir tuş takımı var. Makine dili komutları bu tuş takımıyla on altılık sayı sisteminde gireceğiz
Önce RS tuşuna basıp KIM-1'i başlangıç moduna getiriyoruz.
Diğer tuşlardan AD, adres girmek istediğimizi, DA veri girmek istediğimizi, + sonraki bellek hücresine geçmek istediğimizi, GO ise verilen adrese gidip çalıştırmak istediğimizi söylüyor.
AD tuşuna basıp bir adres girdiğimizde 6 basamaklı göstergenin ilk dört hanesi adresi son iki hanesi ise o adresin içeriğini gösteriyor.
Tanıdık bir adres olduğu için programı $0400 adresine giriyorum.
2+2=?
için
CLC
LDA#$02
ADC#$02
komutlarını girip sonucu bir adrese yazıp, o adresin içine bakacağız.
Sonucu 33. bellek adresine koymaya karar verdim. BRK ile de programdan çıkıyoruz:
STA$21
BRK
Başlayalım. Sayı girişi dışındaki tuşları [] ile belirtiyorum:
[AD]
0400
[DA]
18 ; CLC komutunun hex kodu.
[ + ] ; Sonraki adrese geç dedik. Artık adres yazmadan devam ediyoruz.
A9 ; LDA#$ 'ın hex kodu
[ + ]
02
[ + ]
69 ; ADC#$
[ + ]
02
[ + ]
85 ; STA$
[ + ]
21
[ + ]
00
Evet, programı girdik. Başlatmak için $0400 adresini girip [GO] tuşuna basacağız:
[AD]
0400
[GO]
Gösterge'de program sayacının geldiği yeni yer olan 0409 adresi yazması lazım.
2+2= işleminin sonucu ise $21 no'lu adreste.
Gidip bakalım ne varmış orada:
[AD]
0021
diyoruz ve göstergenin sağdaki iki basamağında,
04
görüyoruz.
...
O devrin bu hobi programcılarının gösterdiği azim inanılmaz... Adam böyle böyle satranç programı yazmış KIM-1'de bir de!
Meraklısı için bu yıl 40. yılını kutlayan KIM-1'in kullanım kılavuzu Jim Butterfield tarafından "The First Book of KIM" adıyla yazılmış. Şurada bulunabiliyor:
http://www.classiccmp.org/cini/pdf/Commodore/The%20First%20Book%20of%20KIM.pdf