Autor Thema: Grafik per ACSI/DMA?  (Gelesen 1514 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Online gh-baden

  • Benutzer
  • Beiträge: 1.967
Grafik per ACSI/DMA?
« am: Mi 17.03.2021, 10:38:34 »
Hallo,

gab’s nicht mal eine externe Box, um per ACSI einen Grafikausgang an den ST zu hängen? WIMRE war das dadurch ausgebremst, dass es in der Frühzeit der sauberen Programmierung war, und daher der Treiber den Grafikspeicher aus dem RAM dauernd umkopieren mußte, was das reichlich träge macht.

Wenn man dagegen einen VDI-Treiber hätte, analog einer „modernen“ Grafikkarte, sähe das schon anders aus. Ich kam drauf, weil nebenan hat akuker im Projekt RaSCSI nun einen Reifegrad erreicht (Massenspeicher als Image auf einem RasPi, der per speziellem kleinem Hat am SCSI-Bus hängt, und damit Massenspeicher „emuliert“, und „durchreichen“ des Ethernet-Interfaces des Pis zum Hostcomputer), dass nun andere (jcs) darauf aufsetzen und einen Framebuffer am Mac hängen haben, per SCSI zum Raspi, der das Bild per HDMI ausgibt.

Das könnte man auch schöner haben ohne Framebuffer-Kopiererei … und da wollte ich gucken, wie das damals genau war.

Aber ich erinnere mich nicht mehr an den Namen der „DMA-Grafikkarte“. Jemand?
Wider dem Signaturspam!

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.012
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: Grafik per ACSI/DMA?
« Antwort #1 am: Mi 17.03.2021, 12:41:34 »
Nie von so etwas gehört oder gelesen aber das heißt ja nichts ...

Ungewöhnliche Grafikkarte am ST war die Odin Erweiterung.

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.248
Re: Grafik per ACSI/DMA?
« Antwort #2 am: Mi 17.03.2021, 13:02:48 »

Das könnte man auch schöner haben ohne Framebuffer-Kopiererei … und da wollte ich gucken, wie das damals genau war.

Die kopiererei kannst du vermutlich nur vermeiden, indem du für beide Seiten einen Treiber schreibst: einen auf Atari-Seite der die VDI-kommandos an ACSI schickt (dürfte nicht mal schwer sein, ist im wesentlichen das gleiche wie metafile Ausgabe, nur daß man sie evtl. buffern musst damit sie Sektor-weise geschrieben werden können), und einen auf der "anderen" Seite (vermutlich RasPI was dann da dran hängt?) der die Kommandos auswertet, umsetzt, und in einen Framebuffer schreibt der dann dort ausgegeben wird. Auch das sollte gar nicht mal so schwer sein (muss ja vermutlich am Anfang erst mal funktionieren und nicht gleich hoch-optimiert sein).


Offline czietz

  • Benutzer
  • Beiträge: 3.570
Re: Grafik per ACSI/DMA?
« Antwort #3 am: Mi 17.03.2021, 14:32:24 »
Am Atari hat der CosmosEx wimre doch eine Screencast-Funktion, die das (schlichtere) Prinzip des Framebuffer-über-ACSI-Kopierens umsetzt. Habe ich schon einmal im Netz gesehen, finde ich aber gerade nicht wieder.

Online gh-baden

  • Benutzer
  • Beiträge: 1.967
Re: Grafik per ACSI/DMA?
« Antwort #4 am: Mi 17.03.2021, 17:05:25 »
Die kopiererei kannst du vermutlich nur vermeiden, indem du für beide Seiten einen Treiber schreibst: einen auf Atari-Seite der die VDI-kommandos an ACSI schickt (dürfte nicht mal schwer sein, ist im wesentlichen das gleiche wie metafile Ausgabe, nur daß man sie evtl. buffern musst damit sie Sektor-weise geschrieben werden können), und einen auf der "anderen" Seite (vermutlich RasPI was dann da dran hängt?) der die Kommandos auswertet, umsetzt, und in einen Framebuffer schreibt der dann dort ausgegeben wird. Auch das sollte gar nicht mal so schwer sein (muss ja vermutlich am Anfang erst mal funktionieren und nicht gleich hoch-optimiert sein).

Das meinte ich. Für den Mac gab es das für QuickDraw, das spielt prinzipiell ungefähr auf der Höhe von VDI. "ScuzzyGraph" war eine externe Box, die per SCSI angeschlossen dann RGB-Outputs bot für 1024x768 in 256 Farben, und die wurde mit einem spezifischen Treiber angesteuert, der die QD-Kommandos eben per SCSI verschickte. Die Gegenstelle in der SCSI-Box war mit einem 68000/8 mit bissl lokalem RAM und einem VDC realisiert.

Den SCSI-Adapter für Raspi samt Raspi hätte ich hier, wenn ich den verleihen soll … :-)
Wider dem Signaturspam!

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.248
Re: Grafik per ACSI/DMA?
« Antwort #5 am: Mi 17.03.2021, 18:01:06 »
Nachteil einer solchen Lösung wäre natürlich, daß du dann die Ausgaben erstmal *nur* auf dem RasPi hast. Auf Twitter war eine Lösung zu sehen, wo der Bildschirm quasi gespiegelt wird. Dazu müsste man die Ausgaben auch an den ursprünglichen Bildschirm-Treiber durchreichen.
Denke mal, so eine Lösung (mit framebuffer kopieren) ist auf jedenfall einfacher zu realisieren. Da der Mac ja auch nur einen 68000 hat, müsste das auch von der Performance her irgendwie gehen. Auf 50 Frames/sec wird man dann wohl allerdings nicht kommen.

Offline KarlMüller

  • Benutzer
  • Beiträge: 412
Re: Grafik per ACSI/DMA?
« Antwort #6 am: Mi 17.03.2021, 18:23:32 »
gab’s nicht mal eine externe Box, um per ACSI einen Grafikausgang an den ST zu hängen?
Neben dem genanntem Odin fällt mir zur Zeit nur noch Omega Cad ein. Das wurde allerdings an den ROM Port angeschlossen.
https://www.stcarchiv.de/stc1988/01/omega-cad

Online gh-baden

  • Benutzer
  • Beiträge: 1.967
Re: Grafik per ACSI/DMA?
« Antwort #7 am: Mi 17.03.2021, 19:18:55 »
Nachteil einer solchen Lösung wäre natürlich, daß du dann die Ausgaben erstmal *nur* auf dem RasPi hast. Auf Twitter war eine Lösung zu sehen, wo der Bildschirm quasi gespiegelt wird.

Beim Mac geht Multi-Monitor-Betrieb. Am ST geht das halt nicht. Aber das ist ja nicht anders, wenn man eine ET4000 einbaut -- den ST-Videomodus verliert man für die tägliche Arbeit in GEM dann ja auch.

Dazu müsste man die Ausgaben auch an den ursprünglichen Bildschirm-Treiber durchreichen.
Denke mal, so eine Lösung (mit framebuffer kopieren) ist auf jedenfall einfacher zu realisieren. Da der Mac ja auch nur einen 68000 hat, müsste das auch von der Performance her irgendwie gehen. Auf 50 Frames/sec wird man dann wohl allerdings nicht kommen.

Am Mac Plus war’s schon eher laggy, so bei geschätzt 10fps. Der ist zwar eine Ecke langsamer als der ST, aber umkopieren hat halt auch den Nachteil, dass man über ST-Hoch nicht hinauskommt. Schick bei der Ausgabe per Raspi-HDMI wäre ja, dann bspw. 1024x768 in monochrom oder so haben zu können. Oder auch in 16 Farben.
Wider dem Signaturspam!

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.012
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: Grafik per ACSI/DMA?
« Antwort #8 am: Mi 17.03.2021, 19:27:23 »
MATRIX hatte mal eine Dual Monitor Betrieb Lösung meine ich mit Werkzeug Palette auf dem SW Monitor und das Bild auf dem Farbschirm. Und für Calamus SL war da mal was meine ich ...

Offline tuxie

  • Benutzer
  • Beiträge: 6.830
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: Grafik per ACSI/DMA?
« Antwort #9 am: Mi 17.03.2021, 20:02:37 »
Am Atari hat der CosmosEx wimre doch eine Screencast-Funktion, die das (schlichtere) Prinzip des Framebuffer-über-ACSI-Kopierens umsetzt. Habe ich schon einmal im Netz gesehen, finde ich aber gerade nicht wieder.

Ja hat es und funktioniert ganz gut. Da wird das ganze zu einem anderen Rechner geschickt und du hast das Display im Browser. Aber ob das jetzt für mehr als für simple GEM Anwendungen geht wage ich zu bezweifeln.
Tschau Ingo

Offline mfro

  • Benutzer
  • Beiträge: 1.637
Re: Grafik per ACSI/DMA?
« Antwort #10 am: Mi 17.03.2021, 20:27:39 »
Am Mac Plus war’s schon eher laggy, so bei geschätzt 10fps. Der ist zwar eine Ecke langsamer als der ST, aber umkopieren hat halt auch den Nachteil, dass man über ST-Hoch nicht hinauskommt. Schick bei der Ausgabe per Raspi-HDMI wäre ja, dann bspw. 1024x768 in monochrom oder so haben zu können. Oder auch in 16 Farben.

Framebuffer kopieren? Na ja - gehen tät' das wohl schon, aber Spaß macht's keinen, denke ich.

Einfach zu rechnen: "einfach" mal den Framebuffer kopieren: ACSI schafft 1 MB/s.
640x400 in monochrom sind 32000 Bytes oder eben 0,03 MB - theoretisch schafft man also 32 Hz.
Bloss das dann der ST nichts anderes mehr macht.

Farbe: 1024x768 in 16 Farben wäre wohl das Geringste, was man haben wollte?
Da schafft man nur noch 2,6 Hz ohne was anderes zu tun.

Wenn man nur die veränderten Bildschirmteile kopiert (ähnlich wie VNC, z.B.), geht's natürlich schneller, dafür beschäftigt man dann die CPU - mehr als die dreifache Geschwindigkeit würde ich da nicht erwarten und das wäre (leider) immer noch zu lahm, um damit was Vernünftiges anzufangen.

Anderer Ansatz: Linien malen (Farbe, x1, y1, x2, y2) sind 9 Bytes. Nichts anderes getan und davon ausgegangen, daß der Pi oder was auch immer das packt, würde man damit 116000 Linien (oder Kreise, Flächen mit und ohne Füllmuster, ...) in der Sekunde schaffen. In 256 Farben, wohlgemerkt.

Deutlich schneller als jeder ST (und Falcon, TT, ...).
And remember: Beethoven wrote his first symphony in C

Offline Arthur

  • Benutzer
  • Beiträge: 10.302
  • Mein Atari erinnert mich an die gute alte Zeit..
Re: Grafik per ACSI/DMA?
« Antwort #11 am: Mi 17.03.2021, 20:57:44 »
Da macht Framebuffer mit der ganzen kopiererei keinen Sinn... dann schon eher Grafikbefehle die auf dem Zieldevice ausgeführt werden... wie @mfro schrieb. Aber die Odin zeigte  zumindest was mit FB möglich war. Viele wären ja schon zufrieden wenn wenigstens die Bildfrequenzen vga-kompatibel wären.

Online gh-baden

  • Benutzer
  • Beiträge: 1.967
Re: Grafik per ACSI/DMA?
« Antwort #12 am: Mi 17.03.2021, 21:27:29 »
Am Mac Plus war’s schon eher laggy, so bei geschätzt 10fps. Der ist zwar eine Ecke langsamer als der ST, aber umkopieren hat halt auch den Nachteil, dass man über ST-Hoch nicht hinauskommt. Schick bei der Ausgabe per Raspi-HDMI wäre ja, dann bspw. 1024x768 in monochrom oder so haben zu können. Oder auch in 16 Farben.

Framebuffer kopieren? Na ja - gehen tät' das wohl schon, aber Spaß macht's keinen, denke ich.


Ja, äh, aber das schrieb ich doch oben? VDI-Einbindung, und dass Framebuffer kopieren eher oll’ ist? :-)
Wider dem Signaturspam!

Offline Chocco

  • Benutzer
  • Beiträge: 225
  • May the force be with you
Re: Grafik per ACSI/DMA?
« Antwort #13 am: Do 18.03.2021, 23:08:28 »
Eine ähnliche Diskussion hatten wir 2018 schon (https://forum.atari-home.de/index.php/topic,14793.0.html)

Framebuffer ist indiskutabel, weil die Framerate unterirdisch wird.
Die Übertragung der VDI-Befehle wäre möglich, würde Speed bringen und tatsächlich relativ einfach zu realisieren sein. Wir hatten damals festgestellt, dass einzig die Übertragung von Bitmaps problematisch wird, weil Caching zwar angezeigt wäre, aber aktuell kein Mechanismus existiert, der eine Änderung der Bitmap auf dem ST feststellen könnte.

Alle Mausbewegungen müssten natürlich permanent in kleinsten Datenpäckchen übertragen werden. SCSI/ASCI arbeitet (glaub ich) Block orientiert, was die Effizienz deutlich vermindern würde. 
Atari TT030 mit CrazyDots
Milan 060 (ATI Rage Pro)
Apple MBP

Online gh-baden

  • Benutzer
  • Beiträge: 1.967
Re: Grafik per ACSI/DMA?
« Antwort #14 am: Do 18.03.2021, 23:48:56 »
Eine ähnliche Diskussion hatten wir 2018 schon (https://forum.atari-home.de/index.php/topic,14793.0.html)

Was wir seitdem wissen: Der GPIO (mindestens) des RasPi 3 B+ ist mehr als schnell genug für ACSI/DMA.  Mit einem RasPi 4 kommt man bis zu 1,4 MB/s in der Spitze. Benchmarks.
Wider dem Signaturspam!