Kategori arşivi: Sinclair Zx Spectrum

Snaptotap 2.4 güncellemesi

z80 imaj dosyalarındaki bazı problemler yüzünden imajlarda bozulmalar olabiliyordu, düzeltildi.

SnapToTap Version 2.4 Windows Binary Portable release (no installation required)
Download (220kb zip file)

Yardıma ihtiyacınız varsa, bir tutorial videosu:
Watch tutorial (11MB xvid codec avi file)

Teknik bilgi için eski versionun açıklamasına bakınız:

Zx Spectrum’da SNA to Tap converter

Jupiter Ace’in Kaderi… (satılık marka)

Sadece çemberin içindekilerin haberdar olduğu bir bilgisayar Jupiter Ace. Yaratıcıları Richard Altwasser ve Steve Vickers. Altwasser, Zx Spectrum, Zx81, zx spectrum +3 ve birkaç amstrad makinesinin de tasarımını yapmış biri. Vickers ise zx80/81 rom’unu yazan ekipten. Bunlar zx81’in çılgın satışlarından etkileniyorlar. “Yahu bu makineyi biz yaptık, sinclair ekmeğini yiyor biz maaşa talim ediyoruz.” mantığından yola çıkarak Jupiter Ace’i tasarlıyorlar.

jupiter-ace

İşte Jupiter Ace’in hikayesi böyle başlıyor, tarih 80’lerin ilk yarısı.
Jupiter Ace’in Kaderi… (satılık marka) yazısına devam et

Basınç 1.69 Çıktı

Son 3-4 yıldır kodlamasını sürdürdüğüm sinclair basic programlama aracı olan Basinc’ın yeni sürümü çıktı. Bu sürümde uzun zamandır basin kodunda bulunan önemli hataları giderdim:

  • Sürüm bilgisi artık V16R9 şeklinde değil, daha geleneksel bir format olan V1.69 şeklinde değiştirildi.
  • Bas dosyaların otomatik olarak başlatılması artık default olarak kapalı
  • Ulaplus desteği onarıldı, bu konuda rapor edilmiş başka bug kalmadı
  • R13’den beri ortalıkta gezip kendini gösteren SNA/Z80 snapshot yükleme bug’ı düzeltildi. Bu özellik artık tamamen güvenli.
  • 2x,3x font büyüklüğünde sinclair banları görsel olarak bozuluyordu, düzeltildi.
  • Screen Paintbox’da görünmeyen pencere ikonları geri geldi.
  • Token Tablosu index’i 1 kaymıştı, düzeltildi
  • Editör tokenizerındaki özellikle parametre alan komutların LOAD ile kullanılmasıyla ortaya çıkan karmaşık bir bug düzeltildi.
  • İstek üzerine sadece basic programını tap olarak kaydetmeyi sağlayan girdi dosya menüsüne eklendi
  • UlaPlus için renk paleti editörü eklendi
  • Kod hizalama deneysel olarak eklendi. Denemek için F2 tuşuna basarak etkinleştirebilirsiniz.
  • Yeni örnek programlar examples klasörüne eklendi
  • Autostart ve autostart ile kaydet seçimleri oturumlar arasında akılda tutuluyor.
  • İspanolca dil desteği eklendi (Sergio Baldoví)

indirmek için:
Download 3.8MB Zip Dosyası

Basinc UlaPlus and indenting
Basinc UlaPlus and indenting

2048 – Bir başka Zx Spectrum oyunu

Bu günlerde popüler olan 2048 isimli oyunu zx spectrum’a uyarladım.

ZX2048

Tuşlar:

Rakamları birleştirmek için QAOP ya da ok tuşlarını kullanabilirsiniz.

Renkler Şeması:
1: Renkler ve parlaklık
2: Mono
3: Sadece renkler

h: yardım/hakkında (malesef sadece ingilizce)

r: baştan başla

Oyunu oynamak için bir Zx Spectrum bilgisayara ihtiyacınız var:

Download Game 5kb Zx Spectrum Tape file

source code BasinC format .bas file

ZX Spectrum ULA’sı hakkında bazı bilgiler…

Zx Spectrum ULA’sı birkaç işlemciyi bir araya getiren Richard Altwasser tarafından tasarlanmış tuhaf bir işlemci. Altwasser, Chris’in “The ULA Book” kitabında, ULA’nın tasarımı üzerine olan eleştirileri şöyle savunuyor: “Bu işlemci, herhangi bir bilgisayar simülasyonu olmadan, tek bir mühendisin kavrayabileceği basitlikte tasarlanabilmiştir.” Yani kağıt üzerinde tasarlanmış ve basılmıştır. Altwasser daha sonra Zx spectrum +3’ün ASIC tasarımını da yapmıştır, bu sebeple +3’ün çok daha düzgün bir makine olduğunu görüyoruz. Neyse, orjinal 48 ULA’sının 4 farklı sürümü mevcut, sırasıyla sayarsak (yine “the ULA BOOK”‘tan alınmıştır):

 

5C102E:

Bu seri sürüm 1 ve sürüm 2’de bulunan ilk ula tasarımıdır. Bu tasarımda üretim sonrasında bir hata olduğu gözlemiş. Bu sebepten bu sebepten “ölü hamamböcegi modifikasyonu” denilen bir müdahale gerektiriyorlar. Hamamböceği denilen şey, baş aşağı şekilde monte edilmiş ufak bir pcb.

Ölü hamamböceği

5C112E:

Bu seride ölü hamamböceği içeriden eklenerek durum giderilmiş fakat, bu sefer de printer ile ilgili bazı giriş çıkış problemleri ortaya çıkmış. Bu da “örümcek modifikasyonu” diye bilinen yeni bir yamayı zorunlu kılmış. Bu yama Z80 üzerine takılan bir transistörden ibaret.

Zx Spectrum Ölü Hamamböceği

6C001E-6:

sürüm 3 anakart ile birlikte çıkan bir ula. Zaten sürüm 3’ün tasarlanmasının ana sebebi, o dönem piyasaya sürülmekte olan bazı televizyonların zx spectrum’un eski tasarımında bazı problemler çıkarması. Normalde sürüm 1-2’de anakartın altında bazı potansiyometreler var. Hatta bunlardan biri kasaya açılmış olan bir delik sayesinde dışarıdan ayarlanabiliyor. Fakat son kullanıcı bunları kurcalamaya cesaret edemediği için görüntü oluşturma yöntemi değiştirilmiş. Durum böyle olunca ula’ya da birkaç ciddi güncelleme gelmiş. Öncelikle bu ula çok daha az enerji tüketiyor, böylece daha az ısınıyor. Fakat eski anakartlara uyumluluk bakımından örümcek hatası tamir edilmemiş, bunun yerine TR6 isminde bir transistör olarak anakart tasarımına eklenmiş.

6C001E-7:

Bu Ula serisi son seri, özellikle samsung üretimi sürüm 4 ve üzeri anakartlarda bulabilirsiniz. Burada ne gibi bir problem vardı bilmiyorum ama, alt 16k 4116’lara erişim güvenilirliği geliştirilmiş. Ayrıca bazı zamanlama hataları da halledilmiş.

 

Bu üretim sonucunda şöyle bir gerçekle karşı karşıyayız: Her ula her anakarta takılamıyor.

6C001E-7 tüm sürüm anakarta takılabilir (issue1-6).

5C102E/5C112E/6C001E-6 sadece issue 1-3’e takılabilir.

Basinc v16r3

23 nisanda WOS üzerinde yayınlamıştım ama buraya eklememiştim, bundan sonra buraya ara/beta sürümleri ekleyeceğim. Son stabil sürümü ise Basinc sayfasından alabilirsiniz .

Unutmadan, beta sürümler genellikle stabil sürüm kadar iyi olurlar güvenle kullanabilirsiniz:

İndir – Basinc Zx Spectrum Emülatör ve Sinclair Basic Geliştirme Ortamı V16r3

Asmp daha fazla teaser

Arkadaşlar, blog’uma göz ucuyla bakanlar zx spectrumda daha fazla renk kullanarak grafik gösterme limitini neredeyse ortadan kaldırabileceğimizi gördüler. Doğrusu şu anda rekoru elimde tutuyor olmam beni bile şaşırtıyor. Fakat daha bitmedi, bu iş daha da ileriye gidecek. Özellikle 128k modellerde bir ekran buffer’ı var. Doğrusu pek bir işe yaradığı söylenemez bu tür işlerde çünkü sayfayı değiştirmek aşağı yukarı 70 tstate tutuyor. Yine de aSmp’nin 128k versionunda limit ciddi şekilde genişleyebilir. Şu anda kullandığım optimizasyonlar son noktada olmasa da kodu bir hayli düzene sokmayı başardım. Şu anda 48k’da görüntülenebilecek görüntünün %80’ini kapsadığımı düşünüyorum. Yani bu modun biraz daha mükemmelleştirilmesi mümkün, fakat zamansızlıktan ben bu kısmı bırakıp 128k tarafına doğru yol almak istiyorum.

Neyse, aSmp’nin mümkün kıldığı grafiklerden bir potpori daha yapayım. 23 Nisan’da, zx spectrum’un 30. Yılında bu görüntüleri oluşturmaya yardımcı olan Asmp aracını yayınlayacağım 😀 Bu tarihe kadar teaserlar ile devam edeyim. Bunlar internetten bulduğum fotograf/ilüstrasyonların otomatik çevrimleridir. Bu modun gerçek gücünü gösterebilmek için kesinlikle bir piksel artistine ihtiyaç var.

Asmp modu teaser 1
Teaser 2
Teaser 3

 

Karşılaştırma yapabilmeniz için bir başka grafik:

Standard SCR vs. aSMP (Mixed Mlt)

Her iki görüntü de aynı ayarlarla çevrilmiştir.

aSMP modunu yaptım valla!

Arkadaşlar, zx spectrum’un 30 yılı dolayısıyla kafayı kırıp zx spectrumun ekran modunu genişletme teorimi pratiğe dönüştürdüm.

Zx Spectrumda çok renkli grafikler gösterebilmek için donanım limitinin 18 sütun olduğu gerçeğinden yola çıkarak, bu limiti daha efektif kullanmayı amaçladığım aSMP (a selective multicolor picture) isimli yazılım tabanlı ekran modunu oturup yazdım! Bu tür bir iş için engin bir donanım bilgisi gerekiyor, benimkisi o kadar engin değildi, şu anda bir hayli enginleşti 😀 Spectrum’un en ince noktalarına indim, derin tartışmalarda bulundum, cycle saydım, artık ortalama 30 opcode’un kaç ts tuttuğundan hangi flagleri nasıl modifiye ettiğine, opcode’un parçalarına kadar, ister istemez, ezberledim. Örneğin, PUSH HL, hemen ezberden yazayım, PC:4, Bus:1, SP:1, h:2, SP:1, h:2  şeklinde 11 ts tutuyor. Bu bilgiye ulaşmak da hiç kolay değil, lakin http://z80.info/z80ins.txt adresinde görüleceği üzere, PC aşaması direk 5 olarak görünüyor heryerde. Halbuki, bunun ilk 4 cycle’ı komutu okumak için, son cycle’ı ise bu komutun bus’a konması için harcanıyor, ve spectrum bunları ayırt edebiliyor. Hiçbirşey anlamadıysanız, sorun değil 😀 Pek de anlamak gerekmiyor belkide. 🙂

Sonuç olarak, henüz editörü yayınlamıyorum, fakat editörün çıktılarını buraya koyuyorum. Neden editör yok? Çünkü editör 23 nisanda, zx spectrum’un 30.yıl kutlamalarında çıkacak 😀

http://arda.kisafilm.org/fish/aSMPdemotapes.zip

içinde iki adet teyp dosyası var, fakat bunlara bakmadan önce %100 uyumlu, zx spectrumu tamamen emüle edebilen bir emulatör kullandığınıza emin olun. Efekt 1ts hassaslığında olduğu için bayağı keskin bir emülatöre ihtiyacınız olacak. Ayrıca dosyaları 48k modunda çalıştırmanız gerekiyor. Projeyi tamamladığımda 128k modellere uyumlu olacak, hatta 128k modunda 18 sütun limitini de kırabileceğime inanıyorum 😀

Spectrum için küçük, ama benim için büyük bir adım. Ayrıca 48k grafik özelliklerine güzel bir mod eklediğim için mutluyum. Artık kahvemden bir yudum alıp bekleyen işlerime dönebilirim! Dosyaları denemeye üşenenler için, bakın bu ekran modu nasıl birşeymiş (her iki resim de aynı ayarlarla çevrilmiştir):

Önce: Standard SCR ekran modu 8x8 clash
Sonra: Limitsiz aSMP çoklu renk modu 8x1
asmp gerçek spectrumda deneniyor, hiç sorun yok!