Falcon-Scene: Der Coder

Kennen Sie nicht mich das Gefühl, vor der jüngsten Ausgeburt einer von uns allen mehr oder minder geschätzen Computer-Firma zu sitzen und plötzlich von der Frage überfallen zu werden, ob sie dieses Ihnen anvertraute Gerät auch seiner wahren Bestimmung zuführen, der in Ihre Hände gelegten Leistung auch wirklich die Möglichkeit der vollen Entfaltung geben? Wie Sie dann panisch eines dieser wunderhübschen Multimediaprogramme auf Ihrer Festplatte aktivieren, Dinge anklicken, um andere Dinge einer wie auch immer gearteten Bestimmung zuzuführen, und das in Echtzeit? Und trotzdem ist in Ihnen immer noch diese bohrende Frage: Ist das alles? Könnte ich nicht mehr tun? Kann mein Falcon es?

Hallöchen. hier ist wieder A.-t-, und wie versprochen habe ich für diesen Artikel einen echten Coder gewinnen können. Er nennt sieh "TIN" (The Innovator of NEWline) und wird uns in dieser Folge der Falcon-Scene etwas näher in die Geheimnisse der Falcon-Video-Hardware einweihen. Zudem gibt es noch ein Interview mit ihm. Doch nun kommt der Meister selbst zu Wort:

Dank Screeneye gibt es diesmal A-t- ausgelassen auf der Fried Bits 2

Cinemascope

Diesmal möchte ich der Video Hardware des Falcon ein wenig zu Leibe rücken, und zwar mit dem allgemein beliebten, aber leider immer noch relativ unbekannten "CinemaScope-Effekt". Die Grundidee dieses Effektes ergab sich vor einiger Zeit aus der Frage, ob es auf dem Falcon nicht möglich wäre, auch in den Rändern Grafik darzustellen, ohne jedoch die effektive Auflösung zu verändern. Sprich: die bisherigen "Trauerrand"-Videomodi (320x200, 640x200 etc.) des Falcon "in die Breite zu ziehen", so daß sich auch ST-Programme, die von einer der alten Standard-ST-Auflösungen ausgehen, in einem "Quasi-Overscan" betreiben lassen, was speziell bei Vektorgrafikspielen einen nicht zu unterschätzenden zusätzlichen Unterhaltungswert hat. Natürlich ist dieser Effekt auch für alle anderen bekannten (und unbekannten) Falcon-Modi nutzbar. Speziell Grafikeffekte, die im konventionellen Overscan überproportional mehr Rechenleistung benötigen würden, lassen sich so einfach und schnell "aulblasen".

Aber warum die Bezeichnung "Cinemascope"? Nun, der Name hat etwas mit einer Grundeigenschaft des Effektes zu tun: er ist in dieser Form nur in der Lage, ohne Vergrößerung der Auflösung das Bild in die Breite zu ziehen, dadurch entstehen am oberen und unteren Rand die Cinema-Scope-typischen Streifen, wie man sie aus dem Fernsehen her kennt.

Das Prinzip...

... ist denkbar einfach: dem Videochip des Falcon werden zwei Takte angeboten, aus denen sich die Zeit, in der ein Pixel in einer Zeile dargestellt wird, direkt (bzw. über Modifikaton durch Vorteiler) ableitet. Gehen wir einmal davon aus, daß ein Pixel in einer Nicht-CinemaScope-Auflösung des Falcon die Breite von 1 (in diesem Fall wird das Videosubsystem mit 32 Megahertz getaktet) habe. Der zweite ohne Zusatz-Hardware zu erreichende Videogrundtakt hingegen beträgt 25.175 Megahertz, was bedeutet: die Dauer eines Pixels unter 25.175 MHz ist circa 1.27mal länger als unter 32 MHz (32MHz/25.175 MHz ~ 1.27). Ein solches Pixel ist sozusagen 1,27mal "breiter" als unter dem "Standard"-Videotakt. Rechnen wir doch mal kurz: gehen wir von einer normalen horizontalen Bildschirmauflösung von 320 Pixeln aus, dann haben wir unter CinemaScope eine Bildschirmbreite von 1.27*320 Pixel = 406 "normale" Pixel-Breiten. Voilà!

Das neue LAZER-Demo hat supercoole Effekte.

Das eben Beschriebene ist natürlich nur die Grundlage für CinemaScope. Durch den veränderten Videogrundtakt verschiebt sich natürlich auch das gesamte restliche Takt verhalten des Videosubsystems. Um nun auch wirklich ein vernünftiges Bild auf den Monitor zu bekommen, sind eine Reihe von mehr oder weniger komplizierten Berechnungen vonnöten, damit das Timing des Bildschirmaulhaus auch wirklich stimmt. An dieser Stelle möchte ich jedoch nur ein paar kleine Befehlsfolgen vorstellen, die eine CinemaScope-Auflösung auf dem Falcon einstellen. Die gesamten Zusammenhänge des Videosubsystems zu erklären, würde den Rahmen dieses Artikels leider deutlich sprengen -wenn Sie jedoch Interesse an einer ausführlichen Register- und Programmieranleitung des Videosystems in Form eines der nächsten Grundlagenartikel haben sollten, dann senden Sie mir eine E-Mail oder schreiben Sie an die ST-Computer-Redaktion.

Das Listing

Im Listing sehen Sie einige kurze Befehlsfolgen für CinemaScope für die Standard-ST-niedrig-Auflösung (nur für RGB-Monitore/Fernseher). Natürlich bilden diese wenigen Zeilen noch kein komplettes ausführbares Programm, es sind lediglich die Kernroutinen für die Programmierung der Videoregister. Schreiben Sie doch auf Basis dieser kurzen Routinen ein kleines Progrämmchen, das CinemaScope einschaltet, bevor es ein altes ST-Spiel lädt (die ja fast alle in ST-niedrig laufen). Wenn Sie ein Vektorgrafikspiel auf diese Weise "aufblasen", werden Sie merken, daß dieser Overscan den Falcon (fast) keine Rechenzeit kostet und alte Spiele ein neues Flair bekommen ...

So stellen sich die LAZER-Jungs den Cyberspace vor

Zum Schluß noch eine Warnung: Spielen Sie im Interesse Ihres Monitors nicht mit den oben aufgeführten Registern herum, da es dadurch zu irreparablen Schäden an Ihrem Datensichtgerät kommen kann. Versuchen Sie bitte auch nicht, diese Routinen auf einem VGA-Monitor laufen zu lassen: es wird nicht funktionieren, da die Werte speziell auf RGB/TV-Monitore zugeschnitten sind und Ihr VGA-Monitor seinen Dienst quittieren könnte. Bester Dank geht noch an Christian Cartus (Chris of Aura) für seine komplette Videoregisterdokumentation (ich sage nur: Screens-Pain für alle!).

Für Fragen, Anregungen und Kritik können Sie mir unter "Mark Fechtner@HB2. maus.de" eine E-Mail zukommen lassen; das gilt natürlich auch, wenn Sie einfach nur mit "The Independent" in Kontakt treten wollen.

The Innovator of NEWline & A.-t- of CREAM

;Cinemascope RGB/TV 
;(c)1994 by MAXON-Computer 
;**Autor:** Mark Fechtner
;320*200, 16 Farben
;ST-kompatibel, 50.0 Hz 
MOVE.L #$300026,$FFFF8282.W 
MOVE.L #$60227,$FFFF8286.W 
MOVE.L #$1C0029,$FFFF828A.W 
MOVE.L #$2710265,$FFFF82A2.W 
MOVE.L #$170075,$FFFF82A6.W 
MOVE.L #$205026B,$FFFF82AA.W 
MOVE.W #$200,$FFFF820A.W 
MOVE.W #$186,$FFFF82C0.W 
CLR.W $FFFF8266.W 
MOVE.B #$0,$FFFF8260.W 
MOVE.W #$0,$FFFF82C2.W 
MOVE.W #$50,$FFFF8210.W
;320*200, 16 Farben 
;ST-kompatibel, 60.0 Hz 
MOVE.L #$300026,$FFFF8282.W 
MOVE.L #$60227,$FFFF8286.W 
MOVE.L #$1C0029,$FFFF828A.W 
MOVE.L #$20901FD,$FFFF82A2.W 
MOVE.L #$170041,$FFFF82A6.W 
MOVE.L #$1D10203,$FFFF82AA.W 
MOVE.W #$200,$FFFF820A.W 
MOVE.W #$186,$FFFF82C0.W 
CLR.W $FFFF8266.W 
MOVE.B #$0,$FFFF8260.W 
MOVE.W #$0,$FFFF82C2.W 
MOVE.W #$50,$FFFF8210.W

Das Interview

t: Erzähle doch bitte mal, wie Du zu den Maschinen aus Bits und Bytes gekommen bist.

TIN: Zum Computern bin ich gekommen, als ich in frühester Jugend (ich glaube ich war elf oder so) irgendwo einen irrsinnig kompliziert aussehenden Kasten herumstehen sah und partout herausfinden wollte, wie zum Henker das Ding denn nun eigentlich funktionierte, wozu es gut sein sollte und überhaupt. Genau weiß ich es bis heute nicht (denn es war 'ne Art PC ...). Nach kurzen Abenteuern mit PET, C64, TA PC8/16 und PCs beschritt ich schließlich den Pfad der Tugend und wandte mich dem ATARI-ST zu. Dann holte ich mir den Raubvogel ins Haus ...

t: Und daß der bei Dir nicht einstaubt, liegt wohl nahe. Jetzt möchte ich mal wissen, was hinter dem Begriff "Independent" steht, der ja auch in meinem letzten Artikel sehr oft gefallen ist?

TIN: Die Idee zu "The Independent" wurde vor ca. vier Jahren von Thorsten Kappe (seines Zeichens Programmierer bei uns) und meiner Wenigkeit aus der Taufe gehoben. Es ging ganz einfach darum, eine Dachorganisation zu schaffen, die sich nicht nur auf die "alteingesessenen" Gruppen stützte, sondern auch relativ neuen und unbekannten Leuten, die nichtsdestotrotz vielversprechend waren, die Möglichkeit geben sollte, aus einem großen Erfahrungspool schöpfen zu können. Nach dem Zusammenbruch der deutschen "Alliance", die Du und ich ja beide am Anfang unserer Laufbahn frequentiert hatten, fehlte etwas frischer Wind, da andere Dachgruppen sich als sehr festgefahren erwiesen. Als Thorsten und ich schließlich auf diversen Messen und Treffen das allgemeine Interesse an der Idee "The Independent" zu spüren bekamen, fingen wir zusammen mit Frank Kurpiela und Christian Ohmstede (heute beides Grafiker bei AURA/Independent) an, die Gruppe unter den Gesichtspunkten des freien Erfahrungsaustausches und natürlich des Spaßes aufzubauen. Inzwischen vereinigt "The Independent" 9 Gruppen aus 4 Ländern (Frankreich, Belgien, Österreich, Deutschland) mit insgesamt über 60 Mitgliedern.

t: Da ich die meisten Independent-Mitglieder kenne, kann ich sagen, daß ihr ein Haufen echt netter und lustiger Leute seid, das paßt so gar nicht in das Klischee des einsamen, weltfremden Hackers.

TIN: Der Spaß an der Sache ist auch eines unserer Hauptanliegen. Wir wollen in Kontakt mit den ATARI-Fans weltweit bleiben und uns nicht in einem Elfenbeinturm verschanzen, wie es leider so viele "alteingesessene" Gruppen getan haben und immer noch tun. Prinzipiell haben wir für jede Art von Zusammenarbeit ein offenes Ohr und hoffen auch, durch unsere "Fried Bits"-Treffen, unsere fast schon penetrante Präsenz bei ATARI-Messen und andere von uns unterstützte Partys etwas von unserer Motivation übertragen zu können.

t: Stichwort Motivation: Was reizt Dich eigentlich an der Demoschreiberei? Für "normale" Menschen sieht das stundenlange Rumprogrammieren ja ziemlich langweilig aus.

TIN: Demos zu programmieren macht einfach Spaß. Es ist ein ziemlich kreatives Hobby (versuch1 mal, einen Grafiker ständig von neuen Demoeffekten überzeugen zu müsse, das verlangt viel Kreativität...), und irgendwo ist es auch eine Herausforderung, Dinge zu machen, die nach Aussage von gewissen Leuten schlichtweg unmöglich sind ...

t: Cool, das erinnert an alte ST-Zeiten, aber der Falcon ist doch schnell, hat genügend Farben, Hardwarescrolling und Di-gisound, kann er denn nun tatsächlich mehr, als man auf den ersten Blick vermutet?

TIN: Er kann es. Laß1 Dir das von einem erklärten Assembler-Enthusiasten gesagt sein. Wie der geneigte Leser sicher schon befürchtet haben wird, gehöre ich zu jenen Leuten, die immer mit einem hübsch-wissenden Lächeln "Demoprogrammierung" auf die Frage antworten, was sie mit ihrem Computer nun eigentlich genau machen -und sich dann schamlos an der Verwirrung ihres Gegenübers weiden.

Nachdem Du in dem ersten Artikel dieser Reihe den werten Lesern den Begriff "Demoszene" nähergebracht hast und der letzte einen kleinen Einblick in die Aktivitäten der demoschaffenden Gemeinde gegeben hat, plauderte ich an dieser Stelle mal ein wenig aus dem Programmiemähkästchen. Also liebe Leser, entstauben Sie Ihren Assembler und folgen Sie mir in das Reich der kleinen (aber feinen) Programmiertricks auf dem Falcon030.

t: Danke für das Gespräch!
Kay Tennemann


Links

Copyright-Bestimmungen: siehe Über diese Seite
Classic Computer Magazines
[ Join Now | Ring Hub | Random | << Prev | Next >> ]