ZXPP, clon de Spectrum en una Papilio Pro

Cursos, reparaciones, fichas, tutoriales, etc.

Moderador: Fundadores

Avatar de Usuario
javu61 !Sinclair QL
Fundador
Fundador
Mensajes: 2175
Registrado: 30 Mar 2013, 11:58
Ubicación: Valencia
Been thanked: 76 times
Contactar:

Re: ZXPP, clon de Spectrum en una Papilio Pro

Mensaje por javu61 »

Total, que me va a tocar aprender Verilog, cuando aprendí en VHDL. Menos mal que lo tengo muy oxidado ya :D
Larga vida y prosperidad \\//_
Avatar de Usuario
Kyp !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3377
Registrado: 30 Sep 2013, 14:54
Ubicación: Madrid
Has thanked: 28 times
Been thanked: 146 times

Re: ZXPP, clon de Spectrum en una Papilio Pro

Mensaje por Kyp »

antoniovillena escribió:Hola kyp, yo de analógica no entiendo, pero le he preguntado a McLeod. Dice que pongas un amplificador operacional. Si no te importa puedes subir las modificaciones que has hecho al repositorio del zxuno, para que cualquier otro que tenga una papilio pro pueda probarlo
Hola Antonio. Iba a empezar a subir los proyectos al repositorio del ZX-Uno pero no veo como. Sólo tengo la URL del acceso por web. Supongo que haría falta un acceso por FTP, ¿no?
Avatar de Usuario
antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1596
Registrado: 02 Abr 2013, 19:06
Been thanked: 1 time

Re: ZXPP, clon de Spectrum en una Papilio Pro

Mensaje por antoniovillena »

Tienes que pedirle acceso a McLeod que es el administrador
Avatar de Usuario
Kyp !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3377
Registrado: 30 Sep 2013, 14:54
Ubicación: Madrid
Has thanked: 28 times
Been thanked: 146 times

Re: ZXPP, clon de Spectrum en una Papilio Pro

Mensaje por Kyp »

OK, gracias.
Avatar de Usuario
DistWave
Aspirante a demonio
Aspirante a demonio
Mensajes: 334
Registrado: 21 Mar 2015, 16:05
Ubicación: Zaragoza
Has thanked: 2 times
Been thanked: 16 times

Re: ZXPP, clon de Spectrum en una Papilio Pro

Mensaje por DistWave »

¿Cómo va este proyecto? Me interesa bastante porque estoy iniciandome en esto de las FPGAs, ando bastante perdido y la mayoría de proyectos publicados son muy complejos...
Avatar de Usuario
Ben-kenobi
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3543
Registrado: 12 Nov 2013, 10:00
Has thanked: 1 time
Been thanked: 18 times

Re: ZXPP, clon de Spectrum en una Papilio Pro

Mensaje por Ben-kenobi »

kyp , seria interesante que en la proxima retroParla, si lo ves factible, nos pudieras dar unas nociones basicas para empezar y explicarnos que es lo necesario para empezar a trabajar con esta placa o similares.

si hay gente interesada , preparamos unas mesas para poder atender a ello.

la verdad es que este tema me interesa.

para cualquier duda o lo que necesites dimelo.
Quieres vinilos para makear tu spectrum? Mira Aqui
Avatar de Usuario
Kyp !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3377
Registrado: 30 Sep 2013, 14:54
Ubicación: Madrid
Has thanked: 28 times
Been thanked: 146 times

Re: ZXPP, clon de Spectrum en una Papilio Pro

Mensaje por Kyp »

DistWave escribió:¿Cómo va este proyecto? Me interesa bastante porque estoy iniciandome en esto de las FPGAs, ando bastante perdido y la mayoría de proyectos publicados son muy complejos...
Pues he estado un poco liado y no he tenido tiempo de continuar con el tutorial y, al menos, llegar hasta donde me he quedado que es un Spectrum 48K completamente operativo (pero sin contención en la RAM baja).

En el próximo capítulo le añadiré el resto de funcionalidades de la ULA: el teclado, el sonido, y la entrada EAR para cargar de cinta. Y de regalo un interfaz Kempston.

Me gustaría añadirle un DivMMC para cargar juegos desde una tarjeta SD, pero estoy atascado porque para eso necesito más memoria ROM y RAM, ya estoy usando toda la que trae internamente la FPGA, y no soy capaz de hacer funcionar la SDRAM que trae la placa.

Creo que voy a aparcar eso de momento y voy a ver si le adapto un core de AY, que hay muchos juegos de 48K que lo pueden usar.
Avatar de Usuario
Kyp !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3377
Registrado: 30 Sep 2013, 14:54
Ubicación: Madrid
Has thanked: 28 times
Been thanked: 146 times

Re: ZXPP, clon de Spectrum en una Papilio Pro

Mensaje por Kyp »

Respecto a lo de dar unas nociones en el próximo RetroParla... no me veo dando una charla =) , pero algo en petit comité me parece bien :|
Avatar de Usuario
Ben-kenobi
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3543
Registrado: 12 Nov 2013, 10:00
Has thanked: 1 time
Been thanked: 18 times

Re: ZXPP, clon de Spectrum en una Papilio Pro

Mensaje por Ben-kenobi »

Kyp escribió:Respecto a lo de dar unas nociones en el próximo RetroParla... no me veo dando una charla =) , pero algo en petit comité me parece bien :|
A eso me referia , nada complicado , solo unas nociones basicas para poder comenzar y de hay en adelante vamos viendo.
Quieres vinilos para makear tu spectrum? Mira Aqui
Avatar de Usuario
Kyp !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3377
Registrado: 30 Sep 2013, 14:54
Ubicación: Madrid
Has thanked: 28 times
Been thanked: 146 times

Re: ZXPP, clon de Spectrum en una Papilio Pro

Mensaje por Kyp »

Paso 04, echando el resto

Vamos a añadir las piezas que faltan para tener un Spectrum 48K completamente operativo.

1. RAM alta.
Al igual que con la RAM baja, la generamos con el asistente de creación de módulos del ISE. En este caso seleccionamos el tipo "Single port RAM" de 32KB por 8 bits.

2. El teclado.
Voy a tomar prestado el módulo de teclado PS/2 (la primera versión) del ZX-Uno. Le he quitado todos los extras que no tiene mi diseño. De todas formas, hace alguna que otra cosa rara, pero eso es un fallo conocido por los diseñadores del ZX-Uno (por eso están haciendo otro módulo mejorado), pero es suficiente para poder usar un teclado PS/2 sin muchas complicaciones.

3. El sonido.
Utilizaremos la salida de cascos de la placa. El módulo 'mixer' se utiliza para mezclar las señales SPEAKER, EAR y MIC de la ULA y, de paso, bajar el volumen para que no suene muy alto, al ser niveles LVTTL que varían entre 0 y 3,3 voltios, si se usa como entrada de línea del PC suena muy alto y distorsiona. Lo que hago es dividir el tiempo en 32 partes y hacer que suene cada señal sólo una vez de cada 32 lo que tiene el efecto de reducir el nivel de la señal.

4. Joystick Kempston
Como extra he añadido el soporte para este tipo de joystick. Es muy sencillo, sólo hay que guardar el estado de los botones en un registro y asignarlo a bus de datos cuando se accede al puerto correspondiente. En teoría bastaría con mirar cuando está a 0 la línea A5, pero usamos un modo más compatible que comprueba que estén a 0 las líneas A5, A6 y A7.

Además de todo esto y aunque no es necesario, he modificado los módulos de memoria para añadirles una señal de habilitación pensado en que más adelante hará falta si queremos mapear distintos bancos de memoria, por ejemplo para implementar 128K de RAM o un DivMMC.

El resto es un poco de 'glue logic' para asignar al bus de datos la salida del módulo correspondiente en función de a que puerto o zona de memoria está accediendo la CPU.

Un último detalle, he mapeado la estrada de cinta EAR a un pin del segundo conector de joystick de la tarjeta. No es aconsejable conectar directamente la salida de audio del casete ahí porque nos podemos cargar ese pin de la FPGA si le metemos una señal demasiado alta, o un valor negativo. Para evitar problemas he diseñado un pequeño circuito que hace las veces de amplificador/adaptador de niveles.

Y esto es todo por el momento. Ahora me encuentro con el problema de que para añadir más funcionalidades necesito más memoria y ya he utilizado toda la disponible internamente en la FPGA. La placa trae un chip de memoria SDRAM de 4MB pero no es utilizable directamente ya que no funciona como la RAM tradicional, que le asignas una dirección en el bus de direcciones y te devuelve el dato en el bus de datos (o guarda el dato que le metas si estás escribiendo) al cabo de unos instantes. Este tipo de RAM funciona a base de comandos y aunque funciona mucho más rápido (100 MHz o más) tiene unas latencias muy altas. Estoy buscando la forma de aprovechar esa diferencia de velocidad para hacer que la CPU la vea como si fuera una SRAM. Si lo consigo ampliaré este tutorial.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Responder

Volver a “Cursos y Tutoriales”