2017-01-07 1 views
-2

Par exemple, lorsque vous tapez, quelle bibliothèque indique à l'écran de l'ordinateur d'afficher le caractère ASCII correspondant et de déplacer le curseur en conséquence? Imaginez quelque chose comme les ordinateurs old school (sans interface graphique) exécutant DOS ou Basic ... quelle bibliothèque est responsable de l'interface utilisateur?Quelle bibliothèque/code est responsable du rendu du terminal dans les ordinateurs rétro?

Des liens vers le code source seraient parfaits pour comprendre le fonctionnement de cette (ces) bibliothèque (s).

enter image description here

+1

Autrefois, le mode texte VGA était magique. Vous écrivez littéralement le tableau char réel à une adresse de mémoire et votre texte est apparu à l'écran. Pas de librairie impliquée – rlam12

Répondre

0

Si vous êtes intéressé à voir les entrailles d'un terminal pour mieux comprendre comment il fonctionne et rend l'entrée/sortie, Bash est complètement open source. Vous pouvez télécharger son dernier code source here.

+0

J'avais un coup d'œil sur le code source ... c'est un peu trop complexe pour moi de comprendre le fonctionnement ... Connaissez-vous des terminaux plus simples (peut-être obsolètes) avec du code source disponible? –

+0

Vous pourriez éventuellement regarder l'ancien [Projet Console2] (https://sourceforge.net/projects/console/files/console-devel/2.00/) sur SourceForge. –

3

La photo que vous avez postée est celle d'un BBC Micro fonctionnant en mode 7, ce qui constitue une exception à la plupart des règles. Le mode 7 était un mode de mémoire faible, dans lequel il n'y avait pas de pixels, seulement 256 caractères de texte. 1K de mémoire était réservé dans la RAM pour contenir ce qui était affiché sur l'écran à ce moment-là. Une puce spéciale sur la carte de circuit, appelée ULA vidéo (Uncommited Logic Array) a lu le contenu de cette mémoire et l'a codée à la sortie. L'ULA était ROM et ne pouvait pas être changé par le programmeur.

Le ZX81 a fonctionné de la même manière: 256 caractères de texte possibles et aucun pixel. Cependant le ZX81 avait moins de puces dédiées et le CPU principal faisait la plupart du travail.

Une configuration plus commune était que chaque pixel était représenté par un certain nombre de bits en mémoire (souvent plus d'un bit par pixel était nécessaire car les couleurs devaient être indiquées). Les exemples sont BBC dans les modes 1-6; l'Acorn Electron; Spectre; C64; aussi beaucoup d'autres. Lorsque l'utilisateur a placé du texte sur l'écran, la ROM de l'ordinateur le convertira en pixels corrects. Les graphiques peuvent souvent être écrits directement dans la RAM, ou «tracés» via BASIC. Une fois de plus, des puces ROM dédiées et des circuits rendraient cette mémoire à la sortie. Cette approche nécessitait beaucoup plus de mémoire à afficher.

Chaque ordinateur 8 bits avait sa propre façon de représenter l'affichage dans la RAM. Vous devez obtenir des manuels de la machine que vous essayez de programmer (facile à trouver sur Internet pour les Micros les plus connus).

De nombreux émulateurs sont open source, si vous voulez voir les internes. Par exemple: https://github.com/stardot/beebem