Hola, había empezado a curiosear cosas sobre programar en MSDOS y VGA.
¿Sabéis donde podría haber librerías o ejemplos de cosas en ensamblador para VGA?.
Hay poquísimos ejemplos, a parte de unos en turbo c, que van bastante lentos ya que estoy probando en 8086 o como mucho 286 (emulados con PCEM).
He conseguido cargar imágenes con los samples del turbo c, y hacer un "scrolling" por hardware en VGA, que me ha costado semanas. El scrolling es rápido, estilo los que tenían las consolas que no consume cpu, pero lo difícil es dibujar sprites encima del fondo, o copiar datos nuevos a la VRAM de forma eficiente para actualizar por ejemplo la parte derecha de la pantalla y crear la ilusión de un nivel o mapa grande para un juego.
Si a alguien le interesa, aquí dejo un sample en turbo C con lo que he conseguido, que bastante es...
PGAME.zip
Es un "sprite" sobre un fondo que hace scrolling y que funciona teóricamente hasta en un 8088 a 4 Mhz (otra vez, emulándolo en PCEM), aunque no tenia ni idea de como implementar el sprite y no lo hace bien del todo (va dejando un rastro por ahi, y es lentísimo...).
Optimizandolo un poco y dibujando el sprite en ensamblador, seguramente un 8086 podría mover dos o tres sprites y hacer un scrolling a 50 fps o por ahi, aunque solo sea un scroll horizontal, creo yo...
En un 286 hay ya juegos que demuestran que se podia hacer muy bien (como el Doofus).
Y Luego tenemos el commander keen que hace un scroll un poco lento y en EGA, pero que funciona en cualquier patata.
Saludos.
Marcadores