APPLICATIONSDIVERS ★ RSX 640X400 ★

RSX 640x400Applications Divers
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Grafik-Gigant inkognito

Auch aus dem Schneider CPC 464 läßt sich eine monochrome Bildschirmauflösung von 640 mal 400 Punkten »herauskitzeln«.

Der Schneider CPC 464 reiht sich mit seiner Grafikauflösung von 640 mal 200 Punkten zwar schon in die Spitzenklasse der Heimcomputer ein, aber bei manchen Grafikanwendungen wünscht man sich doch eine noch höhere Zeilendichte. Allein mit Software — so vermutet man zunächst— läßt sich keine Abhilfe schaffen. Und doch: es geht!

Um das Verfahren zu verstehen, mit dem die 400 Zeilen auf den Bildschirm gebracht werden, muß man sich zunächst mit der Hardware auseinandersetzen. Im CPC sorgt ein CRTC 6845 für den Bildaufbau. Er verfügt über eine Reihe von Registern, die beispielsweise die Anzahl der dargestellten Zeilen und Zeichen pro Zeile, die Größe der Zeichenmatrix und Lage der Fenster auf dem Bildschirm bestimmen. Die Information, ob ein Bildpunkt gesetzt wird, entnimmt der Video-Controller normalerweise dem RAM-Bereich zwischen den Adressen C000 hex und FFFF hex (entspricht 16 KByte). Dieser Speicherbereich wird jede fünfzigste! Sekunde gelesen und ausgewertet.

2 x 200 = 400

Die doppelte Auflösung läßt sich realisieren, indem zwei voneinander unabhängige Bildschirmspeicher abwechselnd um eine halbe Zeile versetzt auf den Monitor gebracht werden. Leider ist diese Umsetzung auf dem CPC nicht ganz ideal, da der Feinabgleich des 6845 (in Register 5) nur mit je 1,5 Zeilen arbeitet. Beim Wechsel des Speicherbereichs hilft die Betriebssystem-Routine SCR-SET-BASE (Vektor BC08 hex). Für den zweiten Bildspeicher kommt nur der Bereich von 4000 hex bis 7FFF hex in Frage, da 0 bis 3FFF hex und 8000 hex bis BFFF hex vom Basic beziehungsweise Betriebssystem belegt sind und somit keinesfalls mit Bildschirmdaten überschrieben werden dürfen.

Das Programm aus Listing 1 wechselt nun alle 1/25 Sekunden synchron zum Bildrücklauf den Bildschirmspeicher, verschiebt den vertikalen Bildschirmanfang um 1,5 Zeilen und baut dann das Bild auf. Daraus folgt, daß zum Beispiel bei einer senkrechten Linie jeder nachfolgende Bildpunkt in den jeweils anderen Speicherbereich muß Also arbeiten sämtliche normalen Grafik-und Textbefehle in diesem neuen Modus nicht mehr richtig. Aber das Programm sorgt auch hier für entsprechende Änderungen.

Zunächst geben Sie das Listing wie gewohnt ein. Vor dem ersten Lauf speichern Sie es sicherheitshalber. Geben Sie dann »RUN« ein und nach einiger Zeit speichert der Basic-Lader das erzeugte Maschinencode-Programm selbsttätig unter dem Namen »640X400.BIN«. Wollen Sie in Zukunft mit der erhöhten Auflösung arbeiten, so benötigen Sie den Basic-Lader nicht mehr. Sie aktivieren dann die RSX-Befehls-Erweiterung mit der Befehlsfolge: »MEMORY &3FFF:LOAD "640X400.BIN" :CALL &81C0«. Der Befehl »|G400« schaltet in den neuen 400-Zeilen-Modus und löscht den Inhalt der beiden Teil-Bildschirme »|G200« bringt Sie wieder in die normale Auflösung zurück. »|PLOT,x,y« dient der Grafikerzeugung. Beispiele für den Einsatz dieser Befehle entnehmen Sie bitte Listing 2.

Wenn Sie dieses Demo-Programm starten, fällt Ihnen sicher das etwas unruhige Bild des Monitors auf. Der Grund dafür ist in der verminderten Bild-Wiederholfrequenz von 25 Hertz zu finden (siehe oben). Dieser Effekt läßt sich mildem, indem Sie Kontrast und Helligkeit (beim Farbmonitor nur Helligkeit) reduzieren.

Aufgrund unterschiedlicher Einsprung-Adressen läuft der Maschinencode aus Listing 1 nur auf dem CPC 464. Eine Anpassung an die beiden anderen CPC-Modelle ist durch entsprechende Änderungen aber durchaus möglich. Besitzer eines CPC 664 oder 6128 informieren sich am besten über das Prinzip mit Hilfe des Programms aus Listing 3 (es läuft auf allen CPCs).

Berthold Weber/ja, HC

★ PUBLISHER: Happy Computer
★ YEAR: 1986
★ CONFIG: AMSDOS + 64K
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: HAPPY COMPUTER 1986
★ AUTHOR: Berthold Weber

 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» RSX-640x400    (Happy  Computer)    LISTING    GERMANDATE: 2017-02-12
DL: 205
TYPE: PDF
SiZE: 849Ko
NOTE: Uploaded by hERMOL ; 4 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Basic Compiler 464 (CPC Amstrad International)
» Applications » Profi-RSX 1 (CPC Amstrad International)
» Applications » RSX - Software-Uhr (CPC Magazin)
» Applications » RSX Pointer (CPC Magazin)
» Applications » Screen Commands (Compute Mit)
» Applications » RSX - Scroller (Computing With the Amstrad)
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop
Page créée en 385 millisecondes et consultée 1213 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.