flopping escribió:¿Quizá también se podría meter un DMA, no?
Sí, pero sólo podría usarse esa DMA para los primeros 16K. La ULA tiene acceso directo a esa memoria, pero no al resto de los 32K, ni a la ROM. Además, para que funcionara la DMA tal y como está definida por Zilog, habría que comandar las señales BUSRQ y BUSAK. Estas señales no están disponibles en el pineado de la ULA, y no quisiera tener cablecillos volando de un lado a otro de la placa. Además, para más inri, mientras el Z80 está parado, alguien tiene que seguir haciendo refresco de la memoria no contenida.
En resumen: todo lo que se quiera hacer (DMA, coprocesado, etc) sólo podrá hacerse con la memoria contenida. La ULA también puede desactivar a voluntad la ROM y enviar sus propias instrucciones al procesador, pero la detección de qué instrucción se está ejecutando tiene ciertas dificultades, al no tener disponible la señal M1.
La memoria no contenida, ni está accesible por la ULA, ni ésta puede refrescarla, ni direccionarla ni nada, así que no se puede hacer nada con ella.
Un Z80 embebido en la ULA sería mucho más versátil que un controlador de DMA, así que si consigo "empotrarlo", pues podrás usarlo para DMA, o para lo que quieras (renderizar sprites, por ejemplo).
flopping escribió:Aunque en principio tu ULA+ es un reemplazo semidirecto de una ULA de 48k, ¿Se podría usar en una futura maquina de spectrum SE?, (siempre y cuando exista un chip tipo ULA o similar en el prototipo claro).
Para eso mejor meter toda la máquina en una FPGA, que es lo que pretende el proyecto de Antonio Villena. Eso, o tienes que partir de posser un Timex TC2048.
flopping escribió:Bueno, pues nada, lo dicho, muchas gracias por la información y seguiré el tema atentamente, a ver si viéramos esa ULA+ pronto, ya que seria un buen regalo para Navidad, JAJAJAJAAJAJ.....salu2.
Antes tengo que autorregalarme para navidad (o antes) una tesis doctoral