![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Czy moze ktos bawil sie w Pascalu w tryb SVGA256 ?
Nasz zacofany program uczelniany programowania w Pasacalu zmusil mnie do napisania programu z wykorzystaniem tylko graph ![]() ![]() Czesc kodu odpowiedzialna za inicjacje grafiki to: Kod PROGRAM GrDemo;
USES Crt, Graph; VAR GraphDriver : integer; { Sterownik graficzny } GraphMode : integer; { Tryb graficzny } Page: byte; { Numer strony graficznej } { Detekcja sterownika VGA256 } FUNCTION DetectVGA256 : integer; VAR DetectedDriver : integer; SuggestedMode : integer; BEGIN DetectGraph(DetectedDriver, SuggestedMode); IF (DetectedDriver = VGA) OR (DetectedDriver = MCGA) THEN BEGIN DetectVGA256 := 1; {640x480} END ELSE BEGIN DetectVGA256 := grError; END; END; { Inicjajca trybu graficznego TODO: kontorla bledow } PROCEDURE Initialize; VAR PathToDriver : string; BEGIN DirectVideo := False; PathToDriver := 'e:tpsvga'; { Sciezka do driverow graficznych } GraphDriver := InstallUserDriver('Svga256',@DetectVGA256); InitGraph(GraphDriver, GraphMode, PathToDriver); IF GraphResult <> grOK THEN BEGIN writeln('Error'); END; END; { Opoznienie } PROCEDURE Pause; BEGIN delay(100000); delay(100000); delay(100000); delay(100000); END; { Zapobiega migotaniu obrazu } PROCEDURE WaitRetrace; ASSEMBLER; ASM mov dx,3DAh @@loop1: in al,dx; and al,8; jnz @@loop1; @@loop2: in al,dx; and al,8; jz @@loop2 END; { Przeskakiwanie po stronach } PROCEDURE PageFlipping; BEGIN IF Page = 1 THEN BEGIN SetVisualPage(0); SetActivePage(1); Page := 0; END ELSE BEGIN SetVisualPage(1); SetActivePage(0); Page := 1; END; ClearDevice; WaitRetrace; Pause; END; { Glowna czesc programu } BEGIN Initialize; outtextxy(10,10,'sdfsdf'); repeat until keypressed; CloseGraph; end. Czy ktos moze mi powiedziec co do cholery jest nie tak !? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 13:07 |