Luego, cada vez que pongo un emulador hecho en basic por mi, vuelvo a comentar lo de las maravillas del FreeBasic, se ve que no lo has visto, tambien te perdono (en concreto, cuando puse el emulador de 6809 y del Thomson M05 ambos en FB (freeBasic, no feisbus)

Llevo con FB unos 6 años, y todo virtudes. He hecho incluso aplicaciones 3D que cuesta distinguirlas de las hechas en C++.
Publicar emuladores que hago con el FB, solo pongo aquellos hechos al menos un 50% por mi, y en el caso del Spectrum, solo un 25% es mio, no quiero publicar el trabajo de otro, por mucha conversión que yo haya realizado. No sea que un día el tio que lo hizo vea en los mios indicios de los suyos y se enfade conmigo, a pesar de ser libres y de ser "parecidos", pero no iguales.
Volviendo al tema del Spectrum, el execute "se queda", no sale, hace un bucle infinito, y dentro de él, se llaman a rutinas de interrupción y lectura/escritura de RAM, y es en esas rutinas donde se hace el chequeo de hardware, como el teclado, y ahí ponemos la tecla ESC para poder acabar la simulación.
Si te va a 2000 por hora, es por que no están las pausas bien puestas. Es algo por lo que no me preocupo casi nunca. Como lo hago para mi y mi portátil, (un I7) no me preocupa como les vaya a los demas. Y como siempre entrego fuentes, las cuatro veces que los "regalo", el que quiera, puede meter pausas a su gusto. En realidad, debería ponerlas de modo que vea la velocidad del PC, pero probablemente esté desactivada esa parte.
Lo de que no ves nada en pantalla, es por que está habilitado el doble buffer de pantalla del freebasic (puedes habilitar varias pantallas a la vez). Lo que haces es poner una en la que trabajas "en la sombra", si que se vea como dibujas, y luego, lo vuelcas en la visible. Es se hace con el comando SCREENCOPY. Como el curso normal del emulador aún no ha llegado al comando SCREENCOPY 1,0 no ves nada de lo que dibujas o pintas. Para verlo antes de llegar, pones un SCREENCOPY "a pelo" justo tras los PRINT, y ves la salida, o sino, deshabilitas la creación del doble buffer, quitando el ",,2" en el comando SCREEN 18,,2 dejando solo SCREEN 18, pero entonces, es mas lento al dibujar y ves parpadeos. Para depurar, es lo que yo hago, lo deshabilito o sino uso el SCREENCOPY. Eso ya es de conocer el FB.