Grafikmodus G0 in PropForth?

Fragen zu Programmiersprachen und Software für den Hive und die Propellerchips
Antworten
U-Held
Beiträge: 69
Registriert: Mi 14. Dez 2011, 22:05

Grafikmodus G0 in PropForth?

Beitrag von U-Held »

Hallo,

da fertige Spin-Programme ausführen auf Dauer langweilig wird, dachte ich mir, schreib' doch mal 2-dots.spin aus tbox-1 in PropForth auf!

Ist scheinbar gar nicht so schwer:

Code: Alles auswählen

: inner  \ ( n -- )
  11 0 do
    i 4* 4* 8 + over bel:g0plot
  loop drop ;

: tpix
  c" g0key.bel" bel:load
  bel:g0clear 14 bel:g0width 1 bel:g0color
  15 0 do i 4* 4* 8 + inner loop
  key
  ." fertig"
  c" vga.bel" bel:load
  ;
...dachte ich. (Die 4 g0-Wörter habe ich aus reg-ios übernommen.) Leider bekomme ich noch nicht einmal den G0-Treiber g0key.bel geladen: Irgendetwas wird geladen, der VGA-Bildschirm wird dunkel, die Tastatur wird initialisiert -- und plötzlich ist der VGA-Modus wieder da. Dass ich tpix im system-Verzeichnis starten muss, weiß ich schon. Ansonsten käme ja "ERR : 5" (=file not found).

Weiß irgendjemand Rat?

Grüße vom U-Held
Dateianhänge
tpix.f
(727 Bytes) 780-mal heruntergeladen
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Grafikmodus G0 in PropForth?

Beitrag von drohne235 »

Muss mal schauen, glaube bel:load funktioniert nicht mehr korrekt wegen einer Änderung im Bellatrix-Code. Ich brauche nur mal einen Tritt um den Hive nach den Feiertagen wieder in der guten Stube aufzubauen, damit ich mal nachschauen kann... ;)
"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
U-Held
Beiträge: 69
Registriert: Mi 14. Dez 2011, 22:05

Re: Grafikmodus G0 in PropForth?

Beitrag von U-Held »

Nachschauen? Das wäre nett. Muss nicht sofort sein, ich kann mich gerade ganz gut mit anderen Dingen beschäftigen. ;-)

Grüße...
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Grafikmodus G0 in PropForth?

Beitrag von drohne235 »

Also, der Grund warum bload bzw. bel:load unter PropForth nicht mehr funktionierte war eine veränderte Funktionsnummer in Bellatrix. Ich habe das angepasst - die beiden geänderten Forth-Dateien befinden sich im Anhang und kommen auch im nächsten Update von TriOS. So kann man als Test einfach mal den Matrix-Bildschirmschoner interaktiv mit "bload matrix.bel" aufrufen - das sollte mit den geänderten Dateien funktionieren.

Ich habe deine tpix mal bezüglich der Wortnamen ein wenig angepasst, ich denke wenn es funktioniert kann man daraus dann gut eine g0.lib für PropForth extrahieren. Aaaaber zum endgültigen Glück fehlen noch zwei Dinge:

1. Der Screen in Bellatrix muss noch von Regnatix aus initialisiert werden. In dem Testprogramm g0test.spin übernimmt das die Funktion "screenset1". Im Prinzip benötigt man also noch ein Wort analog dieser Funktion, erst dann kann der eigentliche Treiber in Bella gestartet werden.

2. Mit den Funktionen g0:static und g0:dynamic muss dann in Bella der Treiber entweder im statischen oder dynamischen Modus gestartet werden. Diese beiden Funktionen hab ich schon eingefügt.

Wie unterscheiden sich die Modis?:

Dynamischer Modus: G0 arbeitet dabei mit zwei Flipscreens, um Animationen besser darzustellen. Das bedeutet es wird immer in einen "Zeichenpuffer" geschrieben und zum Schluss eines Frames dieser Puffer mit g0:copy in den eigentlichen Screen übertragen. Einige der Tests in g0test oder auch der TriBorg-Player verwendet diese Methode.

Statischer Modus: Dabei schreibt der G0-Treiber in den gleichen Screen, welcher auch gleichzeitig dargestellt wird - halt ein einfacher klassischer Pixelscreen.
Dateianhänge
tpix.f
(793 Bytes) 763-mal heruntergeladen
tools.mod
(4.04 KiB) 809-mal heruntergeladen
bel.lib
(2.12 KiB) 794-mal heruntergeladen
"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
U-Held
Beiträge: 69
Registriert: Mi 14. Dez 2011, 22:05

Re: Grafikmodus G0 in PropForth?

Beitrag von U-Held »

Hallo drohne235,

danke für die Tips. Ich glaube, jetzt hab' ich's. Zum Nachvollziehen:

load ari.lib (aus dem system-Verzeichnis)
load bel.lib (aus dem Anhang)
load g0.lib (aus dem Anhang)
load tpix.f
cd .. (falls nötig)
cd system (dto.)
tpix

Was man auch noch sieht: Das Wort rnd ist, in schneller Folge aufgerufen, alles andere als zufällig.

Grüße vom U-Held
Dateianhänge
tpix.f
(869 Bytes) 775-mal heruntergeladen
g0.lib
(1.05 KiB) 858-mal heruntergeladen
bel.lib
(2.23 KiB) 811-mal heruntergeladen
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Grafikmodus G0 in PropForth?

Beitrag von drohne235 »

Tolle Sache, funktioniert! :DAUMENHOCH Und ich muss sagen, es sieht in Forth recht übersichtlich aus - fast schöner als in Spin.
"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
Antworten