Ce programme utilitaire entièrement écrit en Assembleur vous permet de gérer facilement des fenêtres a partir du Basic ou d'un programme en langage machine. A partir du Basic, vous disposez des commandes RSX suivantes (précédées de la barre verticale, notée , obtenue en appuyant simultanément sur SHIFT et @). – WINDOW, gauche, droite, haut, bas – CLS (effacement de la fenêtre) – CADRE – WIND, numéro de fenêtres texte. – PRINT, colonne, ligne, texte à afficher, type de video. – WINDOFF
L'ensemble est constitue de deux programmes : un chargeur Basic et un petit programme de démonstration. Il vous faut tout d'abord saisir le premier programme (chargeur Basic). Ceci l'ait, sauvegardez-le. Puis effectuez un : le programme binaire s'élabore et l'ordinateur vous propose de le sauvegarder sous forme de fichier binaire (WINDOW. BIN). Suivez les instructions de l'ordinateur. Lorsque vous aurez sauvegardé les routines binaires sous forme d'un fichier binaire appelé WINDOW. BIN, vous pouvez saisir le second programme (exemple d'application) que vous sauvegarderez sous le nom de WINDOW. BAS. Réutilisation du programme ci mise en place des RSX : MEMORY &A27B LOAD"WINDOW.BIN CALL &A280 faire ensuite un RUN du programme utilisant les nouvelles commandes RSX. Ce logiciel est compatible avec tous les modèles de CPC cassette ou disquette. Afin d'éviter plusieurs initialisations des commandes RSX, le programme place le code &C9 en &A280 après la première initialisation. Il faut également protéger la mémoire de la manière suivante ; si la plus grande fenêtre de votre programme tient tout l'écran (Window,1,80,1,25), placez dans le programme : MEMORY HIMEM - (80*25*8) -1 ceci afin de protéger vos variables lors de la mise en mémoire d'une fenêtre. Descriptif des commandes : a) WINDOW, gauche, droite, haut, bas, les paramètres sont identiques à ceux du WINDOW basic. Gauche : doit être compris entre 1 et 79. Droite : doit être compris entre 2 et 80. Haut : doit être compris entre 1 et 24. Bas : doit être compris entre 2 et 25 (valeurs incluses). Une erreur dans les paramètres entraîne un message d'erreur. Cette commande définit les dimensions de la fenêtre et la mémorise. b) |CLS. Efface remplacement de la fenêtre (remplissage par la couleur INK 0). CLS peut être utilisée plusieurs fois pendant que la fenêtre est ouverte. c) |CADRE. Trace un cadre (de couleur INK 1) autour de votre fenêtre. Peut être effacé par |CLS et |WINDOFF, d) |WIND, numéro de fenêtre texte (de 0 à 7 inclus). Affecte une fenêtre de texte à l'intérieur du cadre. Ex. : |WIND,7: LIST #7: PRINT #7: WINDOW, SWAP,7... etc. c) PRINT,x,y,"texte", vidéo. Il s'agit d'une routine d'affichage rapide d'un message à l'écran en mode 80 colonnes, avec x = colonne de départ de l'affichage et y = ligne de départ de l'affichage. X et Y sont toujours fonction du coin supérieur gauche de l'écran. « Texte » est le message à afficher et peut prendre les formes suivantes : * pour tous les CPC : TEXTES$ (variable précédée de l'arrobas), * pour 664 et 6128 : @"texte", "texte". Vidéo : 0 ou 1. Si Vidéo = 0, le message sera affiché en INK 1 sur fond INK 0. Si vidéo =1, l'affichage sera en INK 0 sur fond INK 1. PRINT permet un gain de temps à l'affichage d'environ 25 % par rapport à un locale et print traditionnels. f) |WINDOFF. Efface votre fenêtre et rétablit l'écran original. Erreurs Toute erreur de paramètres lors de l'utilisation des fenêtres vous sera signalée par la sortie de l'erreur 33, soit : UNKNOWN ERROR s'il n'y a pas de traitement d'erreurs ou tout message que vous aurez choisi lors du traitement d'erreur. Exemple : 10 ON ERROR GOTO 60000 20 |WINDOW,1,83,1,25 30 ....60000 IF ERR = 33 THEN PRINT "ERREUR DANS LA GESTION DES FENETRES LIGNE";ERL 60010 PRINT "ERREUR NUMERO";ERR; "LIGNE"; ERL 60020 STOP Cet exemple donnera lors de l'exécution : ERREUR DANS LA GESTION DES FENETRES LIGNE 20. NOTA : le programme est prévu pour fonctionner en mode 80 colonnes : cependant, les fonctions suivantes fonctionnent dans tous les modes écran : |WINDOW |CLS |WIND |WINDOFF Pour WINDOW, les paramètres seront les mêmes qu'en mode 80 colonnes (x de 0 à 80, 40 étant toujours le milieu de l'écran). Toutes les commandes peuvent être utilisées en mode direct ou dans un programme. Pour un fonctionnement satisfaisant, l'écran ne doit pas avoir subi de scrolling. * Attention. La routine d'erreur n'est pas compatible avec le CPC 464. Pour arranger cela, tapez : POKE &A503,&94 POKE &A504,&CA Claude Masoni , AMSTRAD MAGAZINE n°18 (Janvier 87)
MEA CULPA Le Programme de Démo "WINDOW" Numéro 18, page 157. Il semble que de petits problèmes soient apparus pour les possesseurs de 464 équipés de lecteurs de disquettes. En effet, le programme reconnaissant bien toutes les RSX jusqu'au CAT (ligne 660) après laquelle il faisait apparaître un message d'erreur. Pour y remédier (464 SEULEMENT), il suffit de remplacer le CAT de la ligne 660 par : CALL &BC9B,23551 Seul inconvénient : votre programme Basic utilisant les nouvelles RSX devra impérativement avoir une taille inférieure à une vingtaine de Ko (ce qui est déjà pas si mal...). Ces remarques ne concernent, rappelons-le que les possesseurs de 464. Le programme fonctionne parfaitement sans modification sur les autres versions de CPC. |
★ AMSTRAD CPC ★ DOWNLOAD ★ |
|
CPCrulez[Content Management System] v8.7-desktop/c Page créée en 245 millisecondes et consultée 1902 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. |
|
|