Sinclair ZX81
| Sinclair ZX81 | ||
|---|---|---|
|
| ||
| Bilgi | ||
| İnsan | ev bilgisayarı | |
| Oluşturulma tarihi | 1981 | |
| geliştirici | SinclairAraştırma | |
| yapıcı | zaman ekseni | |
| sonlandırma | 1984 | |
| Satılan birimler | 1500000 | |
| Teknik veri | ||
| Ağırlık | 350g _ | |
| İşlemci | Zilog Z80 | |
| Hafıza | 1KB | |
| Video | TV veya TV monitörü | |
| Yazılım | ||
| İşletim sistemi | Sinclair TEMEL | |
| kronoloji | ||
| Sinclair ZX80 | Sinclair ZX81 | Sinclair ZX Spektrumu |
Sinclair Research tarafından 1981 yılında piyasaya sürülen Sinclair ZX81 kişisel bilgisayar , kit halinde 49,95 £ ve montajlı olarak 69,95 £ karşılığında satılan zamanın en düşük fiyatlı bilgisayarıydı. Bu, bir yıl önce piyasaya sürülen ZX80'in geliştirilmiş versiyonuydu . Kasa, membran klavyeli siyahtı . Makinenin kesin görünümü, endüstriyel tasarımcı Rick Dickinson'ın eseriydi . Video çıkışı, ZX80'de olduğu gibi, bir RF modülatörü aracılığıyla bir televizyona verildi ve programlar, manyetik ses bandı kullanılarak ortak bir kaset kaydedici aracılığıyla okundu ve kaydedildi.
Genel Bakış
Gösterim yalnızca metindi, 32 karakter genişliğinde ve 24 yüksekliğindeydi, ancak pikseller için arsa simülasyonu için 16 grafik karakterden oluşan bir havuzdan seçilen PLOT komutunun kullanılmasıyla 64 x 48 piksel çözünürlüğe sahip grafikler mümkün oldu. Hafızadan tasarruf etmek için, ekranda görüntülenen metin dinamik olarak dizeler olarak depolandı: örneğin, 12 karakterlik bir görüntüleme satırı, yalnızca 12 karakter ve ardından "NEWLINE" kodu olarak kaydedilir.
Ayrıca ~ 140$'a bir RS-232 seri arabirimine ve ~105$'a bir Centronics paralel arabirimine sahipti, bu da ZX81'in standart bir yazıcıyla iletişim kurmasını ve ayrıca ~85$'a tam boyutlu bir harici klavyeyle iletişim kurmasını sağlıyordu.
DK'tronics , önemli bir beceriyle membran klavyeyi değiştirmek ve bilgisayarı tutmak için kullanılabilecek bir kasa ve klavye sattı.
Hem ZX80 hem de ZX81 bilgisayarlarda, video çıkışı Z80 yongası tarafından üretildi . ZX80'de, bir program TV görüntüsünü oluşturduğunda, yeni bir görüntü başlatmak için baştan hareket etti. 1'den 1000'e bir FOR-NEXT döngüsü 19 saniye sürdüğü için, bir programı düzenlerken bile makineyi her zaman hızlı modda çalıştırmak yaygındı. Bu, bir tuşa her basıldığında TV görüntüsünün yanıp sönmesine neden oldu.
ZX81'de video teknik çalışması
TV ekranı için video oluşturmayı uygulamak için kullanılan teknik araçlar mükemmel olsa da tamamen standart değildi. Sistem şu şekilde çalıştı:
ZX81, RAM türüne bağlı olarak dört yonga içerir: bir RAM , bir ROM , bir CPU ve bir ASIC , daha sonra ULA – ( Uncommited Logic Array ) olarak adlandırılır . Dirençler veri hatlarına seri olarak yerleştirildi . Veri dirençlerinin bir tarafında CPU ve ROM, diğer tarafında RAM vardı. 0-8191 adresleri ROM'a atandı, son 512 bayt karakter seti bitmap görüntülerini içeriyordu ve 16384-32767 adresleri RAM için atandı .
Ekrandaki video kesintiye dayalıydı, böylece normal bilgisayar işleme dikey boşluk aralığı sırasında veya yakınında devam edebilirdi. Kesintiler, kontrolü kalan süre boyunca videoyu oluşturan rutinlere geçirdi, ardından bellekten TV ekranına video verilerinin çıkışını kontrol etmek için CPU'nun kendisi bir sayaç olarak kullanıldı.
İşlemci, RAM belleğinde 32768 + video verisinin başlangıcına atlamaya çalışacaktır. Ardından, adres yolunun A15 hattı ve Z80 işlemcinin nadiren kullanılan ve "bellek komut döngüsü 1"i gösteren kontrol hattı aynı anda etkinleştirildi. ULA bunu, videoyu temsil eden ve veri yolundan alınan verileri yakalayan RAM'den bir talimat yürütme girişimi olarak algılayacaktır. Daha sonra verilerin bit 6'sını kontrol eder, eğer sıfır olsaydı, ULA veri yoluna, Z80 tüketimi için, bu işlemci için tüm bitleri sıfır olan bir bayt ile temsil edilen bir NOP talimatı ( N veya OP erasyonu) yerleştirirdi. . CPU, bit 6 = 1 olan bir bayt ile karşılaşılıncaya kadar Z80 makine koduymuş gibi video RAM'i bu şekilde "yürütmeye" devam eder.Bu bayt ULA tarafından sıfıra dönüştürülmez ve normal olarak yürütülür. CPU tarafından.
ZX81, kendi standart olmayan karakter setini kullandı. 0-63 kodları yazdırılabilir karakterlerdi ve 128-191 kodları ters videodaki aynı karakterlerdi . Video belleğine yazılabilecek bit 6 = 1 olan tek geçerli bayt 118'di ve bu, Z80'deki HALT komutunu temsil ediyordu ve işlemcinin durmasına neden oluyordu. Bu bayt yeni satır karakteri olarak kullanıldı.
HALT komutu dışında, ZX81'in video RAM'ine bit 6 = 1 olan başka bir bayt yerleştirilmiş olsaydı, rastgele, anlamsız ve kontrolsüz talimatlar yürütüleceğinden makine neredeyse anında çökerdi.
Çerçevenin bir sonraki satırını görüntüleme zamanı geldiğinde, işlemciyi HALT durumundan çıkarmak için maskelenemeyen bir kesme kullanılacaktır.
Ekran için karakterlerin piksellere dönüştürülmesi de Z80 işlemcinin belirli özelliklerinin kullanımına dayanıyordu. Z80, başlangıçta dinamik RAM yenileme yapmak için bir sayaç olarak tasarlanan bir R kaydına sahiptir . Verinin alınmadığı bir döngü sırasında, RFSH kontrol sinyali aktif olacak ve R sayacının içeriği, adres veriyolunun en alt kısmına gönderilecekti. Kesinti vektör kaydı I, beklenenden farklı bir şekilde kullanılıyordu. Z80'in belgelenmemiş bir özelliği, bu yenileme döngüsü sırasında I kaydının içeriğini adres yolunun en üstüne yerleştirir.
ZX81 , 8 kB BASIC ROM'un sonunda karakter seti bitmap'ine sahipti. ROM, ULA'nın kontrolü altında belirli adres bitlerinin üzerine yazılabilecek şekilde adres yolu serisi dirençlerinin karşı tarafına bağlanmıştır . ROM'daki temel karakter kümesi bitmap tablosuna işaret etmek için I kaydı yüklenebilir ve sayaç (yenileme) kaydı R ayrıca bir karakterin 8x8 bitmap'inde hangi satırın gösterileceğini saymak için kullanılabilir.
BASIC yorumlayıcısının kendisi , Microsoft'un BASIC'inin bir dizi benzer ancak uyumsuz türevlerini kullanan Apple II hariç, günümüzün çoğu mikrobilgisayarının aksine, tamamen özeldi . Bu, ASCII koduna veya diğer mevcut standartlara uymaya gerek olmadığı anlamına geliyordu .
En basit Z80 komutunun bile yürütülmesi dört döngü alır. İlk döngü sırasında, işlemci video metnini veri olarak "yürütmeye" çalışır. ULA, verileri yakalar ve saklar ve veri yolu üzerindeki tüm bitleri sıfır olan bir bayt ile temsil edilen NOP talimatını ( N veya OP erasyonu) zorlar. Üçüncü döngü sırasında, işlemci dinamik RAM için bir yenileme döngüsü deneyecektir. ULA, adres yolunun A3-8 adres satırlarının içeriğini saklanan karakterin 0-5 bitleriyle değiştirmek için yenileme döngüsünü kullanır. Yüksek bitler , kesme vektör kaydından (ROM'daki karakter setine işaret eden) gelecekti, alttaki üç bit, o anda hangi bireysel karakter satırının tarandığını gösterecekti. Karakterin orijinal baytının 7. biti, karakterin ters videosunu kontrol etmek için ULA tarafından dahili olarak kullanılacaktır. Bu şekilde, görüntü için bir bayt piksel veriyoluna zorlanacak ve daha sonra CPU saatini oluşturmak için kullanılan aynı kristal tarafından çalıştırılan bir kaydırma yazmacına beslenebilecek ve oradan televizyon setine gönderilebilecektir.
Video senkronizasyonu , 250 bit/sn kaset kaydedici arabirimi için çıktı oluşturmak için kullanılan aynı tek G/Ç biti ( G/Ç ) kullanılarak oluşturulacaktır.
Ne yazık ki, ekran açıksa, videoyu oluşturmak için CPU kullanımı, diğer her şey için oluşturmayı %75 oranında yavaşlattı.
G/Ç'nin kendisi de Z80'in belgelenmemiş bazı özelliklerini kullandı. Nominal olarak, Z80'deki bir G/Ç bağlantı noktası adresi sekiz bit uzunluğundadır. Adres olarak 8 bitlik bir kayıt kullanılıyorsa (örneğin IN A, [L] komutu ) Z80'in 16 bitlik adres yolunda gerçekte çıktı olan şey kayıt L değil, 16 bitlik HL kayıt çiftiydi. , alt sekiz bit olarak L ile. ZX81, klavyenin 8x5 matrisi için tarama satırlarını sürmek için adres yolunun ilk sekiz bitini kullanarak bundan yararlandı . Döndürülen bitler daha sonra tek bir giriş portu tarafından okunabilir.
G/Ç adresinin alt sekiz biti, ULA içindeki bireysel G/Ç aygıtları için çip seçiciler olarak kullanıldı. Standart yapılandırmada, isteğe bağlı harici termal yazıcı 40 pinli veri yolu kartı kenar konektörüne takılmadığı sürece, mevcut giriş/çıkışlar şunlardı: kaset girişi için bir bit, kaset çıkışı, kaset için bir bit ve ayrıca video senkronizasyonu için kullanıldı , klavye girişi için beş bitlik bir kelime ve ULA'nın kendisinin video üretimi için etkinleştirilmesini sağlamak için gereken kontrol kayıtları. Bu, sekiz bitin tamamının kullanılmadığı ve harici uzantı için sınırlı bir alana izin verildiği anlamına geliyordu.
RAM orijinal olarak 2 kB dahili ile sınırlıydı, Timex sürümleri RAM'in tamamını, 2 Kx8'i bir çip üzerine kurarken, Sinclair ZX81'lerde bir adet 1 Kx8 veya iki adet 1 Kx4 statik RAM veya bir adet 16 kB harici RAM vardı. Harici RAM'de, dahili RAM'i devre dışı bırakmak için genişletme veriyolunun pin 40'ındaki bir RAMCS hattı RAMpack'te sabit bir seviyeye bağlandı, bunun nedeni videonun karakter baytlarının kurtarıldığını belirtmek için M1 + A15'in kullanılmasıydı.
Harici RAM paketi sekiz 4116 DRAM yongası, bir veri pimi, 7 çoğullanmış adres pimi, !RAS, !CAS, !WE ve güç ile 16-pin DIP üzerinde bir 16 kB × 1 bit dinamik RAM ilkeli kullandı. Bu eski yongalar +12V, +5V ve -5V gerektiriyordu, oysa ZX81'in dahili güç kaynağı sadece bir 7805 yongasıydı , ZX81'in 9V'luk bir adaptörle çalıştırılmasından dolayı oldukça ısınan küçük bir metal soğutucuya bağlı 5V lineer regülatör. 1/8-inç fiş ile. RAM paketi, bir osilatör ve +5 V'u diğer gerekli voltajlara dönüştürmek için bazı indüktörler ve ayrıca adres hatlarını çoğaltmak için devre içeriyordu. Tüm bunlar, RAM paketine önemli ölçüde dahili karmaşıklık kattı.
Ne yazık ki 40 pimli bus konektörünün kenarı altın-gümüş kaplamaya sahip değildi, kontaklar sadece lehimle kaplandı. Yükseltilmiş ZX81 sistemi, mekanik olarak çok kırılgan ve çökmeye eğilimli hale getiren zayıf bağlantılara ve oksidasyona çok açıktı. 16 kB RAM'i genellikle güvenilmez bir kasetten tamamen yeniden yüklemek sekiz dakika sürdüğü için bu can sıkıcı bir hal aldı. Bu soruna yönelik doğaçlama ev yapımı çözümler, bilgisayarı ve RAM paketini sağlam bir alt tabakaya fiziksel olarak sabitlemekten, her şeyi orijinal yerine uygun bir yedek klavyeyle daha büyük bir kutuya koymaya kadar uzanıyordu.
Bazı son kullanıcılar tarafından yapılan daha az yaygın bir iyileştirme, statik RAM'i 8192-16383 adreslerinde ayna ROM yerine "sözde ROM" olarak bağlamaktı. ROM gibi, bu RAM'in de veri yolu dirençleriyle aynı tarafa takılması gerekir, böylece 64 karaktere kadar kullanıcı tanımlı bir karakter setini saklamak için kullanılabilir. Bu temanın bir varyantı, M1 ve A15 aynı anda etkinken orijinal karakterin en yüksek bitini kaydetmek ve bunu adres bitlerinden birini sürmek için kullanmak için bir bitlik bir mandal ekledi, böylece 128 karakterin tamamının bit eşlemlerinin yeniden tanımlanabilmesine izin verildi.
Bunun çalışması için ana RAM adresin ve veri yolu dirençlerinin yanlış tarafındayken, bu yaklaşım için ek statik RAM gerekliydi. I kaydının ana RAM'i işaret edecek şekilde yüklenmesi istenen sonucu vermez, bunun yerine çöpü piksel olarak döndürür.
Klonlar
ABD'de ZX81, doğrudan İngiltere'den ve ayrıca TS1000 klonunu piyasaya süren Timex ile birlikte satıldı.
Arjantin'de motor üreticisi Czerweny, TS-1000 (CZ-1000) ve TS-1500 (CZ-1500) modellerini kendi markası altında üretmesi için Portekizli Timex-Sinclair'i görevlendirdi. Muhtemelen Czerweny'nin kontrolü dışındaki nedenlerle (belki de Timex'in kapanması nedeniyle), sırasıyla CZ-1000 Plus ve CZ-1500 Plus olarak adlandırdığı kendi klonlarını tasarlamak ve üretmek zorunda kaldı. Yeni tasarım, fabrika ayarlarına sıfırlama düğmesini, standart Sinclair joystick bağlantısını ve monitöre doğrudan çıkışı içeriyordu. Bu modeller, ZX Spectrum klonu (CZ2000) kadar olmasa da Arjantin'de bir miktar popülerliğe sahipti.
Brezilya'da ZX81'i klonlayan birkaç şirket vardı. En önemlileri Microdigital ve Prologica idi. Microdigital, birkaç ZX80 klonu (TK 80 ve TK 82/82C), bir ZX81 klonu (TK 83), bir TS1500 klonu (TK 85) ve iki ZX Spectrum klonu (TK 90X ve TK 95) üretti. Prologica, NE-Z80 (ZX80 klonu), NEZ-8000, CP-200 ve CP-200S'yi (ikincisi bir bütçe versiyonu) üretti.
Ayrıca
Dış bağlantılar
- Gezegen Sinclair:ZX81
- Windows için EightyOne ZX81 Emülatörü (GPL)
- z81 – Sinclair ZX81 ve ZX80 öykünücüsü (GPL)
- ZEsarUX - ZX İkinci Emülatörü ve UniX (GPL) için Yayınlandı
- ZX81Kit - ZX81 Kitleri hala satılık!
- ZX81 & G007 Yüksek Çözünürlüklü Grafikler
- ZX81 kılavuzu
- ZX81 Arşiv
- Sinclair ZX81 kitap, yazılım, donanım ve çevre birimleri