Fade-up: to je můj název pro plynulé zesvětlení palety do bíla - dělá se naprosto stejně jako fade-in nebo fade-out, jen rovnice na výpočet jasu je trochu jiná: port[3c9]:=pal[i]+(63-pal[i])*j div 63; Potom samozřejmě záleží na tom jestli máte cyklus 0 to 63 (z pal do bíla) nebo 63 downto 0 (z bíla do pal). Fade-to-pal: Fade z jedné palety do druhé. moje procedurka vypadá asi takhle: procedure fadetopal(pal1,pal2:paleta); var i,j:word; begin port[3c8]:=0; for j:=0 to 63 do begin retrace; for i:=1 to 768 do if pal2[i]>pal1[i] then port[3c9]:=pal1[i]+(pal2[i]-pal1[i])*j div 63 else port[3c9]:=pal1[i]-(pal1[i]-pal2[i])*j div 63; end; end; Tato proc. vytváří plynulý přechod mezi pal1 a pal2. Není to nic těžkého - stačí se nad tím trochu zamyslet. 2. DŮLEŽITÁ POZNÁMKA: při složitějších vzorcích (No to tady budou asi všechny :)) se celá paleta nestačí za dobu vracení paprsku naplnit => vzniká nežádoucí "sněžení".. odstranit by se to dalo např. tak že by v v cyklu for i:=1 to 768 byla kontrola činnosti paprsku. Fade-to-gray: plynule převede pal do odstínů šedi: procedure fadetogray(pal:paleta); var i,j:word; gray:byte; begin port[3c8]:=0; for j:=63 downto 0 do begin retrace; for i:=1 to 768 do begin if (i-1) mod 3=0 then gray:=(pal[i]+pal[i+1]+pal[i+2]) div 3; if gray>pal[i] then port[3c9]:=gray-(gray-pal[i])*j div 63 else port[3c9]:=gray+(pal[i]-gray)*j div 63; end; end; end; Fade-from-gray: oproti fade-to-gray se změní cyklys pro j na for j:=0 to 63 do - toť vše. Jde v podstatě o to že se vypočítá rozdíl mezi aktuální paletou a cílovou a ten se po kouscích přičítá k aktuální paletě - až se z ní stane cílová. Všechny tyto operace s paletou můžete samozřejmě (a dokonce by mohli i fungovat!) používat i v 16 barevných režimech a v text. módu. U 16 barev bych doporučoval zkrátit cyklus pro i na 48 (3*16) a u textových to záleží na vás - jestliže např. nepoužíváte blikavé barvy, stačí cyklus do 384. Dál nezapomeňte že se paleta musí nastavovat až po inicializaci módu - ta totiž nastaví standartní paletku. Všechno doporučuju předělat do Assembleru a zoptimalizovat - tohle co jsem zplodil je příšerná věc :-). Karak výheň