New versions the 2 first examples

* Also added new example 03
This commit is contained in:
ronaldo 2016-07-30 13:07:51 +02:00
parent 77eefbbc01
commit 0925b14c2e
3 changed files with 127 additions and 5 deletions

View File

@ -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
;;
;;===================================================================================

View File

@ -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
;;

110
examples/1.03-spritedata.mc Normal file
View File

@ -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
;;
;;===================================================================================