Le Télégraphe
Le Télégraphe
disponible sur : ThundeRed.nitroserv.eu
avant-dernière mise à jour : 25.12.2014Derière mise à jour : 30.07.2015
LA vidéo !! Enfin !
Affichage : 100%
Conversion : 100%
Clavier + filtres : 100%
Éditeur de caractère : 100%
Mémoire interne : 100%
Mémoire tampon pour séparer les mots : 100%
Port série : 80% (Prêt pour l'importation)
Affichage de l'état de la machine : 20%
La CPU interne a été abandonnée par manque de temps et aussi à cause des performances qui s'annonçaient bien inférieur à la futur génération de processeur. Cependant, je rendrai visible l'intégralité des composants que j'avais déjà créer ou importer (RAM dual read, bus interne, ALU, etc..).
Avec cette décision j'espère pouvoir me concentrer sur la véritable dimension du projet : la communication de plusieurs appareils à travers un même réseau ! Et ainsi créer le premier protocole supérieur à la couche 2 (modèle OSI) de minecraft !
CPU interne 20% (Je sais déjà comment il sera fait, où il sera, mais c'est tout !)
- Pointeur de pil (compteur) : 100%
- Jeu d'instruction : 80%
- Banc de registre de 16 slots de 8 bits, BUD : 100%
- ALU (f. logiques, add, sub, mul, div) : 80% (amélioration à apporter)
- Stack 90%
- Bus interne 0%
- E/S 0%
- Contrôle générale (à la fin) : 0%
Petite explication avec les panneaux :
Vue d'ensemble du télégraphe - en cours de construction.. encore -
Le but :
On a un texte qu'on veut faire passer à quelqu'un. Voici comment ça se passe :
- On écrit ce texte (avec le clavier),
- Ce texte s'enregistre automatiquement dans la mémoire,
- On envoie ce texte à un autre télégraphe (avec le port série, sur un seul fil),
- L'autre télégraphe reçoit le texte et l'enregistre s'il le veut bien,
- L'autre télégraphe peut donc lire le texte !
Explication
L'écran,
est composé de 12 à 15 Afficheurs (ici 12)
Chaque afficheur fait 3 pixels de large sur 5 de haut. La vitesse est d'environ de 3 à 4 tics.
On sait maintenant que chaque caractère s'affiche sur un écran de 3x5. Pour que chaque caractère puisse rester affiché, il faut une mémoire.
La mémoire de l'affichage
C'est une mémoire de type RAM (ou EEPROM, Flash... faudra se mettre d'accord ^^), mais un peu "bridée". Effectivement, c'est gros, mais super compacté. Ses dimensions (la longueur c'est pour un emplacement !) [L x l x h] : 4 x 35 x 9. Cette mémoire possède aussi la propriété de rafraîchir l'écran (cette fonction était utile lorsque j'utilisais encore un afficheur à piston), ainsi que de faire clignoter un "under score" (tiret bas) à la position en cours d'écriture (partie vert clair, à gauche). Pour gérer cette la position en cours d'écriture, il y a
Le sélecteur de position
[partie rouge] Il fait seulement 4 de haut, n'utilise aucun pistons (sauf pour tout sélectionner, lorsque j'efface l'écran). Il est vraiment bien !
Il y a aussi la possibilité d'écrire en "éclairé sur fond sombre" ou en "Sombre sur fond Eclairé"
(ici, en "sombre sur fond éclairé")
Bref, c'est pas tout, mais s'il fallait sauvegarder chaque pixel d'un caractère dans la mémoire interne ça prendrait évidemment trop de place. La meilleur solution (qui s'applique sur vos pc d'ailleur), c'est de coder ces caractères. Pour faire court, j'ai choisi de coder mes caractères sur une bases de 6 bits ce qui me laisse donc la possibilité d'avoir jusqu'à 63 caractère à disposition (pas 64 car le 000000 est inutilisable (bit nul)). Mais comme les afficheur travail avec 15 pixel à gérer, il faudra inévitablement
Le décodeur 6 bit vers 15 pixels (police d'écriture en faite)
En vert, c'est le bus interne de 6 bits. En orange, c'est le décodeur 6 bits vers 64. En rouge/vert, c'est la conversion en pixel, "la police d'écriture" quoi. ça prends relativement énormément de place mais c'est le prix à payer pour gagner du temps et de la place en générale. pour convertir un code de 6 bit, il lui faut un peu près 5 à 6 tics. Mais, pour pouvoir écrire facilement un caractère et pas devoir le coder à la main, nous avons
Le clavier
Le clavier sert de... clavier (ou d'interface homme-machine pour être précis). Composé de 32 boutons et d'une ligne de plaques de pression pour la touche ctrl, elle permet d'avoir accès au 63 caractère utilisable sur le télégraphe. D'autres boutons sont disponible mais ils sont pour la gestion de l'affichage. Un bouton pour tout effacer, un autre pour effacer un caractère (le dernier) et un dernier pour rafraîchir l'écran (inutile désormais, mais servait quand l'afficheur était en piston). Il y a aussi un levier pour choisir si on veut écrire en clair sur fond sombre ou l'inverse.
Le reste
Il y a évidemment encore beaucoup de travail à faire. Pour le moment le projet ressemble plus à un word processor qu'à un vrai télégraphe. Mais beaucoup d'éléments (tel que le port sériel, la mémoire interne) sont déjà au point, mais qu'il reste encore quelques adaptations avant de les placer sur le télégraphe. Notamment, ce petit bijou là :
L'éditeur de caractère
Vous voulez envoyer un coeur ? ou un bonhomme heureux ? Avec l'éditeur, ce sera chose possible. Cependant, oublier tout de suite de pouvoir changer la police avec, faut pas pousser mémé dans les orties non plus !
caractères supportés :
ABCDEFGHIJKLMNOPQRSTUVWXYZ (26 lettres de l'alphabet, plus ou moins en majuscule selon la police ^^) = 26
+ 1234567890 (les 10 chiffres) = +10
+ + - x / > < . , ( ) : ; { } _ " ! ? \ ç % ' ° = tiret et espace = +26
+ un caractère de commande (pour faire des choses internes, je vous en reparlerez) =+1
on arrive à un totale de 63 ! (donc, 6 bits)
Pour la suite :
- Éditeur de caractères (okay)
- Mémoire EEPROM de 256 emplacements de 6 bits ! (déjà ok, ne reste que l'optimisation de l'adressage)
- Port sériel ( tout okay, sera installé une fois la EEPROM installé)
- Des témoin pour visualiser l'état du système (en cours d'envoie, réception, mémoire pleine, creeper dans le système, que des trucs banals quoi)
- un petit afficheur sept segments de 2 digits sera peut-être ajouté pour afficher à quelle adresse on se trouve en ce moment dans la (EEP-)ROM (en hexadécimale)
- CPU pour gérer tout le gros bordel que va être la lecture de la mémoire, les commandes... Bref de la merde.
- Des petits plus tel qu'une calculatrice, une vraie RAM pour faire du copier coller, du capture d'écran, etc... Mais ce sera pour plus tard
- une extension pour faire un jeu du pendu ? XD
N'hésitez pas à poster des commentaires, tout commentaire est la bien venu.