APPLICATIONSDIVERS ★ HARDCOPY D'ECRAN ★

Hardcopy d'Ecran|Microstrad)Applications Divers

RECOPIE D'ECRAN A LA CARTE

Flashback sur la recopie d écran...
Géante ou rapide, selon l'imprimante. Avis aux recopieurs d'écran !

Que vous possédiez une imprimante compatible Epson, une DMP 2000 ou une DMP 1, Microstrad vous a proposé dans ses numéros 1 (page 30) et 3 (page 38), un programme de recopie d'écran pour votre imprimante. Des perfectionnistes sont allés plus loin. Ils ont travaillé dur pour vous en offrir deux nouvelles versions : une recopie géante pour la DMP 2000, et une recopie rapide pour la DMP 1. On efface tout, et on recommence.

Recopie géante sur DMP 2000 et compatibles Epson

Il est dommage de n'utiliser qu'une partie de page pour faire une recopie a'écran. Surtout quand l'imprimante dispose d'un mode graphique adapté à une impression géante : le mode 4 (640 points /8 pouces). L'adaptation de ce mode passe par de petites tricheries. Le problème numéro un est de garder les proportions, c'est-à-dire qu'un cercle à l'écran ne doit pas se traduire par une ellipse sur le papier. Nous avons retenu une méthode qui consiste à supprimer l'usage d'une aiguille de la tête d'impression, tout en modifiant l'avance du papier. Ce procédé permet une meilleure définition, mais ralentit légèrement la recopie. Elle s'effectue en trois minutes et demie environ. On peut l'interrompre à tout moment par une pression sur esc.
Le programme 1 est un chargeur Basic qui implantera en mémoire la routine de recopie. Mettez-le en mémoire, sauvegardez-le, puis lancez-le par run. En cas d'erreur de transcription, il le signale par un message d'erreur (ligne 10300). Ensuite, l'instruction call&aooo recopiera sur papier le contenu d'écran visible à cet instant. Si vous hésitez, reportez-vous au programme 2. Il vous montrera comment intégrer cette routine à un autre programme.
Il est également possible de sauvegarder la routine sous forme binaire par SAVE“hardcopy”, b,&A0000, &C2. Si vous procédez ainsi, vous pourrez la rappeler par MEMORY &9FFF:LOAD“hard-copy”,&A000.

Recopie rapide sur DMP 1

Recopier les 256 000 points théoriques qui forment l'écran, avec une imprimante qui travaille à cinquante caractères/seconde, ça ne devrait guère dépasser trois minutes. Au-delà, on peut penser que c'est le programme qui ralentit l'imprimante.

A défaut d'informations fournies par la notice, on peut supposer que le buffer (la mémoire-tampon) de la DMP 1 est capable de stocker une ligne de texte. Soit 479 caractères graphiques. D'où l'idée de transférer en une seule fois un bloc de 400 octets, et de préparer le suivant en « temps masqué » pendant l'impression.

En fait, le tandem CPC-DMP 1 pose des problèmes. Tout d'abord, les lignes d'impression sont limitées à 479 caractères graphiques. Ce qui interdit de recopier sur une seule ligne les 640 pixels horizontaux de l'écran. On placera donc la copie verticalement sur le papier.
Ensuite, le bit numéro sept est ignoré par l'imprimante. L'écran sera donc recopié par bandes de sept points de large. Ceci ne pose pas de problème de graphisme, car l'imprimante en mode graphique offre justement un interligne de sept points. Le reliquat de trois points qui formera la dernière ligne imprimée devra faire l'objet d'un traitement spécial (ou être purement et simplement ignoré).

Le dernier problème réside dans la résolution verticale d'écran du CPC. Elle n'est que de 200 points, bien que la résolution théorique soit de 400 points. On pourra donc se contenter de tester une ligne sur deux, et d'envoyer à l'imprimante deux fois la même valeur pour conserver les proportions.

Dernier détail enfin. L'écriture du programme en Assembleur sera facilitée si le dernier pixel à transmettre est celui de coordonnées (0,0), en bas à gauche de l'écran. La copie se fera en commençant par la droite de l'écran, du haut vers le bas.

Le programme numéro 3, qui tient compte de ces éléments, appelle peu de commentaires. Un buffer de 406 octets est prévu pour le bloc à fournir à l'imprimante. En tête de ce buffer, quatre octets provoquent le passage en mode graphique et annoncent les 400 octets suivants. L'ordre de changement de ligne est placé en fin de buffer. Les octets à transmettre sont « fabriqués » directement dans ce dernier à l'aide de l'instruction rr (ix+0) (ligne 36 du programme 4), après avoir positionné la retenue à 1 ou o selon la couleur du point traité.
La bande résiduelle de trois octets est traitée en début de programme. Elle est court-circuitée ensuite. Avec cette nouvelle organisation, la recopie de l'écran s'effectue en deux minutes trente.

En vous reportant au programme 4, vous saurez comment intégrer la routine à votre propre
programme de création graphique. La sauvegarde binaire est possible par SAVE“hard-copy”,B,&A000,&9F. Vous rechargerez la routine par MEMORY &9FFF:LOAD“hardcopy”,&A000. Le lancement de la recopie d'écran se fera par call &aooo, en
mode direct ou dans une ligne de programme Ba sic. L'écran recopié est celui visible au momem de l'appel.

MICROSTRAD n°6

 

★ EDITEUR: MICROSTRAD
★ ANNÉE: 1986
★ CONFIG: 64K + AMSDOS
★ LANGAGE:
★ LICENCE: LISTING
★ AUTEURS: WILLIAM TREMBLOT et XAVIER DE L'ÉPREVIER

★ AMSTRAD CPC ★ DOWNLOAD ★

Je participe au site:
» Newfile(s) upload/Envoye de fichier(s)
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(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 102 millisecondes et consultée 692 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.