X-FORTH von Carsten Strotmann zum neuem Leben erwecken...


X-FORTH von Carsten Strotmann zum neuem Leben erwecken...

von wichtel » So 8. Jan 2012, 14:10
X-FORTH von Strotmann :
http://atariwiki.strotmann.de/wiki/Wiki ... ge=X-FORTH

Ich habe jetzt auch mal dieses X-FORTH getestet.
Ist als ASM-Source und ATR verfügbar:
http://atariwiki.strotmann.de/wiki/Wiki.jsp?page=Index unter "X".

Den Source-Code kann man mit dem atasm.exe compilieren , oder auch nur mal anschauen wie er aufgebaut ist. Ich habe ihn mit atasm.exe als : XFTH.65o compiliert und das Forth funktioniert.

Ich habe hier ein FORTH-Programm welches auch mit dem X-FORTH läuft.
XFTH.65o starten dann mit --- INCLUDE" D:XJOYTEX.F --- das Programm laden, danach INIT eingeben und die Grafik laden mit -- READFILE" D:MULBI.BIN --- dann den Weg den die PM mit den Joystick zurücklegen soll eingeben zb : 100 BEWEGE (RETURN drücken) dann den Joystick bedienen, wenn die PM 10x mit der Grafik colligiert ist oder die Wegpunkte verbraucht sind , ist es zu ende.

Beim Laden des Programmes ist "HEX" vorgegeben, man kann diese Basis dann auch ändern mit 10 BASE ! auf Decimal umstellen.

Wer hat dann mal interesse mit FORTH etwas zu programieren ? Vielleicht das X-FORTH von Carsten wieder auf die Beine helfen, da wurde ja viel Arbeit reingesteckt (danke). Er kann uns bestimmt auch weiterhelfen , wenn es eine Sackgasse gibt ..... Mit den festen Floatroutinen im ATARI800XL hat sich erledigt, die laufen jetzt bei mir auch in dem X-FORTH.

Bitte mal melden, ich würde mich freuen.

Der Text von meinem Programm.
Es wird eine DPL erstellt (160x96 mit 3-Farben), 2 Bit ist ein Plotpunkt und 2 Scanlinien hoch.
Ich stelle nur 80 Grafikzeilen dar , den Rest von 16 Zeilen bzw 32 für den Textmodus mit 4 Textzeilen.
Da es von Cas noch keinen genauen Plan gibt über den Speicher für den Returnstack und Datenstack , habe ich den obersten Bereich genommen für den Grafikbereich (das X-Forth endet bei B800) A000.
Da die Grafik hier im Modus den Wert von 4096 Byte nicht überschreitet, braucht man keinen zweite DPL anlegen. Die PM lege ich ab B000.

Für den Textbereich (4 Zeilen) habe ich ein bisschen getrickst. Er beginnt ja bei BC40.
Mit der Speicherzelle 2BF kann ich die 4 letzten Textzeilen festlegen , die dann dementsprechend bei BF60 beginnen. In diesen 4 Zeilen wird der Textmodus vom X-Forth weiter benutzt.
In den Grafikkbereich kann man jetzt ein Bild reinladen mit der Grösse 160x80 in 3 Farben.

Code: Alles auswählen
HEX

022F CONSTANT SDMCTL
026F CONSTANT GPRIOR
D000 CONSTANT HPOS0
D01D CONSTANT GRACTL
D407 CONSTANT PMBASE
230  CONSTANT SDLSTL
D40B CONSTANT VCOUNT
A000 CONSTANT SCREEN0
BF60 CONSTANT SCREEN1

02C0 CONSTANT PCOLR0
02C4 CONSTANT COLOR0
02C5 CONSTANT COLOR1
02C6 CONSTANT COLOR2
02C8 CONSTANT COLOR4
0278 CONSTANT STICK0
D004 CONSTANT P0PF
D01E CONSTANT HITCLR

00 VARIABLE XPOS
00 VARIABLE YPOS
00 VARIABLE TESTXY
00 VARIABLE MILLI
00 VARIABLE ODLIST
00 VARIABLE COLOR0O
00 VARIABLE COLOR1O
00 VARIABLE COLOR2O
00 VARIABLE COLOR4O
00 VARIABLE ZC
00 VARIABLE ZZ
00 VARIABLE ZA
00 VARIABLE ZA1

00 VARIABLE DLIST -2 ALLOT
70 C, 70 C, 70 C,
4D C,  SCREEN0  ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D ,  0D C,
42 C,  SCREEN1  ,
0202 , 02 ,
41 C, DLIST ,

00 VARIABLE SPRITE0 9 ALLOT
FF SPRITE0 C!
81 SPRITE0 1 + C!
81 SPRITE0 2 + C!
81 SPRITE0 3 + C!
81 SPRITE0 4 + C!
81 SPRITE0 5 + C!
81 SPRITE0 6 + C!
81 SPRITE0 7 + C!
FF SPRITE0 8 + C!

: GCLS SCREEN0 C80 0 FILL ;

: INITPM
   SDMCTL C@ 1C OR SDMCTL C!
   3 GRACTL C!
   1 GPRIOR C!
   B0 PMBASE C! ;

: DELAY
   ZZ @ 0 DO
   LOOP ;

: PM0POS
   B400 FF 0 FILL
   SPRITE0 B400 YPOS C@ + 9 CMOVE
   XPOS C@ HPOS0 C!
   DELAY ;

: READFILE"
  FILE" R/O OPEN-FILE
  128 < IF
    SOURCE-ID !
    SCREEN0 C80 SOURCE-ID @ READ-FILE
    SOURCE-ID @ CLOSE-FILE
    0 SOURCE-ID !
  ELSE
    ." Error open file"
  THEN ;

: BEWEGE
  ZA1 !

   BEGIN

      FF ZZ !

      STICK0 C@
      DUP 0E = IF YPOS C@ 1 - YPOS C! 1 TESTXY C! 1 ZA @ + DUP ZA ! . CR PM0POS THEN
      DUP 0D = IF YPOS C@ 1 + YPOS C! 2 TESTXY C! 1 ZA @ + DUP ZA ! . CR PM0POS THEN
      DUP 07 = IF XPOS C@ 1 + XPOS C! 3 TESTXY C! 1 ZA @ + DUP ZA ! . CR PM0POS THEN
          0B = IF XPOS C@ 1 - XPOS C! 4 TESTXY C! 1 ZA @ + DUP ZA ! . CR PM0POS THEN

      P0PF C@ 0 > IF
      500 ZZ !
    TESTXY C@ 1 = IF YPOS C@ 4 + YPOS C! 1 ZC @ + ZC !  PM0POS THEN
      TESTXY C@ 2 = IF YPOS C@ 4 - YPOS C! 1 ZC @ + ZC !  PM0POS THEN
      TESTXY C@ 3 = IF XPOS C@ 4 - XPOS C! 1 ZC @ + ZC !  PM0POS THEN
      TESTXY C@ 4 = IF XPOS C@ 4 + XPOS C! 1 ZC @ + ZC !  PM0POS THEN
      THEN

    ZC @ A = IF ZA1 @ ZA ! THEN

      1 HITCLR C!
      0 TESTXY C!
   ZA @ ZA1 @ = UNTIL

  0 ZC !
  0 ZA !
  0 ZA1 !
   ." wegpunkte/colli erreicht ! " CR ;

: INIT
   INITPM

   70 PCOLR0 C!
   0C COLOR4 C!
   DLIST SDLSTL !
   4 2BF C!

   32 DUP XPOS C! YPOS C! PM0POS
   0 ZC !
   0 ZA !
   0 ZA1 ! ;



wichtel

Re: X-FORTH von Carsten Strotmann zum neuem Leben erwecken..

von nortobor » Mo 9. Jan 2012, 01:39
Hallo,
ich weis nicht vieviele Forth-Profis du hier im ABBUC-Forum finden wirst.
Wenn du daran echt interessiert bist --- biete mal was an.

Ne`nicht halbferige Programme vom Forth-Profi sondern erkläre mal für ABBUCer--
Forth --eine Sprache für sich , nicht fest --ich erweitere selbst , Steuerung von ..
Wenn du CS -FORTH zum neuem Leben erwecken willst, gibt es meiner Meinung nach zwei Möglichkeiten
-- wie bisher als doch recht profitioneller Programmer mit speziellen Fragen zum ATARI-EMULATOR ohne Interesse an echter ATARI-Hardware aufzutreten

--- oder Du bietest deine Vorkenntnisse und dein Interesse an alten erhaltenswerten Programmiersprachen an, die für unseren ATARI oder auch für den PC interessant sind.
Wenn du nur Forth-Profis suchst --- ok vergiß meine Worte.
Wenn nicht, hast du es drauf u.a. Forth mal einfach verständlich in deutsch Interessierten nahezubringen und auch zu beschreiben, wie es mit echter ATARI-8 Bit Hardware geht ?

Gruß vom alten EDVA-Profi (Elektronische Daten Verarbeitungs Anlage)

Ralf

Re: X-FORTH von Carsten Strotmann zum neuem Leben erwecken..

von wichtel » Mo 9. Jan 2012, 11:33
Hallo, grüss dich.

Ich habe hier beim durchstöbern geschaut und gelesen, das einige mal vor längerer Zeit beim Treffen in .... gesagt hatten, das die Sprache FORTH interessant sei und CAS hatte auch mal einen kleinen Leckerbissen zum Vergleich mit Basic reingebracht mit dem Hinweiss, das weitere Folgen kommen werden in FORTH.

Wahrscheinlich hat er diese Aussage wegen Mangel an Interesse und Nachfragen eingestellt, kann ich verstehen.
Mir ist es wurscht, wenn keiner Lust dazu hat. Ich freue mich auf jedenfall wie schön es geht und blühe damit wieder auf. Jetzt weiss ich auf jedenfall , das ich hier nichts mehr reinstellen brauch.

Wenn nicht, hast du es drauf u.a. Forth mal einfach verständlich in deutsch Interessierten nahezubringen und auch zu beschreiben, wie es mit echter ATARI-8 Bit Hardware geht ?


Ich programmiere nicht mehr mit meinem ATARI, sondern mit dem Altirra , weil ich mich für das innenleben der Hardware interessiere, wie die Bytes umklappen usw. und das Zügig, ich möchte die Ergebnisse immer möglichs schnell sehen. Den Testlauf mache ich nur noch auf den Atari, mehr nicht.

PS: Das FORTH habe ich wieder als Alternative zu ACTION! mal angefangen. Die Ergebnisse von der Geschwindigkeit sind identisch, bloss im FORTH habe ich den gesamten Speicher besser in Griff. Nur die FORTH-Syntax ist für Anfänger gewöhnungsbedürftig. Ich habe 1982 mal das erste FORTH programmiert ....dann war 25 jahre schicht...jetzt fängt man wieder an... :D

Ich habe mich auch schon gewundert hier im Programmierforum, wie Einsam es ist.
Wie ich sehe gab es mal einen kurzen Höhenflug mit ACTION! und dann wieder der grosse Knick nach unten.
Vielleicht haben die Menschen jetzt andere Sorgen, im Jahr 2012 wird vielen das Wasser im wahrsten Sinne des Wortes bis zum Halse stehen. Da wird wahrscheinlich noch weniger gemacht im Hobby.
Ja,ja , die lieben Sorgen.

Ich werde dann aber doch einmal oder zweimal in der Woche hier reinschauen, ob es weitere Interessenten gibt.


Gruss von einem noch älteren EDV'ler

Re: X-FORTH von Carsten Strotmann zum neuem Leben erwecken..

von wichtel » Di 10. Jan 2012, 23:38
Na gut,, wer möchte denn dieses VOLKSFORTH mit programmieren und durchtüfteln ?

Wichtel

Re: X-FORTH von Carsten Strotmann zum neuem Leben erwecken..

von cas » Mo 23. Jan 2012, 17:31
wichtel hat geschrieben:Na gut,, wer möchte denn dieses VOLKSFORTH mit programmieren und durchtüfteln ?

Wichtel


Na ich natürlich, wenn ich wieder Zeit habe ..... dann geht es weiter.

-- Carsten