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.
¿que materiales me harian falta y adonde tendria que soldar? ¿a que velocidad maxima se ha puesto un Spectrum? ¿como podria afectar esto a los perifericos como Kempston o algun otro?
Muchas gracias de antemano.
Overcloquear un Spectrum 48k gomas.
- mcleod_ideafix
- Amiga 2500
- Mensajes: 5316
- Registrado: 06 Oct 2009, 04:12
- Sistema Favorito: Spectrum 16Kb/48Kb
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Vectrex
- Primera consola: TV Games/Pong Clone
- Ubicación: Jerez de la Frontera
- Gracias dadas: 12 veces
- Gracias recibidas: 54 veces
- Contactar:
Re: Overcloquear un Spectrum 48k gomas.
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.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista
Re: Overcloquear un Spectrum 48k gomas.
Ah, pues tengo un +2A, a el si que podria hacerselo, que chulo
pues se lo hago a ese.

Y el ninja purpura sigue buscando nuevas aventuras.
- mcleod_ideafix
- Amiga 2500
- Mensajes: 5316
- Registrado: 06 Oct 2009, 04:12
- Sistema Favorito: Spectrum 16Kb/48Kb
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Vectrex
- Primera consola: TV Games/Pong Clone
- Ubicación: Jerez de la Frontera
- Gracias dadas: 12 veces
- Gracias recibidas: 54 veces
- Contactar:
Re: Overcloquear un Spectrum 48k gomas.
Toniman escribió:¿como podria afectar esto a los perifericos como Kempston o algun otro?
Depende de cada periférico. Algunos, como el ZXMMC, dejarán de funcionar, porque dependen de que la velocidad del micro sea de 3.5MHz. Otros, como una interface Kempston, pues seguramente sí funcionen, dado que usarán circuitos LS, que son suficientemente rápidos para responder a una CPU a 7MHz.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista
- mcleod_ideafix
- Amiga 2500
- Mensajes: 5316
- Registrado: 06 Oct 2009, 04:12
- Sistema Favorito: Spectrum 16Kb/48Kb
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Vectrex
- Primera consola: TV Games/Pong Clone
- Ubicación: Jerez de la Frontera
- Gracias dadas: 12 veces
- Gracias recibidas: 54 veces
- Contactar:
Re: Overcloquear un Spectrum 48k gomas.
Otra idea: ¡overclokea la ULA! Si mal no recuerdo, las ULA de Ferranti soportan bastante más de 14MHz de reloj. Si cambias el cuarzo de 14MHz del Spectrum por uno de 28MHz (idealmente, uno de 28,224MHz, pero sería complicado encontrarlo), harás que la ULA genere una señal de video medio compatible con una señal VGA. Las memorias tendrían que ser de 70ns para la memoria contenida, y 140ns para la no contenida. La ROM, de 140ns, y el Z80, la versión CMOS, que iría a 7MHz porque esa sería la señal de reloj que ahora generaría la ULA.
Para que la señal sea realmente VGA necesitas separar el sincronismo vertical del horizontal, ya que la VGA no acepta el sincronismo compuesto, y convertir la señal YPrPb en RGB. En un modelo de 128K esto seguramente sea más sencillo de hacer. Por supuesto, no tengo ni idea de si funcionaría o no. ¡Ah! y necesitarás un monitor (preferentemente de tubo) que soporte 100Hz de frecuencia vertical. Digo que preferentemente de tubo porque los TFT no te aceptan la señal si no es "100% VGA", y ésta que se generaría no lo es (tiene 312 líneas en lugar de 480)
Para que la señal sea realmente VGA necesitas separar el sincronismo vertical del horizontal, ya que la VGA no acepta el sincronismo compuesto, y convertir la señal YPrPb en RGB. En un modelo de 128K esto seguramente sea más sencillo de hacer. Por supuesto, no tengo ni idea de si funcionaría o no. ¡Ah! y necesitarás un monitor (preferentemente de tubo) que soporte 100Hz de frecuencia vertical. Digo que preferentemente de tubo porque los TFT no te aceptan la señal si no es "100% VGA", y ésta que se generaría no lo es (tiene 312 líneas en lugar de 480)
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista
Re: Overcloquear un Spectrum 48k gomas.
Muchas gracias, buscare esos chips, aunque veo que la velocidad seria fija, no se podria conmutar de 3,5 a 7mhz.
Aun asi vale la pena hacerlo.
Aun asi vale la pena hacerlo.
Y el ninja purpura sigue buscando nuevas aventuras.
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 15 invitados