Volksforth und Grafik.


Volksforth und Grafik.

von wichtel » So 25. Dez 2011, 13:08
Ich programmiere neben ACTION! auch das Volksforth , welches ich durch eine Zeitschrift von hier entdeckt habe: http://www.forth-ev.de/filemgmt/viewcat.php?cid=2

Es ist auf so einen kleinen Atari(Altirra) eine schöne Sache neben Action!.
Ich habe in kurzer Zeit mit dem Volksforth eine Grafikseite(DPL) erstellen können, wo ich eine selbsterstellte 4-Farben-Grafik (160x96)mit einem Forth-Word lade und dann auch noch dort eine PM bewege mit dem Joystick und einer Kollisionsüberprüfung.
PS : Auch alle Systemfloat-Routinen sind für das Volksforth umgesetzt worden und funktionieren tadellos:
http://atariwiki.strotmann.de/wiki/Wiki ... Math%20ROM

Nun meine Hauptfrage !

Ich habe durch mehrmaligen Lesen des Systemhandbuches herausgefunden, das die Grafikbefehle :
PLOT, DRAWTO, FILL usw im System des Atari800XL vorhanden sind, ohne das man dieses Grafikrad neu erfinden muss. Habe rumgesucht und nichts brauchbares gefunden im Systemhandbuch, wo dieses ausführlich beschrieben ist.

Dann habe ich mal die ACTION! Sytemdatei zerpflückt und siehe da, dort werden die internen Grafikbefehle benutzt, aber als typische INLINE-ASM deklariert den ich nicht interpretieren kann :

Code: Alles auswählen
MODULE ; GRAPHIC ROUTINES

BYTE ARRAY dev_S="S:", dev_E="E:"

PROC Graphics=*(BYTE m)
[$48$A9$0$20 Close$CA9$A385$A9$0$AEdev_E$ACdev_E+1$20Open
$6A9$20 Close$68$A485$3029$1C49$A385$6A9$AEdev_S$ACdev_S+1$4COpen]

PROC Position=*(CARD c,BYTE r)[$5B85$5C86$5A84]
PROC Pos1=*()[$5585$5686$5484$60]

PROC GrIO=*()
[$20Pos1$AD$2FD$8D$2FB$ADdev_S$A585$ADdev_S+1$A685$A9$0$A385$A485$6A9$60]

PROC DrawTo=*(CARD c,BYTE r)
[$20GrIO$11A0$4CXIO]

BYTE FUNC Locate=*(CARD c,BYTE r)
[$20Position$6A9$4CGetD]

PROC Plot=*(CARD c,BYTE r)
[$20Pos1$6A9$AE$2FD$4CPutD]

PROC SetColor=*(BYTE reg,hue,lum)
[$5C9$1610$A085$98$F29$A285$8A$A0A$A0A$A205$A0A6$9D$2C4$9D$D016$60]

PROC Fill=*(CARD c,BYTE r)
[$20GrIO$12A0$4CXIO]


Nun mein Bitte :

Wer kann diese Daten oben umsetzen in einem ASM-Sourcecode, damit man die Grafikbefehle nutzen kann in ASM und dem Volksforth?

Oder wer kann hier im Forum mal dafür eine gute nachvollziehbare Einweisung geben?

Es wäre nett, wenn dieses Volksforth auf dem Atari ein neues Heim findet.

Angefangen hat es hier je mal mit dem Xforth, wo viel Zeit reingesteckt wurde.
Dieses XForth hat den nachteil, das man da keinen genügend grossen Grafikspeicher reservieren kann für eine Grafikseite die von der DPL festgelegt wird. Auch das neu Compilieren des XForth mit Speicherhöherlegung funktioniert nicht.

Eigentlicht ist dieses Volksforth ausgewachsen und zukunftsicher, weil man die Programme extern anfertigen kann und laden kann.


Frohe
Weihnachten

Re: Volksforth und Grafik.

von eda70 » So 25. Dez 2011, 23:18
Vielleicht findest du >>hier<< was.

Re: Volksforth und Grafik.

von wichtel » So 25. Dez 2011, 23:57
Nein, da habe ich nichts gefunden.
Dieses GForth habe ich mal getestet, ist noch mit dem 512-Zeichen-Editor pro Screen.
Man kann die Dateien auf Disk nicht lesen, weil der nur mit Sektoren arbeitet.

Mit geht es eigentlich auch nicht direkt um das Forth, mir reicht es, wenn einer mal mit ASM-Befehlen erklären kann,wie man programmiermässig an die Grafikbefehle rankommt.

Wichtel

Re: Volksforth und Grafik.

von dl7ukk » Mo 26. Dez 2011, 11:32
Hallo wichtel,

von mir ein herzlich Willkommen :!: im Abbuc-Forum.

wichtel hat geschrieben:Nein, da habe ich nichts gefunden.
Dieses GForth habe ich mal getestet, ist noch mit dem 512-Zeichen-Editor pro Screen.
Man kann die Dateien auf Disk nicht lesen, weil der nur mit Sektoren arbeitet.

Mit geht es eigentlich auch nicht direkt um das Forth, mir reicht es, wenn einer mal mit ASM-Befehlen erklären kann,wie man programmiermässig an die Grafikbefehle rankommt.

Wichtel


Für Forth ist Carsten = cas hier der richtige Ansprechpartner. Entweder Du wartest ein paar Tage, er schaut oft hier rein oder Du schickst ihm eine -= PN =-. :D

Weihnachsgrüße!!

Re: Volksforth und Grafik.

von eda70 » Mo 26. Dez 2011, 12:02
wichtel hat geschrieben:Mit geht es eigentlich auch nicht direkt um das Forth, mir reicht es, wenn einer mal mit ASM-Befehlen erklären kann,wie man programmiermässig an die Grafikbefehle rankommt.

Das ist eigentlich im Profibuch recht gut erklärt (Kapitel 2.5). Die aktuelle und erweiterte Abbuc-Edition ist als Download auf der Startseite zu finden.

Re: Volksforth und Grafik.

von dl7ukk » Mo 26. Dez 2011, 12:10
Hi,

ich habe mir nochmal Deinen ersten Post angesehen. Allerdings bin ich nicht fit im Programmieren :(

wichtel hat geschrieben:Ich habe durch mehrmaligen Lesen des Systemhandbuches


Meinst Du das Profibuch ??

wichtel hat geschrieben:…… das die Grafikbefehle :
PLOT, DRAWTO, FILL usw im System des Atari800XL vorhanden sind, ohne das man dieses Grafikrad neu erfinden muss. Habe rumgesucht und nichts brauchbares gefunden im Systemhandbuch, wo dieses ausführlich beschrieben ist.


lt. Profibuch lassen sich die Befehle DRAWTO und FILL über die CIO Aufrufe des Bildschirmtreibers benutzen. Und die CIO hat ein eigenes Kapitel im Profibuch( 2.10). Ich selber habe das noch nie gemacht, aber die CIO wird ja für alle Gerätetreiber (fast gleich) benutzt.

Das ATARI Profibuch
2.5
ABBUC e.V. (P) 2010
Bildschirmtreiber

Zur Ansteuerung der Grafik verfügt das Betriebssystem des ATARI über
einen integrierten Gerätetreiber (S:). Er unterstützt eine Vielzahl ver-
schiedener Grafikmodi im Schreibe- und Lesebetrieb.

Folgende CIO-Funktionen werden vom Bildschirmtreiber unterstützt:

OPEN
CLOSE
GET CHARACTERS
GET RECORD
PUT CHARACTERS
PUT RECORD
GET STATUS (Dummy-Funktion)

Zusätzlich werden folgende Kommandos unterstützt:

DRAW
FILL



Ich hoffe das hilft Dir ein wenig.

Re: Volksforth und Grafik.

von wichtel » Mo 26. Dez 2011, 17:29
Ja, danke.

Das habe ich gelesen. Es beschreibt den Befehlsumfang, geht aber nicht auf die Programmierung für die Grafik intensive ein.


Wichtel