hola, tengo este ligero problema con una clase que hize, en esta clase tengo un puntero apuntado a la zona de video en modo texto (0xB8000000h)
¿Eso no era explícitamente hecho para DOS? cada sistema operativo debería de tener su manera apropiada de limpiar la pantalla debido a como manejan la memoria de cada dispositivo...
Para mas datos estoy usando binicpup 64 bits y el compilador es codelite, y aca esta la clase
Perdon por la ignorancia pero ¿que es binicpup? ¿Es BionicPup de PuppyLinux?
Si es una distro moderna de Linux podés hacer lo siguiente en la terminal:
clear | hexdump -C
Luego te va a salir una secuencia de bytes, en mi caso es:
00000000 1b 5b 48 1b 5b 32 4a 1b 5b 33 4a |.[H.[2J.[3J|
0000000b
Al cuál se lo creo un programa en C o C++ da igual y le agrego un cero al final por las dudas:
#include <iostream>
int main()
{
unsigned char bfClearScreen[]=
{0x1b,0x5b,0x48,0x1b,0x5b,0x32,0x4a,0x1b,0x5b,0x33,0x4a,0x00};
std::cout << bfClearScreen;
return 0;
}
Y eso al menos a mí me funcionó perfectamente.
Enlace de referenciaGIF de demonstración:
B#