Tengo intención de analizar algunos programas de utilidades que salieron para el ZX81, sin incluir los referentes a ensamblador-desemsamblador de código máquina, cursos de idiomas o programas tipo enciclopedia.
En este caso he utilizado TOOLKIT.
TOOLKIT es una utilidad desarrollada por Artic Computing en 1982 para el ZX81 con 16 kB de RAM. El programa fue publicado tanto por Artic como por Sinclair Research. Introduce 9 nuevas funciones a las que se accede ejecutando el RAND USR correspondiente, según el manual de instrucciones.
El programa baja la RAMTOP a la dirección 30500 y se instala por encima de esta dirección, precisamente para que no pueda accederse por otros programas. Ocupa los 2268 bytes restantes hasta el tope de memoria.
Lo que me ha interesado de este programa es la rutina MEM (RAND USR 31850 o RAND USR MEM) para el cálculo de la memoria RAM disponible. Hay varios programas que realizan la misma función pero siempre para el modelo de 16 kB. Como es sabido, en este modelo la memoria de display de pantalla, entre las variables del sistema D_FILE y VARS, ocupa un espacio fijo de 793 bytes. Mientras que en el modelo de 1kB este área de memoria es variable, desde el mínimo de 25 bytes hasta los 793 bytes, lo cual dificulta algo más el cálculo de la memoria RAM disponible.
El tema de la memoria de pantalla ya fue tratado en este hilo, con la ayuda de dancresp.
Al ejecutar la rutina MEM aparece el cálculo de memoria mostrado en la imagen anterior. El programa al ejecutarse, asigna una variable a cada una de las nuevas funciones como puede verse al ejecutarse RAND USR 31532 o RAND USR DUMP. Si ejecutamos un CLEAR, veremos que no obtendremos un resultado al ejecutar RAND USR MEM, pero sí al ejecutar RAND USR 31850. En este caso el área de memoria libre será 13161 bytes. Es decir, con la ejecución de CLEAR también hemos liberado el área de variables usado por el propio programa.
El cálculo es relativamente preciso, ya que si a 16384 (16 kB) le restamos el espacio ocupado por el programa (2268 bytes), la memoria de pantalla (793 bytes) y el área de variables del sistema (125 bytes), nos daría un número cercano a los 13161 bytes. La diferencia es de 37 bytes, que seguramente fuera menos al deducir las pilas.
Referencia: ZX81 Stuff
TOOLKIT para ZX81
Ir a
- RetroWiki
- General
- Presentaciones
- RetroWiki Magazine
- Info & Ayuda
- Desarrollos y Proyectos RW
- Proyecto RW PINOUT
- Revistas, Libros y Manuales
- Reuniones y Eventos
- retrocrypta, directos de cacharreo
- Colecciones y retrocuevas
- El Micro del Mes
- Preservación
- Amiga
- Hardware Amiga
- Software & OS Amiga
- Amiga Wave. Programa en directo
- Atari ST
- Hardware ST
- Software ST
- Amstrad
- Hardware CPC
- Software CPC
- Amstrad PCW
- Amstrad PC
- Atari 8 Bit
- Software Atari 8 Bit
- Hardware Atari 8 Bit
- Commodore 8 Bits
- Hardware C64
- Software C64
- Otros Commodore 8 Bits
- Commodore Vic20
- Commodore 16 - Plus 4
- Commodore 128
- Serie Pet/400/800
- Dragon
- Hardware Dragon
- Software Dragon
- Proyecto The Hobbit 6809 por pser1
- Enterprise
- Hardware Enterprise
- Software Enterprise
- MSX
- Hardware MSX
- Software MSX
- Oric
- Hardware ORIC
- Software ORIC
- Ordenadores Sinclair
- Hardware Spectrum
- Software Spectrum
- Clones Spectrum
- Sinclair ZX80/81
- Sinclair PC
- Sinclair QL
- PC & Compatibles X86
- Otros Sistemas
- Apple ][
- BBC Micro & Electron
- Camputers Lynx
- EACA Colour Genie
- Fujitsu FM7
- Jupiter Ace
- Macintosh
- Memotech MTX
- NewBrain
- Sam Coupé
- Sharp MZ
- Sharp X68000
- SGI Silicon Graphics
- Tandy CoCo
- TRS-80
- TI 99/4A
- Triumph Adler
- No Catalogados
- Ordenadores de Bolsillo y Calculadoras
- Procedimientos Operativos Retro
- Instrucciones Carga Software
- Guias de instalación y puesta en marcha
- Guías Operativas
- Emulaciones software, FPGA y otras soluciones
- Placas FPGA
- SiDi 128
- ΠΟΣΕΙΔΩΝ POSEIDON FPGA
- MiST / MiSTica / SiDi
- MiSTer
- ZX-Uno / ZX-Dos / ZX Next
- neptUNO FPGA
- Chameleon96
- Otras placas FPGA
- ESP32 TTGO VGA32
- TTGO vga32 v1.2
- TTGO vga32 v1.4
- Otros ESP32 VGA
- Desarrollo emuladores ESP32
- Lenguajes de Programación y herramientas Dev
- Arcades, Recreativas y Bartops
- Sistemas Operativos
- VideoJuegos
- Consolas Clásicas
- Off Topic
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados