Otro proyecto de multi-device:
https://github.com/idolpx/meatloafAl basarse en ESP32, creo que no va a poder ir mucho más allá (emula modem + IEC básico, no tengo claro si llega a una SD2IEC).
Permite tener un servidor web en algún lado, y cargar programas a través de LOAD "HTTP://....."..
Sobre el resto de los asuntos:
- Aún estoy muy muy lejos del punto donde la estética es el problema a resolver. En cualquier caso, no tendría por qué tener cables aparte de la alimentación (posiblemente, joysticks, si se añadiera soporte).
- La Ultimate ya está para muchas cosas. Existe SD2IEC, Pi1541 y otros proyectos, por motivos de precio y disponibilidad.
- Por otro lado, cuando salió la Ultimate, simplemente, no había otra forma de hacer lo que hace la Ultimate.Una FPGA era la única cosa, en ese factor de forma, capaz de dar esa funcionalidad. Pero a medida que salen microprocesadores más potentes, esto supongo que irá cambiando (sólo hay que ver todo el uso que se le da a la raspberry pi en el mundo Amiga). Un teléfono de 100 euros tiene un procesador que va más que sobrado para hacer lo que antes requería una FPGA. A medida que esos procesadores llegan a placas "de usuario", a precios muy muy bajos, lo lógico es que las vayan sustituyendo, al menos en el mundo de la emulación de ordenadores de 8 bits.
Hay dos ventajas adicionales: primero, que no es necesario conocer VHDL o Verilog para crear dispositivos.Esa ventaja es lo que ha permitido el éxito de Arduino.No hace falta ser un ingeniero electrónico para hacer cosas.
La segunda, es la gigantesca cantidad de código open source que existe, y que es mucho más fácil de portar. Lo *ideal* sería portar directamente el código de VICE a un dispositivo pensado para funcionar con un C64 real. Si no me equivoco, la Ultimate no es open source, y, aunque lo fuera, de nuevo, ese código es territorio que requiere una cierta especialización.
Ese punto de "especializacion" es importante: la raspi no estaba pensada para cosas como replicar la disketera del C64, o un coprocesador de un Amiga. Tenía un procesador capaz de hacerlo, claro, pero eso requiere que se le programe en "bare metal", sin ningún tipo de operativo...Y para que eso funcione, tiene que haber librerías y documentación sobre cómo utilizar todos esos dispositivos (usbs, hdmi, wifi, memorias, SD...)..Documentar y crear APIs lo hacen muy bien placas como ESP32, Teensy, Arduino, etc , porque están pensadas para eso (usarse en "bare metal"), y la pi, no.
Como prueba, el código portado a Teensy 4.1 de la pi1541 tiene la mitad de ficheros. Y es porque sirven para cosas de bajo nivel de la Pi, cosa que los frameworks tipo "arduino" ya incluyen, no necesitas añadirlos a tu proyecto, saber para qué sirven, etc,etc.
Pero estaba claro que, con la potencia que da una pi, merecía la pena meterse en toda esa complejidad, en ese momento.
En resumen, procesar las señales que genera un ordenador de 8 bits (al menos), ya no es territorio exclusivo de las FPGA..Los procesadores necesarios ya están ahí, muchas veces falta simplemente una API simple.