CODINGAMSTRAD SEMANAL ★ RUTINAS GRAFICAS ★

Rutinas Graficas
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Los ordenadores de la gama CPC de Amstrad, a pesar de poseer muy buenas posibilidades en modo gráfico, carecen de comandos apropiados que faciliten el trabajo de creación en dicho aspecto. Pensamos que sería interesante la creación de algunas rutinas que nos permitan trabajar mucho más cómodamente en la pantalla gráfica.

Hemos creado una serie de rutinas, cada una de ellas ligada a un nuevo comando RSX, con lo cual podrán ser incluidas en nuestros propios programas en Basic sin ningún tipo de dificultad.

A través de estos nuevos comandos podremos realizar las siguientes tareas:

— Rectángulos.
— Polígonos (hasta ocho lados).
— Circunferencias.
— Elipses.
— Cambio de modo de impresión.

Vamos a ver ahora cada una de las distintas rutinas, así como cuáles van a ser los parámetros necesarios que se deberán introducir en el comando RSX correspondiente a cada una de ellas.

El primero de ellos nos va a permitir dibujar rectángulos en cualquier parte de la pantalla. Para ello deberemos utilizar la siguiente expresión:

|RECTÁNGULO,POSX,POSY,ALTO,ANCHO,TINTA

donde cada uno de los parámetros deberá indicar:

POSX: Posición vertical en pantalla.
POSY: Posición horizontal en pantalla.
ALTO: Altura del rectángulo.
ANCHO: Anchura del rectángulo.
TINTA: Tinta con que se debe imprimir.

La instrucción que veremos a continuación nos permitirá pintar polígonos de tres hasta ocho lados, es decir, desde triángulos hasta octógonos:

|POLIGONO,POSX,POSY,N.LADOS, LADO,TINTA

Cada una de dichas variables, se describe a continuación:

POSX: Posición vertical.
POS Y: Posición horizontal.
N.LADOS: Número de lados del polígono.
LADO: Longitud de la arista.
TINTA: Tinta con que se imprimirá.

Como podemos comprobar, cada una de las tareas mencionadas hasta ahora es fácilmente realizable desde Basic, pero para ello se deberían utilizar varias instrucciones.

Vamos a ver ahora otras dos rutinas que crean figuras que ya no son tan fácilmente realizables desde Basic, y que en cualquier caso son de mucho más complicada ejecución. Se trata en primer lugar de la circunferencia, que podremos realizar con el siguiente comando:

|CIRCULO,CX,CY,RADIO,TINTA

Estos parámetros deberán indicar:

CX: Coordenada X del centro.
CY: Coordenada Y del centro.
RADIO: Radio de la circunferencia.
TINTA: Tinta de impresión.

La rutina encargada de la realización de los círculos utiliza las ecuaciones paramétricas de la circunferencia, ya que son las que ofrecen mayor comodidad.


X = R*COS(A)
Y = R*SEN(A)
R = RADIO A = ÁNGULO

Debido a la dificultad de cálculo que ofrecen las funciones de seno y coseno desde Código Máquina, hemos preferido crear una tabla en la cual se encuentran los valores para estas funciones, para los ángulos comprendidos entre 0° y 90°.

En realidad, se trata de una única tabla, ya que los valores que resultan de estas funciones son inversos, con lo cual únicamente es necesario tomar la tabla por el principio para una y por el final para la otra.

Otra dificultad que se encuentra en el momento de trabajar en Código Máquina son los números no enteros que resultan de estas funciones. Esto se ha solucionado multiplicando dichos valores por un factor de corrección y eliminando la parte decimal del resultado.

La última de las figuras que nos será posible imprimir a través de estos nuevos comandos, es la elipse, la cual podremos crear mediante:

|ELIPSE,CS,CY,E1 ,E2,TINTA

donde cada uno de los parámetros deberá indicar:

CX: Coordenada x del centro.
CY: Coordenada y del centro.
E1: Semieje 1.
E2: Semieje 2.
TINTA: Tinta.

Para la realización de esta figura se han utilizado también las ecuaciones paramétricas de la misma.

X = A*COS(T)
Y = B*SEN(T)
A = SEMIEJE 1
B = SEMIEJE 2
T=ÁNGULO

El último de los comandos que podremos utilizar nos permitirá cambiar el modo de impresión para cada una de las distintas figuras:

|MODO,X

donde «X» será el modo de impresión elegido.

Existen cuatro modos distintos de impresión, cada uno de los cuales deberemos indicar con un valor distinto, que podemos ver a continuación:

0: Impresión normal.
1: Impresión en XOR.
2: Impresión en AND.
3: Impresión en OR.

Para facilitar la familiarización con los nuevos comandos disponibles, hemos realizado un programa demostración, en el cual podremos ver la facilidad que se nos ofrece para la creación de pantallas gráficas.

Sólo nos queda decir que para aquellos a quienes les interese incluir estas nuevas instrucciones en sus programas Basic, deberán copiar el listado ensamblador que aparece a
continuación, o bien teclear el programa cargador Basic.

En el último caso, una vez ejecutado sin errores, podremos salvar la rutina en disco o cinta de la siguiente forma:

SAVE“GRAFBIN”,B,&A000,&340

Cuando se desee utilizar, deberemos cargarla en memoria a partir de la dirección hexadecimal &A000, efectuando una llamada a la inicialización de los comandos:

MEMORY &9FFF
LOAD"GRAFBIN" ,&A000
CALL &A000

Una vez hecho esto, estaremos en condiciones de utilizar los nuevos comandos desde Basic.

AS

★ PUBLISHERS: Hobby Press , Amstrad Semanal
★ YEAR: 1987
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: AMSTRAD SEMANAL 1987
★ AUTOR: Alberto SUÑER
 



★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
 » Rutinas  Graficas    (Amstrad  Semanal)    SPANISH    LISTINGDATE: 2026-07-05
DL: 0
TYPE: PDF
SiZE: 2040Ko
NOTE: Supplied by archive.org ; 7 pages/PDFlib v1.6

Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.732-desktop/c
Page créée en 626 millisecondes et consultée 12 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.