Archive for the ‘Entwicklung’ Category.

TriOS#05: PropForth – Teil 1 & Teil 2

PropForth unter TriOS: Installation, Multitasking, Implementierung auf dem Hive-Computer

TriOS#04: Der Unbekannte

Er zieht im Hintergrund die Fäden: Der Programmloader im TriOS.

Inhalt:

1. Wie funktioniert der Programmloader und der TriOS Autostart?
2. Wie konfiguriere ich den Spin Compiler?
3. Wie kann ich TriOS komplett per Batch compilieren?
4. Wann verwende ich Batch, wann die IDE?
5. Programmbeispiel: TriOS Hallo Welt!
6. Programmbeispiel: Apfelmännchen

Link BST: http://www.fnarfbargle.com/bst.html

 

Update#1: Editor #1

Habe mal wieder angefangen, einen Editor zu programmieren. Irgendwie fehlt ja sowas in TriOS und allgemein auf dem Hive noch. Na, mal schauen, wie weit ich dieses mal komme… 😉

 

 

Spectrum-Emulator in Aktion

Voll retro, der Hive-Cube in freier Wildbahn

Zu neunzig Prozent fertiggestellt, taucht der Hive-Cube als Disco-Würfel seine Umwelt mit Retroklängen in ein bizarres Lichtspiel im Stile der 80ziger Jahre. Ich find’s cool, obwohl mir wahrscheinlich auf Dauer bei derartigem Lichtgewitter einige Synapsen flöten gehen könnten. Glücklicherweise hat der Herrgott zur Abwendung derartiger Verluste den Ausschalter geschaffen und so fühle ich mich relativ sicher vor Hirntaubheit. Und selbst wenn, na und, n’bisschen bekloppt muss man in der heutigen Zeit schon sein, warum sollte man sonst mit einer selbst zusammengelöteten Zauberkiste wie dem Hive seine kostbare Freizeit verplempern? Wird man doch an jeder Ecke mit Quadrupelcore-Super-Monster-Mega-Tätärätä-Tabletten oder Handyputer beworfen, einer besser als der andere, mit Funktionen, die auch meine Uroma schon nicht brauchte. Da ist der Hive ganz anders, nämlich doof und das ist gut so. Alles, was mein Hivechen kann, hat er von mir gelernt, können wir Drohnen sagen und mich umschlingt eine wohlige Vaterliebe bei diesem Gedanken. Ja, mein Hive ist wie mein Sohn (ich gehe davon aus, das der Hive männlich ist!?) .Am Anfang zu nichts zu gebrauchen aber nach und nach wachsen seine Fähigkeiten. Noch ist er ein kleines Kind, arbeiten wir daran, das er erwachsen wird.

In diesem Sinne….Zille9

 

Das sieht Verda’BMP’t gut aus…

Rechtzeitig zum Treffen in Garitz konnte ein weiteres Schmankerl für TRIOS-Basic assimiliert werden. Es wurde ein Grafiktreiber mit 160x120Pixel und 64 Farben pro Pixel als Mode4 Treiber ins Basic-Werkzeugköfferchen aufgenommen. Dieser erlaubt die Darstellung von Farbbildern in genannter Auflösung, da hier anders, als in den bisherigen Treibern, jeder Pixel eine andere Farbe besitzen darf.

Nun wünschte ich mir, die geschaffenen Pixelkunstwerke auch irgendwie speichern und, was noch besser wäre, auch  wieder laden zu können. Diese Dateien sollten aber auch in einem Format vorliegen, welches jeder PC versteht. Das Windows-Bitmap-Format schien für dieses Unterfangen die beste Lösung. Der Dateiaufbau ist recht simpel zu verstehen und propellerisch mit einem überschaubaren  Aufwand realisierbar. Das Ergebnis hat mich selbst überrascht, BMP-Datei mit 160×120 Pixel in 24bit-Farbauflösung in den Hive ->Befehl eingegeben ->Bild auf dem Bildschirm (siehe Screenshots).screenshots

 Das Speichern und Laden im Mode 4 funktioniert hervorragend, benötigt aber etwas Zeit, da jeder einzelne Pixel in die 3 RGB Farben zerlegt bzw. wieder zusammengesetzt werden muss . Im Mode 2 und 3 kann bisher nur gespeichert werden, Mode 0 und 1 wird zur Zeit noch nicht unterstützt, da diese Treiber vollkommen anders aufgebaut sind. Zudem wird der Speicherplatz in Regnatix langsam knapp aber es bleibt abzuwarten, was noch so alles an Ideen heranreift. TRIOS-Basic 3.0 wird auf jeden Fall die Kreativität anheizen und die Leistungsfähigkeit des Hive mehr als je zuvor demonstrieren. Alle, die zum Treffen nach Garitz kommen, können sich schon mal einen kleinen Ausblick am lebenden Objekt gönnen. Bis dahin ….

Zille9

Langsam wird’s …

Und hier wieder ein kleiner Einblick in die Entwicklungsarbeit von TRIOS-Basic. Die Arbeit ist kurz vor dem Abschluss, sollten die laufenden Test’s erfolgreich sein. Die Liste der neu hinzugekommenen Funktionen liest sich zumindest nicht schlecht.

  • lange Variablennamen verfügbar (ein Variablenname kann so lang sein, wie eine Basiczeile)
  • dynamische Verwaltung der Variablen, dadurch wurde Platz im RAM frei, der vom User genutzt werden kann)
  • Stringfunktionen entsprechen in der Schreibweise nun dem Standard (Print left$(a$,5)…Name$=Right$(Nachname$,5))
  • Bit-Operationen direkt ausführbar  :  a=b<<2, n=a&b
  • Strings können die Länge einer Basiczeile annehmen
  • REDEFINE-Befehl geschaffen, um den Fontsatz im Modus 1 und 2 zu modifizieren
  • das Editieren einer Basiczeile ist jetzt einfacher, es kann Text eingefügt oder gelöscht werden, nach Return wird die bestehende Zeile übernommen, egal wo sich der Cursor befindet
  • im Modus 0, dem Standard-Basic-Treiber wurde die Darstellung komplett auf Tile-Fonts umgestellt, dadurch ist mehr Platz auf dem Bildschirm und sieht einfach besser aus als der Monsterfont von Parallax
  • mathematische Funktionen entsprechen der korrekten Schreibweise : a=sin(b), c=sqr(z)…

Das ist nur ein kleiner Ausblick. Motivation war es, eine möglichst hohe Kompatibilität zu Standard-Basicinterpretern herzustellen. Der Erfolg spricht für sich, war es doch so möglich, das Programm GLOBUS vom KC85 (siehe auch bei Micromite) mit nur sehr wenigen Änderungen auch auf den Hive unter Trios-Basic zu portieren. Aber seht selbst ….

Globus_Mode1 im Modus 1 mit 320×256 Pixel

Globus_Mode2im Modus 2 mit 512×384 Pixel

Einiges ist noch zu tun, da Fehler ja nie ganz ausgeschlossen werden können. Trios-Basic muss sich im Labor noch bewähren und das Handbuch benötigt ebenfalls ein Update. Es wird also noch etwas dauern, bis die Final-Version zum Download bereitsteht, aber man kann getrost sagen: Langsam wird’s …. 🙂

Zille9

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.

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 (1672 Downloads )

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 (1967 Downloads )

 

Magnetos Rache

Also bevor Micha hier mit seinem schwarzen Teko-Gehäuse den Dart Vader spielt, versuche ich mal heimlich noch ein wenig die helle Seite der Macht zu stärken… 😉

Der CPMputer ist natürlich die beste Gelegenheit einen Hive-Tower zu bauen. Zu diesem Zwecke hatte ich schon vor Monaten einige Neodym-Magneten gekauft: Ich dachte mir halt, dass es eine coole Idee ist, die Module untereinander in Magneto-Style zu arretieren. Zumindst auf einem KC-Treffen (ich glaube das war 2012) hatte ich schonmal testweise mehrere Hives übereinander zu einem Tower gestapelt und festgestellt, dass es durch die Kabel etwas fragil ist. Eine feste Verschraubung fand ich zu umständlich, also hatte ich die Idee mit den Magneten. Und wie man in dem Video sehen kann, macht das auch einen recht stabilen Eindruck.

Am Deckel des unteren Moduls sind die Magnetscheiben dabei an der Innenseite verklebt, wodurch sie nicht optisch sichtbar sind, wenn man das Modul allein verwendet. Am oberen Modul kleben die Magnete direkt an der Unterseite, wo sie ja auch nicht stören. Die Haftstärke kann man einstellen, indem man einfach je nach Magnetstärke mehrere Scheiben übereinander heftet.

Auch die Platine selbst macht Fortschritte, was natürlich kein Wunder ist, wenn man alles fertig serviert bekommt. 🙂 An sich ist das Board komplett bestückt bis auf einige Patches. Nun gilt es, sich erstmal in die Atmel & Zilog-Technik einzuarbeiten.

drohne235

CPMputer voll bestückt

CPMputer voll bestückt

Das Board in der Entstehungsphase

Das Board in der Entstehungsphase

Huckpack auf dem Hive

Huckpack auf dem Hive

Ein kleiner Schritt für die Menschheit, aber ein grosser Schritt für einen Menschen

… nämlich für mich 😉

Vermutlich wird das heute nicht mal eine Erwähnung in den Tagesthemen wert sein, dass ich es geschafft habe den ersten Fuß auf die Oberfläche des Planeten CP/M 2.2 zu setzen. Was soll’s, ich bin Kummer gewöhnt.

Wie im Bild zu sehen bin ich heute immerhin bis zu dem erhebenden Moment gekommen, wo mein Eigenbau-Z180-Computer zum ersten Mal die Einschaltmeldung und den Systemprompt von CP/M anzeigt. Disk I/O ist vorläufig noch nicht implementiert, aber der erste Schritt ist getan. Ein Aussenstehender kann ganz sicher nicht verstehen wieviel Freude so ein par simple Textzeilen auslösen.

first_response