Prop: Jupiter ACE

Nun ist es also soweit: die aktuelle Version 3.4 von PropForth enthält die erste Version der Jupiter ACE Erweiterung mit VGA und Keyboard Support. Mit dieser Version kann man also einen einzelnen Propellerchip zu einem vollwertigen Forth-Computer machen, mit welchem man ohne Host einen Compiler, Interpreter, Assembler und ein einfaches Betriebssystem zur Verfügung hat.

Ich hab das natürlich gleich auf meinem Demoboard getestet. Die Installation ist extrem einfach:

  1. Die Datei „PropForth_hiresvga.spin“ mit dem Propellertool laden und per F11 in den EEPROM flashen. Danach sollte sich schon das Forth  in einem Terminalprogramm über die serielle Schnittstelle melden, allerdings noch ohne VGA-Support.
  2. Die passenden Worte der nötigen  Erweiterung für VGA/TAstatur aus der Datei „hiresvga.f“ markieren, kopieren und im Terminal (ich verwende TerraTerm) einfügen. Damit werden die neuen Worte in das Forthsystem auf dem Propeller compiliert.
  3. Das so erweiterte System im Forth mit dem Wort „saveforth“ resetfest im EEPROM speichern.

Und fertig ist ein kleiner völlig autarker Forth-Computer, der sich nach einem Reset und einer geschätzten Bootzeit von 2 Sekunden auf dem angeschlossenen VGA-Monitor mit zwei! Prompts meldet. 🙂 Phantastisch! Dabei ist der Bildschirm mit einer Textauflösung von 128 x 48 Zeichen zweigeteilt, denn es sind so zwei laufende COG’s/Forthsysteme erreichbar. In der oberen Hälfte kann man mit dem COG3-Forth und in der unteren Hälfte mit dem COG4-Forth arbeiten. Optisch sind beide Teile invertiert, so dass man sich gut orientieren kann. Das ist eine ziemlich coole Sache wie ich finde. 🙂 Mit ALT-TAB kann man zwischen den beiden Fenstern wechseln und hat zwei getrennte Forthsysteme verfügbar. So kann man – wie auf dem Screenshot sichtbar – im unteren Fenster COG4 rechnen und werkeln lassen, im oberen Fenster arbeitet man unbeeindruckt davon weiter. COG5 ist dabei zusätzlich noch per Terminal erreichbar.

Sicher sind die Ressourcen auf einem einzelnen Propeller sehr begrenzt, so steht nur noch wenig RAM (ca. 5 KB?) für eigene Worte zur Verfügung, aber für kleine Hardwareexperimente und erste Gehversuche in Forth ist das ok, da Forthcode durchaus sehr kompakt sein kann. Bei einer zukünftigen Hive-Version wird die Situation dabei wesentlich entspannter, da die meisten Ressourcen ja in Administra und Bellatrix ausgelagert sind. Das Nutzerforth hat also mit Regnatix einen Propellerchip ganz für sich allein und zusätzlich steht noch der externen RAM zur Verfügung.

Zu beachten ist auch, das PropForth 3.4 zwar eine Stable, aber die Erweiterung noch eine Alphaversion ist. Leider ist die Version zwei Tage zu spät erschienen – das hätte thematisch sehr gut auf dem Mikrocontroller-Geekend in Leipzig zum Schwerpunkt Forth gepasst…

Update 29.09.2010:

prof_braino hat das Forth schon an alle drei Propellerchips im Hive angepasst. Zum probieren eignet sich natürlich am besten die Bellatrix-Version mit VGA & Keyboard. Um das System auf den Hive zu bringen, gibt es folgende kleine Änderung zu obiger Anleitung:

  • Download der aktuellen Version: Hive Jupiter ACE PropForth 3.4
  • Bei Punkt 2 nicht die Datei „hiresvga.f“, sondern „hiresvga20100912-0943 fix-hive.f“ verwenden.
  • Und ab geht das Forth… 🙂

Ansonsten kann ich nur prof_braino zu Wort kommen lassen:

Upcoming features may include:
Low Res VGA (fewer characters, more colors)
Ethernet (to display another FORTH prompt over ethernet using telnet)
SD slot (low level support for FILES; extension will provide support for BLOCKS)
Virtual (paged) memory manager
TV
Inter-cog communication (such that serial monitor or VGA can display COG from chips other than Bellatrix)
Counter-based inter-cog communication (using 1 to 4 I/O ports per channel)
distributed parallel processing support

Hey, wie cool ist das denn!?  🙂