Archive for the ‘Software’ Category.

Neues TriOS, neues GIT

Nach der Veröffentlichung der neuen TriOS-Version ist diese nun auch auf dem GIT-Server eingearbeitet. Neben TriOS sind dort auch die wichtigsten anderen Software-Projekte des Hive  (Basic, Plexus und die 3 Toolboxen) mit dem gerade aktuellen Stand hinterlegt. Damit haben wir nun die Chance, gemeinsam an diesen Projekten Änderungen vorzunehmen. Das funktioniert allerdings nur, wenn alle, die an den o.g. Projekten mitarbeiten, ihre Änderungen in die GIT-Repositories einchecken. Weitere Informationen gibts unter „Software-Verwaltung“ und im dazugehörigen Foren-Thread.

TriOS – R57

Lange überfallig: eine neue Version von TriOS. Momentan zu einem recht ungünstigen Zeitpunkt, da wir ja mit einem Umzug von SVN zu GIT experimentieren. Aber es waren einfach noch zu viel Code in der Queue.

Was gibt es an Neuerungen:

  1. PlexBus
  2. Netzwerkcode
  3. Dokumentation
  4. BIN/SOURCE-Paket

Mit dem PlexBus können nun zum Beispiel Erweiterungen wie die Sepia-Karte oder die kleine Joystickkarte von Zille9 angeschlossen und im System verwaltet werden. Passend gibt es das Tool „perplex“, um manuell mit dem I/O-Bus zu experimentieren. Zudem enthält die Toolbox einige kleine Programmierbeispiele in Spin für Einsteiger und auch TriOS-Basic und die Plexus-GUI können ja schon damit umgehen.

Endlich Netzwerkcode! 🙂 Der Code von Jörg war auch ein entscheidender Grund für die Veröffentlichung, da ich eine Integration für die nächste Folge im Videotutorial brauche. FTP und IRC-Client sind nun in dieser TriOS Version enthalten. Einstellungen der Netzwerkparameter (IP, Maske, Gateway…) erfolgen über das Tool „ipconfig“.

Ach ja – Stichwort Dokumentation: Alle Dokumentationen sind nun in den Ordner „doku“ gewandert und haben eine neue Struktur bekommen. Ich denke so lässt sich das besser verwalten und pflegen.

BIN und SOURCE Pakete: TriOS gibt es nun in zwei Paketen. Das BIN-Paket ist für reine Nutzer gedacht und enthält nur die Dokumentation, Flashdateien und alle Dateien um eine SD-Karte für TriOS zu erstellen. Das geht schnell und ist sehr übersichtlich – ein paar Klick’s und fertig ist das Update.

Im SOURCE-Paket befinden sich zusätzlich alle Quelltexte und die Skripte um automatisch das System komplett zu compilieren.

So, das waren die wichtigsten Neuerungen. Zudem sind natürlich wieder viele kleine Änderungen und Fehlerbereinigungen enthalten.

Viel Spaß! 🙂

TriOS (PropForth, Standard Regime) Bin (3953 Downloads ) TriOS (PropForth, Standard Regime) Source (3681 Downloads )

 

Toolbox 3

Einige überfällige Veröffentlichungen: Das Boing-Demo und der TriBorg-Player – nichts neues, aber mit der Toolbox 3 jetzt im gepflegten Paket. Zusätzlich einige Programmierbeispiele für den PlexBus und die Sepia-Karte und abschließend ein (hoffentlich) inspirierendes Demo von einem textbasierten GUI-Code.

 

boing-1

triborg-1 triborg-2guidemo-1plexbus-1

Toolbox 3 (1979 Downloads )

Digitaler $%&°*#$-Vergleich und andere spaßige Sachen

Irgendwann will man es halt wissen: Wie schnell ist denn jetzt die selbst geschriebene Programmiersprache auf dem Eigenbaucomputer? Naja, halt der typische digitale $%&°*#$-Vergleich……;) Und da ich heut ein wenig Langeweile habe und draußen so trübes Wetter ist, wollte ich mich halt ein wenig an tachyonischen Geschwindigkeitswerten meines Forthsystems berauschen und ergötzen.

Nun gut, die Werte sind ganz brauchbar, obgleich ich da so ein verdammtes amerikanisches Forth kenne, welches da noch deutlich einen drauflegt. Hab noch keine Ahnung wie er das veranstaltet. Aber dafür ist der Hive mit mental völlig autark programmierbar, ohne einen Hostcomputer oder ähnliche feige Hilfsmittel. Ätsch! 🙂

Was ist also in dem Clip zu sehen?: Ein kleines Demo, welches die Funktion von meinem mental-Forth auf dem Hive-Computer zeigt. Nix großes, einfach nur zur Ansicht der Funktion des Quelltexteditors, Compilers und Interpreters am Beispiel eines „Hello World!“ und eines Fibonacci-Benchmarks mit ganz brauchbaren Werten für so ein Gerät.

Der Quelltexteditor läuft komplett im Bellatrix-Chip (der Hive basiert auf drei Mikrocontrollern) und kennt neben dem farbigen Modus zur Eingabe von Forth-Quelltexten auch einen reinen Textmodus. Mit dem Kommando „br“ (browse) wird der Screenbrowser aufgerufen um in den Screens zu „surfen“, diese zu editieren, speichern usw. Ist so ein typisches gewachsenes „Werkstatt-Tool“ und ungemein praktisch.

Wie man sieht, ist mental durchaus schon benutzbar und man kann schon völlig autark am Hive ohne einen Hostcomputer programmieren. Zudem belegt der Core von dem zu sehenden Forth gerade mal 3694 Bytes, mit den komfortablen Tools wie im Video sind es gerade mal 4432 Bytes! Hey, als Laie und für ein erstes selbst gestricktes Forth ist das ganz brauchbar!…:) Aber unabhängig davon ist mental noch weit entfernt von einem fertigen Status. Letztlich ist es ja auch nicht so wichtig, da es sich ja mehr um ein persönliches Lern- und Spaßprojekt handelt. Just for Fun!

Es ist vollbracht – TRIOS-BASIC 2.1

Seit dem letzten Update ist schon einige Zeit vergangen. Die Zeit wurde effektiv genutzt, um unser TRIOS-Basic an die Spitze der Basic-Interpreter-Charts (zumindest auf dem Propeller) zu katapultieren. Viele Neuerungen sind hinzugekommen, Altlasten abgeworfen und Fehler beseitigt. Hier eine kleine Aufstellung der Neuerungen/Änderungen

 

  1. -Fliesskomma-Funktion ist jetzt genauer, Zahlenbereich von 1E-38 bis 1E+38
  2. -Window-Funktion zusammengefasst und flexibler, so kann z.Bsp. das Aussehen der Fenster mit Tile-Fonts individuell angepasst werden,  verschiedene Fenstertypen können ausgewählt werden (mit Rahmen, ohne Rahmen, mit Titel oder Statusleiste oder Scrolleiste). Das Aussehen ist an PLEXUS orientiert.
  3. -DATA,READ,RESTORE Funktion zur Datenverarbeitung vorhanden
  4. -BACKUP,RECOVER um Bildschirmbereiche zu sichern und wiederherzustellen
  5. -Mit FUNC erstellst Du Benutzerfunktionen, denen bis zu 4 Variablen zur Berechnung übergeben werden können
  6. -der RENUM-Befehl erlaubt eine Neunummerierung des Basicprogramms (Sprungmarken müssen aber selbst angepasst werden).
  7. -der PORT-Befehl gestattet den Zugriff auf die (optional angeschlossene) Sepia-oder Joystick-Karte
  8. -mit dem XBUS-Befehl kannst du auch Funktionen aus TRIOS erreichen, die nicht im Basic vorhanden sind, du kommunizierst damit auf dem HIVE-Bus direkt mit den Propeller-Chips
  9. -BUTTON-Befehl umgebaut, jetzt sind Text- und Icon-Buttons möglich
  10. -mit dem erweiterten LOAD-Befehl ist es jetzt möglich Programmteile nachzuladen, auch während des laufenden Programms
  11. -MKFILE ermöglicht das Erstellen von Dateien
  12. -der CHDIR-Befehl wurde überarbeitet, jetzt kannst Du Dich in allen Verzeichnissen frei bewegen
  13. -mit BLOAD werden BIN-Dateien aus dem Basic heraus gestartet
  14. -die String-Verarbeitung wurde zusammengefasst und fehlerbereinigt
  15. -INPUT-Befehl wurde überarbeitet und verbessert
  16. -die INKEY-Abfrage ist jetzt fehlerfrei (ab und zu war noch ein ungewolltes Zeichen im Puffer)

Vom Befehlsumfang sollte der vorläufige Endstand erreicht sein, was unseren Basic-Interpreter zum wohl umfangreichsten in der Propeller-Welt sein läßt. 🙂

Leider gibt es noch keine Demo, um die neuen Funktionen zu demonstrieren. Es gibt aber für alle neuen(und alten) Funktionen entsprechende Beispielprogramme im Basic-Ordner. Ich wünsche allen Basic-Freunden viel Spaß und Entwicklerdrang mit TRIOS-BASIC 2.1.

euer Zille9

TriOS-Basic (1931 Downloads )

IRC-Client

irc-screenSeit Ende 2013 verfügt der Hive nun auch über einen Netzwerk-Stack. Damit wurde auch das letzte Stück Hardware nutzbar. Fehlte nur noch entsprechende Software – außer dem Konfigurations-Programm für die IP-Adresse und einem FTP-Client gab es nichts, was die neuen Möglichkeiten nutzen würde. Das ist nun anders: Ein vollständiger IRC-Client für den Hive steht in einer ersten Version zur Verfügung.

Beim IRC (Internet Relay Chat) handelt es sich um eines der ältesten Protokolle im Internet, die Anfänge gehen bis ins Jahr 1988 zurück. Paßt also doch irgendwie zu einem Retro Style Computer. Der Hive IRC Client ermöglicht es, an einem der vielen IRC-Netzwerke (Freenode, German-Elite, …) aktiv teilzunehmen.

Welchen Vorteil bietet nun die Nutzung des Hive als IRC-Client? Im Normalfall kann man Mitteilungen in einem der vielen Kanäle (Channel, Chaträume) nur dann empfangen, wenn man mit dem IRC-Server verbunden ist. Um nichts zu verpassen, müßte man also seinen PC mit gestartetem IRC-Client ständig laufen lassen. Das merkt man spätestens bei der nächsten Stromrechnung. Alternative wäre die Nutzung eines Proxies (Bouncer) bzw. das Lesen des Chat-Logs (falls verfügbar). Oder eben die Verwendung des Hive. Nützlich für diese Anwendung: Der Hive IRC-Client verfügt über einen internen Puffer, welcher (per default) die letzten 1000 Chatzeilen speichert. Durch diesen Puffer kann man einfach mit den Cursortasten scrollen. Weiterhin gibt es eine Benachrichtigung bei neuen Mitteilungen: Bei Eingang einer neuen Nachricht beginnt die Regnatix-LED zu blinken und ein Sound wird abgespielt.irc-am-hive

Somit rechtfertigt sich nun auch der Trend zum Zweit-Hive – einer zum Zocken, Proggen und Basteln und der andere zum Chatten. Fehlt nur noch eine zentrale Anlaufstelle für alle Drohnen im IRC. Zum Testen gibts einen eigenen IRC-Server (Adresse findet man in der Dokumentation, welche im Download enthalten ist). Ansonsten bietet sich der Hive-Channel bei German-Elite an (irc.german-elite.net,  Port: 6667, #hive).

Der IRC-Client ist im Paket des aktuellen Netzwerk-Stacks enthalten, den Download gibts im ersten Beitrag des entsprechenden Foren-Threads. Für Fragen, Anregungen, Wünsche oder Fehlermeldungen zum IRC-Client gibts einen weiteren Foren-Thread.

Viel Spaß beim Chatten wünscht Jörg

Plexus 2.0 im Sack

SAMSUNG

Damit dem Hive auch ein kleines Weihnachtsgeschenk zuteil wird, steht nun Plexus, in der Version 2.0 zum Download bereit. Änderungen erfolgten hauptsächlich unter der Haube aber auch optisch ist der Versionsaufstieg erkennbar. Der größte Vorteil dürfte sein, das Plexus nun unter TRIOS lauffähig ist, was ein Flashen der EEPROMS, wie es in den Vorgängerversionen nötig war, überflüssig macht. Einfach eine freie SD-Karte mit den Plexus-Dateien füllen und den Hive booten. Damit ist die Brücke zu TRIOS geschlagen und das Arbeiten mit dem Hive ohne nerviges Umflashen möglich. Für alle, die eine SEPIA-Erweiterungskarte besitzen oder dies planen, ist nun ein Testprogramm für die grundlegenden Funktionen der Karte integriert. Auch die grundsätzliche Unterstützung der Venatrix-Bus-Erweiterung, welche demnächst veröffentlicht werden soll, ist vorhanden. Ich wünsche euch viel Spaß im Umgang mit eurem Hive und hoffe, euch mit Plexus ein nützliches Tool zur Verfügung gestellt zu haben.

zille9

PLEXUS-Update (2277 Downloads )

 

Hätten’s dös g’wusst?

Heute hab ich mich mal dem Rausch der Applikationen hingegeben – also: wie war das mit der Computerei in den 80er Jahren. Keine Frage – an einem Feierabend kann man da erst mal nur ganz schwach an der Oberfläche kratzen. Hatte schon vor paar Tagen die typischen Anwendungen an die ich mich noch erinnern konnte auf den CPMputer draufgeladen, siehe Bild. Heute hab ich nun ein wenig damit rumgespielt, die Dinger VT-100 terminaltauglich zu installieren. Was mehr oder weniger geklappt hat – bei SuperCalc war sogar ein VT-100 als Auswahl dabei.

Mit den alten Anwendungen konnte man schon vieles erreichen, wenn man sich etwas geschickt anstellte. Wenn man allerdings mit der Bedienung – natürlich ohne Handbuch – „ins kalte Wasser geworfen wird“, kann es auch mal hakeln, so wie bei mir heute – da hab ich vollkommen naiv den Editor von TurboPascal gestartet. Aber wie komm ich jetzt aus dem Ding wieder raus? Also ohne Reset oder Stecker ziehen. Dank Tante Google hab ich dann gefunden, dass ^Kd den Zaubertrick bewirkt. Hätten’s dös g’wusst?

Wird wirklich höchste Zeit dass endlich die Weihnachtsferien kommen. Wenn man *nebenbei* noch arbeiten muss bleibt einfach viel zuwenig Zeit zum spielen übrig 🙁

Wie hier im Thread angekündigt: http://hive-project.de/board/viewtopic.php?f=15&t=955 steht übrigens immer noch das Angebot, eine Sammelbestellung für Platinen auf den Weg zu bringen. Würde ich ab ca. 10 Interessenten machen…

CPM_Anwendungen

 

Tausend Sterne

zu dem Titel fällt mir jetzt spontan ein *extremst* kitschiges Kinderlied ein. Aber das ist ne ganz andere Geschichte. Vielmehr geht es um eines der Basic Programme die einem so einfallen, wenn einem sonst nichts originelles einfällt. Wenn Leute vor nem Klavier stehen und ihnen fällt sonst nix ein, tippen sie den Flohwalzer. Wenn Leute vor nem Basic-Computer stehen, tippen sie vielleicht sowas:

10 FOR I=1 TO 1000

20 PRINT „*“;

30 NEXT I

Soweit sogut. 1000 Sterne, auf einen Bildschirm ausgegeben. Aber was passiert, wenn man das „;“ vergisst? Dann bekommt jeder Stern einen Zeilenvorschub.

Aber was passiert, wenn man das „;“ vergisst und das Ausgabegerät ein uraltes, Intel 8080 basiertes Terminal – ohne Handshake – ist? Dann kommt jenes Terminal irgendwann ins Schwitzen. Weil ein Scrollen des gesamten Bildschirminhalts für jenen uralten i8080, der mit ca. 2MHz läuft die absolute Härte ist.

Der langen Rede kurzer Sinn:

Ich hab genau das die Tage *ausversehen* gemacht. Rein zufällig hab ich zur gleichen Zeit auch noch im „CP/M Alteration Guide“ gestöbert. Und da kam „rein zufällig zum Quadrat“ eine Erkenntnis zustande:

1) So ein altes Terminal, auch wenn es mit der Baudrate normalerweise mithalten kann, ist beim Scrollen irgendwann überfordert.

2) im CP/M Alteration Guide wird genau dieses Problem an einer Stelle mal kurz angerissen. Dort wird empfohlen: in der Zeichenausgabe-Routine nach Ausgabe eines LF eine Wartezeit einbauen.

Hab ich dann jetzt so gemacht – und jetzt passt alles. Allerdings muss ich gestehen: wenn ich nicht so ein altes Terminal zum Testen zur Verfügung gehabt hätte wär ich niemals nicht auf die Idee gekommen dass es da ein Problem geben könnte…

Sind wir nicht alle ein bisschen BASIC?

Es gibt so Tage, da gelingt einem garnichts. Da forscht man stundenlang an einer vermurksten Schaltung rum, und das Ding bewegt sich keinen Zentimeter. So ging es mir letztes WE mit meinem Z180 Eigenbau. Eigentlich sah alles richtig aus, aber *uneigentlich* kam aus der Kiste kein Signal raus. Irgendwann erinnerte ich mich, dass mir Grant Searle mal gesagt hatte dass aus einer seriellen Schnittstelle nix rauskommt, solange /CTS nicht auf Null geschaltet wird. Eigentlich hatte ich nen 10K Pull-Down Widerstand an dem Signal. Aber wer glaubt dass so ein Widerstand stärker ist als ein Chip mit anderer Meinung, der glaubt auch, dass ein Zitronenfalter Zitronen faltet. In dem Fall hat der MAX das Signal schön hochgehalten 😉

Hab dann bisschen mit Skalpell und Lötkolben auf der Platine rumgewütet – und plötzlich ging was! Dann musste ich nur noch rausbekommen wie die Einstellung der Baudrate im Terminal und in der Z180 Initialisierung zusammenpassen, und plötzlich gab es jede Menge „Hallo Welt!“ aufm Bildschirm.

Wenn man nach viel Mühe endlich so ein „Hallo Welt!“ aufm Schirm hat löst das zunächst Euphorie aus, wird aber dann zugegebenermaßen doch auch rel. schnell langweilig.  Aber dann fiel mir plötzlich ein, dass mir Grant Searle vor ca. einem Monat eine Experimentalversion des NASCOM-Basic für den Z180 zugesendet hatte! Gleich mal das Zeugs ausgebuddelt und probiert – ich musste lediglich die Einstellung für das Baudraten-Register anpassen, dann lief BASIC auf der Kiste!

Zunächst noch per serieller Schnittstelle jedesmal zu laden – womit mein Computerchen als ne Art Patient eine Krankenschwester brauchte um durchzustarten. Aber dann fiel mir ein, dass der Code ja per PROGMEM im Atmel zu speichern geht. Jetzt braucht der Computer keine „Krankenschwester“ mehr um aufzustehen! Der hat jetzt seinen eigenen Basic Instinct – ist auch ohne Host lebensfähig, siehe Foto 😉black

 

Plexus Version 1.06 steht zum Download bereit

Plexus-LogoWas ist PLEXUS?

Im Borg-Sprachgebrauch ist der PLEXUS die zentrale Kommunikationseinheit eines Borg-Schiffes. Wir sind Borg ! Und  als zentrale Steuersoftware des Hive, tritt PLEXUS seinen Siegeszug bei der Assimilation fremder Zivilisationen an. Aber Spaß beiseite, wie im Beitrag „Klicken statt tippen“ bereits als kleiner Ausblick zu sehen war, soll PLEXUS die allgemeinen TRIOS-Funktionen in grafischer Form zugänglich machen, da es nicht jedermanns Sache ist, endlose Kommandozeilen einzutippen, um zum Beispiel in das dritte Unterverzeichnis einer SD-Karte zu gelangen. Als Grafiktreiber dient der auch in TRIOS-Basic verwendete. Wir als Hive-Besitzer sind in der glücklichen Lage, das die diversen TRIOS-Funktionen auf die drei vorhandenen Propeller-Chips verteilt sind, was es uns erlaubt, eine Shell zu betreiben, die auf einem Singlechip-Propeller-Board kaum möglich sein dürfte.

Dabei ist der momentane Entwicklungsstand von PLEXUS noch nicht am Ende. Mit einem abgewandelten Grafiktreiber soll es möglich sein, externe Programme zu starten, die sich als optisch in PLEXUS integriert anfühlen sollen. Damit wären Erweiterungen in unbegrenzter Anzahl möglich und lassen PLEXUS zu einem ausgewachsenen Betriebssystem werden (in der Zukunft).

Aber träumen wir noch nicht allzu sehr von fernen Galaxien sondern freuen uns, eine Grafische Oberfläche mit den gebräuchlichsten TRIOS-Funktionen unser Eigen nennen zu dürfen, mit der wir antreten, das (Propeller-)Universum zu erobern.

SAMSUNG

-Fehler in der Checkboxen-Funktion behoben (falsche x-Koordinaten durch die Zusammenfassung der Fenster)

-einige Texte in den Ram ausgelagert, spart massiv Platz

-Fehler in Kopierfunktion behoben (bei der Meldung „File exist, overwrite?“ wurde das Kopierfenster gelöscht und es war nur noch der Fortschrittsbalken sichtbar)

-Fehler in der Routine Mülleimer erstellen behoben (existierte das Verzeichnis nicht, wurde nach dem Erstellen der Verzeichnismarker falsch gelesen)

-Beim Wechsel der SD-Card wurde der Mauszeiger nicht aktualisiert

-Hervorhebungsbalken für Dateinamen im Explorer hinzugefügt->noch nicht perfekt, da andersfarbige Datei-oder Ordnernamen in der falschen Farbe zurückgeschrieben werden

-Fehler in der Playerroutine behoben (wurde nach dem Playerfenster ein anderes Fenster aufgerufen, löschte der Player nach Titelende eine Zeile im aktiven Fenster–>Balkenleer-Routine

-Buttonweg-Routine beim Start hinzugefügt, um die Buttonwerte zu resetten(sonst erschien beim Klick in die Titelzeile ein ungewollter Button)

-playerstop-Funktion bei diversen Dateioperationen eingefügt um Fehlfunktionen abzufangen

-erste Codesegmente für Venatrix-Erweiterungskarte in reg-ios-64 eingebaut

-Fehldarstellung Aboutbox, wenn Player lief behoben

 

 

PLEXUS PLEXUS-Update (2277 Downloads )

TRIOS-Basic Update (Vers.2.03b)

Ein neues TRIOS-Basic Update ist ab sofort verfügbar.

Hier ein kurzer Abriss über die Neuerungen und beseitigten Bugs:

Neuerungen/Änderungen Version 2.03

-Spritefunktionen für kleine Spiele vorhanden, es können bis zu 8 bewegte Sprites definiert werden

-Playerfigur definierbar

-Kollisionserkennung mit Sprites und definierten Tiles

-Itemverwaltung für das Einsammeln von Gegenständen

-Eingrenzung der Sprite- und Playerbewegung mit Blockade-Tiles

-verschiedene Sprite-Bewegungs-Modi wählbar

-Mathematische Funktionen erweitert

1.Einstellung der Präzision

2.Bit-Operationen verfügbar (shift-left, shift-right, Reverse, Oder, XOder, Und)

-Print-Befehl mit der Option HEX oder BIN zur Ausgabe hexadezimaler oder binärer Zahlenwerte

-Lade-und Speicheranzeige erfolgt jetzt als Prozentanzeige

-Fehler in der Line-Funktion behoben (x und y vertauscht)

-Fehler in der Plot-Funktion behoben (x und y vertauscht)

-Fehler beim BYE-Befehl behoben (es konnte passieren, das nach Beendigung nicht korrekt ins Root-Verzeichnis gewechselt wurde und dadurch die Reg.sys nicht auffindbar war)

-Fehler in der Array-Berechnung behoben (bei verschachtelten For-Next-Schleifen zum Füllen von Arrays wurde das Array-Feld falsch berechnet)

-Verzeichnismarker hinzugefügt (jetzt sollte Basic auch aus einem beliebigen Verzeichnis funktionieren)

Ich wünsch euch viel Spaß mit der neuen Version

Update 2.03b:

Beim Start aus Plexus wurde der Basic-Systemfont nicht korrekt geladen. Dies wurde behoben

TriOS-Basic (1931 Downloads )