Farbpalette VGA - Warum nur 7 Farben?!?

  • Keine Ahnung, ob ich hier richtig bin....
    Es geht darum, ich habe einen Patch geschrieben für Rick Dangerous in der PC-Version. Der Patch klinkt sich in das GraKa-Bios und ändert, sobald 320x200x16 Col eingeschaltet wird die Farbpalette. Ziel ist es, die (doofe) CGA-Palette etwas aufzuwerten und das Spiel etwas besser aussehen zu lassen. Problem: egal was ich tue, ich kann nur 7-8 Farben ändern. Ich habs schon mit Neugruppieren der Palettenbänke probiert, vor oder nach dem Einschalten der Grafik - entweder das Bild sieht aus 8 Farb-Grafik, oder es ändert sich nichts, oder es werden nur eine Handvoll Farben geändert. Im Textmodus klappts durch die Neugruppierung der Palette (16 Farben pro Bank). Hat jemand einen Tip für mich?


    P.S.: Ich schiebe die Farben direkt in die Paletten-Register der Karte - ohne BIOS (das auch nicht funzt).

  • Bei 16 Farben arbeitet VGA doch immer im Bitplane-Modus - wenn ich mich recht erinnere auch bei 320x200.
    Kann es sein, daß von Rick Dangerous nur 3 Bitplanes genutzt werden? (beim Digitrakker hatte ich auch nur 3 Bitplanes genutzt, damit in der 4. der Mauszeiger unabhängig gezeichnet werden konnte)


    CU,
    Prodatron

  • Eine Möglichkeit wäre das - es sieht für mich aber nach dem normalen 320x200x16 Col Modus aus - es werden auch Querbeet alle 16 Default-Colors benutzt. Ich habe solche Probleme früher auch im Textmodus gehabt, wo sich jede VGA-Karte geweigert hat, alle 16 Farben zu ändern. Das ging dann erst, als ich die Palette neu zu Bänken a 16 Farben gruppiert hatte. Leider klappt das bei dem Spiel nicht. Auch das Mask-Register hab ich schon manipuliert (das zum Verknüpfen von Farbnummern) - kein Erfolg.

  • Das Problem ist, dass die VGA im 16 Farben Modus erst einmal eine Umrechnung in die EGA Palette (64 Farben) vornimmt.
    Um z.B. Farbregister 6 (Braun) zu ändern musst du Farbregister 20 ändern.
    Man kann die Umrechnungstabelle auch deaktivieren in den man die EGA(!) Palette mit Farbwerten 0-15 lädt.






    Hier mal eine alte Prozedur um die VGA 16-Farb Palette linear auf VGA Register 0-15 zu schalten:




    Kann zwar noch etwas überarbeitet werden (XOR AL,AL anstatt MOV AL,0) aber der Code hat es bereits vor 20 Jahren getan :)

    Multitasking erzeugt Schizophrenie!

    Einmal editiert, zuletzt von insane ()

  • Danke für die Antwort - das werde ich mal ausprobieren :) Das wird nichtmal in meiner ausgabe von PC-Intern beschrieben... Meine Güte :)

  • Ich hatte just heute den Gedanken, ob es nicht möglich wäre alte PC-Version
    aufzumöbeln um den Abstand zu den Atari/Amiga/C64 Version zu verringern.

  • Ist zwar schon lange her, aber ich habs immer mal wieder probiert - es geht einfach nicht. Habe jetzt schon einige Profi-Tipps probiert - entweder es bleibt immer bei den ersten 7 Farben, oder es kommen totale Falschfarben (aber nur die ersten 7), oder das Bild sieht aus, als ob es nur 8 Farben hat... :(


    dr.zeissler: Wenn Du mal sowas vorhast, gib mir mal Bescheid - ich würde da mit helfen :)