Toniman escribió:Hola,
Me gustaria saber si es posible poner a un Spectrum 48k un switch para ponerlo cuando yo quiera a 7mhz o volver a 3,5mhz aunque para ello haya que pausar la cpu. O si tiene que ser en frio tambien me vale.
- Primero: el Z80A que trae el Spectrum no soportaría overclockearlo a 7MHz. A lo mejor puedes forzarlo a un poco más de 4MHz, o incluso 5 (no lo he comprobado).
- Segundo: la señal de reloj del 48K no es continua, sino que la para la ULA cuando lo necesita, así que necesitarías... ¡una nueva ULA!
- Tercero: Incluso aunque usaras esa nueva ULA, o usaras el invento de Winston, para sacar la señal de 3.5MHz estables desde la que da la ULA original, aún te queda el problema de que tanto la ROM como la memoria no contenida van, por lo general, a 200ns. Para un hipotético Spectrum que fuera a 7MHz, la memoria tendría que ser de 140ns o más rápida.
Toniman escribió:¿que materiales me harian falta y adonde tendria que soldar? ¿a que velocidad maxima se ha puesto un Spectrum?
- Un Z80 que soporte 7MHz (un CMOS Z80)
- Una nueva ULA que dé esa señal de reloj
- Una ROM de 140ns
- 8 chips de memoria DRAM para la memoria no contenida que puedan ir a 140ns o más rápidas
- Otros 8 chips de memoria DRAM para la memoria contenida que puedan ir a 140ns (aunque me huelo que para que manejar el tema de la contienda, la memoria debería ser de 70ns o más rápida)
- Desoldar en la placa cierta resistencia y cierto condensador (no recuerdo cuáles ahora) que se encargan de retrasar un poquito una de las señales que va a la DRAM no contenida, para que ahora el retraso sea un poco mejor.
La velocidad máxima, que yo sepa, a la que se ha puesto un Spectrum, es a la escalofriante velocidad de 3.575MHz (los modelos de 128K)
Creo que tendrías más posibilidades de éxito si intentas el overclokeo a un Spectrum +2A/+3. En éstos, el reloj de la CPU no se interrumpe por la ULA, sino que ésta da pulsos de WAIT cuando quiere parar a la CPU. A lo mejor consigues tu propósito en uno de estos modelos siguiendo estas recomendaciones:
- Usa la señal de 8.86MHz que genera la ULA y que va normalmente al TEA2000 en lugar de 7MHz. Si usas un CMOS Z80, no tendrás problemas con esta velocidad.
- Cambia las memorias ROM y las RAM's por versiones que vayan a las velocidades indicadas (140ns o menos)
- Si cambiando la velocidad de las memorias no es suficiente, haz un circuito que inserte un estado de espera en todo acceso a memoria, ya que la ULA es quien temporiza el acceso a la memoria, y sigue pensando que la CPU va a 3.5MHz
Aun así, no las tengo todas conmigo de que te vaya a funcionar... Más fácil (por accesible) sería overclokear el clon Superfo para que vaya a 7MHz.