APPLICATIONSUTILITAIRES RSX/LIGNE DE COMMANDE ★ EXTENSIONS BASIC CPC 464 ★

Extensions Basic CPC 464Applications Utilitaires Rsx/ligne De Commande

Le système d'exploitation des micro-ordinateurs AMSTRAD CPC présente la particularité de permettre à l'utilisateur de définir des instructions BASIC personnelles, et de les faire prendre en compte par l'interpréteur. Le programme BASIC et le listing ASSEMBLEUR ci-joints définissent quelques instructions graphiques qui manquent dans le BASIC des CPC, et plus particulièrement dans celui du 464.

La seule saisie du programme BASIC vous permettra d'utiliser les extensions définies. Le listing ASSEMBLEUR a été joint pour permettre à ceux qui possèdent un assembleur d'intégrer, si ils le désirent, les extensions qu'ils auraient réalisées avec celles proposées ici. Quelques précisions avant de commencer. Tout d'abord, l'adresse à laquelle sont logées les extensions a été calculée de façon à ce que les possesseurs d'une unité de disquettes puissent les charger avec leur drive en service. Enfin ce programme a été écrit pour un CPC 464 et fait appel à une routine système (inversion de signe – saut à l'adresse BDC7) qui ne fait pas partie du JUMPBLOCK standard de l'AMSTRAD. Il est donc possible que son adoption sur les modèles 664 et 6128 nécessite quelques adaptations en ce qui concerne l'utilisation de la routine citée. Toute les autres routines utilisées font partie du JUMPBLOCK standard de l'AMSTRAD.

 
Les «resident system extensions» 
 
L'intégration d'instructions dans le BASIC des CPC se fait en utilisant les RSX (resident system extensions). Cette fonctionnalité permet au système de considérer des parties de RAM au même titre que des ROM d'extension. L'inclusion des extensions dans le système se fait en utilisant la routine RAM située à l'adresse BCD1. L'appel de cette routine nécessite de charger :
– Dans la paire de registres BC, l'adresse d'une zone RAM contenant l'adresse de la table des commandes d'extension.
– Dans la paire de registres HL, l'adresse d'une zone RAM de 4 octets qui seront utilisés par le système pour intégrer l'extension. La table des mots d'extension et les 4 octets réservés au système doivent obligatoirement résider dans les 32 K de RAM centrale, c'est-à-dire dans la partie de la RAM qui n'est jamais en «concurrence» avec les ROM.   
Définition de nouvelles instructions BASIC
 
Les nouvelles instructions BASIC définies doivent être mises dans la table des commandes d'extension. «Chaque nouveau mot» du BASIC est défini dans une pseudo-instruction assembleur du type DEFB (ou DB selon l'assembleur utilisé). Le bit 7 du dernier caractère de chaque mot sera mis à 1. C'est ainsi que la définition du mot PENG sera : DEFB «P», «E», «N», «G» + = 80 La table des commandes doit se terminer par un octet à zéro, qui indique au système la fin de table. Il vous fait aussi décrire, dans le programme de création des extensions, une suite de jumps aux routines correspondant aux instructions. Ces jumps doivent être dans le même ordre que les mots définis dans la table des commandes. Lors de son utilisation dans un programme basic, la syntaxe d'une instruction contenue dans une extension sera toujours de la forme suivante : nom instruction, liste de paramétres, le symbole correspond à SHIFT- .)
 
Les extensions basic réalisées
 
Les extensions basic qui vous sont proposées ci-après sont au nombre de 5. Elles sont destinées à pallier partiellement certains manques du Basic Locomotive (sur 464 essentiellement). Ces extensions sont les suivantes :  
  • PENG,c où c désigne un numéro d'INK. Cette instruction précise la couleur du PEN graphique, couleur qui sera utilisée pour l'éxécution des instructions graphiques.
  • PAPF.RG,c où c désigne un numéro d'INK. Cette instruction définit la couleur du PAPER graphique, c'est-à-dire la couleur qu'aura l'écran graphique lors de l'éxécution CLG.
  • BOX,x,y,lx,ly[,c]
Cette instruction trace sur l'écran un rectangle vide dont les caractéristiques sont les suivantes : 
  • l'angle supérieur gauche a pour coordonnées x et y.
  • les dimensions du rectangle sont données par lx (largeur) et ly (hauteur).
  • la couleur dans laquelle est tracée le rectangle correspond au numéro d'INK donné dans c si ce paramètre est précisé. Dans le cas où le paramètre c n'est pas précisé, le rectangle est tracé dans la couleur du PAPER graphique.
– BOXF,x,y,dx,dy,[c] Cette instruction dessine sur l'écran un rectangle plein. Les paramètres ont la même signification que dans l'instruction BOX.
– SCREEN,x1 ,x2,y1,y2. Cette instruction définit la fenêtre attribuée à l'écran graphique. Les paramètres utilisés ont la signification suivante :
  • x1 et x2 sont les coordonnées des bords droit et gauche de la fenêtre graphique.
  • y1 et y2 sont les coordonnées des bords haut et bas de la fenêtre graphique.
Une fois une fenêtre graphique définie par SCREEN, tous les ordres graphiques utilisés s'éxécuteront dans cette fenêtre et ne déborderont par sur le reste de l'écran. Le plein écran graphique correspond à l'instruction SCREEN, 1,640,1,400.
Nota : les instructions BOX, BOXF ne modifient ni la position courante du curseur, ni la valeur du PEN graphique. En cas d'erreur de syntaxe dans une des instructions proposées vous n'aurez pas de message d'anomalie. Tout simplement, l'instruction concernée ne s'éxécutera pas.
 
Utilisation des extensions dans un programme
 
L'utilisation des extensions qui vous sont proposées ici (et plus généralement de toute extension BASIC) dans un programme que vous réalisez nécessite la reconnaissance de ces extensions par le système. Pour cela, il est indispensable que, avant de saisir ou d'éxécuter votre programme, vous exécutiez le programme basic (ou le module assembleur) qui vous est fourni ici. 

AMSTRAD MAGAZINE n°6

★ EDITEUR: AMSTRAD MAGAZINE
★ ANNÉE: 1985
★ CONFIG: 64K + AMSDOS
★ AUTEUR: R.P. Spiegel

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» RSX-Extensions  Basic  CPC  464    (Amstrad  Magazine)    LISTINGDATE: 2016-04-30
DL: 43 fois
TYPE: text
SIZE: 3Ko
NOTE: Typed by XavSnap

Je participe au site:
» Newfile(s) upload/Envoye de fichier(s)

QUE DIT LA LOI FRANÇAISE:

L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 083 millisecondes et consultée 1004 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.