FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Modo de Video en Consola Windows
En Microsoft Visual C++ v6 escribí un pequeño trozo de código para consola Windows la cual me debe permitir cambiar el modo gráfico a 320x200 sin exito, pues, el sistema me muestra la pantalla Azul diciéndome que se ha producido un Fallo de Protección General.... durante la ejecución.
El trozo de código que se encarga de tal camio es el siguiente: ( Utilizando la directiva: _asm directive ) xor ah,ah mov al,0x13h ; Poner el Modo de Video a 320x200 pixeles. int 10h ; Llamar a la interrucción 0x10 de la Bios. El trozo de código de arriba funciona perfectamente compilando con el Watcom C++. ¿ Alguien sabe como puedo cambiar el video a 320x200 utilizando la BIOS en una aplicación de consola bajo Windows ? Saludos. |
#2
|
||||
|
||||
no puedes ejecutar una interrupción de hardware de esa forma en modo protegido dentro de windows, solo en modo real, de cualquier forma para cambiar las propiedades de la consola debes usar la api de windows checate como funciona SetConsoleTextAttribute
Última edición por courtois fecha: 05-07-2007 a las 09:05:44. |
#3
|
||||
|
||||
Cita:
|
#4
|
|||
|
|||
Gracias chicos por vuestra ayuda.
Ya veo que no puede hacer una llamada a la Interrupción 0x10h desde el Modo Protegido en Windows, usando el Microsoft Visual C++ ¿ Qué hace el Watcom C++ entonces ? que no da ningún problema. Estuve mirando esta página para intentar aclararme: http://www.missl.cs.umd.edu/winint/index1.html En mi aplicación despues de poner el video en consola a 320x200 pixeles, cargo una gráfico y lo pinto en pantalla escribiendo en la siguiente dirección: BYTE *memVideo = (BYTE *) 0xA0000; De todas maneras si se os ocurre algo, aconsejarme. Saludos. |
#5
|
||||
|
||||
No se por que me dio la impresión que querias escribir texto en 320x200, pero en fin, por lo que puedo ver, dado que es asm de 16 bits lo que ejecutas asumo que el exe que generas realmente es para ms-dos, cuando ejecutas exe de ms-dos en windows, se activa el subsistema de 16 bits, con una ventana de ms-dos que usa una cpu virtual y media entre el sistema y la aplicacion, asi que es windows y no watcom c++ quien hace que esto funcione, obviamente no funciona con vc++ porque este solo genera exes de consola de 32 bits para windows, y en ese modo una instruccion asi no es permitida, igualmente si compilaras tu aplicación con watcom para que te genere un exe de consola de windows, no funcionaría, ahora, no se para que desees usar cga estando dentro de windows, teniendo muchas opciones para dibujar como la api de windows, opengl o directdraw, y si usas delphi además las clases y métodos del canvas.
saludos |
#6
|
||||
|
||||
Ya veo que estás más perdido que un pulpo en un garaje (creo que tendré que cambiar mi status )
Cita:
Si estás interesado en saber el por qué, busca y leete el libro "Sistemas Operativos Modernos" de Andrew S. Tanenbaum. Te prevengo de que es un texto universitario así que preparate. Cita:
Y si alguien te ofrece DirectX (o DirectDraw), sé valente y di: No, gracias. Que luego la desintoxicación sale cara Última edición por Ñuño Martínez fecha: 06-07-2007 a las 09:28:12. |
#7
|
|||
|
|||
DIOS!, no quiero ver nada del Sr. Andrew S. Tanenbaum, ya tuve bastante con su libro de Redes de Computadores.
Gracias compañeros por vuestras ayudas |
#8
|
||||
|
||||
Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Obtener el nombre de la aplicacion en modo consola | jlrbotella | API de Windows | 2 | 05-03-2009 07:39:39 |
Insertar Video, o vista preeliminar de video | JuanErasmo | .NET | 0 | 10-01-2007 21:27:20 |
Nuevo modo de gestión de claves de activación con Windows Vista | vtdeleon | Noticias | 2 | 20-11-2006 10:30:26 |
Modo diseño y modo ejecución | buildero_d | OOP | 3 | 11-09-2005 07:45:00 |
Consola con IB1.5 | Iván | Firebird e Interbase | 5 | 21-05-2003 10:56:42 |
|