; Mostrando la organizacion de la videomemoria (atributos) ORG 50000 Start: LD A, 1 ; Borde azul CALL BORDER LD A, 8+4 LD (CLS_COLOR), A CALL CLS LD DE, linea1 CALL PrintString LD A, 14 LD (23695), A ; Atributos LD DE, linea2 CALL PrintString LD A, 64+2+9 ; Atributos: m + brillo. LD (23695), A LD DE, linea2 CALL PrintString CALL Wait_For_Key ; Esperamos que se pulse y libere tecla RET ; Fin del programa ;----------------------------------------------------------------------- ; Esta rutina espera a que haya alguna tecla pulsada para volver. ;----------------------------------------------------------------------- Wait_For_Keys_Pressed: XOR A IN A, (254) OR 224 INC A JR Z, Wait_For_Keys_Pressed RET ;----------------------------------------------------------------------- ; Esta rutina espera a que no haya ninguna tecla pulsada para volver. ;----------------------------------------------------------------------- Wait_For_Keys_Released: XOR A IN A, (254) OR 224 INC A JR NZ, Wait_For_Keys_Released RET ;----------------------------------------------------------------------- ; Limpiar la pantalla con el patron de pixeles indicado. ; Entrada: A = patron a utilizar ;----------------------------------------------------------------------- ClearScreen: LD HL, 16384 ; HL = Inicio del area de imagen LD (HL), A ; Escribimos el valor de A en (HL) LD DE, 16385 ; Apuntamos DE a 16385 LD BC, 192*32-1 ; Copiamos 6142 veces (HL) en (DE) LDIR RET ;------------------------------------------------------------------------- ; Establecer los colores de la pantalla con el byte de atributos indicado. ; Entrada: A = atributo a utilizar ;------------------------------------------------------------------------- ClearAttributes: LD HL, 22528 ; HL = Inicio del area de atributos LD (HL), A ; Escribimos el patron A en (HL) LD DE, 22529 ; Apuntamos DE a 22529 LD BC, 24*32-1 ; Copiamos 767 veces (HL) en (DE) LDIR ; e incrementamos HL y DL. Restamos 1 ; porque ya hemos escrito en 22528. RET ;------------------------------------------------------------------------- ; Datos ;------------------------------------------------------------------------- linea1: defb 'Impreso con ATTR-T actual', _CR, _CR, _EOS linea2: defb 'Esto es una prueba', _CR,'cambiando los atributos', _CR, _CR, _EOS INCLUDE "utils.asm" END 50000