Archive for Februar 2015

TRIOS-Basic bekommt Pickel ..ääh Pixel -> Version 3.0 steckt in den Geburtswehen

Auch das TRIOS-Basic Karussell dreht sich munter weiter. Durch die Labortests des Micromite beflügelt, entschloss ich mich, auch dem HIVE-eigenen Basic eine Funktionsspritze zu verpassen. Bisher war es nur möglich Teilbasierte Grafiken auf den Bildschirm zu zaubern. Spätestens, wenn es darum ging mathematische Kurven zu plotten oder auch nur einen simplen Kreis auf die Mattscheibe zu bringen, war das Ende der Fahnenstange erreicht. Glücklicherweise gibt es pfiffige Programmierer, in diesem Fall Kuroneko, der einen Grafiktreiber entwickelte, der (unverständlicher weise) fast unbeachtet im Netz schlummerte und nur darauf wartete für den Hive seine Muskeln spielen zu lassen. Mit seiner Auflösung von 320×256 Pixeln und 15 Vordergrundfarben (mit Blinkattribut 31) und 8 Hintergrundfarben entspricht er auffällig den Spezifikationen eines KC85/2..4 . Um diesen nutzen zu können, wurde im Basic ein neuer Befehl geschaffen, der es erlaubt zwischen den Grafiktreibern hin und her zu schalten. Da die Änderungen etwas umfangreicher waren, um das allgemeine Handling der Treiber zu vereinheitlichen erfuhr TRIOS-Basic einen Versionsaufstieg. Im folgenden sind einige Neuerungen zusammengetragen:

  • -Der Befehl Mode erlaubt das Umschalten der Grafiktreiber, es gibt insgesamt (bis jetzt) 3 Grafikmodi
  • -0=Standard Basic-Treiber, 1=320×256 Pixel-Treiber mit 31 Vordergrund-und 8 Hintergrundfarben, 2=512×384 Pixel-Treiber mit 2 Farben
  • -Strings werden jetzt in der korrekten Schreibweise verarbeitet (A$=“Test“, C$(1,1)=“Test2″ usw.)
  • -Bitoperationen sind jetzt direkt verwendbar (Print 12<<8, b=12&7 usw.)
  • -Kreiszahl PI jetzt zusätzlich zum Zeichen auch als „PI“ unterstützt (das erleichtert die Portierung fremder Programme)
  • -Funktion SQR jetzt auch in FN (FN SQR(34)) verwendbar, Wurzelzeichen bleibt aber weiterhin aktiv
  • -Durch die Stringverarbeitung bedingt, werden Hex-Zahlen jetzt mit # dargestellt (Print #5F67)
  • -Der Befehl BIT setzt ein bit in einer 32-Bit-Variablen (entspricht dem Propellerbefehl |< bzw. >|)
  • -Der Farbbefehl COL hat seinen dritten Parameter verloren, es wird nur noch die Vordergrund-und Hintergrundfarbe angegeben (COL 13,0)
  • -Grafikfunktionen Circ, Rect, Line haben nur noch im Modus 1 und 2 Wirkung, der Plot-Befehl funktioniert aber in allen Modi’s
  • -Behebung von Fehlern in der For-Next- und der Input-Routine

Lissajous

Ein kleiner Ausblick gefällig? Lissajous Figur mit TRIOS-Basic (Modus 1) 🙂

In puncto Geschwindigkeit schlägt TBASIC zwar keine Rekorde aber im Vergleich zum KC85/4 (zumindest im Emulator) schlägt er sich wacker und gewinnt die meisten Grafiktests.

Das zweite Bild zum Beispiel schafft der Hive in 3Minuten und 22 Sekunden, der KC85/4 braucht 9 Minuten 21 Sekunden also fast dreimal so lange. Selbst Micromite benötigt für das gleiche Bild 2 Minuten 44 Sekunden, da seine Rechengeschwindigkeit extrem durch die langsame Datenübertragung auf dem I2C-Bus ausgebremst wird. Es bleibt also dabei, Trios-Basic ist sowas von Retro 😉

3d-funkt

Diese Funktion diente als Benchmarktest für TRIOS-Basic, KC85/4 und Micromite

Einen besonderen Dank möchte ich an Kuroneko senden, für den zur Verfügung  gestellten Grafiktreiber !

Zille9