Cellule 0013h |
CHANNL |
---|---|
Commodore 64 |
Description
Cet octet contient le numéro du canal d'entrée/sortie actuel (fichier logique CMD).
Remarques
- Chaque fois que BASIC entre ou sort des données, il regarde ici pour déterminer quel périphérique d'entrée/sortie est actuellement actif à des fins de commande ou de contrôle de sortie. Il utilise l'emplacement 184 ($B8) pour décider du périphérique à partir duquel placer l'entrée ou la sortie.
- Lorsque le périphérique d'entrée par défaut (numéro 0, le clavier) ou le périphérique de sortie (numéro 3, l'écran d'affichage) est utilisé, la valeur ici sera un zéro et le format du prompt et de la sortie sera le format de sortie d'écran standard.
- Lorsqu'un autre périphérique est utilisé, le numéro de fichier logique (numéro de canal CMD) sera placé ici. Cela permet au système maintenant qu'il devra peut-être apporter des modifications subtiles à la manière dont il exécute l'opération d'entrée/sortie. Par exemple, si TAB est utilisé avec la commande PRINT, les caractères du curseur droit sont utilisés si le périphérique sur lequel PRINT est l'écran. Sinon, les espaces sont générés lorsque le nombre ici est différent de zéro (l'hypothèse étant que vous ne pouvez pas émettre une tabulation d'une imprimante comme vous pouvez le faire sur l'écran).
- De même, le prompt «?» pour INPUT est supprimée si le numéro de fichier ici est différent de zéro, tout comme le message EXTRA IGNORED, et l'entrée d'un retour chariot par lui-même est ignorée, plutôt que d'être traitée comme une chaîne de caractères nulle (""). Par conséquent, en ouvrant l'écran en tant que périphérique et en émettant l'instruction CMD, vous pouvez forcer la suppression du prompt «?», et les autres effets ci-dessus.
- La commande CMD place le nouveau numéro de fichier de sortie ici et appelle le noyau pour ouvrir le périphérique pour la sortie, le laissant écouter pour la sortie (comme le prompt READY, étant détournée vers le nouveau périphérique).
- De nombreuses routines réinitialisent cet emplacement et n'écoutant plus le périphérique, annulant la commande CMD et renvoyant à nouveau la sortie à l'écran. Si un message d'erreur doit être affiché, par exemple, cet emplacement sera réinitialisé et le message sera affiché à l'écran. Les commandes GET, GET #, INPUT, INPUT # et PRINT # tous réinitialiseront cet emplacement une fois les entrées/sorties terminées, redirigeant efficacement la sortie vers l'écran. Les commandes PRINT et LIST sont les seules opérations d'entrées/sorties n'annulant pas la commande CMD.
- Cet emplacement peut également être utilisé pour tromper BASIC en lui faisant croire que les données qu'il lit sur la bande magnétiques sont en fait entrées dans le clavier en mode immédiat.
- Pour un aperçu d'une technique utilisant une approche différente pour accomplir la même chose pour les utilisateurs de disque ou de bande magnétique, consultez l'emplacement 512 ($200), soit le tampon du clavier.
Dernière mise à jour : Lundi, le 13 juillet 2020