Grafikerweiterung GSX für CP/M

  • Hallo zusammen,


    für CP/M gibt es die Grafikerweiterung GSX. Mit entsprechenden Treibern lässt sich GSX-basierte Software verhälnismäßig leicht auf verschiedenen Maschinen zum Einsatz bringen.
    Für die Amstrad/Schneider Rechner CPC und Joyce/PCW werden recht gute Treiber mit der Software DR Draw, DR Graph und CBasic mitgeliefert.


    Mir stellt sich die Frage, für welche Hersteller bzw. Maschinen es ebenfalls GSX-Bildschirmtreiber gibt und wo man diese findet.
    Ich denke dabei z.b. an Sinclair Spectrum, Commodore 128, Apple II, Kaypro, Osborne, Atari usw.


    Über Hinweise auf CP/M Emulatoren der verschiedenen Maschinen wäre ich ebenfalls dankbar.



    Viele Grüße,
    Marcus

  • Siemens PC 16-11 mit Concurrent CP/M-86. Ich weiß nicht, ob GSX standardmäßig dabei ist, aber ich hab's auf meiner Kiste drauf, mit DR-Draw und DR-Graph.
    Für Turbo-Pascal hab ich mir eine Funktionsbibliothek gemacht und ein paar Programme dafür geschrieben, z.B. ein Programm zum mathematische Funktionen grafisch darstellen und eine Analoguhr, die im Hintergrund auf dem Farbmonitor laufen kann, wenn gerade kein Grafikprogramm benutzt wird.

  • Vielen Dank für die ersten Rückmeldungen. Mit CP/M-86 habe ich mich bislang noch nicht beschäftigt. Ich vermute, dass auf CP/M 2.2 bzw. CP/M plus compilierte Programme neu unter CP/M 86 compiliert werden müssen, oder?
    Die ZIP-Datei mit den Abbildern der Apple II CP/M Systemdisketten enthält leider keine GSX-Treiber, ich füge mal die Treiber für den CPC (DDMODE0,DDMODE1,DDMODE2), den Treiber für den Joyce (DDSCREEN) sowie einige Druckertreiber als Anlage an.

  • Der eigentliche Hintergrund meiner Frage ist folgender: Derzeit schreibe ich ein kleines Spiel für den Schneider Joyce unter Nutzung von GSX. Ein Test des Programms auf einem CPC Emulator mit dem CPC-Bildschirmtreiber DDMODE2.PRL sieht schon ganz gut aus. Nun würde ich es gerne auch für andere Maschinen nutzbar machen.

  • Natürlich mssen Programme für CP/M-8 (oder CCP/M-86) neu compiliert werden, wobei natürlich CP/M-86-Programme auch unter Concurrent CP/M-86 laufen.
    GSX ist aber, wie CP/M selbst, hardwareunabhängig geschrieben, d.H. wenn die GSX-Biosaufrufe verwendet werden, sollte das Programm auf jedem passenden CP/M-System mit GSX-Erweiterung laufen, neu compiliert auf CP/M-86 auch da, ich weiß nicht ob es GSX auch für CP/M-68k gibt, wenn ja dann nach Compilierung auch dort.
    Wie es dann aussieht ist natürlich schon von der Hardware abhängig. Grüne und rote Objekte sind auf einem Farbmonitor leicht zu unterscheiden, auf monchrom sehen sie dann irgendwie gleich aus. Selbst das Ausgabegerät kann unterschiedlich sein, GSX kann auch einen Drucker als Ausgabegerät nutzen.

  • GSX ist aber, wie CP/M selbst, hardwareunabhängig geschrieben


    Das bezieht sich aber vor allen Dingen nur auf die API, die von der Anwendung angesprochen wird. Der hardwareunabhängige Teil von GSX (GSX.SYS, GENGRAF.COM) macht üblicherweise den kleineren Teil aus, der hardware-spezifische Teil (DD*.PRL) ist teilweise deutlich größer, und muß für jeden Computertyp, Bildschirmmodus bzw. Drucker/Plotter neu geschrieben werden.
    Bezüglich "Hardwareunabhängigkeit" sollte auch noch gesagt werden, daß zusätzlich eine Anwendung aufpassen muß, daß sie sich an die Limitierungen der jeweiligen Hardware hält, z.b. bei der Ausgabe von Schrift. Nicht jeder Treiber/Hardware stellt alle Features zur Verfügung. Ich weiß jetzt nicht, was genau passiert, wenn die Anwendung versucht ein Feature zu verwenden, was der Treiber nicht unterstützt.

  • Das ist schon richtig, bei GSX ist das Prinzip ja genau so wie bei CP/M selbst auch, es dient als Schnittstelle zwischen dem Anwendungsprogramm bzw. der Programmiersprache und der Hardware. Das Programm und der Programmierer muss sich nicht mehr um die spezifische Hardware kümmern und ein Anwendungsprogramm läuft dank GSX ohne Änderungen auf verschiedener Hardware. Theoretisch zumindest.
    Von der Hardware nicht unterstützte Features werden wohl entweder einfach nichts tun oder einen Error-Wert an das Programm zurückgeben. Manche Features können auch abgefragt werden. Eine vernünftig programmierte Anwendung wird das auch tun und sich so auf die Möglichkeiten einstellen.

  • Manche Features können auch abgefragt werden. Eine vernünftig programmierte Anwendung wird das auch tun und sich so auf die Möglichkeiten einstellen.


    Richtig, man bekommt die Liste der unterstützten Feature gleich am Anfang bei der Initialisierung.
    Was ich mich übrigens immer schon gefragt habe:
    GSX arbeitet ja mit virtuellen Koordinaten, die dann in physikalische umgewandelt werden. Wie ist das dann hier bei der Textausgabe? Werden Zeichen bzw. Schriftgrößen auch immer exakt umgerechnet und mitskaliert, oder kann es sein, daß sich die Textausgabe nicht um die Skalierung kümmert und z.b. bei einer realen Auflösung von 640x400 der Text klein und bei einer realen Auflösung von 320x200 groß erscheint? (z.B. bei Beschriftung von Diagrammen oder überhaupt formatierter Textausgabe)

  • Ich hab die Doku gerade kurz überflogen, so wie es aussieht gibt man die Textgröße ebenfalls in den virtuellen Koordinaten an, wenn man also vorher die Auflösung nicht abfragt hat man entweder riesige Buchstraben oder man kannn gar nichts mehr lesen...

  • Der Joyce-Treiber DDSCREEN bietet leider nur eine Schriftgröße an. Es wäre klasse, wenn man alle Treiber mit den Informationen der entsprechenden Möglichkeiten zusammentragen könnte. Ich habe leider nur die Treiber und Informationen der CPC- und Joyce-Treiber von Amstrad und Digital Research (DR Draw, DR Graph).


    Für den ZX Spectrum und den C128 sollte es zumindest auch entsprechende Treiber geben:
    http://www.seasip.info/Cpm/gsxint.html
    http://www.z80.eu/gsx.html


    Interessant sind vielleicht auch folgende Links:
    http://www.cirsovius.de/CPM/Pr…Grafik/CPMGSX/CPMGSX.html
    http://www.fvempel.nl/basic.html

  • Mich würde noch interessieren, welche kommerzielle Software denn GSX verwendet hat, außer DR-Draw und DR-Graph.


    Dieser Link z.B.: http://www.computerwoche.de/a/pc-16-wird-cad-system,1173389 beschreibt, dass es für den Siemens PC-16 ein preiswertes CAD-Programm gegeben haben soll, oder ist damit DF-Draw gemeint?

  • Leider ist mir auch keine weitere kommerzielle GSX-basierende Software bekannt.


    Gerade habe ich aber mein erstes GSX-basierendes Spiel fertiggestellt und veröffentlicht. Es handelt sich um eine Umsetzung des bekannten Käsekästchen-Spiels. Entwickelt habe ich das Spiel ursprünglich für den Schneider Joyce, der bekanntlich einen Bildschirm mit 90x31 Zeichen-Bildschirm und einer Auflösung von 720x247 Pixel verwendet. Die Textgröße lässt sich leider mit dem Joyce-GSX-Bildschirmtreiber nicht verändern. Bei der Nutzung des Spiels auf dem CPC ist in der Tat die Schriftgröße das größte Hindernis gewesen, so dass ich die Bildschirmauflösung im Programm abfrage und die Textausgabe entsprechend anpasse. Somit kann das Spiel auch am Schneider CPC unter CP/M genutzt werden.
    Im Prinzip sollte es auch an anderen 8Bit CP/M Rechnern nutzbar sein, sofern ein entsprechender GSX-Bildschirmtreiber vorhanden ist. Es muss lediglich die Datei ASSIGN.SYS angepasst werden.


    Nun aber zum Spiel: Käsekästchen - ein neues GSX-basiertes Spiel für Joyce / PCW und CPC

  • Inzwischen bin ich auf eine ZIP-Datei gestoßen, die GSX-Treiber für einen Televideo TS 803H enthält: http://z80cpu.eu/mirrors/oldco…es-97/tvideo/803hrlod.zip


    Für einen Prof-80 sollten ebenfalls GSX-Treiber verfügbar sein, allerdings bin ich noch nicht fündig geworden.


    Kennt evtl. jemand Emulatoren für die beiden Maschinen?

  • Hallo, guten Tag.

    Spiele mit 69 Jahren mal wieder mit dem CPC6128 , aber nur mit dem EMu JAVACPC.


    Ich spiele mit dem Pasmo auf dem CPC6128.


    Wie komme ich bitte mit ASM für den PASMO in den Grafikmodus für CPM+ bei dem CPC6128?


    Danke.

    Gruss