Buenas... en primer lugar me presento, mi nombre es Matias, soy de Argentina, estudiante de ingenieria electronica, y soy nuevito en esto de programar... Aprendi en la secundaria algo de ASM y Basic para 8051, lo cual me resulto muy interesante... Actualmente en la facultad tenemos las materias de informatica 1 y 2, y luego tecnicas digitales etc etc en la cual usamos C (en el compilador Borland C para ser exacto, pero trato de usar todas librerias ANSI para no perder portabilidad). Vengo siguiendo el foro hara una semana, y encontre muchas informaciones que me han sido utiles, las cuales aprovecho para agradecer!
Bueno, atacando ahora el "problema" (que en realidad es un desasne lo que necesito) que tengo, es el siguiente:
Se manejar la memoria de video en modo texto, accediendo mediante (unsigned char far*) 0xB8000000, usando los bytes de caracter y colores y arme una funcion llamada "imprimi" que la uso en lugar del printf en la primer fase de mi proyecto. la funcion es:
#define VIDEO (unsigned char far*) 0xB8000000
void imprimir ( char* string , int x , int y, char formato) {
int a;
unsigned char far* pvideo;
pvideo=VIDEO;
for(a
=0; a
< (strlen(string
)) ; a
++){ *(pvideo+(2*x+(160*y+2*a)))=*(string+a);
}
if(formato!=-1){
for(a
=0; a
< (strlen(string
)) ; a
++){ *(pvideo+(1+(2*x+(160*y+2*a))))=formato;
}
}
return;
}
Ahora, resulta que para la aplicacion que estoy armando para la segunda parte del proyecto, me seria util usar la memoria de video pero en modo GRAFICO (al menos asi me dijeron que se llama), es decir, como matrix de pixeles. Es decir, poder armar una funcion similar a esta, en la cual le pase ( int X, int Y, int cantidad de pixeles a pintar,char color). Encontre algo en el foro ( viewtopic.php?f=18&t=37378&p=136145 ), que habla de que el modo grafico se usa la direccion A000h:0000h... pero escribi esa direccion y no me pinta ni un pixel. Aparte no se como es el formato de escritura de dichos pixels (yo mande 0xFF a 16 direcciones y nada....). Creo que posiblemente tenga que cambiar algo en algun registro de la bios, supongo.. (me han dicho algo asi), pero no estoy seguro.
Igual voy a seguir buscando en mi gran amigo google a ver si encuentro algo
Muchas Gracias.
Shadowpucci