Fonctionnement de Philips VideoWRITER. Premières images de fer, puis un peu d'ennui



Le dispositif d'édition et d'impression de texte VideoWRITER a été lancé par Philips en 1985. Il est exécuté sur un processeur compatible Z80 et contient 16 Ko de ROM et la même quantité de RAM (comme il s'est avéré plus tard, il y a plus de ROM). Pour enregistrer des documents, il dispose d'un lecteur de 3,5 pouces. Il était possible de devenir un heureux propriétaire de cette «moissonneuse-batteuse» (il y a aussi une imprimante intégrée) pour 799 $.

L'écran du moniteur CRT orange est nettement plus large que d'habitude. Non seulement une fenêtre contenant un document modifiable est placée dessus, mais également un menu situé à sa droite. Des conseils y sont également affichés, notamment l'affectation des touches de fonction. Le document est toujours affiché avec des symboles clairs sur un fond sombre, le menu est inversement. Dans le coin inférieur gauche de la doublure sur l'écran est marqué: DDS - Dual Display Screen ...

L'éditeur est assez simple, n'en attendez même pas Comic Sans. Il n'y a qu'une seule police, les attributs standard sont disponibles: gras, italique, souligné, index supérieur et inférieur. Et des moyens standard d'aligner du texte. Il y a aussi une règle et des caractères de saut de ligne.

L'imprimante imprime sur des feuilles A4 ordinaires en utilisant le transfert thermique. S'il n'y a pas de cartouche spéciale, selon l'article de Wikipedia , vous pouvez imprimer sur du papier thermique. L'auteur a été très surpris que l'appareil imprime toujours après tant d'années passées dans un grenier chaud.



Le clavier est petit, mais taper dessus est pratique. Des touches spéciales vous permettent de changer les attributs de police, d'annuler les actions et de vérifier l'orthographe s'il existe une disquette avec un dictionnaire. Le clavier est connecté avec un connecteur RJ14 - l'essence est la même que celle de RJ11 et RJ45.

Les documents sont stockés sur des disquettes de 3,5 pouces. Lorsqu'elle est allumée, la machine recherche immédiatement une disquette et si elle ne peut pas "comprendre" ce qui s'y trouve, elle suggère de la formater. Très probablement, le format est incompatible avec celui utilisé sur le PC. Et combien de kilo-octets y tiennent, 360 ou 720?

Et maintenant, il est temps de soulever le capot supérieur et de voir ce qu'il contient. Tout d'abord, nous allons simplement regarder les cartes jusqu'à ce qu'elles pénètrent profondément dans leur appareil. Déchargez d'abord le tube à images. Nous prenons un tournevis connecté à l'avance avec le fil commun à l'aide d'un «crocodile», et le tenant par la poignée isolante, nous retirons la piqûre sous la ventouse. Bien qu'il soit écrit sur le tube à images lui-même: ne pas décharger par une décharge d'arc, connectez un voltmètre à haute résistance entre l'anode et le châssis. Et, comme, tout sera déchargé progressivement. Peut-être que TDKS est "doux".



Pour retirer l'alimentation, vous devez dévisser seulement deux vis. Maintenant, l'auteur supprime ce BP pour la deuxième fois. Le premier était lorsque le condensateur a éclaté, il y avait beaucoup de fumée, mais l'auteur a trouvé le même, l'a soudé et cela a fonctionné. Ce n'était pas un condensateur électrolytique, mais celui-ci, rectangulaire, d'en haut au milieu. Qui est maintenant rouge.



La carte du moniteur est très petite par rapport à d'autres cartes similaires de ces années. Même il n'y a pas de carte de kinéscope - juste une prise (ce qui n'est pas si rare sur les moniteurs monochromes). Il existe plusieurs paramètres sur la carte, ainsi qu'un connecteur à 10 broches pour la connexion à la carte mère. Je me demande quel genre de socle existe? Et pourquoi la puce 556 - deux minuteries 555 dans un cas? Les générateurs "scient" immédiatement pour le personnel et le balayage des lignes?



La carte d'imprimante est située directement sous l'imprimante elle-même. De là, il y a une boucle vers la carte mère, ainsi que des câbles vers les moteurs, les boutons d'alimentation du papier, le contrôle du contraste pour l'impression, la tête d'impression, les extrémités et le capteur de papier.



La carte mère est protégée de tous les côtés. Pour seulement deux puces ROM, un trou carré a été fait dans l'écran:



Nous allons retirer l'écran et voir ce qui est intéressant sur la carte mère.



D8156HC-2 - contrôleur d'entrée-sortie. Vraisemblablement, il contrôle l'imprimante, car il est situé près du connecteur d'imprimante dans le coin supérieur gauche. La puce contient trois ports: deux 8 bits et un temporisateur 6 bits, 14 bits et 256 octets de RAM statique. Plus tard, nous verrons pourquoi chacun des ports est nécessaire et si la puce contrôle vraiment l'imprimante. Elle «communique» aussi très probablement avec le clavier. La puce utilise un bus d'adresse et de données combiné. Il s'est avéré que le microprocesseur a fait de même.

HN27C256-20 - ROM 32 kilo-octets avec une largeur de bus de données de 8 bits. Il existe deux tels microcircuits, il s'avère que 64 kilo-octets. Cela signifie que Wikipedia dit à tort que la ROM n'est que de 16 kilo-octets. Eh bien, la ROM occupera tout l'espace d'adressage Z80 de 64 kilo-octets? Et il y a aussi 16 kilo-octets de RAM. Il y a donc une sorte de changement de page. Voyons aussi ...

NSC800N-3I - microprocesseur. Il n'est compatible qu'avec le Z80 et le brochage est complètement différent. Sur la gauche se trouve juste un bus d'adresse et de données combiné étonnant. Les 8 bits inférieurs du bus d'adresses sont également utilisés comme bus de données. Et pour distinguer l'adresse des données, il existe une sortie ALE. Un un signifie que les huit derniers bits font partie de l'adresse. Et à droite - quelques signaux. Le même ALE, ainsi que Read Enable, Write Enable, le choix entre la mémoire et les ports, etc. Bien sûr, travailler avec un tel microprocesseur est plus difficile qu'avec un Z80 ordinaire ou son clone. Il fonctionne, selon la fiche technique, à une fréquence allant jusqu'à 2,5 MHz, ce qui signifie que la fréquence du quartz à 5 MHz est quelque part divisée en deux. Comparez les brochages de ce processeur non standard et du Z80 standard:



HM48416AP-15 - RAM dynamique de 16 kilo-octets. Deux de ces puces forment 16 kilo-octets de RAM.

Le WD1770-PH est un contrôleur de disque Western Digital. Composants externes minimum, compatibilité avec différents formats pour stocker des données sur une disquette. En général, n'a pas besoin de publicité.

NCR 7250 PY - contrôleur vidéo? Il semble que lui, car il n'y a rien d'autre qui revendique cette fonction au sein du conseil d'administration.

HM6116-4 - RAM statique de 2 kilo-octets. En général, la mémoire vidéo. Le mode vidéo n'est que du texte, il n'y en a donc plus. Bien que ... Ce n'est pas 80x25 ici, la ligne est plus large que 80 caractères, plus les attributs. Eh bien, alors ça va.

Nous avons donc découvert que la machine avait 16 kilo-octets de RAM et 64 kilo-octets de ROM, et qu'un changement de page devrait être implémenté. Promenez-vous sur le circuit imprimé avec un multimètre et dessinez tout ce que nous voyons.

Tout d'abord, recherchez les signaux Chip Select. Commençons par la sortie / CE de la puce ROM, qui a la lettre A imprimée sur l'autocollant. Il s'avère qu'elle est connectée à la sortie de l'élément I. Alors, où vont ses entrées? Aux deux sorties de la puce 74139, contenant deux décodeurs avec deux entrées et quatre sorties. Parmi ceux-ci, un seul d'entre nous est intéressé:



Les signaux A14 et A15 proviennent du microprocesseur vers ses entrées, ce qui signifie que la mémoire est divisée en quatre blocs de 16 kilo-octets. L'entrée / E (validation) du microprocesseur reçoit le signal / M (sélection de mémoire), de sorte que la puce 74139 est active lorsque le microprocesseur a besoin d'accéder à la mémoire. Il s'avère que la distribution de l'espace d'adressage est la suivante. ROM "A" est sélectionné lorsque 74139 a une unité soit à la sortie / Q0 ou à la sortie / Q1, ROM "B" est sélectionné avec une unité allumée / Q2, RAM - avec une unité allumée / Q3. Mais avec la RAM, ce n'est pas si simple, alors nous allons le découvrir. Donc, ce qui est sélectionné avec différentes combinaisons de signaux sur A14 et A15:



Allez dans le bus d'adresses. Comme nous l'avons déjà découvert, tout y est plus compliqué que dans les systèmes avec le Z80 habituel. Il s'avère que pour séparer l'adresse des données, un verrou 8 bits 74373 est appliqué ici. Ses entrées de données sont connectées aux lignes AD0 - AD7, et l'entrée de verrou est connectée à la ligne ALE. Lorsqu'une unité apparaît sur l'ALE, la moitié inférieure de l'adresse est écrite en 74373. Et l'entrée / OE est toujours connectée à un fil commun.

En outre, le «bus d'adresse» sera considéré comme les lignes de sortie 74373 en combinaison avec les lignes supérieures du bus d'adresse lui-même, où les données ne sont jamais présentes. Eh bien, la figure montre tout:



Voyons maintenant comment les puces ROM sont connectées. Avec la connexion de la ROM "A", rien d'inhabituel n'est observé. Juste les lignes A0 - A14 du bus d'adresses pur précédemment considéré (après 74373). Seules les lignes A0 - A13 sont connectées à la ROM "B". Et l'A14? Peut-être que cette ligne va à un fil commun ou à une alimentation plus, et que la moitié de la capacité n'est pas utilisée? Non. Il va à la broche 39 (PC2) du contrôleur d'E / S A8156. C'est tout et cela est devenu clair avec le changement de page. La moitié de la ROM «B» peut être commutée par programme.

La RAM, comme nous l'avons découvert, est constituée de deux puces de RAM dynamique de 16 kilo-octets chacune. Chaque octet de RAM est stocké dans deux puces à la fois, un quartet dans le premier, l'autre dans le second.

Pour sélectionner une adresse, vous devez d'abord sélectionner une ligne, puis une colonne. Pour cela, deux microcircuits 74157 ont été utilisés - quatre sélecteurs de données avec deux entrées et une sortie. Et maintenant, revenons au premier schéma. En plus de la sortie / WR, il existe une autre sortie allant à l'entrée du choix du premier microcircuit 74157. Lorsque / Q3 est nul, l'adresse de ligne est sélectionnée et lorsqu'il y en a une, l'adresse de colonne est



En parcourant les conducteurs imprimés, l'auteur a constaté que seules six sorties sur huit de deux microcircuits 74157 sont utilisées comme adresses MA1 - MA6 pour les microcircuits RAM. Et les lignes MA0 et MA7 sont directement connectées aux lignes de bus d'adresse A6 et A7. Les puces 48416 ont huit lignes et six colonnes, donc seulement six lignes doivent être commutées, les deux autres peuvent être connectées directement aux lignes de bus d'adresse, car elles n'affectent pas le choix de la colonne.



L'ordre de connexion des lignes au bus d'adresse n'obéit à aucune logique. Mais tout fonctionne. Peut-être qu'il était plus pratique de concevoir une planche plus facilement?

Il est également intéressant de voir comment les puces 74157 sont mises en cascade: la première sortie 4Y va à la deuxième entrée, et la deuxième sortie 4Y va à la ligne / CAS:



Contrairement à la ROM, la RAM dynamique n'a pas de ligne séparée / CE. Comme l'auteur l'a compris, ces puces permettent la lecture ou l'écriture lorsque le / CAS est nul. Eh bien, la façon dont c'est: zéro sur / Q3 signifie zéro sur / CAS. L'adresse de ligne RAM est formée lorsque la ligne ALE est nulle et lorsque le microprocesseur n'est pas réinitialisé.

Nous avons compris l'espace d'adressage, passons à la périphérie. L'auteur a également marché sur le circuit imprimé avec un multimètre et a obtenu ce schéma:



Le coin supérieur gauche indique d'où proviennent les signaux / RD et / WR pour le contrôleur vidéo (VDP). Notez que la sélection de puce n'est pas visible pour VDP. Ainsi, le seul signal similaire à / CS pour le contrôleur vidéo est le signal ALE du microprocesseur. Il s'avère que le contrôleur vidéo reçoit des données en général sur toutes les opérations d'E / S. Nous ne nous concentrerons pas sur cela, nous verrons ce qui se passe avec le reste des périphériques d'entrée-sortie.

Les adresses d'E / S restantes sont déchiffrées par la seconde moitié de la puce 74139 - celle-là même dont la première moitié change les pages de l'espace d'adressage. Ce décodeur est sélectionné lorsque l'opération d'entrée-entrée est effectuée et sur A7, il est nul. Il semble que la ligne A7 soit chargée de choisir entre le contrôleur vidéo et le reste des périphériques. A6 et A5 déterminent quel appareil sera sélectionné par le décodeur:



L'A7 peut-il être la ligne de sélection de puce pour le contrôleur vidéo et est-elle sélectionnée lorsque l'unité est là? Il est impossible de déterminer sans une fiche technique sur le NCR 7250, mais cela est tout à fait plausible si l'effet de la ligne ALE sur le contrôleur vidéo n'est pas mis en œuvre de manière totalement inhabituelle.

De plus, l'auteur a procédé à une ingénierie inverse de connexion des lignes de signaux du microprocesseur:



Le même diagramme montre une méthode pour générer un signal de réinitialisation. Lorsqu'il est allumé, le condensateur se charge avec un retard; lorsqu'il est éteint, il se décharge rapidement. Le signal de réinitialisation / RESET IN est inverse, il est envoyé au microprocesseur et il génère un signal RESET OUT direct pour réinitialiser divers périphériques.

La ligne d'interruption / NMI non masquable fonctionne de la même manière que le Z80 standard. Lorsque les interruptions sont activées, une valeur nulle sur cette ligne appelle la routine d'interruption à l'adresse 0x66. Dans ce cas, le signal / NMI provient de la sortie du temporisateur IC25. Une interruption se produit chaque fois que ce temporisateur déborde.

Le microprocesseur NSC800N possède également une entrée / INTR, à laquelle il passe à 0x38, mais cette entrée n'est pas utilisée dans VideoWRITER.

Il existe également trois signaux de redémarrage / RSTA, / RSTB et / RSTC, provoquant une transition, respectivement, vers l'adresse 0x3C, 0x34 ou 0x2C. Parmi ceux-ci, seuls les deux premiers sont impliqués et ils sont contrôlés par le variateur de vitesse. Avec le signal / RSTA, le variateur de vitesse informe le microprocesseur de l'état de son registre de données, et avec le signal / RSTB il indique la fin de la commande.

Et maintenant environ une ligne de plus - S1. Avec la ligne S0, il détermine l'état du bus. Ainsi, le variateur de vitesse sélectionne le mode de lecture ou d'écriture. Mais pourquoi la ligne S1 est-elle utilisée à la place de / RD et / WR uniquement par le variateur? Ce n'est pas clair. Les lignes S0, S1 et IO / M peuvent très bien être utilisées pour choisir entre les modes de lecture et d'écriture pour la mémoire et les périphériques, mais l'utilisation d'autres lignes donne le même effet. Peut-être que les développeurs ont essayé plusieurs options et décidé de s'attarder sur la méthode de décryptage du mode lecture-écriture, qui est utilisé dans le Z80 habituel? Dans tous les cas, selon la fiche technique du NSC800N et le tableau ci-dessous, le signal S1 peut être un signal de lecture depuis des périphériques, mais uniquement s'il existe également un signal de sélection allant directement vers le périphérique:



L'appareil est en fonctionnement, la vidéo a été tournée par un autre auteur - Grr_I'm_Here:

Source: https://habr.com/ru/post/fr450310/


All Articles