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

Subforo oficial del Sinclair QL: realiza aquí las consultas relativas a tu QL.

Moderador: Sir Cilve Sinclair

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

Notapor javu61 el Mie Dic 31, 2014 2:45 pm

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.
javu61
rst 0
 
Mensajes: 11
Registrado: Dom Ago 15, 2010 4:53 pm

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

Notapor afx el Vie Ene 02, 2015 6:36 pm

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.
afx
Sabreman
 
Mensajes: 396
Registrado: Dom Feb 24, 2008 11:56 pm

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

Notapor sinclair200 el Lun Ene 11, 2016 2:01 am

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....
Imagen
sinclair200
Jack The Nipper
 
Mensajes: 155
Registrado: Mie Mar 12, 2014 8:51 pm
Ubicación: Madrid

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

Notapor zx_spectrum_plus3 el Mar Abr 10, 2018 11:00 pm

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.
zx_spectrum_plus3
Jack The Nipper
 
Mensajes: 185
Registrado: Mar Abr 17, 2007 12:32 pm

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

Notapor mcleod_ideafix el Mar May 01, 2018 1:32 pm

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)
Web: ZX Projects | Twitter: @zxprojects
Avatar de Usuario
mcleod_ideafix
Johnny Jones
 
Mensajes: 3979
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera

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

Notapor zx_spectrum_plus3 el Jue May 03, 2018 11:00 am

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.
zx_spectrum_plus3
Jack The Nipper
 
Mensajes: 185
Registrado: Mar Abr 17, 2007 12:32 pm

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

Notapor mcleod_ideafix el Jue May 03, 2018 4:31 pm

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.
Web: ZX Projects | Twitter: @zxprojects
Avatar de Usuario
mcleod_ideafix
Johnny Jones
 
Mensajes: 3979
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera

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

Notapor zx_spectrum_plus3 el Mar May 08, 2018 10:25 am

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.
zx_spectrum_plus3
Jack The Nipper
 
Mensajes: 185
Registrado: Mar Abr 17, 2007 12:32 pm

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

Notapor zx_spectrum_plus3 el Mar May 08, 2018 10:07 pm

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.
zx_spectrum_plus3
Jack The Nipper
 
Mensajes: 185
Registrado: Mar Abr 17, 2007 12:32 pm

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

Notapor zx_spectrum_plus3 el Vie May 18, 2018 8:45 pm

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
zx_spectrum_plus3
Jack The Nipper
 
Mensajes: 185
Registrado: Mar Abr 17, 2007 12:32 pm

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

Notapor zx_spectrum_plus3 el Sab May 19, 2018 1:01 am

Aquí dejo el diseño de placa con doble cara, sin plano de masa:
Imagen

Imagen
Ultima edición por zx_spectrum_plus3 el Jue Jun 07, 2018 6:32 pm, editado 1 vez en total
zx_spectrum_plus3
Jack The Nipper
 
Mensajes: 185
Registrado: Mar Abr 17, 2007 12:32 pm

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

Notapor afx el Mie Jun 06, 2018 11:43 pm

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
afx
Sabreman
 
Mensajes: 396
Registrado: Dom Feb 24, 2008 11:56 pm

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

Notapor zx_spectrum_plus3 el Jue Jun 07, 2018 8:22 am

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.
zx_spectrum_plus3
Jack The Nipper
 
Mensajes: 185
Registrado: Mar Abr 17, 2007 12:32 pm

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

Notapor afx el Mie Jun 20, 2018 5:39 pm

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.
afx
Sabreman
 
Mensajes: 396
Registrado: Dom Feb 24, 2008 11:56 pm

Previo

Volver a Sinclair QL

¿Quién está conectado?

Usuarios navegando este Foro: No hay usuarios registrados visitando el Foro y 3 invitados