Este hilo siempre me gusto en exceso.
El core de PC-XT hace esto mismo usa un microcódigo para crear el core más exacto que existe en fpga en el mundo de las implementaciones X86, y una de las fpgas agraciadas de tener el mismo es el ZXUNO.
Enlace en el mismo foro de ZX-UNO, hacer microcódigo es el camino:
https://www.zxuno.com/forum/viewtopic.php?f=56&t=936
Tal vez el implementar cpus con microcódigo no sea no hacer hardware sino todo lo contrario.
http://www.microcorelabs.com/home.html
En cuanto a tener un amiga en una SPARTAN 6 XC6SLX9, es también posible incluso sin recurrir a crear un 68K con microcódigo.
La estrategia del DIY586 fue eliminar el OSD y parchear las roms del kickstart para usar mediante un driver nuevo el SD por SPI de forma nativa.
Otra vez escribir un driver en el sistema operativo hizo posible que en una FPGA pequeña entre un core grande, también aloja la Kickstart parcheada para el disco duro SD en la SPI rom.
Hay otra estrategia interesante que yo he visto en un core de PC y otros cores de los inicios en las placas de Terasic DE1. Alojar las roms en zonas relativas o absolutas de la memoria spi, en el caso de las primeras Terasic siempre eran flash paralelas, en vez de tener roms en bram como muchos cores hacen usar la rom spi que tiene el ZXUNO.
Aqui se vé el ZET de zeus usando la spi como memoria rom en este caso la usa de forma relativa y es Quartus II, pero ISE 14.7 puede alojar contenidos en la flash, y liberaría tanta tanta Bram en tantos cores que merece la pena tener al ZET de Zeus Marmolejo en consideración.
http://www.forofpga.es/viewtopic.php?f=20&t=350
Puede que en vez de alojar muchos cores en la rom spi del zxuno, sería lógico abrir más espacio para roms de otros retrosistemas.
Yo hago la pregunta sobre otra vía que voy a intentar; que las cpus que creen el microcódigo se añadan de forma externa, me aclaro... tener un bus estandarizado y muy difundido como el de una Raspberry pi y añadir dichas cpus; a partir de la PI 2, este modelo de SBC dispone de 4 cpus que superan 1Ghz de forma holgada, he visto recientemente que con una faja ide, bien colocadas las señales, puedo llegar a transmitir señales por los 40 hilos a alta frecuencia, y planteo transformar el bus del ZX-UNO en un bus de pi, para entre otras cosas poder conectarle la misma pi mediante una faja IDE FAST ATA.
En tiempos no tiene que ser muy traumático dado que he visto implementaciones baremetal en la PI2 que duran 4 Segundos, en realidad yo busco los cores híbridos donde una cpu se implemente con otra, y cuando se mira externamente los circuitos sin obsesionarse en la implementación interna, han empezado a ser tolerantes de las implementaciones híbridas.
Las implementaciones híbridas existen en los procesadores actuales ARM/AMD/INTEL en sus respectivas familias, en Intel sabemos que incluso llevan un sistema operativo MINIX en su interior:
https://www.zdnet.com/article/minixs-cr ... -using-it/
Al parecer ARM integra otro microkernel y AMD otro... El software es mucho más flexible incluso que una fpga...
Los primeros que están impresionados con los rendimientos de afrontar la necesidad de potencia con su sistema retro, son los usuarios de AMIGA o Minimig 1.8, que disponen de PiSTORM.
Además de añadir que el ZX-UNO tiene mucha vida por delante. Al disponer de 30 señales en su bus se puede incluso plantear un bus PI.
