Sinclair escribió:Como ya te he dicho, te ha quedado de miedo sinclair200.
mcleod_ideafix escribió:¡Qué chulada! ¿Qué tal funciona? ¿Se lleva bien con los teclados estos que son duales USB / PS2 ? ¿Y con los teclados que no soportan el scan mode 3?
El interface se probó en una tirada de 20 unidades que hicimos en VdR con diferentes tipos de teclados PS/2 (entre ellos algunos duales), se comporta bien y hasta la fecha nadie ha reportado ningún tipo de incompatibilidad.
Saludos.
Ah! Estupendo.
Estaba mirando el código VHDL y veo que el autor usa la señal IORQULA, que sólo está presente en el Spectrum 16K/48K (en el Harlequin está porque me puse pesado para que se incluyera, que si no, no

). Esta señal no está presente en el Spectrum 128K "heatsink", y no sé si en el +2 gris. Cuando Ben hizo la versión externa de mi interfaz de teclado PS/2 le pedí que no se fiara de la señal IORQULA y que usara tanto esa señal, como la combinación de A0 + IORQ, para los equipos que no tengan la señal IORQULA. ¿Lo habeis probado con un 128K español? Si no funciona, o se queda bloqueado el ordenador, entonces es esto que te cuento de la señal esa. En tal caso, se puede remediar soldando una resistencia de 470 ohmios desde IORQ hasta IORQULA, y un transistor, pongamos un BC549, con colector a +5V, base a la señal del bus de direcciones A0, y emisor a IORQULA. Todo esto se puede hacer en la propia plaquita de la interfaz de teclado, y no interfiere con los equipos que ya llevan implementada la señal IORQULA.
Por otro lado, si quereis implementar el que el teclado del Spectrum no se deshabilite cuando se pinche vuestra interfaz PS/2, poned diodos 1N4148 en la placa de la interfaz aislando los bits D0 a D4 del bus de datos con ellos. El ánodo mirando al bit del bus de datos del conector de expansión, y el cátodo mirando al bit correspondiente del bus de datos que viene desde la CPLD. De esa forma los '1' se convierten en alta impedancia y así, cuando no se esté pulsando ninguna tecla en la interfaz, el bus de datos no enviará nada a la CPU y lo que venga de la ULA, del teclado interno, sí llegará.
Quizás en la placa actual esto sea un tanto difícil, ya que prolongais el bus trasero y no puedes aislar el bus de datos para el dispositivo que pinches detrás. Habría que cortar las pistas que van desde la CPLD hasta el bus de datos, y poner ahí los diodos. Si acaso para otra revisión de la placa se puede intentar así, si os apetece.
Esto mismo se pdoría haber hecho internamente dentro de la CPLD, pero desgraciadamente, al intentarlo en el código VHDL del proyecto, el resultado ya no cabe en la CPLD que estais usando vosotros, la 9572

Haría falta, por lo que veo aquí, al menos una 95108 en encapsualdo PLCC-84, que también tiene zócalo, pero es un chip más grande, y más raruno que el 9572.