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,TINTAdonde 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,TINTACada 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,TINTAEstos 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 = ÁNGULODebido 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,TINTAdonde 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=ÁNGULOEl último de los comandos que podremos utilizar nos permitirá cambiar el modo de impresión para cada una de las distintas figuras:|MODO,Xdonde «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,&340Cuando 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 &A000Una vez hecho esto, estaremos en condiciones de utilizar los nuevos comandos desde Basic.AS
| ★ AMSTRAD CPC ★ DOWNLOAD ★ |
|
CPCrulez[Content Management System] v8.732-desktop/c Page créée en 626 millisecondes et consultée 12 foisL'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. |
|
|