Opus Discovery Va-de-retro

Proyectos de hardware con sus esquemáticos y si llevan software en fuente

Moderadores: cacharreo, Fundadores

Reglas del Foro
Aquí solo tienen cabida proyectos de hardware que incluyan siempre al menos sus esquemáticos para poder reproducirlos si llevan componentes electrónicos, y si es posible los ficheros del programa en que se hacen, los diseños de las placas, los gerber, etc. Si llevan algún tipo de software asociado debe estar diponible el código fuente

Para los que no cumplen estas condiciones se debe postear en el foro de proyectos generales.
Responder
Avatar de Usuario
The_Key_M
Siervo de Satán
Siervo de Satán
Mensajes: 6
Registrado: 08 Nov 2020, 11:34
Ubicación: Francia

Re: Opus Discovery Va-de-retro

Mensaje por The_Key_M »

alvaroalea escribió: 03 Mar 2022, 22:48
The_Key_M escribió: 03 Mar 2022, 00:16 Hola,
me doy de alta en esta discusión ya que estoy interesado en rediseñar, eso sí de forma algo más compleja, la unidad OPUS DISCOVERY. He tomado como base el diseño de Álvaro Alea. Por desgracia, soy más lento que un caracol con artritis...
Quiero recordar que el diseño NO FUNCIONA, la verdad es que me gustaria retornarlo, si puedo ser de algo de ayuda... aunque sea poca...
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.
No entiendo muy bien a que te refieres con el el reset es "corto"

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.

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.
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.
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.
Hola,

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).
Avatar de Usuario
alvaroalea España - Asturias
Demonio segundo orden
Demonio segundo orden
Mensajes: 1091
Registrado: 25 Oct 2014, 12:49
Ubicación: Asturias, Paraiso Natural
Has thanked: 13 times
Been thanked: 52 times
Contactar:

Re: Opus Discovery Va-de-retro

Mensaje por alvaroalea »

The_Key_M escribió: 06 Mar 2022, 01:27 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.
Recordar que mi diseño es una evolucion del +D, la parte del reset, corta o larga, es la misma que en el +D y en el +D funciona, o al menos nadie se ha quejado.
The_Key_M escribió: 06 Mar 2022, 01:27 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.
OJO, Lo de ampliar la RAM es un mod tipico, no es aprobechado por la ROM, solo por software de terceros, no es invento mio. el mismo documento que explica como poner la tercera unidad explica esto.

Usar el 74LS06 no hace daño, seguro que se puede cambiar, al fin y al cabo la norma shugart lo que dice es que esas conexiones tienen que ser salidas a colector abierto, tanto el 74LS06 como el 74LS04 lo son, ahora mismo alldatasheet esta caido asi que no puedo mirar la diferencia, en cualquier caso y mas con las unidades actuales, dara igual, de hecho, los ultimos esquemas del interfaz de disco que estoy manejando, en el QL, utilizan un 74LS240, y funciona...

The_Key_M escribió: 06 Mar 2022, 01:27 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].
Esa parte del transistor es una de las que no acabo de entender, me mosquea el condensador en paralelo con la resistencia, lo veo mas como un "alargador" de pulsos, estaria bien saber la funcionalidad exacta.
Responder

Volver a “Proyectos de hardware abiertos”