Software > Coding
Farbtabelle beim Systemstart ändern
rainers:
Hallo,
für den STe 1040/TOS 2.06 (deutsch) möchte ich gern direkt beim Systemstart die Farbtabelle ändern, wenn der Bildschirmmodus 0 ist (also geringe Auflösung mit 16 Farben gleichzeitig).
Dazu habe ich ein kleines Pascal-Programm geschrieben.
Wird das Programm manuell gestartet, funktioniert es wie gewünscht. Befindet es sich im AUTO-Ordner, dann wird es zwar ausgeführt (die eingebaute Meldung ist beim Start zu sehen), jedoch wird die Tabelle (bzw. in diesem Fall das eine Farbregister) nicht modifiziert.
Nun habe ich schon in verschiedenen Büchern nachgesehen, ob AUTO-Programme irgendeine Spezifikation einhalten müssen, aber leider nichts gefunden.
Meine Vermutung ist, daß das Register zwar manipuliert wird, aber an dieser Stelle das System noch nicht vollständig geladen ist und nach der Abarbeitung des Programms das Register vom System auf den Standardwert zurückgesetzt wird.
Kann mir bitte jemand weiterhelfen?
Ev. ist ja meine Vermutung falsch und ich muß im Programm nur eine Systemfunktion aufrufen, so daß die Manipulation des Registers dauerhaft ist.
Anbei der Code des Programms:
--------------------
PROGRAM Farbtabelle;
CONST {$I TRIXCONS.PAS}
CONST {$I GEMCONST.PAS}
TYPE {$I TRIXTYPE.PAS}
TYPE {$I GEMTYPE.PAS}
VAR iAlteFarbe, event, d : integer;
msg : message_buffer;
{$I TRIXSUBS.PAS}
{$I GEMSUBS.PAS}
FUNCTION SETCOLOR(iFarbnummer, iFarbe : integer) : integer;
XBIOS(7);
FUNCTION GETREZ:INTEGER;
XBIOS(4);
BEGIN
IF GETREZ = 0 THEN
BEGIN
{Die eigentlichen Farb-Registernummern entsprechen nicht der}
{fortlaufenden Nummerierung.}
{Register 15, hellrosa}
iAlteFarbe := SETCOLOR(13, 0);
writeln('Farbtabelle fuer Atari STe 1040.');
END;
END.
--------------------
Danke.
-R.
simonsunnyboy:
Der GEM-Desktop setzt die Defaultpalette nochmal. Mir wäre keine saubere Lösung bekannt, außer die neue Palette im DESKTOP.INF zu speichern und übers Kontrollfeld einzuspielen.
Wenn du einen technisch anderen Weg findest, bitte hier dokumentieren :) Es würde mich auch interessieren, ob es anders gehen würde.
Arthur:
Da Du TOS 2.06 hast kannst Du das Program als Autostartanwendung anmelden (Newdesk.INF speichern nicht vergessen). Das sollte im Gegensatz zum AUTO-Ordner funktionieren da dies z.B. auch mit GEM Programmen funktioniert.
rainers:
@simonsunnyboy: Meinst Du damit Arthurs Vorschlag? Wenn nicht, wie speichert man die Farbtabelle in der DESKTOP.INF ?
@Arthur: Dolle Sache. Das hatte ich nun gar nicht mehr versucht. Funktioniert prima. Danke.
-R.
HamSTer:
schau mal hier
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln