Título: Set page en ensamblador Publicado por: assembler en 29 de Febrero de 2012, 07:03:12 pm Según he podido ver en este hilo http://karoshi.auic.es/index.php?topic=2133.0 (http://karoshi.auic.es/index.php?topic=2133.0), para tratar con las diferentes páginas en VRAM hay que cambiar las bases de la tabla de nombres, colores y atributos, con los registros 2, 3 y 4.
Con eso entiendo que las gestiones hay que hacerlas por código, ¿no? para escribir en la página 1 y ver la 0, tengo que escribir en 0x5800, y tener el registro 2 como 6 y para escribir en la 0 y ver la 1, escribir en 0x1800 y tener el registro 2 como 22 ¿Es asíN? Título: Re: Set page en ensamblador Publicado por: samsaga2 en 01 de Marzo de 2012, 11:52:36 am Si no te hace falta cambiar de página tirando directamente de vdp (interrupciones) te recomiendo tirar de la bios.
Por lo demás, sí. Para modificar la página 1 escribes los valores en el 5800h y para la página 0 los valores en 1800h. Las posiciones de la memoria vram no cambian, cambian los valores de los registros que indican en que sitios de la vram están los valores que ha de usar para mostrar las cosas en pantalla. Título: Re: Set page en ensamblador Publicado por: assembler en 01 de Marzo de 2012, 11:58:11 am ¿Qué funciones de la BIOS tendría que usar?
Título: Re: Set page en ensamblador Publicado por: samsaga2 en 01 de Marzo de 2012, 12:49:54 pm SETPAG (013DH)
Function: switches the page Input: DPPAGE (FAF5H) for the display page number ACPAGE (FAF6H) for the active page number Output: none Registers: AF Ten en cuenta que usando las rutinas de las bios tanto para cambiar de página como para establecer la dirección de escritura en vram (0053h) siempre has de poner la misma dirección, 1800h, ya que la bios ya se encarga de averiguar la página activa (la de escritura). |