Índice de entradas
Esta serie de artículos han sido traducidos a partir del documento "How to
Write ZX Spectrum Games" con permiso de su autor, Jonathan Cauldwell, un gran
desarrollador de juegos para el Spectrum, os recomiendo
visitar su Web donde está
el texto original. El documento original, y por tanto esta traducción, tiene
© Jonathan Cauldwell y solo puede duplicarse con permiso expreso por escrito
de su autor.
Direcciones útiles de ROM y RAM
ROM
0: inicio de la ROM. 654: rutina ROM que devuelve la tecla pulsada (0-39) en el registro e,
o 255 si nada presionado. 949: rutina BEEPER. Ajustar la duración en DE y el tono en el HL. 3503: rutina para borrar la pantalla, estableciendo el color en (23693). 6683: muestra en pantalla el valor numérico del par de registros BC,
hasta un valor máximo de 9999. 8252: muestra en pantalla una cadena de longitud BC ubicada en la dirección DE. 8859: rutina para configurar el color del borde con el valor del acumulador. 15616: dirección de las fuentes en la ROM, 96 caracteres * 8 bytes.
RAM. Zona de pantalla
16384: 256x192 zona de pixeles. 22528: 32x24 zona de atributos de color.
RAM. Zona de variables
23296: variables del sistema. 23606: puntero a las fuentes, menos 256. (256 = 32 * 8 bytes, 32 es el código
para el primer carácter imprimible) 23560: código ASCII de la última tecla pulsada. 23672: reloj, se incrementa 50 veces por segundo. 23693: PAPER/INK/BRIGHT color. 23695: PAPER/INK/BRIGHT color. 23734: canales de E/S. 23755: área del BASIC, seguido de espacio para programas en código máquina.
Si usas hardware adicional puede moverlo. 24000: Podría decirse que es el punto de partida realista mas bajo para
un juego, permitiendo 41536 bytes. 32767: último byte de RAM en un Spectrum de 16K. 32768: Principio de la zona no contenida, la RAM más rápida. 65535: último byte de RAM en un Spectrum de 48K.
Tremendo Trabajo
ResponderEliminarMuchas gracias por tu esfuerzo!