Clon Superfo 128K - Manos a la obra

Sinclair QL, ZX81, +2, +3, 128K ...
Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Clon Superfo 128K - Manos a la obra

Mensajepor antoniovillena » 28 Abr 2013, 15:55

Yo ya estoy empezando a estudiarlo. La cuestión es cómo hacemos el interfaz al resto de la placa. En el interfaz PS/2 de McLeod usa KB0..KB4, S1..S8 y una señal para activar las lecturas (IORQULA+RD). En el caso PS/2 + SD necesitamos mínimo todo el bus de datos, y tenemos que generar la lógica combinacional cada vez que accedemos a un puerto de ZXMMC (estos puertos son $1F y $3F). Otra cosa es qué reloj usar, si uno intero del chip, ponerle un cristal externo o utilizar una señal externa (por ejemplo 7MHz) y convertirla a 56MHz mediante los PLLs.

jepalza

Re: Clon Superfo 128K - Manos a la obra

Mensajepor jepalza » 28 Abr 2013, 17:19

Veo que te ha gustado. Tengo la placa de desarrollo F103 con la que hice el Spectrum 16k+PS2+SD delante, y así que yo recuerde, emplea el reloj interno de 72mhz.
Externos lleva otros dos, uno de 32kz para un reloj RTC y otro de 12mhz para la comunicación RS232.

Las especificaciones, según el manual, son:
Modelo STM32F103RB-T6
ARM Cortex-M3
LQFP64-pin, on-chip integrated 128K flash, 20KRAM, 16Bit A/D; PWM, CAN, USB
Run 72MHz Clock / 90MIPS (1.25DMIPS/MHz)

Velocidad suficiente, y juraría, que GPIO suficientes, que tengo que estudiar por si acaso me cuelo.

Edito: quizás está empleando el reloj externo de 8mhz para generar el interno de 72mhz. Hecha un vistazo a uno de los muchos esquemas existentes que hay sobre los STM32F103, por ejemplo ESTE

Avatar de Usuario
scooter
Amiga 1200
Amiga 1200
Mensajes: 1031
Registrado: 17 Jul 2012, 09:25
primer_sistema: C64
Ubicación: Alicante

Re: Clon Superfo 128K - Manos a la obra

Mensajepor scooter » 28 Abr 2013, 18:21

La ventaja del ARM es su indudable potencia y potencial (valga el juego de palabras). La de usar un ATMEGA sería que hay versiones DIL, el hard sería el micro y un cristal o ni eso (si es que es viable usarlo)
Se me ocurre que un atmega + un buffer triestado tipo 245 relajaría algo las exigencias de los timmings para hacer esto, supongo.

Avatar de Usuario
TallerSeverino
Amstrad PC 1640
Amstrad PC 1640
Mensajes: 519
Registrado: 12 Abr 2013, 09:55
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo NES/Clónica
Primera consola: Nintendo NES/Clónica
Ubicación: Cádiz
Gracias dadas: 17 veces
Gracias recibidas: 17 veces

Re: Clon Superfo 128K - Manos a la obra

Mensajepor TallerSeverino » 28 Abr 2013, 18:58

Uhm.
A ver, he hecho el circuito de ear con las modificaciones del esquemático, básicamente he puesto una resistencia de 10k entre el colector y el pin 10 de U41. Cambiado R83 creo que es a 22K:

He conectado por la cara de componentes una resistencia de 10k, una pata al colector del BC547 (el colector es ahora la pata que está soldada al centro) Para pasar la señal al pin 10 de U41 que me servido de una guía del conector ear teórico, que es una vía, ahí sueldo la otra pata de la resistencia, más claro en la foto:
Imagen

Una vez en la otra cara, un remiendo hasta la patilla correspondiente:

Imagen


Debería haber hecho cambios por separado, porque también he cambiado R11 a no 360, pero 390ohms que es la resistencia que tenía por aquí.

De la misma tirada he conectado el AY, y escucho beeps por la TV, golpes de tecla, etc, pero el sonido de carga no suena, no se si es por el chip AY ya que es modelo 8912P (que se calienta un poco) o de haber hecho el circuito nuevo del ear. O si se trata de un error en el diseño o en la placa, voy a mirarlo a ver si saco algo en claro.

Sigo mirando cosas a ver qué puedo sacar en claro.

Un saludo.

Edición: El sonido está saturado en la TV, no tenia resistencias de 820ohms y he usado de 1K, para R51 y R52 mientras me llegan las otras, pero viendo el esquemático es un sumador ponderado, lo único que influye es que el canal C del AY tiene más volumen que el canal A,B o la señal Spkr, uhm ¿no falta una resistencia a tierra antes de los condensadores de desacoplo para el sumador? tanto L como R?

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Clon Superfo 128K - Manos a la obra

Mensajepor antoniovillena » 28 Abr 2013, 20:15

jepalza escribió:Veo que te ha gustado. Tengo la placa de desarrollo F103 con la que hice el Spectrum 16k+PS2+SD delante, y así que yo recuerde, emplea el reloj interno de 72mhz.
Externos lleva otros dos, uno de 32kz para un reloj RTC y otro de 12mhz para la comunicación RS232.

Las especificaciones, según el manual, son:
Modelo STM32F103RB-T6
ARM Cortex-M3
LQFP64-pin, on-chip integrated 128K flash, 20KRAM, 16Bit A/D; PWM, CAN, USB
Run 72MHz Clock / 90MIPS (1.25DMIPS/MHz)

Velocidad suficiente, y juraría, que GPIO suficientes, que tengo que estudiar por si acaso me cuelo.

Edito: quizás está empleando el reloj externo de 8mhz para generar el interno de 72mhz. Hecha un vistazo a uno de los muchos esquemas existentes que hay sobre los STM32F103, por ejemplo ESTE


Yo creo que sí, que es suficiente. Si con un cristal de 8MHz funciona a 72MHz, el PLL está configurado x9, con lo que es mejor meterle directamente HC0 (señal cuadrada de 7MHz) y obtener 56MHz de reloj. Aparte necesitamos implementar en lógica discreta la decodificación de los puertos, que son $1F escritura y $3f lectura/escritura.

-- Actualizado 28 Abr 2013, 19:20 --

scooter escribió:La ventaja del ARM es su indudable potencia y potencial (valga el juego de palabras). La de usar un ATMEGA sería que hay versiones DIL, el hard sería el micro y un cristal o ni eso (si es que es viable usarlo)
Se me ocurre que un atmega + un buffer triestado tipo 245 relajaría algo las exigencias de los timmings para hacer esto, supongo.


No sé si será suficiente con un buffer triestado. Droy hace tiempo implementó un adaptador PS/2 con un PIC y necesitó 5 chips adicionales; aún así no detectaba pulsaciones simultáneas de diferentes filas. El que podría decírtelo (si se puede o no) es McLeod.

http://trastero.speccy.org/cosas/droy/imar3/imar3_s.htm

-- Actualizado 28 Abr 2013, 19:39 --

TallerSeverino escribió:De la misma tirada he conectado el AY, y escucho beeps por la TV, golpes de tecla, etc, pero el sonido de carga no suena, no se si es por el chip AY ya que es modelo 8912P (que se calienta un poco) o de haber hecho el circuito nuevo del ear. O si se trata de un error en el diseño o en la placa, voy a mirarlo a ver si saco algo en claro.

Sigo mirando cosas a ver qué puedo sacar en claro.

Un saludo.

Edición: El sonido está saturado en la TV, no tenia resistencias de 820ohms y he usado de 1K, para R51 y R52 mientras me llegan las otras, pero viendo el esquemático es un sumador ponderado, lo único que influye es que el canal C del AY tiene más volumen que el canal A,B o la señal Spkr, uhm ¿no falta una resistencia a tierra antes de los condensadores de desacoplo para el sumador? tanto L como R?


El audio lo he probado con auriculares, tanto con la orden BEEP como con PLAY. El sonido de carga no lo he probado, debería sumarse mediante R84 a Spkr, pero ahora que caigo Spkr va directamente a la salida. Supongo que se arregla poniendo una resistencia de entre 1K y 10K entre U41-12 y Spkr.

En cuanto a la saturación supongo que es cuestión de elegir resistencias mayores, los valores los elegí un poco al tuntún observando algunos esquemas, la electrónica analógica no es lo mío. Y también es posible que sea necesaria la resistencia a tierra. Siéntete libre de hacer cambios, y si consigues mejor el circuito para que se escuche mejor, hacemos los cambios en nuestros prototipos y actualizo los esquemas de la placa definitiva.

-- Actualizado 28 Abr 2013, 19:46 --

Viendo estos esquemas:

http://www.benophetinternet.nl/hobby/va ... iption.pdf

Creo que me he quedado muy corto con las resistencias. Las de estos esquemas son mucho mayores. No hay resistencias a tierra, pero sí condensadores a tierra (supongo que será una especie de filtro paso bajo).

-- Actualizado 29 Abr 2013, 11:07 --

Tengo malas noticias, acabo de hacer la sustitución XOR+INV por una AND y me vuelve a salir la basura. Sigo generando /AL a partir de AL, lo único que ahora hay menos retardo. La idea era probar el esquema de la placa definitiva, pero no me funciona. He revisado todos los puentes, no obstante volveré a revisarlos para confirmarlo.

Avatar de Usuario
radastan
Amiga 2500
Amiga 2500
Mensajes: 4542
Registrado: 11 Jun 2007, 19:29
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Sega Genesis/Megadrive
Primera consola: TV Games/Pong Clone
Ubicación: Córdoba
Gracias dadas: 9 veces
Gracias recibidas: 40 veces
Contactar:

Re: Clon Superfo 128K - Manos a la obra

Mensajepor radastan » 29 Abr 2013, 15:30

¡Me han legado los conectores de joystick!

Al final me va a llegar todo menos lo que necesito... así que nada, si para el Lunes que viene no me llega la memoria para hacerme la ROM la sustituyo definitivamente por una EPROM (las tengo de 64K, 128K, y hasta de 512K). Esta semana lo tengo jodido porque el próximo fin de semana es la Comunión de mi hijo y estoy pillado desde mañana hasta el Domingo inclusive, y hoy como que no me apetece meterme en fregados que pueda dejar a medias.
Yo tengo una máquina del tiempo, se llama ZX Spectrum, siempre me devuelve a los buenos momentos.
(\.../) (\.../) (\.../) (\.../)
( *.*) ('.'= ) ('.'= ) ('.'= )
(")_(") (")_(") (")_(") (")_(")
╔═══╦═══╦═══╦══╦══╗
║╔═╗║╔═╗║╔═╗╠╣╠╩╣╠╝
║║─║║╚══╣║─╚╝║║─║║
║╚═╝╠══╗║║─╔╗║║─║║
║╔═╗║╚═╝║╚═╝╠╣╠╦╣╠╗
╚╝─╚╩═══╩═══╩══╩══╝

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Clon Superfo 128K - Manos a la obra

Mensajepor antoniovillena » 29 Abr 2013, 18:08

Espero recibir las EEPROMs esta semana, las pedí el día 5 de este mes. No te preocupes que esto va para largo, lo mismo da una semana menos que una semana más.

Estoy dándole vueltas a la cabeza a ver porqué se ve basura con la AND en vez de con la XNOR. El circuito del superfo 48 va con AND y no da problemas. Los únicos elementos nuevos son la generación de VA13 (con una AND) y de VA15 (con una OR de 3 entradas) que no cabían en los buffers.

-- Actualizado 29 Abr 2013, 18:13 --

Por otro lado, dándole vueltas al tema PS2+SD me he encontrado con este proyecto:

http://www.jrok.com/project/speckey/spec_key.html

Que consta de 2 chips, un ATTiny de 8 pines que lee del teclado y una CPLD que responde a las peticiones del Z80 y recibe periodicamente una ristra de 40bits del ATTiny con el estado de cada tecla.

Es un chip más del interfaz de McLeod, lo bueno es que la lógica del ZXMMC se puede meter en el mismo CPLD (o en uno mayor si no cabe) y nos ahorramos la lógica combinacional que decodifica los puertos $1f y $3f.

Así que bueno, las opciones más realistas que tenemos ahora son:
  1. Implementar ZXMMC con el micro que tenemos ahora + lógica para decodificar puertos.
  2. Lo mismo, pero con un stm32f103 (más barato y fácil de conseguir). Lo malo es que habría que reescribir la parte PS/2 desde cero.
  3. Lo que he comentado antes. Son 2 chips en vez de uno, pero el desarrollo sería mucho más fácil (gran parte ya está hecho).

jepalza

Re: Clon Superfo 128K - Manos a la obra

Mensajepor jepalza » 29 Abr 2013, 21:38

antoniovillena escribió:[*]Lo mismo, pero con un stm32f103 (más barato y fácil de conseguir). Lo malo es que habría que reescribir la parte PS/2 desde cero.


Esta semana no me sobra tiempo especialmente (a lo sumo una hora al día), pero mi idea, en cuanto tenga una mañana libre, es meter el STM32F103 que tengo, en el Clón. Como ya tengo programado el PS2 y la SD, solo tengo (en teoría) que eliminar el emulador de Spectrum 16k que tengo ahora mismo, y enviar/recibir las señales del teclado del Spectrum y mirar como interferir la SD para que el Spectrum la vea.
Si mis cálculos son ciertos, solo son unos 20 cablecillos entre el Clón y el STM y reprogramarlo un poqquillo, y sabremos si es factible o no.

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Clon Superfo 128K - Manos a la obra

Mensajepor antoniovillena » 29 Abr 2013, 22:16

Genial. Si puedo echarte una mano cuenta conmigo. Lo que tendrías que implementar es ésto:

http://www.zxbada.bbk.org/zxmmc/cpld.html

Serían 3 puertos:
  • $3f en lectura, lee el registro SPI
  • $3f en escritura, escribe en el registro SPI
  • $1f en escritura, envía el chip select a la tarjeta. Si sólo vamos a usar una tarjeta nos vale el bit bajo aunque en las especificaciones acepta 2 tarjetas.

Seguramente necesites decodificar estos puertos con lógica combinacional, estas serían las ecuaciones (decodificación parcial en base a los 8 bits menos significativos del bus de direcciones).

/3F_LEC= /IORQ+/RD+/A0+/A1+/A2+/A3+/A4+/A5+A6+A7
/3F_ESC= /IORQ+/WR+/A0+/A1+/A2+/A3+/A4+/A5+A6+A7
/1F_ESC= /IORQ+/WR+/A0+/A1+/A2+/A3+/A4+A5+A6+A7

Simplificando un poco:
TMP1= /IORQ+/A0+/A1+/A2+/A3+/A4+A6+A7
TMP2= TMP1+/A5
/3F_LEC= TMP2+/RD
/3F_ESC= TMP2+/WR
/1F_ESC= TMP1+/WR+A5

jepalza

Re: Clon Superfo 128K - Manos a la obra

Mensajepor jepalza » 29 Abr 2013, 22:27

me lo apunto. A ver si el sábado puedo (o incluso el miércoles, día del currela, pero yo, como soy autónomo, me lo como con patatas y creo que trabajo ese día)


Volver a “Sinclair/Spectrum”

¿Quién está conectado?

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