![]() |
![]() |
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) i teraz mam pewien problem. Otoz inicjujac ten tryb jeszcze wczoraj wszystko dzialalo, a dzisiaj juz nie - mimo, ze nic nie zmienialem (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif) 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 !? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Te napis kiedys przestanie migac (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Po pewnym czasie przestaje i sa kolejne etapy dema... trzeba tylko poczekac. Na koncu sa takie ladne kolorki i wtedy juz mozna wcisnac klawisz (dowolny) aby wyjsc no i jeszcze podczas kodu Matrix. Tylko jeszcze obawiam sie, ze delay moze byc za duzy na starsze komputery. Ja testowalem to na P4 2GHz, wiec dalem dosc duzy - jaby bylo duze spowolnienie to napiszcie zmienie w prgramie co trzeba i kazdy bedzie mogl sam ustawic. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 18:44 |