Página 5 de 5

Re: Otra propuesta: ampliación interna de 512K (¡FUNCIONA!)

NotaPublicado: Mie Dic 31, 2014 2:45 pm
por javu61
Hola, usando el diseño de McLeod, estamos haciendo una modificado para meterlo como una placa de ampliación interna para el QL, con expansión del bus para enchufar otras placas. El precio está todavía por definir, pero saldrá sobre los 20 euros, los interesados pueden apuntarse en este hilo de va-de-retro, en principio se hacían solo 10 unidades, pero no hay problemas en ampliarlo.

Re: Otra propuesta: ampliación interna de 512K (¡FUNCIONA!)

NotaPublicado: Vie Ene 02, 2015 6:36 pm
por afx
Javu61 ... ¡que buenas noticias!

Yo ya me he apuntado (vía sinclair200).

He visto en el hilo "oficial" del proyecto vuestro debate sobre el tamaño ideal de la placa. Mi opinión es que debería ser lo más corta posible de cara a que si conectas otra expansión a ella, quede lo más posible dentro de la caja del QL y no sobresalga tanto por el lateral. Además, creo que la sujeción de las dos placas (la ampliación RAM y la posible disquetera) queda más firme.

Re: Otra propuesta: ampliación interna de 512K (¡FUNCIONA!)

NotaPublicado: Lun Ene 11, 2016 2:01 am
por sinclair200
Por problema de nuestro maravilloso cuerpo de correos (que pena de gente cualificada que esta en el paro) me perdieron las placas pedidas a SedSudios y al dia de hoy aun no han aparecido, gracias al compañero wilco, se han pedido a otro proveedor y ya han avisado de que están de camino a mi casa, a ver si esta vez tenemos suerte....

Re: Otra propuesta: ampliación interna de 512K

NotaPublicado: Mar Abr 10, 2018 11:00 pm
por zx_spectrum_plus3
mcleod_ideafix escribió:Creo que he encontrado algo mejor: un 68000 con la posibilidad de operar en buses de 8 bits, o dicho de otra forma: un chip como el 68008, con la misma capacidad de direccionamiento que el 68000 original (16MB), con versiones de hasta 20MHz, y que es compatible directo con el bus del 68008, sin necesidad de "glue-logic". Es el 68HC001. Los estoy viendo en eBay a $20 la versión de 16MHz.

Imagen

La ventaja de este chip es que constituye un reemplazo cuasi-directo del 68008. Si hubiera suficiente altura en la carcasa se podría hacer con un adaptador DIP, y de paso añadir un poco de memoria extra. Si se hace por el conector lateral, hay más espacio para añadir memoria en cantidades industriales :D y operar al doble de velocidad de un QL original, como mínimo.

Se que esto viene de muy atrás, pero lo he encontrado por casualidad en el foro y no me he podido resistir a investigar un poco sobre cómo se podrían hacer un adaptador para que el QL admita el 68HC001, teniendo en cuenta que tiene un encapsulado diferente y que algunas señales difieren, aunque creo que esto último es sencillo de resolver. Quizá sea más complicado es encontrar un zócalo de perfil bajo puesto que sólo tenemos 7mm de altura disponible (9 si se quita un tornillo que sujeta la chapa del teclado).

Lo que me preguntaba es si, después de todo, y si consigues una CPU de 16 MHz, que las hay, cómo conseguir que esto aumente el rendimiento, o si sería un simple reemplazo sin ningún otro beneficio. Lo digo porque la señal de reloj es de 7,5MHz, la genera otro integrado (el ZX8301) y se usa en otras partes del circuito. Sin este cambio no habría mejora, supongo, pero tampoco veo que aumentar la frecuencia a 16Mhz sea trivial, ni que esto no afecte a otras partes. Incluso es posible que la memoria base, los primeros 128kb, no fueran lo suficientemente veloces con el cambio.

En fin, dejo aquí mi reflexiones por si alguien puede me aclarar un poco esto, por si merece la pena continuar con mis averiguaciones.


Saludos.

Re: Otra propuesta: ampliación interna de 512K (¡FUNCIONA!)

NotaPublicado: Mar May 01, 2018 1:32 pm
por mcleod_ideafix
El reloj de la CPU no se sacaría del que genera la placa, sino de un reloj propio. Habría que estudiarlo más a fondo, pero en principio, y como el bus del 68000 es asíncrono, basta con obedecer las señal /DTACK que envía la placa para saber cuándo se ha terminado el ciclo de memoria. La memoria que se incorporara en placa podría ser lo suficientemente rápida como para que /DTACK se aserte en el mismo ciclo de reloj en donde empieza el acceso (como en la ampliación interna que propuse hace años)

Re: Otra propuesta: ampliación interna de 512K (¡FUNCIONA!)

NotaPublicado: Jue May 03, 2018 11:00 am
por zx_spectrum_plus3
mcleod_ideafix escribió:El reloj de la CPU no se sacaría del que genera la placa, sino de un reloj propio. Habría que estudiarlo más a fondo, pero en principio, y como el bus del 68000 es asíncrono, basta con obedecer las señal /DTACK que envía la placa para saber cuándo se ha terminado el ciclo de memoria. La memoria que se incorporara en placa podría ser lo suficientemente rápida como para que /DTACK se aserte en el mismo ciclo de reloj en donde empieza el acceso (como en la ampliación interna que propuse hace años)

Yo tengo en casa el 68HC001 de 16MHz.

En su caso caso, se puede generar la la señal con un cristal, un CD411 y unas resistencias y condensadores, o bien se podría usar la señal de reloj de la propia de la ULA de 7,5MHz e implementar un multiplicador x2 con el mismo integrado CD4011:
http://picmania.garcia-cuervo.net/electronica_basica_circuitos.php. Creo que incluso se podría poner un jumper para seleccionar una cosa u otra.

Luego las señales requieren de cierta adaptación puesto que el 68008 es de 48 pins y encapsulado DIP, mientras que el 68HC001 va en un PLLC68:
- No disponemos de la señal MODE, pero con conectarla a masa se seleccionaría el modo de 8 bits durante la inicialización.
- Tampoco disponemos de UDS y LDS para arbitrar el bus de datos y en su lugar tenemos sólo DS. Estas son las tablas para cada caso:
Código: Seleccionar todo
DS      R/W     D0–D7
------- ------- ---------------------------------
1       —       No Valid Data
0       1       Valid Data Bits 7–0 (Read Cycle)
0       0       Valid Data Bits 7–0 (Write Cycle)


Código: Seleccionar todo
UDS     LDS     R/W     D8–D15                  D0–D7
------- ------- ------- ----------------------- ---------------------
High    High    —       No Valid Data           No Valid Data
Low     Low     High    Valid Data Bits 15–8    Valid Data Bits 7–0
High    Low     High    No Valid Data           Valid Data Bits 7–0
Low     High    High    Valid Data Bus 15–8     No Valid Data
Low     Low     Low     Valid Data Bits 15–8    Valid Data Bits 7–0
High    Low     Low     Valid Data Bits 7–0     Valid Data Bits 7–0
Low     High    Low     Valid Data Bits 15–8    Valid Data Bits 15–8


Entiendo que habría que conectar DS a UDS y LDS para que funcionara correctamente.

- Las señales de control de interrupciones cambian un poco: en el QL tenemos 2: /IPL0-IPL2 y /IPL1, pero en el sustituto /IPL0, /IPL2 y /IPL1. Según el datasheet, creo que habría que conectar la señal /IPL0-IPL2 a /IPL0 y /IPL2 para solventar esto.

- En cuanto a /BGACK, que tiene el 68HC001 pero no el 68008 del QL, indica a nivel bajo que otro dispositivo se ha convertido en el maestro del bus. Entonces, con ponerlo en VCC, entiendo que el nuevo micro replicaría el comportamiento del 68008.

- Por último, hay ausencia de señales en las líneas de direcciones (el 68HC001 puede direccionar más memoria) y datos (por ser de 8/16 bits). Esto implica usar sólo aquellas de que disponemos y:
1) Las de direcciones que sobran, ponerlas a masa en el procesador sustituto.
2) Con las de datos, no estoy seguro de que habría que hacer, si dejarlas al aire o qué.

He empezado el diseño del adaptador, pero estoy muy oxidado con el Eagle, tengo poca experiencia y hace siglos que no lo usaba así que voy muy despacito. Si algún consigo terminarlo comparé por aquí el adaptador.

Saludos.


PD. Se me olvidaba comentar que es perfectamente válido usar otro reeemplazo: el MC68EC000. La selección del modo 8/16 bits en en su caso dinámica, no estática, y el encapsulado también puede ser distinto, pero todo lo demás es igual.

Re: Otra propuesta: ampliación interna de 512K (¡FUNCIONA!)

NotaPublicado: Jue May 03, 2018 4:31 pm
por mcleod_ideafix
zx_spectrum_plus3 escribió:1) Las de direcciones que sobran, ponerlas a masa en el procesador sustituto.

Son lineas de salida, no de entrada. Si las pones a masa, creas un cortocircuito. Simplemente, déjalas sin conectar.

zx_spectrum_plus3 escribió:2) Con las de datos, no estoy seguro de que habría que hacer, si dejarlas al aire o qué.

Pullup de 4K7 a +5V.

Re: Otra propuesta: ampliación interna de 512K (¡FUNCIONA!)

NotaPublicado: Mar May 08, 2018 10:25 am
por zx_spectrum_plus3
mcleod_ideafix escribió:
zx_spectrum_plus3 escribió:1) Las de direcciones que sobran, ponerlas a masa en el procesador sustituto.

Son lineas de salida, no de entrada. Si las pones a masa, creas un cortocircuito. Simplemente, déjalas sin conectar.

zx_spectrum_plus3 escribió:2) Con las de datos, no estoy seguro de que habría que hacer, si dejarlas al aire o qué.

Pullup de 4K7 a +5V.

Gracias McLeod. Lo estoy teniendo en cuenta para mi diseño.

Re: Otra propuesta: ampliación interna de 512K (¡FUNCIONA!)

NotaPublicado: Mar May 08, 2018 10:07 pm
por zx_spectrum_plus3
zx_spectrum_plus3 escribió:(...)
- Tampoco disponemos de UDS y LDS para arbitrar el bus de datos y en su lugar tenemos sólo DS. Estas son las tablas para cada caso:
Código: Seleccionar todo
DS      R/W     D0–D7
------- ------- ---------------------------------
1       —       No Valid Data
0       1       Valid Data Bits 7–0 (Read Cycle)
0       0       Valid Data Bits 7–0 (Write Cycle)


Código: Seleccionar todo
UDS     LDS     R/W     D8–D15                  D0–D7
------- ------- ------- ----------------------- ---------------------
High    High    —       No Valid Data           No Valid Data
Low     Low     High    Valid Data Bits 15–8    Valid Data Bits 7–0
High    Low     High    No Valid Data           Valid Data Bits 7–0
Low     High    High    Valid Data Bus 15–8     No Valid Data
Low     Low     Low     Valid Data Bits 15–8    Valid Data Bits 7–0
High    Low     Low     Valid Data Bits 7–0     Valid Data Bits 7–0
Low     High    Low     Valid Data Bits 15–8    Valid Data Bits 15–8


Entiendo que habría que conectar [b]DS a UDS y LDS para que funcionara correctamente.[/b]

Las señales UDS, LDS y DS son de salida, no de entrada. Por eso me parece que no es correcto esto que mencionaba. Mirando la tabla de verdad, creo que es suficiente con usar LDS en lugar de DS e ignorar UDS.

Re: Otra propuesta: ampliación interna de 512K (¡FUNCIONA!)

NotaPublicado: Vie May 18, 2018 8:45 pm
por zx_spectrum_plus3
La cosa va despacio, pero ya tengo el esquemático (el board no tardará):
https://drive.google.com/file/d/13Nz-0vRm3_nvUg1h36dsRpdq32NS-K0C/view?usp=sharing


Se admiten correcciones y/o sugerencias.

Saldos

Re: Otra propuesta: ampliación interna de 512K (¡FUNCIONA!)

NotaPublicado: Sab May 19, 2018 1:01 am
por zx_spectrum_plus3
Aquí dejo el diseño de placa con doble cara, sin plano de masa:
Imagen

Imagen

Re: Otra propuesta: ampliación interna de 512K (¡FUNCIONA!)

NotaPublicado: Mie Jun 06, 2018 11:43 pm
por afx
zx_spectrum_plus3 escribió:La cosa va despacio, pero ya tengo el esquemático (el board no tardará): ...


¡Estupenda noticia!

Una ampliación de memoria que pueda llegar a los 4 MB daría mucho juego al QL, sobre todo pensando en las ampliaciones de almacenamiento masivo que están saliendo últimamente. Otra utilidad interesante es uso como RamDisk. Hay varios programas clásicos del QL que hacen uso de esa RamDisk y las ampliaciones clásicas de 512 KB se quedan muy justas. Lo "bonito" del QL es la multitarea y el tener una buena colección de programas y extensiones cargadas el mismo.

Animo con el proyecto.

PD:
Cuando esten disponibles salga yo me apunto a una :wink: ... :D

Re: Otra propuesta: ampliación interna de 512K (¡FUNCIONA!)

NotaPublicado: Jue Jun 07, 2018 8:22 am
por zx_spectrum_plus3
afx escribió:
zx_spectrum_plus3 escribió:La cosa va despacio, pero ya tengo el esquemático (el board no tardará): ...


¡Estupenda noticia!

Una ampliación de memoria que pueda llegar a los 4 MB daría mucho juego al QL, sobre todo pensando en las ampliaciones de almacenamiento masivo que están saliendo últimamente. Otra utilidad interesante es uso como RamDisk. Hay varios programas clásicos del QL que hacen uso de esa RamDisk y las ampliaciones clásicas de 512 KB se quedan muy justas. Lo "bonito" del QL es la multitarea y el tener una buena colección de programas y extensiones cargadas el mismo.

Animo con el proyecto.

PD:
Cuando esten disponibles salga yo me apunto a una :wink: ... :D

Gracias por interesarte.

Tengo que decir (y es mi culpa por no haberlo dejado más claro) que mi intención es sólo aportar un reemplazo mejorado de la CPU del QL que sirviera como complemento a aquellos que ya tienen pinchada una ampliación de RAM por el bus de expansión, como la de los poseedores del QUBIDE por ejemplo. Todo lo que se salga de ahí complica mucho las cosas, aunque desde luego sería posible e ideal añadirle una buena cantidad de memoria (hasta 16Mb con la nueva CPU), pero entonces esto supondría no poder reutilizar los trabajos previos realizados hasta ahora porque:
- Ya no sería "pinchar en el zócalo de 68008 y listo" puesto que faltan señales. Debido a esto, hay una limitación hasta 1 Mb.
- Por el cambio de CPU, posiblemente, habría que desactivar los primeros 128Kb (esto lo tengo que comprobar en cuanto me monte un prototipo casero).
- Por ello, las GAL que tenemos en el Qubide (las del circuito de McLeod) ya no servirían.

Desde luego sería ideal integrar todo esto en una nueva versión del Qubide, pues tendría todo lo que considero necesario hoy en día: controladora IDE, memoria RAM generosamente ampliada y CPU mejorada, pero yo hasta ahí no creo que llegara, al menos trabajando yo solo en ello.

Sin embargo, mi planteamiento original lo veo factible con mis conocimientos (que más o menos me apaño) y experiencia, que es poca en todo esto así que voy muy poco a poco, desde el estudio de diferentes datasheets, pasando por cuestiones de diseño y la realización final en Eagle.

De momento he hecho pruebas para comprobar la mejor manera de meter esto dentro del QL y que quepa, cosa que ya tengo clara, partiendo de la base de que se ha de pinchar en el zócalo de la CPU, así que ahora toca comprobar que el prototipo funcione, pero no me quiero adelantar hasta no haber hecho todas las pruebas.


Saludos.

Re: Otra propuesta: ampliación interna de 512K (¡FUNCIONA!)

NotaPublicado: Mie Jun 20, 2018 5:39 pm
por afx
zx_spectrum_plus3 escribió:Desde luego sería ideal integrar todo esto en una nueva versión del Qubide, pues tendría todo lo que considero necesario hoy en día: controladora IDE, memoria RAM generosamente ampliada y CPU mejorada, ...


Si, si, … eso sería ideal …

De todas formas, ánimo con el proyecto, pinta bien. Ya nos irás contando tus avances.