mirror of https://github.com/zxdos/zxuno.git
New versions the 2 first examples
* Also added new example 03
This commit is contained in:
parent
77eefbbc01
commit
0925b14c2e
|
|
@ -6,7 +6,7 @@
|
|||
;;
|
||||
;; CÓDIGO MAQUINA
|
||||
;;
|
||||
;; 3E 88 32 00 C0 18 FE
|
||||
;; 4000 - 3E 88 32 00 C0 18 FE
|
||||
;;
|
||||
;;
|
||||
;;
|
||||
|
|
@ -59,7 +59,14 @@
|
|||
;; 2. Ahora los 4 píxeles de color amarillo y cian
|
||||
;; 3. Pinta los 4 primeros píxeles uno de cada color
|
||||
;; (fondo, amarillo, cian y rojo)
|
||||
;; 4. Amplía el programa para que pinte los 8 primeros píxeles
|
||||
;; (4 rojos y 4 amarillos)
|
||||
;;
|
||||
;; RETOS CREATIVOS
|
||||
;;
|
||||
;; 1. Amplía el programa para que pinte los 16 primeros píxeles
|
||||
;; formando una bandera
|
||||
;;
|
||||
;;
|
||||
;;
|
||||
;; EXPLICACIONES EN ESTE VÍDEO
|
||||
|
|
@ -75,7 +82,7 @@
|
|||
;; * La instrucción de salto relativo JR
|
||||
;; * Números negativos: complemento a 2
|
||||
;; * La memoria de vídeo: Funcionamiento
|
||||
;; * La memoria de vídeo: Codificación de los píxeles
|
||||
;; * La memoria de vídeo: Codificación de los píxeles (modo 1)
|
||||
;; * Direcciones de memoria: Little endian y Big Endian
|
||||
;;
|
||||
;;===================================================================================
|
||||
|
|
@ -6,8 +6,8 @@
|
|||
;;
|
||||
;; CÓDIGO MAQUINA
|
||||
;;
|
||||
;; 21 F0 F0 22 00 C0 21 0F 0F 22 00 C8 21 00 00 22
|
||||
;; 00 D0 21 FF FF 22 00 D8 18 FE
|
||||
;; 4000 - 21 F0 F0 22 00 C0 21 0F 0F 22 00 C8 21 00 00 22
|
||||
;; 4010 - 00 D0 21 FF FF 22 00 D8 18 FE
|
||||
;;
|
||||
;;
|
||||
;;
|
||||
|
|
@ -80,12 +80,17 @@
|
|||
;; 3. Dibuja una reja vertical de color rojo
|
||||
;;
|
||||
;;
|
||||
;; RETROS CREATIVOS
|
||||
;; RETOS CREATIVOS
|
||||
;;
|
||||
;; 1. Dibuja una cara y compártela
|
||||
;; 2. Haz un dibujo original y compártelo
|
||||
;;
|
||||
;;
|
||||
;; RETOS AVANZADOS
|
||||
;;
|
||||
;; 1. Amplía el programa para que el dibujo sea de 16x16 píxeles
|
||||
;; y aparezca en el centro de la pantalla.
|
||||
;;
|
||||
;;
|
||||
;; EXPLICACIONES EN ESTE VÍDEO
|
||||
;;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,110 @@
|
|||
;;===================================================================================
|
||||
;; EJEMPLO
|
||||
;;
|
||||
;; Dibujar 8 píxeles en una posición seleccionable de la memoria
|
||||
;;
|
||||
;;
|
||||
;; CÓDIGO MAQUINA
|
||||
;;
|
||||
;; 4000 - 2A 20 40 3A 22 40 77 23 77 18 FE
|
||||
;; 4020 - 20 C0 CA
|
||||
;;
|
||||
;; ### EJERCICIO 1:
|
||||
;;
|
||||
;; 1 - Abrir Winape
|
||||
;; 2 - [F7] Abrir el depurador, analizador de memoria
|
||||
;; 3 - Ampliar la zona de volcado de memoria
|
||||
;; 4 - Buscar la dirección &4000
|
||||
;; 5 - Escribir código máquina en 4000 y 4020
|
||||
;; 6 - Modificar el registro PC=4000
|
||||
;; 7 - Cerrar depurador y observar ejecución
|
||||
;;
|
||||
;; Resultado: Pinta 8 píxeles de colores rojo, amarillo, azul y fondo
|
||||
;; en la mitad de la primera línea de la pantalla
|
||||
;;
|
||||
;; * Observar que CA 11001010 en binario
|
||||
;; * Recordar el funcionamiento de los colores
|
||||
;;
|
||||
;;
|
||||
;; ### EJERCICIO 2:
|
||||
;;
|
||||
;; Trazar paso a paso el ejercicio 1
|
||||
;;
|
||||
;; 1 - Repetir pasos 1 al 6 del ejercicio 1
|
||||
;; 2 - Buscar la dirección &4000 en la zona de desensamblado
|
||||
;; 3 - [F8] Ejecutar la primera instrucción (2A 00 40 LD HL, (4020))
|
||||
;; 4 - Observar que el registro HL vale ahora &C020
|
||||
;; 5 - [F8] Ejecutar la segunda instrucción (3A 02 40 LD A, (4022))
|
||||
;; 6 - Observar que el registro A vale ahora &CA
|
||||
;; 7 - Buscar la dirección &C020 en la zona de volcado de memoria
|
||||
;; 8 - [F8] Ejecutar la tercera instrucción (77 LD (HL), A)
|
||||
;; 9 - Observar que la dirección de memoria &C020 (HL)
|
||||
;; ahora contine &CA (A)
|
||||
;; 10 - [F8] Ejecutar la cuarta instrucción (23 INC HL)
|
||||
;; 11 - Observar que HL ahora contiene &C021 (siguiente posición)
|
||||
;; 12 - [F8] Ejecutar la cuarta instrucción (77 LD (HL), A)
|
||||
;; 13 - Observar que la dirección de memoria &C021 (HL)
|
||||
;; ahora contine &CA (A)
|
||||
;;
|
||||
;; ### EJERCICIO 3:
|
||||
;;
|
||||
;; 1 - Cambiar los bytes en &4020 (20 C0 CA) por (20 C8 F0)
|
||||
;; 2 - Modificar el registro PC=4000
|
||||
;; 3 - Cerrar el depurador y observar el cambio
|
||||
;;
|
||||
;; * Observar que F0 11110000 en binario
|
||||
;; * Observar que CA 11001010 en binario
|
||||
;; * Recordar el funcionamiento de los colores
|
||||
;;
|
||||
;; Resultado: Se pintan de amarillo los 4 píxeles que están justo
|
||||
;; debajo de los píxeles dibujados antes
|
||||
;;
|
||||
;;
|
||||
;; ### EJERCICIO 4:
|
||||
;;
|
||||
;; 1 - Repetir el ejercicio 3 pero cambiando los bytes por:
|
||||
;; * 20 D0 0F
|
||||
;; * 20 D8 CC
|
||||
;; * 20 E0 FF
|
||||
;; * 20 E8 AA
|
||||
;;
|
||||
;; Resultado: Aparece un dibujo de 6x4 píxeles con distintos colores
|
||||
;;
|
||||
;;
|
||||
;;
|
||||
;; RETOS
|
||||
;;
|
||||
;; 1. Consigue que los 8 píxeles se dibujen al final de la primera
|
||||
;; fila de la pantalla
|
||||
;; 2. Amplía el programa para que en lugar de 8 píxeles dibuje 16
|
||||
;; 3. Consigue que los 16 píxeles se dibujen al principio de la
|
||||
;; última fila de la pantalla
|
||||
;;
|
||||
;;
|
||||
;; RETOS CREATIVOS
|
||||
;;
|
||||
;; 1. Siguiendo las instrucciones del ejercicio 4, consigue
|
||||
;; dibujar la inicial de tu nombre en pantalla en &C370
|
||||
;;
|
||||
;;
|
||||
;; RETOS AVANZADOS
|
||||
;;
|
||||
;; 1. Amplía el programa para que dibuje la inicial de tu nombre
|
||||
;; en una sola ejecución, en la posición &C370
|
||||
;;
|
||||
;;
|
||||
;; EXPLICACIONES EN ESTE VÍDEO
|
||||
;;
|
||||
;; * Abrir WinAPE, introducir código y ejecutar
|
||||
;; * Depurar código paso a paso (instrucción por instrucción)
|
||||
;; * Registro HL e instruccion LD
|
||||
;; * Instrucciones de incremento INC
|
||||
;; * Acceso a memoria por posición (punteros básicos)
|
||||
;;
|
||||
;; EXPLICACIONES EN OTROS VÍDEOS
|
||||
;;
|
||||
;; * La memoria de vídeo: Disposición
|
||||
;; * Separación entre código y datos
|
||||
;; * Sprites en videojuegos
|
||||
;;
|
||||
;;===================================================================================
|
||||
Loading…
Reference in New Issue