Parte 16: Emulador de consola de CP/M Plus
En la parte 1 de este capítulo hemos dado una tabla de caracteres de control con la descripción
de sus efectos. Tales efectos son los que se producen cuando se envían los caracteres a la
pantalla de texto desde BASIC o desde CP/M 2.2. Estas acciones han sido elegidas con los
criterios de sencillez y de conseguir que ilustren algunas de las funciones disponibles en el bloque
de 'Text VDU' (pantalla de texto) del firmware. Estas funciones son peculiares de los
ordenadores Amstrad, y por lo tanto los programas deben ser amoldados a ellas.
En el contexto de las aplicaciones comerciales que se programan para CP/M Plus, es normal
esperar que los ordenadores dispongan de ciertas funciones estándar de control de la pantalla de
texto, de modo que los programas sean fácilmente "trasladables" de una máquina a otra. La
implementación de CP/M Plus en el CPC6128 incluye un emulador de consola que proporciona
funciones de control similares a las del terminal Zenith Z19/Z29. El procedimiento de instalación
de los programas escritos para CP/M Plus incluirá normalmente una opción para terminales de
este tipo.
Entre las funciones incorporadas en el emulador de consola de CP/M Plus se encuentran muchas
de las antes ofrecidas en el grupo 'Text VDU' del firmware, aunque con diferentes códigos de
control. Pero en CP/M Plus se dispone de un número considerable de operaciones nuevas y más
complejas.
Los caracteres del margen de &20 a &FF se exhiben en la pantalla en la posición actual del
cursor. Además, si el cursor no está en la última columna, se lo desplaza una posición a la
derecha; si el cursor está en la última columna y está activada la continuidad de las líneas, se lo
coloca en la primera columna de la línea siguiente, desplazando la pantalla hacia arriba si es
necesario.
Los caracteres del margen de &00 a &1F se interpretan como códigos de control, según la
siguiente tabla:
&07
BEL
&08
BS
&0A
LF
&0D
CR
Se ignoran todos los demás códigos de control.
El emulador de consola reconoce las siguientes secuencias de 'escape'. Todos los demás
caracteres son exhibidos en la pantalla (con el consiguiente avance del cursor) aunque vayan
precedidos del código de escape. Gracias a esta característica es posible enviar a la pantalla los
caracteres visibles correspondientes a los códigos de control del &00 al &1F. (Obsérvese, no
obstante, que en muchas aplicaciones se reinterpreta el código de control &09 (TAB) para que
signifique cierto número de espacios; en tales casos la secuencia [ESC][TAB] no visualizará el
carácter &09.)
Produce un pitido.
Retroceso del cursor. Mueve el cursor una posición hacia la
izquierda. Si el cursor está en la primera columna (pero no en la
primera fila) y está activada la continuidad de las líneas, se lo coloca
en la última columna de la fila anterior.
Avance de línea. Se baja el cursor a la línea siguiente, desplazando la
pantalla hacia arriba si es necesario.
Retorno del carro. Lleva el cursor a la primera columna de la fila
actual.
Manual de Amstrad CPC 6128 (revisión 2008) - Página 310