Exactamente el copia el byte que marca la hora en una zona vacía de la ram para después comprobar si la hora está entre un cierto rango, para que se vaya al script de @noche o al script de @dia. Y luego en cada script cambia las ventanas con setmaptile la música, minis... dependiendo de si es de día o de noche. No hace falta que copies el byte en una parte vacía, puedes hacer directamente un compare 0x3005542 0x16
para mirar si está en el rango de horas que tú quieres.
Respecto a lo del reloj, al copiar el byte parece que se almacena el número en la var 800D que el juego usa para datos intertos y temporales, y después guarda esos números en dos buffers para mostrarlos por texto. No sé si sabes cómo funcionan los buffers pero bueno si pones justo ese script para mostrar el reloj no te va a dar problemas. En un futuro haré un tutorial explicando buffers.