Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
cursos:ensamblador:gfx1_vram [19-01-2024 08:17] – sromero | cursos:ensamblador:gfx1_vram [21-01-2024 18:43] (actual) – [Efectos sobre la imagen y los atributos] sromero | ||
---|---|---|---|
Línea 133: | Línea 133: | ||
ORG 50000 | ORG 50000 | ||
- | ld hl, 18514 | + | ld hl, 18514 |
- | ld a, 60 | + | ld a, 60 |
- | ld (hl), a | + | ld (hl), a |
- | ld hl, 18770 | + | ld hl, 18770 |
- | ld a, 66 | + | ld a, 66 |
- | ld (hl), a | + | ld (hl), a |
- | ld hl, 19026 | + | ld hl, 19026 |
- | ld a, 66 | + | ld a, 66 |
- | ld (hl), a | + | ld (hl), a |
- | ld hl, 19282 | + | ld hl, 19282 |
- | ld a, 126 ; 01111110b | + | ld a, 126 ; 01111110b |
- | ld (hl), a | + | ld (hl), a |
- | ld hl, 19538 | + | ld hl, 19538 |
- | ld a, 66 | + | ld a, 66 |
- | ld (hl), a | + | ld (hl), a |
- | ld hl, 19794 | + | ld hl, 19794 |
- | ld a, 66 | + | ld a, 66 |
- | ld (hl), a | + | ld (hl), a |
- | ld hl, 20050 | + | ld hl, 20050 |
- | ld a, 66 ; 01000001b | + | ld a, %01000001 |
- | ld (hl), a | + | ld (hl), a |
- | ld hl, 20306 | + | ld hl, 20306 |
- | ld a, 0 ; 00000000b | + | ld a, 0 ; 00000000b |
- | ld (hl), a | + | ld (hl), a |
ret | ret | ||
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 | jr nz, SetBorder_fin | ||
; Si es bright | ; Si es bright | ||
- | xor 7 | + | xor %00000111 |
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 | + | and %01111111 |
ld c, a | ld c, a | ||
- | and 7 | + | and %00000111 |
jr z, fadescreen_ink_zero | jr z, fadescreen_ink_zero | ||
Línea 1210: | Línea 1210: | ||
sra a ; con 3 instrucciones de desplazamiento >> | sra a ; con 3 instrucciones de desplazamiento >> | ||
- | and 7 | + | and %00000111 |
jr z, fadescreen_paper_zero | jr z, fadescreen_paper_zero | ||
Línea 1246: | Línea 1246: | ||
| | ||
+ | |||
+ | Del mismo modo, el libro **//40 Best Machine code Routines for the ZX Spectrum// | ||
+ | |||
+ | \\ | ||
+ | * 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 '' | ||
+ | * 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). | ||
+ | |||
\\ | \\ |