; Mostrando la organizacion de la videomemoria ORG 50000 ; Pseudocodigo del programa: ; ; Limpiamos la pantalla ; Apuntamos HL a 16384 ; Repetimos 192 veces: ; Esperamos pulsacion de una tecla ; Repetimos 32 veces: ; Escribir 255 en la direccion apuntada por HL ; Incrementar HL Start: ld a, 0 call ClearScreen ; Borramos la pantalla ld hl, 16384 ; HL apunta a la VRAM ld b, 192 ; Repetimos para 192 lineas bucle_192_lineas: ld d, b ; Nos guardamos el valor de D para el ; bucle exterior (usaremos B ahora en otro) ld b, 32 ; B=32 para el bucle interior call Wait_For_Key ; Esperamos que se pulse y libere tecla ld a, 255 ; 255 = 11111111b = todos los pixeles bucle_32_bytes: ld (hl), a ; Almacenamos A en (HL) = 8 pixeles inc hl ; siguiente byte (siguientes 8 pix.) djnz bucle_32_bytes ; 32 veces = 32 bytes = 1 scanline ld b, d ; Recuperamos el B del bucle exterior djnz bucle_192_lineas ; Repetir 192 veces jp Start ; Inicio del programa ;----------------------------------------------------------------------- ; Limpiar la pantalla con el patron de pixeles indicado. ; Entrada: A = patron a utilizar ;----------------------------------------------------------------------- ClearScreen: ld hl, 16384 ld (hl), a ld de, 16385 ld bc, 192*32-1 ldir ret INCLUDE "utils.asm" END 50000