APPLICATIONSDIVERS ★ Mc Strad ★

Mc StradApplications Divers

WINDOWS

McSTRAD est un utilitaire qui permet le transfert d'une partie de l'écran vers une zone mémoire, et l'opération inverse : la reconstitution d'une partie de l'écran à partir des données sauvegardées au préalable dans la mémoire de l'ordinateur.

Ces transferts, au sens propre du terme, s'effectuent grâce à deux commandes RSX.

La première, |SWIN (pour Store WINdow), sauvegarde une zone délimitée de l'écran dans la mémoire. Sa syntaxe est |SWIN, x, y, lx, ly Les deux paramètres x (avec 1 < = x = > 80) et y (tel que 1 < = y = > 25) constituent ici l'origine de la partie à transférer. Les deux arguments suivants Ix et ly définissent la taille de la fenêtre à sauvegarder (Ix : nom-, bre de colonnes : ly : nombre de lignes). Toutefois, il faut prendre garde au mode dans lequel ce transfert s'effectue : en effet, si en mode 2, le nombre de caractères d'une ligne à transférer s'écrit lx, en mode 1 pour sauver x caractères sur une ligne, il faut que lx = x* 2 et en mode 0 pour le même nombre x de caractères lx = x* 4 La deuxième commande, RWIN (pour Recall WINdow), effectue le transfert des données stockées en mémoire par |SWIN vers l'écran pour reconstituer la partie sauvegardée. Cette commande ne nécessite aucun argument particulier (elle s'écrit donc |RWIN) car elle emploie ceux utilisés auparavant avec |SWIN (il est donc déconseillé d'essayer de faire |RWIN avant |SWIN)

Le fonctionnement de la routine est extrêmement simple : elle se contente de décomposer chaque caractère à sauvegarder en huit octets (en mode 2 du moins) : un octet pour chaque ligne qui compose un caractère puis d'effectuer l'opération inverse pour le réafficher à l'écran. Ce qui permet d'ouvrir et de fermer très facilement une fenêtre à l'écran (comme sur le Mclntosfi
d'APPLE par exemple).

Le programme de démonstration montre l'une des applications possibles de cette routine :

  • lignes 230 à 590 : implantation de la routine en langage machine à l'adresse &A000 (attention, sans modification cette routine n'est pas relogeable). Le POKE &A02F, &80 en ligne 240 indique à la routine l'adresse de la zone mémoire où commence le stockage des données (dans ce cas : &8000: d'où le MEMORY &7FFF). Cette adresse peut être modifiée à volonté, il faut l'implanter en &A02E (partie basse) et &A02F (partie haute). Plus l'espace réservé sera grand (donc l'adresse de début plus petite) et plus le nombre de données sauvegardées sera important.
  • ligne 630 : redéfinition des directions du joystick afin de les faire agir de la même façon que les flèches de curseur (la touche FIRE faisant office de COPY pour la validation du choix).
  • ligne 710 : ti$ est la variable contenant le titre de la fenêtre à afficher. CH contient le nombre de choix dans la fenêtre. H est la position horizontale de cette fenêtre (colonne) et V la position verticale (ligne). Le RESTORE 1100 sert à réinitialiser le pointeur de DATA de façon à ce que les données suivantes qui seront lues soient les choix contenus dans la fenêtre. Au retour du GOSUB, la variable CH contient le numéro du choix sélectionné.
  • ligne 720 : branchement suivant le choix effectué.
  • lignes 730 à 920 : exécution de sous-programmes suite aux branchements (rien n'interdit d'y placer à nouveau des fenêtres).
  • lignes 940 à 1060 : affichage de la fenêtre et sélection du choix (la taille de la fenêtre est calculée automatiquement à partir du nombre de données et de leurtaille).
  • ligne 1100: données concernant les fenêtres à afficher (cf ligne 710).

Maintenant que tout est clair (enfin, je l'espère), il ne vous reste plus qu'à intégrer ce sous-programme dans vos propres réalisations afin de les rendre plus esthétiques.
Alors, bonne chance...

CPC REVUE

★ EDITEUR: CPC Revue
★ ANNÉE: 1986
★ CONFIG: ???
★ LANGAGE: ???
★ LiCENCE: LISTING
★ COLLECTION: CPC REVUE-HS 1986
★ AUTEUR: MARK HOEBEKE
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listings:
» Mc  StradDATE: 2015-11-12
DL: 221
TYPE: ZIP
SiZE: 6Ko
NOTE: 40 Cyls
.HFE: Χ

» Mc  Strad    LISTINGDATE: 2015-11-12
DL: 221
TYPE: text
SiZE: 5Ko
NOTE:

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Big Characters (Computing with the Amstrad)
» Applications » Zip-Zone
» Applications » Tri Rsx (Amstrad Magazine)
» Applications » Music (Amstrad Magazine)
» Applications » Printer Control RSXs (Amstrad Computer User)
» Applications » RSX PutKey (Amstrad Action)
Je participe au site:
» 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.7-desktop/c
Page créée en 136 millisecondes et consultée 1581 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.