Autor Thema: Farbtabelle beim Systemstart ändern  (Gelesen 15687 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

rainers

  • Gast
Farbtabelle beim Systemstart ändern
« am: Mo 25.03.2013, 11:33:33 »
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.

Offline simonsunnyboy

  • Moderator
  • *****
  • Beiträge: 1.808
  • Rock'n'Roll is the thing - Jerry Lee is the king!
Re: Farbtabelle beim Systemstart ändern
« Antwort #1 am: Mo 25.03.2013, 18:38:28 »
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.
Paradize - ST Offline Tournament
Stay cool, stay Atari!
1x2600jr, 1x1040STFm, 1x1040STE 4MB+TOS2.06+SatanDisk, 1xF030 14MB+FPU+NetUS-Bee

Offline Arthur

  • Benutzer
  • Beiträge: 10.311
  • Mein Atari erinnert mich an die gute alte Zeit..
Re: Farbtabelle beim Systemstart ändern
« Antwort #2 am: Mo 25.03.2013, 20:23:08 »
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

  • Gast
Re: Farbtabelle beim Systemstart ändern
« Antwort #3 am: Mo 25.03.2013, 21:02:30 »
@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

  • Gast
Re: Farbtabelle beim Systemstart ändern
« Antwort #4 am: Di 26.03.2013, 07:20:31 »
schau mal hier

Offline Dennis Schulmeister

  • Moderator
  • *****
  • Beiträge: 535
  • Do be do be do -- Sinatra.
Re: Farbtabelle beim Systemstart ändern
« Antwort #5 am: Di 26.03.2013, 16:25:00 »
Klasse Link!

Gruß, Dennis
Wenn ich mal groß bin, will ich bei Atari arbeiten.

Offline simonsunnyboy

  • Moderator
  • *****
  • Beiträge: 1.808
  • Rock'n'Roll is the thing - Jerry Lee is the king!
Re: Farbtabelle beim Systemstart ändern
« Antwort #6 am: Di 26.03.2013, 18:03:02 »
@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.

Naja, Kontrollfeld und dann Desktop speichern, wie schon Anno 1987. Das genaue Format ist ASCII lesbar, IIRC wird alles in eine Zeile codiert. Das Prolem ist halt, daß man das RAM fressende Kontrollfeld laden muss.
Paradize - ST Offline Tournament
Stay cool, stay Atari!
1x2600jr, 1x1040STFm, 1x1040STE 4MB+TOS2.06+SatanDisk, 1xF030 14MB+FPU+NetUS-Bee

rainers

  • Gast
Re: Farbtabelle beim Systemstart ändern
« Antwort #7 am: Di 26.03.2013, 20:33:04 »
Danke für die Antworten.
Habe, wie geschrieben, Arthurs Vorschlag umgesetzt. Ist meiner Meinung nach die beste Idee.

Wie die Farbtabelle in der DESKTOP.INF codiert gespeichert wird, ist mir jetzt auch klar. Danke an HamSTer.

Aber wie sie über das Kontrollfeld und "Desktop speichern" dort hinein kommt, nicht.
Bei Deiner "Erklärung" simonsunnyboy komm ich nicht mit. Du weißt, von was Du sprichst, ich leider nicht. Ich weiß zum Beispiel auch nicht, was IIRC ist.

HamSTer

  • Gast
Re: Farbtabelle beim Systemstart ändern
« Antwort #8 am: Di 26.03.2013, 20:48:27 »
Was IIRC und andere Abkürzungen bedeuten steht zB hier

rainers

  • Gast
Re: Farbtabelle beim Systemstart ändern
« Antwort #9 am: Di 26.03.2013, 21:04:04 »
Ah. Danke für den Link.
Aber nichts für ungut. Ich habe nicht umsonst 13 Jahre lang die deutsche Sprache gelernt, um mich dann per unverständlicher Abkürzungen zu verständigen und schon gar nicht per englischer Abkürzungen.
Das mag für viele spießig klingen, aber so ist das eben.
Ich hasse zum Beispiel solche Abkürzungen wie: MFG, VG, LG.

So, nun genug abseits vom Thema. Ihr habt mir geholfen, dafür danke ich Euch.


Offline simonsunnyboy

  • Moderator
  • *****
  • Beiträge: 1.808
  • Rock'n'Roll is the thing - Jerry Lee is the king!
Re: Farbtabelle beim Systemstart ändern
« Antwort #10 am: Mi 27.03.2013, 18:01:38 »
Das Kontrolfeld speichert die Daten intern irgendwie weg, k.A. wohin, vllt direkt in die Palettenregister.
Desktop speichern ist halt der Menüpunkt, der Dir das DESKTOP.INF anlegt oder mit neuen Inhalten füllt, der Punkt heisst je nach TOS-Version etwas anders. Beim TOS 1.62 z.B. unter Extras > Arbeit sichern

Allerdings wird die im DESKTOP.INF gespeicherte Farbinformation nur vom Kontrollfeld wieder ausgelesen.

Paradize - ST Offline Tournament
Stay cool, stay Atari!
1x2600jr, 1x1040STFm, 1x1040STE 4MB+TOS2.06+SatanDisk, 1xF030 14MB+FPU+NetUS-Bee

rainers

  • Gast
Re: Farbtabelle beim Systemstart ändern
« Antwort #11 am: Do 28.03.2013, 22:17:17 »
Ah, langsam wird's heller  ;) Danke Dir.

Offline jens

  • Benutzer
  • Beiträge: 4.637
  • Halleluja, I'm on Highwire...
Re: Farbtabelle beim Systemstart ändern
« Antwort #12 am: Do 04.04.2013, 02:05:47 »
Mit einigen Bootselektoren kann man unterschiedliche Desktop.inf oder Newdesk.inf verwalten.
Vielleicht wäre das etwas für Dich, damit Du nicht auf eine Farbtabelle beschränkt bist.
Gruß, Jens
 
Falcon 030, TT 030, Mega/STe, ST-Book, 1040 STf, 520 ST+ - Milan 060
Diverse PCs und Macs sowie Amiga 1200 und 3000
 
Classic Computing

jabber: gemini8@atari-jabber.org

rainers

  • Gast
Re: Farbtabelle beim Systemstart ändern
« Antwort #13 am: Do 04.04.2013, 06:56:21 »
Hallo jens,

danke für den Tip. Das probiere ich mal aus.

-R.