home *** CD-ROM | disk | FTP | other *** search
- Program GoodFade;
- Uses
- Crt;
-
- Const
- I1II111 = 75;
- IIIIII = 60;
-
- Var
- Count, Count2 : Byte;
- Pal1, Pal2 : Array [0..255, 0..2] of Byte;
-
- Procedure I1I1;
- begin
- For Count := 0 to 255 DO
- begin
- PORT [$03C7] := Count;
- Pal1 [Count, 0] := PORT [$03C9];
- Pal1 [Count, 1] := PORT [$03C9];
- Pal1 [Count, 2] := PORT [$03C9];
- end;
- Pal2 := Pal1;
- end;
-
- Procedure IIIIIII;
- begin
- For Count := 0 to 255 DO
- begin
- PORT [$03C8] := Count;
- PORT [$03C9] := Pal1 [Count, 0];
- PORT [$03C9] := Pal1 [Count, 1];
- PORT [$03C9] :=
- Pal1 [Count, 2];
- end;
- end;
-
- Procedure FadeOut;
- begin
- For Count := 1 to I1II111 DO
- begin
- For Count2 := 0 to 255 DO
- begin
- if Pal2 [Count2, 0] > 0 then
- DEC (Pal2 [Count2, 0]);
- if Pal2 [Count2, 1] > 0 then
- DEC (Pal2 [Count2, 1]);
- if Pal2 [Count2, 2] > 0 then
- DEC (Pal2 [Count2, 2]);
- PORT [$03C8] := Count2;
- PORT [$03C9] := Pal2 [Count2, 0];
- PORT [$03C9] := Pal2 [Count2, 1];
- PORT [$03C9] := Pal2 [Count2, 2];
- end;
- Delay (IIIIII);
- end;
- end;
-
- Procedure FadeIn;
- begin
- For Count := 1 to I1II111 DO
- begin
- For Count2 := 0 to 255 DO
- begin
- if Pal2 [Count2, 0] < Pal1 [Count2, 0] then
- INC (Pal2 [Count2, 0]);
- if Pal2 [Count2, 1] < Pal1 [Count2, 1] then
- INC (Pal2 [Count2, 1]);
- if Pal2 [Count2, 2] < Pal1 [Count2, 2] then
- INC (Pal2 [Count2, 2]);
- PORT [$03C8] := Count2;
- PORT [$03C9] := Pal2 [Count2, 0];
- PORT [$03C9] := Pal2 [Count2, 1];
- PORT [$03C9] := Pal2 [Count2, 2];
- end;
- Delay (IIIIII);
- end;
- end;
-
- begin
- I1I1;
- FadeOut;
- FadeIn;
- IIIIIII;
- end.
-