Buenasss!!!
A ver, por donde empiezo..., estoy programando una libreria gráfica en Borland C++, ensamblador y Vesa.
Me gustaria conseguir información sobre la Vesa, como entrar en el modo protegido( para usar segmentos de 32bits ), etc. Si quereis, comentarme osas que penseis que me pueden ser utiles o lo que pondriais vosotros.
Ya se que existen las apis de directX y openGL, o librerias como la allegro, SDL, etc. Pero quiero programarlo todo yo, asi es como se aprende :sonriendo:
De momento, mi objetivo, a parte de la libreria basica, es crear un entorno gráfico como el de los juegos Deus Ex y Necron, no os confundais, no quiero hacer un juego sino un sistema parecido al de los menus que aparecen cuando juegas, vamos tipo windows, KDE, etc.
Espero haberme explicado bien :lengua:
Noss vemosss
Nunca llegué a hacer eso, era un infierno. Algo ví por ahí hace un par de años, busca en google info sobre Vesa graphic mode...
No creo que hacer eso a pelo te sirva a aprender mejor cosas útiles, tú verás, pero para éstas cosas es para lo que sirve tener APIs, tú verás...
en la pagina de FAQSYS viene toda la informacion sobre los distintos chipsets de tarjetas graficas compatibles con VESA, asi como algoritmos para hacer algunos tipos de graficos en ensamblador.
Eso si, esta en ingles... el que avisa no es traidor... (es traidor y medio) :sonriendo:
Otro sitio muy util es Programmers Heaven, donde encontraras ademas de codigos que tocan la tarjeta grafica, tutoriales sobre modo protegido y modo flat (mucho mas interesante)
Respecto a las direcciones, son las siguientes:
FAQSYSProgrammers Heaven[ Este Mensaje fue editado por: Emotion el 2002-08-14 21:33 ][ Este Mensaje fue editado por: Emotion el 2002-08-14 21:34 ]
Conye! Emotion!!! Esta vivo!!! :riendo: Que pasa tio? Se te echaba de menos :ojo:
Buenassss!!!
Gracias por los links, muy interesantes, voy a desenpolvar el diccionario de ingles :lengua:. Por cierto, que es el modo flat ? No lo havia oido nunca :lengua:
Consiste en renderizar los triangulos usando como iluminacion un valor obtenido al comprobar la incidencia de la luz sobre la normal de dicho triangulo. O en cristiano; se usa un solo color (en lugar de una gradiante por ejemplo) para la luz. Aqui tienes un ejemplo de una imagen renderizada en modo flat que he encontrado:
http://www.dgp.toronto.edu/~dh/screenshots...ts/shot0007.jpg
La verdad es que no entiendo mucho del tema pero creo que Emotion, con el modo flat se refería al modo de uso de la memoria...
Saludos
xDDDDDDDDDDDDDDDDD
lo siento,.... eso me pasa por leer palabras sueltas.
Si...yo también me he llevado alguna de esas de vez en cuando :riendo:
Saludos
joe, pues pensandolo bien, es cierto... tambien es un modo de renderizar poligonos.. :sonriendo:
pero a lo que me referia es a un modo de memoria... el inconveniente que tiene el modo protegido es que cada vez que necesitas ejecutar una interrupcion de modo real tiene que salirse del modo protegido, ejecutar la interrupcion y volver otra vez al modo protegido, ya que si no se hace asi se produce el archiconocido GPF o General Protection Fault, que soltaban de vez en cuando los juegos hechos con extensores de memoria como el DOS4GW o el GO32, y esos extensores usaban modo protegido...
el modo flat es un modo de poder direccionar los teoricos (por aquel entonces, claro) 4 Gigas de RAM usando modo real, que es de 16 bits, un lio pero vamos, que funciona, de hecho incluso creo que WindowsNT, al menos la version 4.0 (aunque no lo puedo confirmar ya que no estoy seguro), usaba el modelo de memoria flat...
uff... que rollo escribir tanto... :sonriendo:
Azathoth, si quieres hacer cosas en C/ASM para DOS te recomiendo que te bajes el PCGPE, lo tienes en:
http://www.geocities.com/SiliconValley/Pea...5/download.htmlPuedes bajarte también mis librerías para Borland y Watcom de mi página, espero que te sirvan para algo. Son totalmente gratis.
Todo programador debería probar poner un pixel en modo de video EGA de 16 colores... es todo un reto para el espíritu, especialmente si se hace en ensamblador.
Buenasss!!!!
Gracias por estos nuevo link, me he bajado la libreria de Borland de tu pagina sés, en cuanto le heche un ojo te comento algo, el pcgpe ya lo tenia :sonriendo:
Me ha picado la curiosidad eso del modo flat, voy a documentarme... :lengua:
Noss vemoss
Espero que te sirva, pregunta cualquier cosilla.
Otra cosa, si te interesa el modo FLAT deberías pensar en olvidar BORLAND y usar WATCOM, por ejemplo.
Recuerdo un archivo VESASP12.TXT que tenía las especificaciones de VESA 1.2 y te lo recomiendo para empezar si lo encuentras por ahí (si sabes inglés como no) Era un documento oficial y tenía todas las llamadas en ensamblador muy bien documentadas. Además te explica los conceptos de paginación y otros muy importantes para entender los modos gráficos SVGA y cómo programarlos. Creo que llevaba algún pequeño ejemplo también. Hay otros documentos con especificaciones más actuales pero para empezar te recomiendo ese. Probablemente aún estará en
http://www.programmersheaven.com donde también podrás encontrar código fuente de ejemplo.
Si no lo encuentras por ahí dilo y te lo buscaré. Hace un montón de tiempo (tendría 15 años o asín) hice un GUI tipo Windows para DOS utilizando los modos VESA y aún debo tener algo de documentación por ahí. Te pasaría el código también, pero lo perdí por un problemilla de particiones que tuve haciendo experimentos con el disco duro... :loco:
Sync :guay:
Buenassss!!!
Gracias por el comentario del archivo vesasp12, pero esta vez me he adelantado ya lo tenia :sonriendo:.
La cosa ya esta en marcha, ahora estoy optimizando la rutina para poner un punto en ensamblador. De hecho, estoy haciendo un pequeño programa para que me calcule el tiempo que me tarda en ejecutar cierto numero de veces una funcion, o que me calcule cuantas veces me ejecuta una funcion en un determinado tiempo.
Noossss vemossss