• ¡Bienvenido al foro!
  • Si eres nuevo, preséntate.
  • Disfruta de nuestros contenidos.
¡Hola, Invitado! Iniciar sesión Regístrate


Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Abersoft Forth desensamblado
#1
He desensamblado Abersoft Forth (de John Jones-Steele, 1983). Fue mi Forth favorito hace 30 años y posiblemente el mejor Forth comercial para Spectrum (Spectrum Forth-83 (de Lennart Benschop, 1988) es más potente, pero no fue comercial y apenas fue conocido).

El código fuente final en Z80 está limpio y listo para ser ensamblado de nuevo, e incluye comentarios sobre fallos y posibles mejoras. Es un buen ejemplo de una implementación del estándar fig-Forth 1.1, con las especificidades de Spectrum (todas las implementaciones de fig-Forth son casi idénticas, con solo una pequeña parte del código que depende del sistema operativo).

El archivo ZIP contiene todos los ficheros necesarios para hacer el desensamblado, con una descripción detallada, aunque el proceso es algo complejo. Gracias a la potencia de Forth, varias tareas importantes del proceso las hace el mismo Abersoft Forth.

Aquí está:

http://programandala.net/es.programa.abe...forth.html
Marcos Cruz (programandala.net)
 
Reply
#2
Menudo curro te debes haber pegado con el desensamblado. Espero que de éste salga algún proyecto derivado.
 
Reply
#3
(10-09-2015, 09:14 AM)antoniovillena escribió: Menudo curro te debes haber pegado con el desensamblado. Espero que de éste salga algún proyecto derivado.

Fue laborioso, pero muy gratificante. Lo más interesante fue escribir los programas en Abersoft Forth (los ficheros con extensión «fsb» en el paquete) que crean los ficheros necesarios para el desensamblador. Esto lógicamente lo hice mandando a «impresora» la información, y redirigiendo en el emulador Fuse la salida de impresora a un fichero, que después hay que renombrar y cortar a mano. Por eso esa primera parte del proceso de desensamblado no puede ser automática, no se puede meter en el Makefile. Pero aun así es curioso ver cómo el Spectrum es parte imprescindible de una cadena de trabajo en Debian. Hacer lo mismo sin la ayuda del propio Abersoft Forth, es decir, examinando el binario con herramientas escritas a medida en Debian, hubiera sido mucho más laborioso, como comprobé hace tiempo al hacer el desensamblado de SamForth.

Y sí, el objetivo final es un proyecto nuevo que ya está muy avanzado: Solo Forth, un Forth para Spectrum 128 con G+DOS (y probablemente, después, con unas modificaciones, también para +3 y +3e). A pesar de que empezó con la fuente de Abersoft Forth, hace tiempo que dejó de ser fig-Forth; es más potente, versátil y rápido.
Marcos Cruz (programandala.net)
 
Reply