Pregunta: | 1620 - PROGRAMAR LA TARGETA DE VIDEO EN QBASIC |
Autor: | Antonio Gonzalez |
Hola programadores del mundo alguien me puede orientar, para saber como puedo sacarle el mejor provecho a mi targeta de video VESA en el lenguaje basic en otras palabras poder aprovechar la gama de colores y resoluciones que me ofece y ademas tambien solicito ayuda para poder bloquear palestas de colores en archivos de captura en pantalla ya que al abrir una imagen gif en qb al capturarla y guardarla, al momento de reabrirla los colores originales cambian ala paleta por omicion que tiene la funciòn SCREEN 13 de ante mano gracias. Un Saludo de Soledad, San Luis Potosi Mèxico |
Respuesta: | Jesús Antón Martín |
La manera de programar la VESA en QBASIC pasa por escribir mucho ensamblador. Existe, sin embargo una librería llamada QBasic Toolkit, donde vienen las rutinas necesarias para llamar a interrupciones desde QBASIC. Con estas rutinas, lo que necesitas es esto: SUB EstableceVESA(modo%) DIM r AS REGISTERS ´Puedes hacer un chequeo con la función 01 ´Mira el documento del estándar VESA r.AX = &H4F02 r.BX = modo% Interrupt &H10, r END SUB SUB CambiaBancoVESA(banco%) r.AX = &H4F05 r.BX = 0 ´Número de ventana: A = 0, B = 1 r.DX = banco% END SUB SUB PonPixelVESA(x%, y%, color&) Dir& = (x% + y%* xres) * (numbits DIV 8) banco% = Dir& DIV &H10000 Dir& = Dir& MOD &H10000 CambiaBancoVESA(banco%) DEF SEG = &HA0000 POKE Dir&, color& MOD 256 ´PARA 16 bits, ´ POKE Dir&, color& MOD 256 ´ POKE Dir&+1, (color& DIV 256) MOD 65536 ´PARA 24 bits, añadir ´ POKE Dir&+3, (color& DIV) 65536 ´PARA 32 bits, ... DEF SEG END SUB ´ObtPixel es tremendamente parecido, claro. Líneas, Círculos, ... Pueden ser creados con PonPixelVESA Estas rutinas son LLLLLLLEEEEEEENNNNNNNTTTTTTTAAAAAASSSSSS, así que te recomiendo el ensamblador. |