- Forth Deck mini, My4TH kartına klavye, ekran ve batarya eklenmiş kasalı bir sürüm; cihazın içinde küçük, bağımsız bir Forth geliştirme ortamı oluşturuyor
- Merkezinde 8 bit ayrık CMOS mantık CPU bulunuyor; 8~14MHz saat hızı, 32KB ROM, 32KB RAM ve 256KB’ye kadar EEPROM’a sahip
- Giriş ve çıkışı 40×4 karakter LCD ile 56 tuşlu QWERTY klavye üstleniyor; 6.6Wh LiPo batarya ile şarj etmeden 6 saat çalışıyor
- Genişleme için RS-232 4800 baud ve I2C veri yolu kullanılıyor; klavye PCB’si, LCD sürüşü ve tuş matrisi için sınırlı I/O pinlerini tasarruflu kullanacak şekilde tasarlanmış
- Yalnızca Budgetronics klavye kitiyle tamamlanmıyor; Forth Deck yapmak için ayrıca My4TH computer board ve isteğe bağlı bileşen konfigürasyonu gerekiyor
My4TH kartını taşınabilir bir Forth cihazına dönüştüren yapılandırma
- Forth Deck mini, My4TH computer board üzerine klavye ve ekran eklenip kasaya yerleştirilmiş sürümdür
- Dahili şarj edilebilir batarya sayesinde priz olmadan kullanılabilir
- Forth programları cihazın üzerinde yazılıp hata ayıklanabildiği için seri terminal veya PC gerekmez
- Kullanım biçimi, 1970–80’lerin ev bilgisayarlarındaki dahili Basic yorumlayıcıya benzer
Donanım özellikleri
-
Ekran ve giriş
- 40×4 karakter LCD
- 56 tuşlu QWERTY klavye
-
Güç ve boyut
- 6.6Wh LiPo batarya
- Şarj etmeden 6 saat çalışma
- Boyutlar: 198×118×35mm
-
CPU ve bellek
- 8 bit ayrık CMOS mantık CPU
- 8~14MHz saat frekansı
- 32KB ROM, 32KB RAM, 256KB’ye kadar EEPROM
- 17 adet 74 serisi CMOS mantık çipi ve 3 transistör
-
Giriş/çıkış ve sistem
- RS-232, 4800 baud
- Genişleme için I2C veri yolu
- 16 bit Forth 2012 sistemi
Klavye PCB’si ve yapım kiti
- Klavye ve ekran, şerit kabloyla My4TH board’a bağlanır
- Klavye PCB’sinde LCD, 56 adet basmalı düğme, USB type B mini konnektör, Qwiic soketi, 74HC574 vb. bulunur
- Batarya şarj devresi isteğe bağlıdır
- Tam parça listesi Forth Deck construction manual içinde görülebilir
- Yapım için gerekli materyaller download sayfasından indirilebilir
- Forth Deck klavye kiti Budgetronics üzerinden satın alınabilir
- Maliyetleri düşürmek için batarya ve şarj devresi dahil değildir
- Bazı isteğe bağlı konnektörler de eksiktir
- İki kartı üst üste yerleştirip kasasız bir masaüstü sürümü yapılabilsin diye ara parça seti dahildir
- Forth Deck’i tamamlamak için My4TH computer board ayrıca gereklidir
LCD’yi sınırlı I/O pinleriyle sürme yöntemi
- LCD, My4TH I/O konnektöründeki pinleri korumak için 4 bit modda çalışır
- My4TH I/O konnektöründe kullanılmayan yalnızca 5 dijital çıkış vardır; büyük LCD’de 2 chip select girişi olduğu için gereken çıkış sayısından 2 eksiktir
- Eksik dijital çıkışlar 74HC574 octal D-type bus latch ile tamamlanır
- Bu IC, 4 bit genişlikte ve 2 derinlikte bir shift register gibi kablolanmıştır
- Sonuçta 8 ek dijital çıkış elde edilir
- 74HC574’e veriyi clock ile yüklerken I2C veri yolunun SCL hattı kullanılır
- 74HC574 SCL sinyaliyle clock edilse de veri yolundaki cihazlar geçerli bir I2C start condition görmez
- LCD’de istenmeyen register yazmaları oluşmaması için ekran, My4TH dijital I/O portunun OUT3 seçim sinyalini kullanır
- R3/D6, R4/D8 direnç-diyot AND kapıları LCD’nin chip select sinyalini maskeler
- C2 ve C3, 74HC574 pinlerinin toggling’i ile D6 ve D8’in parazitik kapasitansından kaynaklanan glitch’leri filtreler
56 tuşlu klavye ve donanımsal reset
- Klavye toplam 56 tuştan oluşur
- Tuş aralığı 12mm olduğundan daha büyük ve rahat tuşlar kullanmak zordur
- Cihaz mümkün olduğunca küçük yapılmaya çalışılmıştır, ancak ekran nedeniyle minimum genişlik 190mm olmuştur
- 12mm aralıkta bir sıraya 14 tuş sığar; 4 sıralı yapılandırmayla toplam 56 tuş elde edilir
- Tuş girişleri, My4TH I/O port konnektöründeki kullanılmayan 6 giriş pininin tamamı kullanılarak okunur
- 9 dijital çıkışla birleştirilerek 6×9=54 tuşluk matris okunur
- Kalan 2 tuş, özel tuşlar olan shift ve reset tuşlarıdır
- Donanımsal reset, shift tuşu basılıyken Reset tuşuna basılarak gerçekleştirilir
Batarya devresi, yazılım ve PCB’yi ayırma
- Sistem gücü için LiPo batarya kullanılır
- Şarj devresi, düşük maliyetli USB powerbank’lerde yaygın kullanılan TP5400 çipini temel alır
- Küçük SMD bileşenleri lehimlemek zorsa, monte edilmiş bir TP5400 modülü kullanılıp fly wire ile klavye PCB’sine bağlanabilir
- Klavye PCB’si destek yazılımı My4TH ROM 1.0’dan itibaren entegredir
- Klavye genişletme kartı My4TH bilgisayar kartına bağlandığında My4TH, klavye ve LCD’yi otomatik algılar
- PCB, klavye ve ekran ayrılabilsin diye ortadan kesilebilecek şekilde hazırlanmıştır
- Ekran klavyeden farklı bir açıyla monte edilebilir
- Kendi yaptığınız daha rahat bir klavye kullanılabilir
Örnekler ve lisans
- Entegre Forth metin editörü örneği vardır
- Oyun örneği olarak 2048 indirilebilir
- Çapraz assembler myca, GNU General Public License, Version 3 lisansını kullanır
1 yorum
Hacker News yorumları
Bu bilgisayarın CPU’su mikrokod tabanlı ve az sayıda ayrık mantık çipi ile EEPROM’dan yapılmış.
Veri/adres veri yolu 8 bit, ancak NOR birimi yalnızca 1 bit işlediği için 8 bit toplama yapmak üzere mikrokodun döngüye girmesi gerekiyor.
D1~D7 bitlerine erişmek için donanımsal bir shifter gerekir diye düşünüp şemaya baktım; aslında yok, kaydırma EEPROM’daki arama tablosuyla yapılıyor.
Havalı CPU tasarımları ilginizi çekiyorsa Novix NC4000’e veya RTX2000’e de bakmaya değer. Komut bitleri, çip içindeki çeşitli çoklayıcıları ve birimleri neredeyse doğrudan kontrol ediyor; bu yüzden neredeyse hiç decode yok.
Gençken Forth ve ayrık bileşenli CPU’lara takmıştım; iyi ararsanız ayrık bileşenlerle yapılmış ev yapımı CPU’ların eski web ring’lerini de bulabilirsiniz.
Bu takıntı beni bugünkü mesleğim olan dijital donanım tasarımcılığına götürdü; böyle yazıların HN’in üst sıralarına çıktığını görmek gerçekten sevindiriyor.
Bu tür optimize edilmiş ayrık bileşenli CPU hikâyelerini okumayı seviyorum.
Sadece 16 mantık IC’si var, toplayıcı bile yok. ALU işlevi yalnızca tek bir 1 bitlik NOR kapısından ibaret.
Ayrıntılar burada: http://mynor.org/my4th.htm
Günümüzde hobi amaçlı TRS-80 Model 100 benzeri bir şey yapmanın önündeki engelin ne olduğunu merak ediyorum.
40x8 LCD’si vardı, tüm zamanların en iyi klavyelerinden biriydi ve custom klavye topluluğu neredeyse istenen her klavyeyi yapabilecek gibi görünüyor.
Model 100’de klavye alanın çoğunu kaplıyordu ama aynı zamanda gerçekten kullanılabilirdi. 40x8 ekranın yeterince büyük ve okunabilir olması önemliydi; küçük 640x480 ekranlı deck’leri özellikle yaşlı gözler için okumak zor.
Psion 5’in klavyesi de epey kullanılabilir, ekranı da M100’den iyiydi; ama böyle bir klavyeyi bir hobi üreticisinin yapıp yapamayacağını bilmiyorum. Söküp yeniden kullanmak da mümkün olabilir, ama bu bazıları için kutsala saygısızlık sayılabilir.
Bugünlerde gördüğümüz düğme matrisi olan “deck”lere gerçek klavye demek zor; bence PET 2001 bunu zaten göstermişti. Eskiden PET üzerinde çok kod yazmıştım.
Pazar başarısı olan bir ürün olması gerekmese bile neden “gerçek” ve “iyi” bir şey çıkmadığını merak ediyorum. Mesele para demek için, insanların hobilerine harcadığı paraya bakınca bunun tüm açıklama olmadığını düşünüyorum.
Piksel yoğunluğu çok arttığı için büyük ekranlar yüksek çözünürlüklü oluyor; bu da sürmek için çok daha hızlı bir cihaz gerektiriyor. O noktada ekran denetleyicisi, asıl bilgisayardan çok daha güçlü hale geliyor ve bu biraz komik hissettiriyor.
Benim takıldığım engel buydu. Elbette yapılabilir ama hedeflenenden daha garip hale geliyor.
Seçenekleri sınırlamak için bir sebep yok; istediğiniz klavyeyi alıp kullanabilirsiniz. İstediğiniz klavyeyi kullanmanızı engelleyen hiçbir şey yok ve bence ilerleme de bu.
5 adet My4th Light kartı yaptım. İlgileniyorsanız profilimden bana ulaşabilirsiniz.
İlgilenen olursa bir parti Forth Deck mini de yapmayı düşünüyorum.
Kısa bir Forth demo videosu hazırlama planım var ama henüz el atamadım.
Özetle, programlama için bir AlphaSmart’a yakın bir yöne gidiyor gibi görünüyor
AlphaSmart’ı bilmiyorsanız, küçük bir LCD’si olan daktilo benzeri bir cihazdı. Pille saatlerce çalışırdı, depolama alanı sınırlıydı ve taslakları kaydetmek için büyük bir bilgisayara bağlanabiliyordu
Bunun programlama sürümü nerede? Yakın zamanda HN’de Mac 128k’nın RPI2040 üzerinde çalıştırıldığı yazıyı görünce bunu düşündüm. Teoride böyle bir sistemde de gerçek iş yapılabilir, ama eğlence amaçlı pek iyi olmayacaktır
Düşük güç tüketimli bilişimin AlphaSmart’ı için gerçek bir klavye, düşük güç tüketimli bir ekran, mümkünse daha büyük bir e-mürekkep ekran ve internete bağlı olmama gerekir
TI-83, TI-92 ya da daha yeni NumWorks gibi hesap makinelerini kastetmiyorum. Onlar hesap makinesi için ve hesap makinesi form faktöründe oldukları için rahatsız
https://en.wikipedia.org/wiki/AlphaSmart
https://news.ycombinator.com/item?id=40699684
https://axio.ms/projects/2024/06/16/MicroMac.html
https://en.wikipedia.org/wiki/TI-83_series
https://en.wikipedia.org/wiki/TI-92_series
https://www.numworks.com/
Böylece pil olmadan yalnızca güneş enerjisiyle çalışır; büyük depolama için de düşük kullanım oranıyla paralel NAND flash kullanılabilir
Ben ilk prototip aşamasının ötesine geçemedim; zorzpad tasarım notlarının çoğu İspanyolca olarak http://canonical.org/~kragen/sw/zorzpad.git/ adresinde. za3k vance ise bundan ilham alan zorchpad’i geliştiriyor: https://blog.za3k.com/tag/zorchpad/
zorzpad’in ana hedefi 53 yıllık uzun kullanım ömrü. Bu hedef için pil, şarj portu ve hazır tuş anahtarları kullanılmaması gerektiğini düşünüyorum. Bu yüzden sistem tasarımında çok fazla taviz gerekiyor; ayrıca 1 miliwatt’ın altında çalışıp MMU’su olan bir işlemciyi hâlâ bulamadım
“zorzpad”, “thinkpad” üzerine yapılmış bir kelime oyunu; bazı İspanyolca lehçelerinde “thorthpad” gibi telaffuz edildiği için thinkpad’in zıddı gibi bir şaka
E-mürekkep ekranların muhtemelen fazla güç tüketeceğini düşünüyorum. Yıllardır kesin tüketim değerleri arıyordum; Amazon Kindle’ın pil ömrünü pil kapasitesine böldüğünüzde kabaca 100 miliwatt civarı çıkıyor
zorzpad’in e-mürekkep alternatifi ekranı yaklaşık onda bir boyutta ve gücü binde bir, yani yaklaşık 100 mikrowatt; veri sayfasında yalnızca 20Hz garanti ediliyor ama 60Hz yenileme de mümkün
Pili kaldırmayı dert etmiyorsanız ya da seri üretimi düşünmüyorsanız, kelimenin tam anlamıyla bir AlphaSmart Neo alıp klavyesini ve ekranını ESP32 gibi bir şeye bağlayabilirsiniz
ROM’da BASIC, kelime işlemci ve elektronik tablo var; piksel adreslenebilir ekranı ve boyutuna göre mükemmel bir klavyesi bulunuyor. RS-232 ve 300bps modem de var
Son dönemde Clockwork-PI o hissi çağrıştırıyor ama klavyesi oyuncak gibi ve sonuçta her türlü dikkat dağıtıcı unsurun olduğu bir Linux dizüstünden ibaret
Model 100, 90’lara kadar gazeteciler tarafından yanlarında taşınıp haber yazmak ve servis bürosuna yüklemek için kullanıldı
Benim için temel özellik Mac klavyesi ve kısayollarıydı; bu yüzden kullanırken hiç düşünmem gerekmiyordu
https://www.dannysalzman.com/2024/06/20/modding-alphasmart-n...
Yerleşik Forth yorumlayıcısı olan bilgisayarlara örnek olarak Jupiter Ace var: https://en.wikipedia.org/wiki/Jupiter_Ace
Ayrıca Sun, PowerPC Mac, One Laptop per Child gibi sistemlerde kullanılan Open Firmware de Forth’tan yararlanıyordu. Genişletme kartı ROM’larında da kullanılarak CPU’ya daha az bağımlı hâle getirilebiliyordu: https://en.wikipedia.org/wiki/Open_Firmware
Küçük bilgisayarlara ilginiz var ama Forth ya da lehimleme pek çekici gelmiyorsa, 30 dolara oldukça işe yarar bir ESP32 kutusu alabilirsiniz: https://shop.m5stack.com/products/m5stack-cardputer-kit-w-m5...
Yine de hafta sonu emüle ettiğim Amiga’dan çok daha güçlü; Amiga’da da eksiksiz bir GUI masaüstü, derleyici ve çeşitli araçlar vardı
Varsayılan haliyle neler yapılabildiğini merak ediyorum
Düzenleme: Önemsemedim ve sipariş verdim. Gelince öğrenirim ama o zamana kadar ne beklemem gerektiğini hâlâ merak ediyorum
Meshtastic’te yaygın kullanılan cihazlardan
Hmm… Collapse OS’un Forth’u da var: http://collapseos.org/forth.html
Aklıma Oric-1 geldi
https://en.m.wikipedia.org/w/index.php?title=Oric_(computer)...