SoloCodigo

Programación General => C/C++ => Visual C++ => Mensaje iniciado por: kasper en Miércoles 21 de Abril de 2004, 01:21

Título: Retrazo Vertical De Pantalla
Publicado por: kasper en Miércoles 21 de Abril de 2004, 01:21
Hola peña:  :hola:

¿Alguien sabe como hacer con VC++ y/o MFC's para esperar en un programa al retrazo vertical de pantalla?   :huh:

Bye  :ph34r:
Título: Re: Retrazo Vertical De Pantalla
Publicado por: JuanK en Miércoles 21 de Abril de 2004, 06:56
usa directx o assembler.
Título: Re: Retrazo Vertical De Pantalla
Publicado por: kasper en Miércoles 21 de Abril de 2004, 16:11
OK.  :D

Me podrias dar alguna indicacion de donde conseguir algun ejemplo o algo de codigo o algun tutorial.
No ando muy fino en assembler  :(  y no tengo ni idea de directx  :huh:

Gracias
Título: Re: Retrazo Vertical De Pantalla
Publicado por: JuanK en Miércoles 21 de Abril de 2004, 19:57
bueno como tu caso es simplemente barrido vertical, haslo en assembler..
codigo en c
Código: Text
  1.  
  2. void WaitRetrace(void)
  3. {
  4.      while(!((inportb(0x3DA) & 8)==8));      // Retrazado activo
  5.      while(!((inportb(0x3DA) & 8)==0));      // Retrazado no activo
  6. }
  7.  
  8.  
es posible que no te funcione porque ya no funcionan las  inportb() en las versiones de win32. entonces trata con esto:

assembler
Código: Text
  1.  
  2.  
  3. void WaitRetrace(void)
  4. {
  5.     asm mov dx, 03DAh
  6. espera1:
  7.     asm in al, dx
  8.     asm test al, 08h
  9.     asm jnz espera1
  10.  
  11. espera2:
  12.     asm in al, dx
  13.     asm test al, 08h
  14.     asm jz espera2
  15. }
  16.  
  17.  

si ninguno te funciona haslo con dx.. me cuantas porfa.
Título: Re: Retrazo Vertical De Pantalla
Publicado por: kasper en Miércoles 28 de Abril de 2004, 00:05
Hola  :hola:

He probado de las 2 formas pero me salta un error de "Privileged instruction" al ejecutarse mi aplicacion en modo "user"  :( . Tengo Windows XP.

¿Alguna idea?   :D
Título: Re: Retrazo Vertical De Pantalla
Publicado por: JuanK en Miércoles 28 de Abril de 2004, 07:44
si, usa directX
o gdi