cursos:ensamblador:gfx1_vram

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
cursos:ensamblador:gfx1_vram [19-01-2024 12:26] – [La videomemoria del Spectrum] sromerocursos:ensamblador:gfx1_vram [21-01-2024 18:43] (actual) – [Efectos sobre la imagen y los atributos] sromero
Línea 914: Línea 914:
 ;------------------------------------------------------------ ;------------------------------------------------------------
 SetBorder: SetBorder:
-    out (254), a+    out ($fe), a
     ret     ret
  
Línea 934: Línea 934:
 ;------------------------------------------------------------ ;------------------------------------------------------------
 SetBorder: SetBorder:
-    out (254), a           ; Cambiamos el color del borde+    out ($fe), a           ; Cambiamos el color del borde
     rlca     rlca
     rlca     rlca
Línea 941: Línea 941:
     jr nz, SetBorder_fin   ; No es bright -> guardarlo     jr nz, SetBorder_fin   ; No es bright -> guardarlo
                            ; Si es bright                            ; Si es bright
-    xor 7                  ; -> cambiar la tinta a 0+    xor %00000111          ; -> cambiar la tinta a 0
  
 SetBorder_fin: SetBorder_fin:
Línea 1194: Línea 1194:
 fadescreen_loop2: fadescreen_loop2:
     ld a, (hl)                   ; Cogemos el atributo     ld a, (hl)                   ; Cogemos el atributo
-    and 127                      ; Eliminamos el bit de flash+    and %01111111                ; Eliminamos el bit de flash
     ld c, a     ld c, a
  
-    and 7                        ; Extraemos la tinta (and 00000111b)+    and %00000111                ; Extraemos la tinta (and 00000111b)
     jr z, fadescreen_ink_zero    ; Si la tinta ya es cero, no hacemos nada     jr z, fadescreen_ink_zero    ; Si la tinta ya es cero, no hacemos nada
  
Línea 1210: Línea 1210:
     sra a                        ; con 3 instrucciones de desplazamiento >>     sra a                        ; con 3 instrucciones de desplazamiento >>
  
-    and 7                        ; Eliminamos el resto de bits+    and %00000111                ; Eliminamos el resto de bits
     jr z, fadescreen_paper_zero  ; Si ya es cero, no lo decrementamos     jr z, fadescreen_paper_zero  ; Si ya es cero, no lo decrementamos
  
Línea 1246: Línea 1246:
  
  Rutinas más complejas pueden producir cortinillas y efectos mucho más vistosos. En la revista Microhobby se publicaron muchos de estos efectos de zoom, desaparición de pantalla o inversión, dentro de la sección //Trucos//.  Rutinas más complejas pueden producir cortinillas y efectos mucho más vistosos. En la revista Microhobby se publicaron muchos de estos efectos de zoom, desaparición de pantalla o inversión, dentro de la sección //Trucos//.
 +
 +Del mismo modo, el libro **//40 Best Machine code Routines for the ZX Spectrum//** ("Las 40 mejores rutinas en código máquina para el ZX Spectrum") de //John Hardman y Andrew Hewson// nos proporciona una serie de rutinas en ensamblador para realizar diferentes acciones con los píxeles y los atributos de la videoram, como por ejemplo:
 +
 +\\ 
 +   * Scrollear atributos a izquierda, derecha, arriba o abajo.
 +   * Scroll de pantalla de un carácter (8 pixels) a izquierda, derecha, arriba o abajo.
 +   * Scroll de pantalla de un pixel a izquierda, derecha, arriba o abajo.
 +   * Mezclar dos imágenes con ''OR'' o ''XOR''.
 +   * Inversión de la pantalla (píxeles a 0 se ponen a 1, y píxeles a 1 se ponen a 0).
 +   * Invertir carácter vertical y horizontalmente.
 +   * Rotar carácter 90º en sentido horario.
 +   * Alterar todos los atributos de la pantalla (los bits deseados).
 +   * Cambiar todos los atributos de la pantalla de un determinado valor por otro valor.
 +   * Rellenado de regiones cerradas (poniendo a 1 los píxeles dentro de esas regiones).
 +   * Impresión de figuras.
 +   * Copia de una zona de la pantalla en otra, ampliándola por una cantidad entera (por ejemplo, x2 o x3).
 +
  
 \\  \\ 
  • cursos/ensamblador/gfx1_vram.1705667176.txt.gz
  • Última modificación: 19-01-2024 12:26
  • por sromero