Atención a los que hacen la práctica que utiliza teclado:
Hay dos puertos de salida de un bit, que no se utilizan en el resto de la práctica pero que deben estar en nivel alto para que funcione correctamente la comunicación con el teclado. Para asegurar eso independientemente del valor inicial de los FF de los puertos de salida, en todos los programas de prueba deben inicializar esos dos puertos a nivel alto, p. ej. así:
ld a, 0xff
out (psdat_o), a
out (psclk_o), a
Donde psdat_o y psclk_o son las direcciones asignadas por ustedes a esos puertos en el circuito de decodificación.
En la práctica que utiliza ratón esta inicialización se realiza dentro de la subrutina mouse_init().
Les queda de deberes pensar por qué si alguno de estos puertos de salida queda en nivel bajo la cosa no funciona. Es una linda pregunta para las defensas...
Saludos,
julio