Archive for März 2012

KC-Treffen 2012

logo-2012

Ein tolles Treffen und ein sehr interessantes humanmedizinisches Experiment: Was passiert, wenn man sich drei Tage nur von Kaffee, Bier plus Fisherman’s Friend’s ernährt und 8Bit-Musik dazu hört? 🙂 Aber der Reihe nach…

hundeluft krakau garitz

Um einen gewissen Eindruck vom Ort des Geschehens zu vermittel, genügt eine Wegbeschreibung. Nähert man sich Garitz von der Coswig (Autobahnabfahrt) aus, verläßt man recht schnell die Zivilisation. Durch das Örtchen „Hundeluft“ gelangt man schnell nach „Krakau“ und nähert sich vorbei an einem Ort mit dem Namen „Bärenthoren“ dem Ziel Garitz. Wie mir digger versichert hat, checkt man spätestens beim Ortseingangsschild von Krakau seine Navi… 😉 Aber nach dieser abenteuerlichen Reise erwartet einen letztlich Garitz in einer lichten Idylle und einsamer Ruhe.

Dieses Jahr bin ich schon so früh wie möglich am Freitag losgefahren und war auch wirklich einer der ersten Teilnehmer in Garitz. So konnte ich ohne Probleme eine große Ecke für die Hives und ein gemeinsames Zimmer für digger und mich reservieren. Der Plan ging gut auf. Am Freitag folgten dann PIC (drohne265/278) und digger (drohne002) mit ihrer Technik und am Samstag Hartmut (drohne304) mit seinem Hive und der EUzebox.

Am Samstag dann traditionell einige sehr interessante Vorträge am Nachmittag. Das Highlight mit Sicherheit Rüdiger mit seinem riesigen mechanischen Rechner – einer Buchungsmaschine von Ascota. So ein Wunderwerk ist kaum zu überbieten und der Vortrag wie gewohnt in aller Ausführlichkeit. Sehr interessant auch der Vortrag von Hartmut zur EUzebox, welche ja auch in der Hive-Ecke in Aktion zu erleben war. Hey, Loderunner wäre auch eine coole Sache auf dem Hive! 😉

Über den Tag gab es auch immer wieder viel Interesse am Hive. Drei Neudrohnen wurden im Trubel der Ereignisse und in einem Fall unter heftiger Gegenwehr erfolgreich assimiliert (drohne244..246) und gleich mit Platinen versorgt. 🙂 Zwischendurch Experimente und Programmierarbeit mit dem Propellerchip und am Hive. digger hat die VGA-Treiber und ihre Möglichkeiten abgeklopft und wir haben nebenher einiges über die Farbverwaltung gelernt. So ein gemeinsamer Miniworkshop ist da sehr effektiv und weckt die Kreativität. Bei mehr Teilnehmern könnte man sich auch ein kleines Thema ausdenken, zum Beispiel ein kleines Game oder Demo coden, mit Gewinner und Wanderpokal (Die Goldene Drohne!) und so… 😉 Ich habe die Arbeiten am Quelltexteditor für m angefangen und PIC hat an seinem System für den Quadcopter programmiert. Ich hoffe im nächsten Jahr eine von Propchips gesteuerte Drohne sehen zu können! Aber unabhängig von Bits, Bytes , COG’s und Drohnen war auch viel Zeit für persönliche Gespräche bei einem kühlen Bier und so manche Späße.

Das Objekt in Garitz ist ein echter Glücksgriff für das KC-Treffen und ich denke (und hoffe) auch die folgenden Jahre wird es bei diesem Standort bleiben. Ein großer Saal für große Technik, genug Platz für einen Vortragsbereich, preiswerte und gute Versorgung durch die Gaststätte und genug Zimmer für die Übernachtungsgäste und das alles mit ein wenig DDR-Charme gewürzt, ergibt einen idealen Rahmen für eine solche Veranstaltung.

Hier ein kleines Video von Ralle: Video

Leider ist die Hive-Ecke nicht so gut zu sehen, aber die laufende Mechanik der Ascota ist ein echter Hingucker!

Infos zur Ascota-Buchungsmaschine: Buchungsmaschinen, Fakturiermaschinen und Organisationsautomaten

Infos zur EUzebox: EUzebox

Hive im Retromagazin #23

Auf dem Treffen in Garitz konnte ich schon die neue Ausgabe des Retromagazins bewundern, in welcher man einen Artikel von Hartmut (drohne304) über Eigenbauprojekte wie den Hive und die EUzebox findet. Ach ja, es handelt sich übrigens um Ausgabe 23… 😉

Link: Retromagazin #23

Update: Wer noch nicht „Extraleben“ und „Der Bug“ von Constantin Gillies gelesen hat, dem seien diese beide Bücher empfohlen bei der Bestellung von Retromaganzin #23. Im übrigen gibt es mittlerweile einen dritten Teil der Buchserie, mit dem Namen „Extraleben III Endboss“, welchen ich neben einer Panik-Taste unbedingt gleich mitbestellen musste… 🙂

Update 2: Extraleben II Endboss erscheint erst ab 12.05.2012 – gut das ich noch neben dem Retromagazin eine Panic-Taste bestellt habe.

Nicht vergessen: Hive beim KC-Treffen in Garitz!

Dieses Wochenende wieder KC-Treffen in Garitz. Wer also Zeit und Interesse an Retros und Eigenbautechnik hat, sollte diesen Termin nicht verpassen! Ich bin wieder von Freitag bis Sonntag mit diversen Hives und anderen Geräten anwesend. Für Tagesgäste ist mit Sicherheit der Samstag der beste Tag für einen kleinen Ausflug.

Infos zum KC-Treffen 2012 und Bilder der letzten Jahre: Link

 

m: KC-Treffen am Horizont

Aktuell geht es in großen Schritten vorwärts, obgleich ich in der Woche überhaupt keine Zeit zum programmieren habe. Einige Tools wie dump und .s (gibt den Stackinhalt aus) vervollständigen das System und damit kann ich nun unabhängig von Spin debuggen. Das einzige Stück Spin zum starten von m sieht so aus:

CON
_clkmode = xtal1 + pll16x
_xinfreq = 5_000_000

VAR ' forth-parameterblock
long start ' mental parameter
long error ' errorcode

OBJ
vm1: "m-vm1-run-4"

PUB Main
  start := vm1.get_start
  waitcnt(cnt + clkfreq)
  cognew(vm1.get_cbase,@start)

Also nur ein paar Byte Spin um m in Betrieb zu nehmen! Das Schöne an forthähnlichen Systemen ist ja, dass man schon in dieser frühen Phase mit ihnen arbeiten kann. Es ist wie Lego: mit ein paar Bausteinen kann man schon etwas bauen. Kommen weitere hinzu, vergrößern sich die Möglichkeiten.

So ein neuer Baustein, welchen ich am Wochenende hinzugefügt habe, ist create. Dieses Wort ist zuständig für die Verarbeitung der roten Worte, mit denen ein neuer Wortheader im Wörterbuch erzeugt wird. Mit test1 ; kann so ein neues Wort mit dem Namen test1 erzeugt werden, welches mit dem Semikolon abgeschlossen wird. Besagtes Semikolon beendet den Compilervorgang, compiliert ein Exit-Kommando in das Wort und aktiviert dieses. Ab jetzt ist es mit words anzeigbar und wenn man das Kommando test1 aufruft, wird es ausgeführt.

Nächster Schritt wird das Wort compile um die grünen Worte im Quelltext in ein Wort compilieren zu können. Damit sind dann erste funktionale Worte möglich. Bin mal gespannt, wie weit ich bis zum KC-Treffen komme… 😉

m: Interpreter läuft

Hab ich schon erwähnt, dass seit gestern abend der Interpreter läuft? 🙂 Ab jetzt kann ich im wesentlichen direkt unter m debuggen und testen. Und das motivierende an der Geschichte ist der freie Speicher in Regnatix: 31365 Byte! Das wird noch schrumpfen, aber ich habe ein gutesGefühl, dass Ziel von 2 KB für den m-Core zu erreichen.

Jetzt ein paar Werkzeuge wie dump um den Speicher direkt in m anzuzeigen und dann kommen schon die ersten Compilerworte. Als nächstes Blockinterface und Screeninterface und ich kann schon ohne Host autark programmieren.

Kein Screen sagt mehr als tausend Worte…

m1

Ok, ich bekenne mich schuldig: Es hat mich wieder gepackt und ich bastle momentan an einem neuen Softwaresystem für den Hive. Das System wird eine Alternative zum TriOS und besitzt als Kern eine eigene Programmiersprache, die ich ganz unerotisch auf den Namen „m“ getauft habe. Im Gegensatz zu TriOS, Spin und PropForth ist es ein völlig neuer Ansatz, dessen Ziele man in vier Worten zusammenfassen kann: autark, klein, schnell und einfach.

Autark: Das System soll sowohl Interpreter, Compiler, Debugger, Quelltexteditor enthalten und mit diesen Funktionen sofort und ohne Bootzeit (also aus dem EEPROM) einsatzbereit sein.

Klein: Ziel ist eine Größe von 2 KB Speicherverbrauch in Regnatix – 30 KB stehen also für die eigentliche Anwendung zur Verfügung.

Schnell: Die Kernroutinen sind in PASM geschrieben. Ein erster Vergleich ergab, dass m deutlich schneller als Spin und PropForth ist.

Einfach: Ein kleiner und übersichtlicher, klar verständlicher Befehlssatz.

Das sind die Ideen. Momentan läuft die VM, also der innere Interpreter. Der äußere Interpreter und der Parser inklusive Zeileneditor ist zum überwiegenden Teil fertig und ich hoffe dieses Wochenende das erste mal ohne Spin-Debugger interaktiv mit m arbeiten zu können.