Erste Bilder vom TRIOS-BASIC 2.0

Fragen zu Programmiersprachen und Software für den Hive und die Propellerchips
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: Erste Bilder vom TRIOS-BASIC 2.0

Beitrag von TuxFan »

Moin moin!
Ich würde mir eine definierte Schnittstelle vom Trios-BASIC zum Administra-Treiber wünschen, so kann sich jeder seinen benötigten Treiber selber schreiben/einfügen, da ja eine Vielzahl an verschiedenen Joysticks existieren.
Demnächst, wenn meine neuen Breadboardplatinen da sind, werde ich mal Tests mit PropellerColorBasic ( https://www.dropbox.com/sh/qwhixzvtlrvp ... ellerBASIC ) und meinem extra dafür beschafften WII-Classiccontroller machen. Dieser wird auch über I2C gesteuert/ausgelesen. Der Treiber dazu ist in der angegebenen Software vorhanden. Es wäre schön, wenn ich oder auch andere User diesen Controller auch für den Hive benutzen könnten.
Gruß
TuxFan
Wunder gibt es immer wieder.......
Benutzeravatar
zille9
Beiträge: 399
Registriert: Do 4. Okt 2012, 21:56
Wohnort: Berlin

Re: Erste Bilder vom TRIOS-BASIC 2.0

Beitrag von zille9 »

zille9 hat geschrieben:Dieser wird auch über I2C gesteuert/ausgelesen. Der Treiber dazu ist in der angegebenen Software vorhanden. Es wäre schön, wenn ich oder auch andere User diesen Controller auch für den Hive benutzen könnten.
Hallo Tux Fan
Hab mir mal den Code für die I2C-Schnittstelle im Color-Basic angesehen. Mit entsprechenden Anpassungen ist der Treiber universell auch für den Hive nutzbar.
Wollte aber auf jeden Fall auch die bald kommende Sepia-I/O Karte unterstützen, dort sollten genug Schnittstellenvarianten vorhanden sein, um auch Deine Bedürfnisse zu erfüllen.
Sollte es widererwarten nichts mit der Karte, kommt die obere Variante zum Einsatz, garantiert.
Da im neuen Basic auch sehr viel mehr Möglichkeiten zur Spieleentwicklung enthalten sein werden, ist eine Joystick-Schnittstelle geradezu Pflicht.
Bis dahin ist es aber noch ein zwar nicht sehr langer aber doch noch längerer Weg. Das Licht am ende des Tunnels ist aber schon sehr deutlich zu sehen.

Gruß
zille9
Computer lösen die Probleme, die man ohne sie gar nicht hätte!
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Erste Bilder vom TRIOS-BASIC 2.0

Beitrag von drohne235 »

Wobei die Anbindung der IO-Hardware durch das IOS gut gekapselt ist. Wahrscheinlich wird es aus der Sicht von Regnatix eine relativ abstrakte Abfrage eines nummerierten digitalen Joysticks und eines analogen Paddles geben. Woher und wie Administra dann die entsprechenden Daten bekommt ist ja keine Sache worüber sich Regnatix (bzw. das Basic oder Forth) Gedanken machen braucht.

Beim digitalen Joystick kommt dann ein 8Bit-Wert für maximal 8 Kontakte, ebenso ein analoger 8Bit-Wert vom Paddle. Was man dann in Administra draus macht, kann ja bei Bedarf ganz individuell aussehen. Momentan läuft für das Sepia-Board eine COG um auf definierten Ports ein ständiges Polling auszuführen - aktuell nur für Joystick und Paddle. Regnatix fragt dann per IOS-Funktion eigentlich nur ein Register ab, welches permanent mit den Joystickwerten aktualisiert wird. Dadurch muss Regnatix nie auf die I2C-Abläufe abwarten. Möchte man mit entsprechenden IOS-Funktionen lieber direkt auf irgendwelche IO-Ports zuzugreifen, kann man den Poller kurzzeitig pausieren und dann wieder anschalten.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Erste Bilder vom TRIOS-BASIC 2.0

Beitrag von drohne235 »

Kannst du die Laderoutine noch so verändern, dass man das Basic aus einem Verzeichnis starten kann? Im Prinzip ist das recht simpel mit den DirMarkern, hier mal der code aus dem TriBorg-Player:

Code: Alles auswählen

  ifnot (ios.admgetspec & SIDMASK)
    ios.sddmset(ios#DM_USER)                            'u-marker setzen
    dmu := ios.sddmget(ios#DM_USER)                     'usermarker von administra holen
    ios.admload(string("triborg.adm"))
    ios.sddmput(ios#DM_USER,dmu)                        'usermarker wieder in administra setzen
    ios.sddmact(ios#DM_USER)                            'u-marker aktivieren
Das problem ist ja das Laden eines neuen Codes in Administra, wobei der neue Code ja das Medium neu mounted und damit in der Root landet. Setzt man vorher den Usermarker, speichert diesen und stellt ihn nach der Ladeprozedur wieder her, landet man wieder im Benutzerverzeichnis.

Wäre für das Basic auch eine tolle Sache. Was noch auf meinem Wunschzettel steht: ein Basickommando um das Verzeichnis zu wechseln - hab ich nicht gefunden oder übersehen...
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
zille9
Beiträge: 399
Registriert: Do 4. Okt 2012, 21:56
Wohnort: Berlin

Re: Erste Bilder vom TRIOS-BASIC 2.0

Beitrag von zille9 »

drohne235 hat geschrieben:Kannst du die Laderoutine noch so verändern, dass man das Basic aus einem Verzeichnis starten kann? Im Prinzip ist das recht simpel mit den DirMarkern, hier mal der code aus dem TriBorg-Player:

Code: Alles auswählen

  ifnot (ios.admgetspec & SIDMASK)
    ios.sddmset(ios#DM_USER)                            'u-marker setzen
    dmu := ios.sddmget(ios#DM_USER)                     'usermarker von administra holen
    ios.admload(string("triborg.adm"))
    ios.sddmput(ios#DM_USER,dmu)                        'usermarker wieder in administra setzen
    ios.sddmact(ios#DM_USER)                            'u-marker aktivieren
Das problem ist ja das Laden eines neuen Codes in Administra, wobei der neue Code ja das Medium neu mounted und damit in der Root landet. Setzt man vorher den Usermarker, speichert diesen und stellt ihn nach der Ladeprozedur wieder her, landet man wieder im Benutzerverzeichnis.

Wäre für das Basic auch eine tolle Sache. Was noch auf meinem Wunschzettel steht: ein Basickommando um das Verzeichnis zu wechseln - hab ich nicht gefunden oder übersehen...

Hallo Drohne235!

Laderoutine kann ich anpassen, sollte kein Problem sein.
Der CD-Befehl ist in der neuen Version schon vorhanden, da ich bei diversen Tests den Verzeichniswechsel ebenfalls benötigt habe.
Es werden auch viele andere Möglichkeiten der Dateibehandlung enthalten sein (Dateifilterung, Attributsabfrage usw.)

Bin übrigens zur Zeit dabei, einen DMP-Player mit Mausbedienung in Basic zu schreiben, der auch bis auf ein paar Kleinigkeiten schon ganz gut funktioniert (guckst Du Bild?). Außerdem entsteht ein Benutzerhandbuch, da einige der neuen Befehle in der integrierten Hilfe nicht hinreichend erklärt werden können (sind einfach zu umfangreich).

Gruß
Zille9
Dateianhänge
DMPPLAY.JPG
Computer lösen die Probleme, die man ohne sie gar nicht hätte!
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Erste Bilder vom TRIOS-BASIC 2.0

Beitrag von drohne235 »

Yahh, das sieht cool aus! :DAUMENHOCH Mit solchen Beispielprogrammen kann man auch gut das Basic selbst weiterentwickeln, weil man so am besten sieht, was dem Basic noch fehlt.

Was man noch machen könnte (nur mal so angedacht): Parameterübergabe von Regime aus, so das man das Basic als Batchprozessor mißbrauchen kann. Man könnte dann zum Beispiel "basic machirgendwas.bas" aufrufen um irgendwelche Aufgaben zu automatisieren. In diesem Fall könnte man per Paramter das Laden des Administra- und Bellatrix-Codes bei Bedarf abschaltbar machen für Basicprogramme, welche diese Möglichkeiten nicht brauchen - dann geht das Laden schneller.

Nochmal eine andere Frage/Idee: Braucht das Basic unbedingt einen eigenen Bellatrix-Code? Die Fensterroutinen zumindest sind ja jetzt auch im normalen Code von TriOS schon drin!? Vielleicht könnte man die Funktionalitäten wieder zusammenwachsen lassen, würde die Ladezeit deutlich verbessern. Ich habe gesehen, das der Player selbst definierte Zeichen verwendet. Vielleicht könnte man diese Funktion ja in den normalen TriOS-Code mit übernehmen, wäre ja ganz allgemein eine praktische Sache.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
zille9
Beiträge: 399
Registriert: Do 4. Okt 2012, 21:56
Wohnort: Berlin

Re: Erste Bilder vom TRIOS-BASIC 2.0

Beitrag von zille9 »

drohne235 hat geschrieben:Yahh, das sieht cool aus! :DAUMENHOCH Mit solchen Beispielprogrammen kann man auch gut das Basic selbst weiterentwickeln, weil man so am besten sieht, was dem Basic noch fehlt.

Was man noch machen könnte (nur mal so angedacht): Parameterübergabe von Regime aus, so das man das Basic als Batchprozessor mißbrauchen kann. Man könnte dann zum Beispiel "basic machirgendwas.bas" aufrufen um irgendwelche Aufgaben zu automatisieren. In diesem Fall könnte man per Paramter das Laden des Administra- und Bellatrix-Codes bei Bedarf abschaltbar machen für Basicprogramme, welche diese Möglichkeiten nicht brauchen - dann geht das Laden schneller.

Nochmal eine andere Frage/Idee: Braucht das Basic unbedingt einen eigenen Bellatrix-Code? Die Fensterroutinen zumindest sind ja jetzt auch im normalen Code von TriOS schon drin!? Vielleicht könnte man die Funktionalitäten wieder zusammenwachsen lassen, würde die Ladezeit deutlich verbessern. Ich habe gesehen, das der Player selbst definierte Zeichen verwendet. Vielleicht könnte man diese Funktion ja in den normalen TriOS-Code mit übernehmen, wäre ja ganz allgemein eine praktische Sache.
Coole Idee, aber noch bin ich nicht ganz mit dem fertig, was ein komplettes Basic ausmacht (aus meiner Sicht). Wenn dann noch Ressourcen übrig sind, kann man ja mal mit solchen Gimmicks experimentieren. :LACHEN

Um auf Deine Frage mit dem Grafiktreiber zu kommen, ja leider ist der jetzige in TRIOS verwendete Grafiktreiber für das neue Basic zu lau, hat zwar eine höhere Auflösung (1024x768 statt 640x480) aber gerade da liegt das Problem. Der von mir verwendete Grafiktreiber benutzt 64 Farben (glaub ich) und besitzt einen vollwertigen Mauszeiger (den man auch ändern kann) und erlaubt Tile-Grafiken bis 256x256 Pixel (vorausgesetzt ich muss die Größe nicht wegen Platzmangel verkleinern).
Sollte dies alles mit dem Trios-Treiber möglich sein, steht der Fusion sicher nichts im Wege. Ich hab mich mit dem Treiber auch noch nicht so intensiv auseinandergesetzt, da PASM noch nicht meine volle Verständnisfähigkeit erreicht hat (bin leider Assembler Newbie). :roll:

Gruß
zille9
Computer lösen die Probleme, die man ohne sie gar nicht hätte!
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Erste Bilder vom TRIOS-BASIC 2.0

Beitrag von drohne235 »

Wir können ja zum KC-Treffen mal ein wenig orakeln. :)
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
zille9
Beiträge: 399
Registriert: Do 4. Okt 2012, 21:56
Wohnort: Berlin

Re: Erste Bilder vom TRIOS-BASIC 2.0

Beitrag von zille9 »

Hallo Drohne 235!

Auf jeden Fall, bin ja relativ neu im Propeller-Programming und über dessen Möglichkeiten mehr als begeistert. Man muss schon aufpassen, das man vor lauter Ideen nicht einen Hirninfarkt erleidet. :LACHEN
Bin jedenfalls mächtig gespannt auf die Hive-Väter. :D

Gruß
zille9
Computer lösen die Probleme, die man ohne sie gar nicht hätte!
Antworten