

         STEnlarge - ein Grobildschirmemulator fr den STE

         --------------------------------------------------

                           Version A

                   von Ludwig Canisius 1990/91



Dieses Programm ist frei kopierbar, allerdings mu immer der gesamte Ordner 
STENLARG mit allen Dateien kopiert werden. Es darf nicht kommerziell 
vertrieben/verkauft werden.



- Beschreibung



Dieses PRG ist speziell fr den Atari STE geschrieben und simuliert,wie der 
Name schon sagt, einen vergrerten Bildschirm fr GEM-Programme. So etwas gibt 
es zwar schon en masse, doch alle diese Emulatoren sind fr die "alten" STs 
geschrieben und verwenden fr die Darstellung zeitraubende Softwarelsungen. 
Beim STE kann man dies (fast) komplett der Hardware berlassen, und auch das 
TOS 1.06 spielt bei greren Auflsungen mit. Auf einem MEGA STE mit TOS 2.0 
wurde das PRG zwar nicht getestet, doch aufgrund der identischen Video-Hardware 
beider Rechner drfte der Betrieb auf dieser Maschine problemlos mglich sein.



Diese Version ist nur fr den Monochrom-Betrieb geeignet, da das Arbeiten mit 
diesem Modus wohl am hufigsten vorkommt.



Die simulierte Auflsung kann von 601 X 401 bis auf 4720 X 9984 Punkte in 
1-Pixel-Schritten eingestellt werden.



Der Emulator bietet durch die Ausnutzung der verbesserten STE-Hardware 
gegenber hnlichen PRGs die Vorteile,

- da eine Beeintrchtigung der Arbeitsgeschwindigkeitnicht zu spren ist,

- da ein echtes Finescrolling in Pixelabstnden mglich ist,

- da der Blitter fr andere Aufgaben frei bleibt,

- da der Grobildschirm keinen Schreibtischplatz wegnimmt,

- whrend (fast) alle Vorzge des Arbeitens mit einem Grobildschirms dem 
  Anwender erhalten bleiben,



- Installation



STENLARG.PRG einfach in den Auto-Ordner kopieren. Dabei sollte es als letztes 
im Ordner stehen. Vor allem ist darauf zu achten, da sich keine weiteren PRGs, 
die die Videobase oder LineA-Variablen verndern, im Ordner befinden.

Danach wird whrend jedes Bootvorgangs gefragt, ob man den Emulator mit der 
vorgegebenen Gre von 1280X960 installieren  will, (Taste I drcken), die 
Bildschirmparameter einstellen will (Taste P drcken),etwas ber das Programm 
erfahren will (Taste  drcken), oder aber keine Installation vornehmen will 
(jede andere Taste drcken). Nach Druck auf P erscheint ein weiteres Men, in 
dem man zunchst gefragt wird, ob Softscrolling gewnscht ist (J oder N 
drcken). Als nchstes kann mit den Cursortasten, Shift und CapsLock die X- und 
Y-Ausdehnung eingestellt werden. CursorUp und CursorDown sind fr den Y-Wert, 
CursorLeft und CursorRight fr den X-Wert zustndig. Die Breite mu minimal 641 
und kann maximal 4720 Punkte betragen. Der Maximalwert ist durch die Hardware 
vorgegeben und kann also nicht erhht werden. Die Hhe darf 401 bis 9984 Punkte 
betragen, was auch fr extreme Anwendungen reichen drfte. Sofern noch gengend 
Speicher vorhanden ist, wird nach Druck auf RETURN der vergrerte Bildschirm 
angemeldet.

TOS 1.06 hat gegenber lteren Versionen den Vorteil, da es die mhelose 
Einstellung jeder X- und Y-Ausdehnung des Bildschirms erlaubt. Die Koordinaten 
lassen sich deswegen nicht nur in 16er-,sondern (sofern das Softscrolling 
eingeschaltet ist) auch in 1er-Schritten verndern. Meistens wird man die 
16er-Abstufung whlen,da man bei anderen Auflsungen am rechten Rand immer ein 
paar Punkte verschenkt und auch einige Programme nicht damit zurechtkommen.



- Bedienung



Nach Abschlu des Bootvorgangs ist der vergrerte Bildschirm bereits beim GEM 
angemeldet. Ab jetzt zeigt der Monitor immer einen Ausschnitt des 
Grobildschirms, dessen Mitte der Spielraum des Mauszeigers bildet. Stt der 
Mauszeiger an die Grenze seines Spielraum-Rechtecks, wird der Ausschnitt je 
nach Mausbewegung in die entsprechende Richtung bewegt. Gescrollt wird 
horizontal und vertikal in 1-Pixel-Schritten. An horizontalen Wortgrenzen, also 
alle 16 Pixel, ist leider nur ein 2-Pixel-Schritt mglich (mich rgert's auch), 
was man aber bei normal schnellen Mausbewegungen kaum bemerkt. Diese 
Beschrnkung rhrt daher, da die Entwickler das Scrollen nur fr Farbspiele 
als sinnvoll erachteten und infolgedessen die Synchronisierung im HI-Modus 
nicht vernnftig implementierten. Daraus folgt ebenfalls, da die 1. 
Pixelspalte des Grobildschirms nicht angezeigt werden kann. Wen dies strt, 
der kann natrlich auch das 16-Pixel-Wortscrolling auswhlen. Man kann nun ganz 
normal mit seinen grobildschirmfhigen Programmen wie auf einem 'echten' 
arbeiten, nur eben mit mit der Einschrnkung, da man immer nur  einen 
640X400-Ausschnitt des Grobildschirms sieht. Entfernen lt sich die Emulation 
leider nicht mehr. Will man mit einer der althergebrachten Auflsungen wieder 
arbeiten, mu man einen Reset (Warmstart reicht) auslsen.



- Probleme



Auf das Problem, welche PRGs mit erhhten Auflsungen (und damit auch mit 
STEnlarge) funktionieren, welche nicht und vor allem warum nicht, will ich 
nicht nher eingehen, da in der Fachpresse gengend zum Thema gesagt wurde. In 
diesem Zusammenhang lt sich STEnlarge auch als Testplattform fr eigene 
GEM-Software verwenden.

Da das PRG wichtige LineA-Variablen verndert, darf es nur aus dem Auto-Ordner 
gestartet werden. Klickt man es vom Desktop aus an, erscheint eine 
entsprechende Fehlermeldung.

Auerdem sollte der Blitter immer eingeschaltet bleiben, da sich sonst u.U. der 
Bitblock-Transfer fehlerhaft verhlt.

Selbst bei TOS-Programmen ist STEnlarge verwendbar, da TOS 1.06 auch bei 
abgeschalteter Maus die LineA-Mausvariablen verndert. Allerdings ist das 
einzige mir bekannte TOS-Programm, das bei erhhter Auflsung funktioniert, die 
"Anzeige"-Funktion des Desktops!



- Interna



Sprache: (natrlich) Assembler

resident bleiben rd. 570 Bytes



XBRA- und Cookie-Kennung: 'LCEN'

Cookie-Wert ist die Adresse des neuen Bildschirms



benutzte Systemadressen:



Adresse     Symbol          zwecks

--------------------------------------------------------------------

$88         gemtrap         Patch fr v_opnwk

$44c        sshiftmod       simuliert 'superhohe' Auflsung (grer 2)

$44e        _v_bas_ad       neue Bildschirmadresse

$454        nvbls,

$456        _vblqueue       Eintrag in VBL-Schlange

$5a0        _p_cookies      Eintrag in Keksdose



benutzte LineA-Variablen:

------------------------

Work_X    (-$2b4)

Work_Y    (-$2b2)

GCURX     (-$25a)

GCURY     (-$258)

V_CEL_HT  (-$2e)

V_CEL_MX  (-$2c)

V_CEL_MY  (-$2a)

V_CEL_WR  (-$28)

V_REZ_HZ  (-$c)

V_REZ_VT  (-4)

BYTES_LIN (-2)

WIDTH     (2)




