El emulador está hecho en Basic con el FreeBasic, y lo he hecho partiendo de un "simulador" (que no "emulador") escrito en C++, llamado "68k_sim" o algo por el estilo.
Me puse a convertir el C++ a Basic, al principio "a pelo", pero al final, opté por hacerme un traductor "C a Basic" rapidillo, y el resto acabarlo a mano. El resultado:¡Un desastre en toda regla! Problemas de punteros, de funciones complejas, y mil historias que me hicieron aparcar el proyecto. Pero Entre ayer y hace un momento, me he puesto las pilas, y he conseguido un primer avance bastante agraciado.
Para poder probar el emulador, he cogido un fuente ya existente en la red, de un Basic llamado "TinyBasic" del año de la "Polka", que está preparado para los 68000, lo he compilado , lo he pasado por el emulador, y tras algunos retoques, he conseguido un primer funcionamiento que me ha dejado pasmado.
Por ahora, y mientras no lo acabe al menos al 90%, no dejo los fuentes en ningún lado, pero un primer ejecutable con el TinyBasic se puede probar, bajándolo de GoogleDrive, AQUI
El emulador está en fase super-ultra Alfa 0.00001, de modo, que aunque permite ver su funcionamiento, y el basic funciona aparentemente, a la hora de la verdad fallan docenas de cosas. Pero al menos, deja escribir comandos simples, y se pueden hacer algunos programillas básicos (mirar en el pantallazo que he puesto, un simple programa). Todavía no funcionan los cálculos numéricos, solo los de texto, por eso, el comando PRINT no imprime nada numérico ni hace cálculos, y acaba dando error. Pero un simple programa como '10 PRINT "prueba" 20 GOTO 10' funciona sin problemas. Eso sí, la velocidad aún, deja muuuucho que desear, primero, por que es Basic, segundo por que está emulando un terminal de texto y uno gráfico, con depuración de variables a tiempo real (o sea, que cada ciclo de la CPU, es tambien un ciclo de depurado), y tercero, por que el código no está nada limpio aún. Todo eso hace que el emulador vaya mas lento que un Spectrum

En esta primera versión, emulo un terminal de texto CP/M, justo para poder enviarle los textos que salen del Basic TinyBasic, para nada mas. Las entradas desde el teclado DEBEN hacerse en el terminal gráfico, ya que el de texto es solo salida.
Si queréis ver los comandos del Tinybasic (son muy pocos y básicos) podéis descargarlo de AQUI.
Lo gracioso de este asunto, es el hecho de tener un emulador de 68000 escrito en basic, solo para emular otro basic, mucho mas basico
