Hola,alvaroalea escribió: ↑03 Mar 2022, 22:48Quiero recordar que el diseño NO FUNCIONA, la verdad es que me gustaria retornarlo, si puedo ser de algo de ayuda... aunque sea poca...
No entiendo muy bien a que te refieres con el el reset es "corto"The_Key_M escribió: ↑03 Mar 2022, 00:16 El Reset del discovery original (ojo que el de Álvaro me parece muy corto!) me parece más largo que el del spectrum. Por lo tanto, supongo que el Spectrum arranca (en frio) con la ROM del Discovery (no entiendo por qué) eso sí, sin hacer nada más particular. La 6116 se inicializa (con el primer "error" 08h) por la rutina teclado (50Hz, la del discovery) pero no se exactamente cuando.
La verdad es que el trabajo que hice es muy poco, una de las cosas que tenia pendiente era analizar un poco el codigo de la rom a ver que es exactamente lo que hace, pero si recuerdo que no tenia claro si en caso de reset la interfaz debe empezar paginada o debe empezar bloqueada. y creo que era fundamental para el funcionamiento de la misma.
Si mal no recuerdo la memoria es opcional, el interface viene sin ella, y se utiliza principalmente para la segunda unidad de disco, pero hablo de memoria.The_Key_M escribió: ↑03 Mar 2022, 00:16 También quería señalar que yo habría reducido el espacio memoria activo de la 6264 a 2k en vez de dejarlo a 8k. No creo que sea un problema ya que (SUPONGO!) que el SW del Discovery juega "limpio' con esa memoria...En todo caso, se quita y sigue funcionando la unidad Discovery en single.
Lo que si recuerdo es que la ampliacion oficial es de 2K, pero hay un hack para ampliarla a 4K, si mal no recuerdo la rom podria manejarlo. los otros 4K se desperdician, pero yo tenia por casa chips de 8Kb de las otras interfaces, y si usase 2 2116, necesitaria mas sitio de PCB o un montaje tipo pigtail que odio.
Un par de cositas más que se me han ocurrido:
Después del POR, está la ROM del Discovery activada. Se ejecuta la "DI" en 0000h y acto seguido se prosigue con la ejecución del retorno a la ROM del Spectrum y el salto a "0001h", y así empalmar con la ejecución normal del Reset. Sigo sin entender porque darse la pena arrancar con la ROM del Discovery.
Todos los ordenadores llevan una parte analógica. Notablemente, los relojes. Estos empiezan a oscilar y se estabilizan después de varios us e incluso ms. La verdad, no sé lo que consta con el Spectrum. Lo que si veo intuitivamente, es que el Reset del Discovery es muy largo. Largo?? El tiempo depende de un par R-C (resistencia - condensador). Esto es típico en electrónica donde se considera que una corriente carga un condensador a través de una resistencia en un tiempo dado. Cuanto mayor R o C, mayor el tiempo de carga del condensador. Hay mucha literatura sobre el tema fácil de entender alrededor de un chip denominado 555 (o NE 555). Así pues se ajusta el tiempo de Reset a la espera de que se estabilicen varias partes analógicas del dispositivo, en particular los osciladores que generan los relojes: 28MHz para el Spectrum. 8 o 16MHz en el caso de la unidad Discovery. Otro ejemplo: el WD-1770 requiere una señal de Reset activada de al mínimo 50us antes de poder "arrancar". Esto se puede superar apretando el pulsador de "reset" en el diseño clon.
Hay una forma más de enganchar la ROM del Discovery y es la ejecución en 0048h. Esto corresponde a la lectura del teclado mediante la ULA (50Hz).
Por lo tanto, un Spectrum conectado a una unidad discovery no funciona 100% como un Spectrum normal ya que 50 veces por segundo se ejecuta la rutina de servicio teclado presente en la ROM de la unidad Discovery. Si la 6116 está presente, se puede incluso cambiar el vector de esta Rutina a cualquier otra dirección. Supongo que conectando una LED (ajustada a 5V!!) o un frecuencímetro sobre /ROMCS, se podrá comprobar este funcionamiento normal (50Hz) del PAL.
La RAM no se puede extender a 4K, la ROM no sabriá manejarla. Los otros 2k soló podrían estar ubicada justo antes de la zona de pantalla.
En el diseño original, parece que la tercera unidad de disco física pueda manejarse (Sel 2) por PA4. Pienso que la ROM Quickdos puede/podriah manejar 4 Unidades físicas (en vez de 2) con ;as dos salidas del PIA, mediante un 2->4 decoder (LS139).
Los 74LS06 que forman parte de la interfaz Floppy (clon) quizás deberían reemplazarse por los convencionales 74LS04.
El montaje a transistor (diseño original) que maneja el /ROMCS lleva (creo yo) un "acelerador de flancos" y la señal de /RFSH tiene pull-up de 10k. Si tuviera un osciloscopio, miraría en detalle su fín ya que sospecho que esto podría ser crítico a nivel de timing. Por cierto, quizás las ecuaciónes:
[CX_CK = !MREQ & RFSH] debería ser: [CX_CK = MREQ & !RFSH] y...
[CX_J = !(A6 & A8) & U8B_4] debería ser :[CX_J = (A6 & A8) + !U8B_4].
(espero no haberme liado...)
Durante el Covid he perdido la posibilidad de pedir prestado un osciloscopio para el fin de semana. Quizás no tenga más remedio que comprarme uno propio...De momento, soló podría ir a ciegas...
Por último, busco 1 o 2 carcasas (a buen precio) de Discovery completa y en buen aspecto y estado mecánico con interruptor y enchufe. Sin la placa ni el transformador (para ahorrar peso).