iturbez escribió: ↑14 May 2024, 15:28Al arrancar, enciende el led Power, pero el Spectrum no arranca. Se queda con una pantalla blanca con bloques de atributos de colores.
Con el interfaz desconectado, el Spectrum arranca correctamente.
Este LED se va a encender tan pronto tenga alimentación.
Añadiría que con este interfaz es bastante determinante la secuencia de encendido de los tres LED del teclado (Num Lock, Caps Lock y Scroll Lock) y, cuando hay fallos, conocerla ayuda bastante pero no es el caso.
iturbez escribió: ↑14 May 2024, 15:28¿Qué pasos he seguido?
Comprobar soldaduras y/o posibles cortos de estaño. Todo OK.
Muy bien.
iturbez escribió: ↑14 May 2024, 15:28Cambiado el 7432 por su versión HTC, por si acaso. Igual resultado.
En la lista de componentes figura el HCT pero el LS funcionará igualmente.
iturbez escribió: ↑14 May 2024, 15:28Intento reprogramar el Atmega mediante un Arduíno UNO como ISP. AVRDUDE me responde con ésto:
Por desgracia el programador que usas no te está funcionando, si te fijas el identificador que lee del ATmega8 es 000000 y ocurre incluso reintentándolo tres veces. Todo apunta que algo falla en la configuración (hardware/software) del Arduino como ISP o, como es más habitual, en el cableado. ¿Se enciende también el LED PWR cuando lo conectas al Arduino programador?
No obstante si el ATmega8 no estuviera programado los efectos que describes al encender el Spectrum son perfectamente normales pero, en teoría y si no me falla la memoria, los que se envió @luisbarna con los kits iban programados, verificados (por el propio programador) y probados.
iturbez escribió: ↑14 May 2024, 15:28¿Significa ésto que el Atmega está frito?
Pudiera ser pero sería más probable que fuera un simple fallo en la comunicación con el ATmega8. Una foto de detalle en la que se pueda ver el interfaz, el programador y sea posible seguir los cables sería de gran ayuda.
Por otra parte, a la línea de comandos que has usado para
avrdude le faltan algunos parámetros (
enlace al proyecto). Faltan el nombre del fichero HEX con el firmware y los parámetros para fijar el valor de los tres fusibles de configuración del ATmega8 (imprescindible para configurar la frecuencia del oscilador). A la vista de tu captura, en tu caso y suponiendo que se ejecutaría desde el directorio con el fichero HEX del firmware, la sentencia debería ser:
Código: Seleccionar todo
avrdude -p m8 -c avrisp -P COM9 -b 19200 -U flash:w:ZX_Spectrum_PS-2_Keyboard_interface_fw_v5.5.hex:i -U lfuse:w:0xcf:m -U hfuse:w:0xc7:m
Se puede añadir también -v como parámetro para activar el modo "verbose" que puede ofrecer más información.
iturbez escribió: ↑14 May 2024, 17:44Con un un gomas, 48K Issue 6A creo recordar.
Esto es correcto. Por contra, con los modelos de 128k con
gate array en vez de ULA, no funcionaría.
iturbez escribió: ↑14 May 2024, 15:28Además, veo en los datasheet que la velocidad máxima de reloj de este chip es de 16Mhz, y en el proyecto, el cristal es de 20Mhz...
Así es, está sobrefrecuenciado pero no es problema. En otros proyectos se ven microcontroladores ATmegaX8 funcionando a la perfección con osciladores de 20, 24, 27 y hasta 30MHz. Eso sí, si falla algo en el oscilador, el interfaz no funcionará y tampoco se podrá programar el ATmega8.