Obligement - L'Amiga au maximum

Vendredi 23 mai 2025 - 18:27  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in English


Réseaux sociaux

Suivez-nous sur X




Liste des jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z,
ALL


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


Dossier : Séquences d'échappement de l'imprimante (AmigaDOS 1.0)
(Article écrit par Robert Pariseau et extrait de BIX - décembre 1985)


AmigaDOS fournit trois gestionnaires ("handlers") qui peuvent être utilisés pour effectuer des entrées/sorties vers une imprimante. Il s'agit de PAR:, SER: et PRT:, se référant respectivement à parallèle, série et imprimante. Si vous voulez envoyer des données à l'imprimante en utilisant les routines du système de fichiers, vous ouvrirez (avec Open()) l'un de ces fichiers et ferez des appels avec Write() vers celui-ci. Les commandes CLI prévoient également que vous utilisiez ces chaînes comme paramètres de fichier. Par exemple, vous pouvez envoyer un fichier au gestionnaire d'imprimante avec la commande "copy myfile to prt:". De même, vous utilisez ces noms de gestionnaire lorsque vous essayez d'écrire sur l'imprimante à partir de langages comme ABasiC (pour des raisons de compatibilité, l'Amiga BASIC de Microsoft définit également LPT1 comme étant identique à PRT:).

Un gestionnaire AmigaDOS est simplement un morceau de code d'interface qui traduit les appels au système de fichiers indépendants du périphérique, comme Write(), en trafic de messages appropriés vers les "périphériques" implémentés dans Exec, le noyau multitâche de l'Amiga. Le gestionnaire PAR: utilise le périphérique logique "parallel.device", qui est le code Exec qui gère le connecteur du port parallèle à l'arrière de votre Amiga. Le gestionnaire SER: utilise le périphérique logique "serial.device", qui gère le connecteur du port série.

En d'autres termes, lorsque vous effectuez une sortie vers PAR: ou SER:, vous parlez directement au matériel sans aucun niveau d'interprétation intermédiaire. Si vous avez une imprimante Okimate 20 connectée à votre port parallèle, les séquences d'échappement envoyées à PAR: l'atteindront directement et auront l'effet tel qu'il a été définies par Okidata.

L'impression vers PAR: ou SER: est assez simple. Gardez à l'esprit qu'un fichier texte AmigaDOS standard utilise LF comme séparateur de ligne (et non CR ou CR-LF), et qu'un fichier peut ou non avoir un LF à la fin. Vous pouvez ajouter un caractère de retour à la ligne à la fin de vos lignes (dans un programme simple que vous créez), ou, si votre imprimante offre cette option, activez le commutateur qui vous donne automatiquement un CR lorsque l'imprimante reçoit un LF (les entrées de PAR: et SER: sont un peu plus complexes, car elles font des entrées/sorties avec tampon - mais je m'égare).

Si vous écrivez un programme, vous pouvez éviter tous ces gestionnaires en effectuant un OpenDevice() directement sur le périphérique Exec auquel vous souhaitez parler. Vous passez ensuite les blocs de demande d'entrées/sorties au périphérique en utilisant les appels d'entrées/sorties fournis par Exec (DolO() et ses amis). L'avantage de parler directement au périphérique est que vous bénéficiez de beaucoup plus de flexibilité, par exemple des choses comme les entrées/sorties asynchrones et la possibilité de définir les paramètres du périphérique tels que la vitesse de transmission en série. Pour plus d'informations sur la façon d'appeler la bibliothèque système et les routines du périphérique et sur les fonctions disponibles, veuillez consulter le "ROM Kernel Manual" de l'Amiga (qui sera bientôt disponible dans les magasins !).

Notez que les paramètres d'imprimante de l'outil Preferences n'ont aucun effet sur le fonctionnement des gestionnaires PAR: et SER: ! (Preferences est toutefois utilisé pour définir la vitesse de transmission par défaut utilisée par SER:). Toute fonction spéciale que vous voulez que votre imprimante exécute dépend de vous lorsque vous utilisez PAR: ou SER:. Vous devez choisir les séquences d'échappement correctes à envoyer pour effectuer même les fonctions de style initialisation, comme le réglage des marges. Évidemment, cela vous oblige à savoir quel style d'imprimante est connecté à votre Amiga et si elle est connectée au port série ou au port parallèle.

Ce qui nous amène à PRT:. Le gestionnaire PRT: utilise le périphérique logique Exec "printer.device". Le périphérique d'impression utilise les informations qu'il trouve dans les paramètres de Preferences pour comprendre le type d'imprimante que vous avez connecté et comment vous voulez qu'elle soit utilisée. Sur la base du paramètre de port d'imprimante que vous avez défini dans Preferences, le périphérique d'impression communique avec le périphérique série ou parallèle pour atteindre l'imprimante.

Le périphérique d'impression ne comprend que ses propres séquences d'échappement, indépendantes de l'imprimante. Il convertit ces séquences d'échappement en séquences d'échappement spécifiques à l'imprimante, appropriées à l'imprimante actuellement sélectionnée dans Preferences. En outre, la fonction "Initialize" (qui est invoquée lorsque vous ouvrez le périphérique d'impression ou lorsque vous lui envoyez la séquence d'échappement Initialize) permet d'envoyer les séquences d'échappement appropriées à votre imprimante pour la configurer en fonction des options que vous avez sélectionnées dans Preferences. C'est ainsi, par exemple, que vos paramètres de marge sont envoyés à l'imprimante.

Si vous utilisez le périphérique d'impression (ou PRT:), vous pouvez écrire du code qui est largement indépendant du type d'imprimante que vos clients ont sur leur Amiga.

Notez que lorsque vous utilisez le périphérique d'impression (ou PRT:), vous devez désactiver toute option de votre imprimante permettant de générer automatiquement un CR, LF ou CR-LF lorsque l'imprimante reçoit un LF. Le périphérique d'impression fournira des CR-LF de fin de ligne si nécessaire. Notez également qu'en plus de l'impression alphanumérique décrite ici, l'imprimante permet d'imprimer en noir et blanc, en niveaux de gris et en couleurs, sous forme de graphismes tramés. Cette fonction n'est disponible que lorsque l'on parle directement au périphérique d'impression (pas à partir de PRT:).

Bogues connus
  • Le périphérique série en version 1.0 (et donc, SER:) ne lit pas de manière fiable à des vitesses de transmission plus élevées. Les écritures fonctionnent très bien. Le périphérique série utilise le contrôle de flux Ctrl-S/Ctrl-Q (XON/XOFF) uniquement pour la V1.0.
  • Le périphérique d'impression en version 1.0 n'interprète pas correctement "length=-1", qui est censé indiquer que vous avez donné à l'imprimante une chaîne à terminaison nulle. PRT: n'est pas affecté par cela, puisque le code du gestionnaire alimente toujours le périphérique d'impression avec la longueur correcte.


[Retour en haut] / [Retour aux articles]