Sfera 0.2.0 para SuperForth

Subforo oficial del Sinclair QL: realiza aquí las consultas relativas a tu QL.

Moderador: Sir Cilve Sinclair

Responder
Avatar de Usuario
programandala.net
Manic Miner
Mensajes: 210
Registrado: Mié Ago 04, 2010 9:20 pm
Ubicación: España
Contactar:

Sfera 0.2.0 para SuperForth

Mensaje por programandala.net » Mar Feb 02, 2016 4:39 pm

He subido la versión 0.2.0 de Sfera, la biblioteca para SuperForth.

Las novedades más importantes de esta versión son:
  • Palabras para conocer la máquina sobre la que corre el sistema Forth: `machine`, `processor`, `display-type`.
  • Palabras para poder usar la zona de memoria común de QDOS, rompiendo así la limitación del antiguo estándar Forth-83 que sigue SuperForth, y que limita el espacio del sistema Forth a 64 KiB. Estas palabras son `aallocate`, `afree` y `aunused`.
  • Palabras para manipular palabras diferidas, de acuerdo con el Forth estándar actual: `defer`, `defer@`, `defer!`, `defers`, `action-of` e `is`. SuperForth tiene sus propias palabras para hacer lo mismo, aunque con algunas limitaciones: `exvec:`, `assign` y `to-do`.
Entre las tareas en marcha más interesantes para futuras versiones de Sfera está la adaptación de la extensión `bmp8load` que Wolfgang Lenerz, el autor del emulador SMSQmulator, escribió hace años para poder cargar imágenes BMP en canales de ventanas desde SuperBASIC. Gracias a que Wolfgang, como algunos otros autores de programas de QL, publica sus fuentes en ensamblador, es posible adaptarlas. De hecho la adaptación consiste principalmente en eliminar toda la «morralla» que se necesita para la integración de la rutina en ensamblador con el intérprete de SuperBASIC, es decir la comprobación y trasvase de parámetros. En Forth es mucho más sencillo integrar código en ensamblador, porque los parámetros están listos para usar en la propia pila de Forth, y los resultados se devuelven también en la misma pila, para poder manejarlos directamente desde Forth. No hace falta perder tiempo con comprobaciones ni cálculos.
Marcos Cruz (programandala.net)

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados