- Forth Deck mini ist eine Gehäuseversion des My4TH-Boards mit zusätzlicher Tastatur, Display und Akku, die eine kleine eigenständige Forth-Entwicklungsumgebung im Gerät bereitstellt
- Kernstück ist eine diskrete 8-Bit-CMOS-Logik-CPU mit 8–14 MHz Takt, 32 KB ROM, 32 KB RAM und bis zu 256 KB EEPROM
- Ein- und Ausgabe erfolgen über ein 40×4-Zeichen-LCD und eine QWERTY-Tastatur mit 56 Tasten; der 6,6-Wh-LiPo-Akku ermöglicht 6 Stunden Betrieb ohne Aufladen
- Für Erweiterungen werden RS-232 mit 4800 Baud und ein I2C-Bus genutzt; die Tastatur-PCB ist so ausgelegt, dass sie die begrenzten I/O-Pins für LCD-Ansteuerung und Tastenmatrix sparsam nutzt
- Das Budgetronics-Tastatur-Kit allein reicht nicht zur Fertigstellung; für einen Forth Deck werden zusätzlich ein separates My4TH computer board und optionale Bauteile benötigt
My4TH-Board als tragbares Forth-Gerät
- Forth Deck mini ist eine Version des My4TH computer board, ergänzt um Tastatur und Display und in ein Gehäuse eingebaut
- Dank integriertem wiederaufladbarem Akku kann es ohne Steckdose genutzt werden
- Forth-Programme können direkt auf dem Gerät geschrieben und debuggt werden, sodass kein serielles Terminal oder PC nötig ist
- Die Nutzung ähnelt dem eingebauten Basic-Interpreter von Heimcomputern der 1970er- und 1980er-Jahre
Hardwarespezifikationen
-
Bildschirm und Eingabe
- 40×4-Zeichen-LCD
- QWERTY-Tastatur mit 56 Tasten
-
Stromversorgung und Abmessungen
- 6,6-Wh-LiPo-Akku
- 6 Stunden Betrieb ohne Aufladen
- Abmessungen: 198×118×35 mm
-
CPU und Speicher
- Diskrete 8-Bit-CMOS-Logik-CPU
- Taktfrequenz von 8–14 MHz
- 32 KB ROM, 32 KB RAM, bis zu 256 KB EEPROM
- 17 CMOS-Logikchips der 74er-Serie und 3 Transistoren
-
Ein-/Ausgabe und System
- RS-232, 4800 Baud
- I2C-Bus für Erweiterungen
- 16-Bit-Forth-2012-System
Tastatur-PCB und Baukit
- Tastatur und Display werden per Flachbandkabel mit dem My4TH board verbunden
- Auf der Tastatur-PCB befinden sich LCD, 56 Drucktaster, USB-Type-B-Mini-Anschluss, Qwiic-Buchse, 74HC574 und weitere Bauteile
- Die Akkuladeschaltung ist optional
- Die vollständige Stückliste ist im Forth Deck construction manual zu finden
- Die für den Bau benötigten Unterlagen sind unter download erhältlich
- Bei Budgetronics kann ein Forth-Deck-Tastatur-Kit gekauft werden
- Zur Kostensenkung sind Akku und Ladeschaltung nicht enthalten
- Einige optionale Steckverbinder fehlen ebenfalls
- Ein Satz Abstandshalter ist enthalten, damit die beiden Boards gestapelt und als Desktop-Version ohne Gehäuse aufgebaut werden können
- Zur Fertigstellung eines Forth Deck wird ein My4TH computer board separat benötigt
LCD-Ansteuerung mit begrenzten I/O-Pins
- Das LCD arbeitet im 4-Bit-Modus, um Pins am My4TH-I/O-Connector zu sparen
- Am My4TH-I/O-Connector sind nur 5 ungenutzte digitale Ausgänge vorhanden; das große LCD hat 2 Chip-Select-Eingänge, sodass 2 Ausgänge gegenüber dem Bedarf fehlen
- Die fehlenden digitalen Ausgänge werden durch einen 74HC574 octal D-type bus latch ergänzt
- Dieses IC ist wie ein Schieberegister mit 4 Bit Breite und Tiefe 2 verdrahtet
- Dadurch stehen insgesamt 8 zusätzliche digitale Ausgänge zur Verfügung
- Zum Takten der Daten in den 74HC574 wird die SCL-Leitung des I2C-Busses verwendet
- Auch wenn der 74HC574 mit dem SCL-Signal getaktet wird, sehen die Geräte am Bus keine gültige I2C start condition
- Damit keine unerwünschten Register-Schreibvorgänge am LCD entstehen, nutzt das Display das OUT3-Auswahlsignal des digitalen My4TH-I/O-Ports
- Die Widerstands-Dioden-AND-Gatter R3/D6 und R4/D8 maskieren den chip select des LCD
- C2 und C3 filtern glitches, die durch das Umschalten der 74HC574-Pins und die parasitäre Kapazität von D6 und D8 entstehen
Tastatur mit 56 Tasten und Hardware-Reset
- Die Tastatur besteht aus insgesamt 56 Tasten
- Der Tastenabstand beträgt 12 mm, weshalb größere und komfortablere Tasten schwer zu verwenden sind
- Das Gerät sollte möglichst klein werden, doch wegen des Displays beträgt die Mindestbreite 190 mm
- Bei 12 mm Abstand passen 14 Tasten in eine Reihe; mit 4 Reihen ergibt das insgesamt 56 Tasten
- Tasteneingaben werden über alle 6 ungenutzten Eingangspins des My4TH-I/O-Port-Connectors gelesen
- In Kombination mit 9 digitalen Ausgängen wird eine 6×9=54-Tastenmatrix ausgelesen
- Die verbleibenden 2 Tasten sind Sondertasten: Shift und Reset
- Ein Hardware-Reset wird ausgeführt, indem bei gedrückter Shift-Taste die Reset-Taste gedrückt wird
Akkuschaltung, Software und PCB-Trennung
- Ein LiPo-Akku dient als Systemstromversorgung
- Die Ladeschaltung basiert auf dem TP5400-Chip, der häufig in günstigen USB-Powerbanks verwendet wird
- Wenn das Löten kleiner SMD-Bauteile schwierig ist, kann ein fertig montiertes TP5400-Modul verwendet und per Fly-Wire mit der Tastatur-PCB verbunden werden
- Die Support-Software für die Tastatur-PCB ist ab My4TH ROM 1.0 integriert
- Wenn die Tastatur-Erweiterungsplatine mit dem My4TH-Computerboard verbunden wird, erkennt My4TH Tastatur und LCD automatisch
- Die PCB ist dafür vorbereitet, in zwei Hälften geschnitten zu werden, um Tastatur und Display zu trennen
- Das Display kann in einem anderen Winkel als die Tastatur montiert werden
- Eine selbst gebaute, bequemere Tastatur kann verwendet werden
Beispiele und Lizenz
- Es gibt ein Beispiel für einen integrierten Forth-Texteditor
- Als Spielebeispiel kann 2048 heruntergeladen werden
- Der Cross-Assembler myca steht unter der Lizenz GNU General Public License, Version 3
1 Kommentare
Hacker-News-Kommentare
Die CPU dieses Computers ist mikrocodebasiert und aus einigen wenigen diskreten Logikchips und EEPROMs aufgebaut.
Der Daten-/Adressbus ist zwar 8 Bit breit, aber die NOR-Einheit verarbeitet nur 1 Bit; für eine 8-Bit-Addition muss der Mikrocode daher eine Schleife durchlaufen.
Ich dachte, für den Zugriff auf die Bits D1 bis D7 bräuchte es einen Hardware-Shifter, und habe mir den Schaltplan angesehen; tatsächlich gibt es keinen, die Shifts werden über eine Lookup-Tabelle im EEPROM erledigt.
Wer sich für coole CPU-Designs interessiert, sollte sich auch den Novix NC4000 oder den RTX2000 ansehen. Die Bits der Instruktionen steuern mehrere Multiplexer und Einheiten im Chip nahezu direkt, sodass es praktisch kein Decoding gibt.
Als Teenager war ich von Forth und CPUs aus diskreten Bauteilen besessen, und wenn man gut sucht, findet man wahrscheinlich noch alte Webrings von selbstgebauten CPUs aus diskreten Bauteilen.
Diese Besessenheit hat zu meinem heutigen Beruf als Entwickler digitaler Hardware geführt, und ich freue mich wirklich, wenn solche Beiträge oben auf HN landen.
Ich lese gern über solche optimierten CPUs aus diskreten Bauteilen.
Es gibt nur 16 Logik-ICs, nicht einmal einen Addierer. Die einzige ALU-Funktion ist ein einzelnes 1-Bit-NOR-Gatter.
Details gibt es hier: http://mynor.org/my4th.htm
Ich frage mich, was heute eigentlich das Hindernis ist, so etwas wie einen TRS-80 Model 100 für Hobbyisten zu bauen.
Ein 40x8-LCD, eine der besten Tastaturen aller Zeiten, und die Custom-Keyboard-Community scheint fast jede gewünschte Tastatur bauen zu können.
Beim Model 100 nahm die Tastatur den größten Teil des Platzes ein, war aber zugleich wirklich brauchbar. Entscheidend war, dass das 40x8-Display groß genug und gut lesbar war; Decks mit kleinen 640x480-Displays sind besonders für ältere Augen schwer zu lesen.
Beim Psion 5 war die Tastatur ebenfalls ziemlich brauchbar und das Display besser als beim M100, aber ich weiß nicht, ob Hobby-Bastler so eine Tastatur bauen könnten. Man könnte sie auch ausbauen und wiederverwenden, aber für manche wäre das wohl Sakrileg.
Die „Decks“ mit Button-Matrix, die man heute sieht, kann man kaum als echte Tastaturen bezeichnen; ich denke, der PET 2001 hat das schon gezeigt. Früher habe ich viel auf einem PET programmiert.
Es muss kein marktfähiges Produkt sein, aber ich frage mich, warum nichts „Echtes“ und „Gutes“ entsteht. Wenn man sieht, wie viel Geld Leute für Hobbys ausgeben, scheint Geld allein nicht die ganze Erklärung zu sein.
Die Pixeldichte ist stark gestiegen, sodass große Bildschirme hochauflösend sind, und dafür braucht man dann ein deutlich schnelleres Gerät zur Ansteuerung. An dem Punkt ist der Display-Controller viel leistungsfähiger als der eigentliche Computer, was sich etwas absurd anfühlt.
Genau das war das Hindernis, auf das ich gestoßen bin. Es ist durchaus machbar, wird aber unbeholfener als beabsichtigt.
Es gibt keinen Grund, die Auswahl einzuschränken; man kann einfach die gewünschte Tastatur kaufen und verwenden. Nichts hält einen davon ab, die Tastatur zu nutzen, die man möchte, und ich denke, genau so sieht Fortschritt aus.
Ich habe fünf My4th-Light-Boards gebaut. Wer Interesse hat, kann mich über mein Profil kontaktieren.
Wenn es genug Leute gibt, würde ich auch eine kleine Serie des Forth Deck mini bauen.
Ich habe vor, ein kurzes Forth-Demo-Video zu machen, bin aber noch nicht dazu gekommen.
Kurz gesagt scheint es eher in Richtung eines AlphaSmart fürs Programmieren zu gehen
Falls man AlphaSmart nicht kennt: Das war ein Gerät wie eine Schreibmaschine mit kleinem LCD. Es lief stundenlang mit Batterien, hatte begrenzten Speicherplatz, und man konnte es an einen großen Computer anschließen, um Entwürfe zu speichern
Wo ist die Programmier-Version davon? Dieser Gedanke kam mir kürzlich, als ich auf HN den Beitrag sah, in dem ein Mac 128k auf einem RPI2040 lief. Theoretisch könnte man auf so einem System echte Arbeit erledigen, aber als Spielzeug wäre es wohl nicht besonders gut
Ein AlphaSmart für Low-Power-Computing braucht eine echte Tastatur, ein stromsparendes Display, möglichst einen größeren E-Ink-Bildschirm, und keine Internetverbindung
Ich meine damit keine Taschenrechner wie TI-83, TI-92 oder den neueren NumWorks. Die sind für Rechner gedacht und wegen ihres rechnerartigen Formfaktors unbequem
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/
Dann könnte es ohne Akku allein mit Solarstrom laufen, und als Massenspeicher würde bei niedriger Auslastung paralleler NAND-Flash reichen
Ich bin nicht über frühe Prototypen hinausgekommen, und die Designnotizen zum zorzpad sind größtenteils auf Spanisch unter http://canonical.org/~kragen/sw/zorzpad.git/ zu finden. za3k vance baut ein davon inspiriertes zorchpad: https://blog.za3k.com/tag/zorchpad/
Das Hauptziel des zorzpad ist eine Lebensdauer von 53 Jahren. Für dieses Ziel, so sehe ich es, darf man keinen Akku, keinen Ladeanschluss und keine handelsüblichen Keyswitches verwenden. Dadurch gibt es beim Systemdesign viele Kompromisse, und ich habe noch keinen Prozessor mit MMU gefunden, der unter 1 Milliwatt läuft
„zorzpad“ ist ein Wortspiel mit „thinkpad“ und wird in manchen spanischen Dialekten wie „thorthpad“ ausgesprochen, also ein Witz in Richtung Gegenstück zum thinkpad
Ich vermute, dass E-Ink-Displays zu viel Strom verbrauchen. Seit Jahren suche ich nach verlässlichen Verbrauchswerten; wenn man die Akkulaufzeit eines Amazon Kindle durch seine Akkukapazität teilt, landet man grob bei etwa 100 Milliwatt
Der alternative Bildschirm des zorzpad zu E-Ink ist ungefähr ein Zehntel so groß und benötigt ein Tausendstel der Leistung, also etwa 100 Mikrowatt; das Datenblatt garantiert nur 20 Hz, aber auch 60-Hz-Updates sind möglich
Wenn einem das Entfernen des Akkus nicht wichtig ist oder man keine Massenproduktion plant, kann man buchstäblich einen AlphaSmart Neo kaufen und Tastatur sowie Display an etwas wie einen ESP32 anschließen
Im ROM gibt es BASIC, eine Textverarbeitung und eine Tabellenkalkulation, dazu einen pixeladressierbaren Bildschirm und eine für die Größe hervorragende Tastatur. RS-232 und ein 300-bps-Modem sind ebenfalls vorhanden
Der aktuelle Clockwork-PI erinnert zwar an dieses Gefühl, aber die Tastatur wirkt wie Spielzeug, und am Ende ist es nur ein Linux-Laptop mit allerlei Ablenkungen
Das Model 100 wurde noch bis in die 90er von Journalisten mitgeführt, um Artikel zu schreiben und sie an ein Service-Bureau hochzuladen
Für mich waren die zentralen Funktionen die Mac-Tastatur und die Shortcuts, sodass ich beim Schreiben nicht darüber nachdenken musste
https://www.dannysalzman.com/2024/06/20/modding-alphasmart-n...
Als früheres Beispiel für einen Computer mit eingebautem Forth-Interpreter gibt es den Jupiter Ace: https://en.wikipedia.org/wiki/Jupiter_Ace
Auch Open Firmware, das unter anderem bei Sun, PowerPC-Macs und One Laptop per Child eingesetzt wurde, nutzte Forth. Es konnte auch in ROMs von Erweiterungskarten verwendet werden, wodurch diese weniger CPU-abhängig wurden: https://en.wikipedia.org/wiki/Open_Firmware
Wenn dich kleine Computer interessieren, du aber von Forth oder Löten nicht besonders angezogen bist, kannst du für 30 Dollar eine ziemlich brauchbare ESP32-Box kaufen: https://shop.m5stack.com/products/m5stack-cardputer-kit-w-m5...
Trotzdem ist es deutlich leistungsfähiger als der Amiga, den ich am Wochenende emuliert habe, und der Amiga hatte einen vollständigen GUI-Desktop, Compiler und mehrere Tools.
Ich frage mich, was man im Auslieferungszustand damit machen kann.
Edit: War mir egal, ich habe einfach bestellt. Wenn es ankommt, werde ich es herausfinden, aber bis dahin frage ich mich immer noch, was ich erwarten sollte.
Das ist ein Gerät, das häufig bei Meshtastic verwendet wird.
Hm … es gibt auch Forth von Collapse OS: http://collapseos.org/forth.html
Erinnert mich an den Oric-1.
https://en.m.wikipedia.org/w/index.php?title=Oric_(computer)...