Quest escribió:No se que puedo aportar yo. Acabo de leer el link del hilo que has puesto y Kyp sabe HDL de verdad, y además electrónica. Yo no se nada (apenas nada, ni he estudiado una cosa ni la otra), aparte de hacer un UCF adaptado, saber las 4 cosas básicas del ISE y usar la lógica para intentar deducir lo que hacen algunas partes del código y cambiar algunas líneas, eliminar o añadir otras... que funcionan después de muchas pruebas infructuosas. Eso para él sera coser y cantar.
No te quites méritos que por propia experiencia se que portar cores tiene lo suyo. Yo no te creas que yo hago mucho más que tú. De HDL se lo poco que he ido aprendiendo leyendo tutoriales y aunque si que estudié electrónica hace muchos años nunca la he usado más que para cacharrear.
antoniovillena escribió:Había pensado en ti porque últimamente has hecho muchos ports y creo que este no te resultará muy complicado. También es una forma de completar el repositorio, tanto de cores de spectrum alternativos al de McLeod como también para que el core de McLeod funcione en otros sistemas (en este caso Papilio Pro).
Como te decía en el otro foro. Mi clon no es un port del ZX-Uno al Papilio Pro. Aunque he ojeado los fuentes, en realidad es una implementación nueva. Mi ULA es 100% original en cuanto a que no se basa en otro código. Sabiendo como está distribuida la memoria de pantalla en el Spectrum me he inventado una forma de generar la señal de vídeo a partir de eso. De echo saca una señal VGA directamente y no tiene contención, de momento.
El core del Z80 es el mismo que usa el ZX-Uno, eso si, y el resto de chips los he generado con el asistente del ISE. Bueno, confieso que si que os he copiado una cosa, el módulo del teclado PS/2, aunque lo he retocado un poco es el vuestro

antoniovillena escribió:Casi todos los que estamos aquí somos también informáticos (wilco2009, McLeod, yo) así que por lo menos no estás solo.
Yo también soy informático más que electrónico

Quest escribió:En el caso de portar lo que tiene hecho hasta ahora de Papilio a ZX-UNO, supongo que es bastante fácil puesto que no usa RAM externa, sino la propia BRAM de la FPGA. Sólo hay que adaptar el UCF, los bits de salida de vídeo y los relojes.
Exacto, estaría chupado. Está todo en la FPGA así que sólo hay que adaptar las conexiones y el reloj de la placa que es de 32MHz en vez de 50 MHz.
Quest escribió:No obstante ya vi varios cores de specturm para spartan (entre otros uno que hay para la placa Aeon rusa, creo que alguno para papilio, etc) pero pensé que no tenía mucho sentido portar otros cores de spectrum, teniendo ya nosotros uno que seguramente será la envidia de todos los demás, con el T80 mejorado, timings prácticamente calcados a los reales (elegibles entre 48k y 128k, hasta el issue del teclado...) , ULAPlus, DivMMC, Carga por EAR, Turbosound, más RAM, Configurable y actualizable por BIOS, mapeados de teclado personalizables, multi configuración de joysticks con soporte de varios estándares, multi-elección de ROMs de spectrum para arrancar, etc, etc, etc... no veo que haya otro mejor
El ZX-Uno es una implementación 'de verdad'. Mi clon no es más que un experimento que me sirve para aprender HDL

Quest escribió:El caso contrario, portar el de ZX-UNO al Papilio, lo veo totalmente imposible para mis cuasi-nulos conocimientos. En el ZX-UNO, si no he entendido mal hasta ahora, usamos una SRAM para todo, tanto para cargar la ROM como para usarla de RAM del spectrum. El Papilio Pro, si no me equivoco usa SDRAM. No tengo ni repajolera idea siquiera de cómo funciona una SDRAM, y por lo poco que he leído es mucho más complicado manejarla, además de resultar más lenta. En todo caso creo recordar que un antiguo test de jepalza (hace ya unos meses, igual me equivoco) hacía funcionar el core para un ¿48k?, usando la memoria de la FPGA, pero sería bastante limitadillo, claro. Y nada de VGA. El Wing RGB del papilio es para VGA. Nosotros aún no tenemos scandoubler.
Efectivamente, el principal problema es la SDRAM, estoy intentando hacer un módulo que haga de puente de forma que se pueda usar como si fuera SRAM pero aun no lo he conseguido. Yo creo que será lo bastante rápida porque aunque la SDRAM tiene muchos estados de espera entre que le metes la dirección y te lee o graba el dato (hasta 15 o 16 estados, refresco a parte) como funciona 100MHz o más una cosa compensa la otra.
La salida VGA de mi clon es por comodidad (no tengo una TV a mano). Se podría sacar salida PAL cambiando mínimamente el código. De todas formas la opción del scandoubler es mejor porque, en mi caso, al funcionar a frecuencias distintas (en Spectrum internamente sigue funcionando a 50Hz pero se refresca a 60 Hz) es inevitable que haya un efecto de 'tearing'.