{"id":641,"date":"2023-04-12T21:12:06","date_gmt":"2023-04-12T19:12:06","guid":{"rendered":"https:\/\/mo5.com\/micral\/?p=641"},"modified":"2023-04-12T21:13:53","modified_gmt":"2023-04-12T19:13:53","slug":"avancees-sur-l-emulateur","status":"publish","type":"post","link":"https:\/\/mo5.com\/fr\/avancees-sur-l-emulateur\/","title":{"rendered":"Avanc\u00e9es sur l&#8217;\u00e9mulateur du Micral N"},"content":{"rendered":"<p><em>Par Sylvain Glaize.<\/em><\/p>\n<p>Le Micral N est en \u00e9tat de marche. Pass\u00e9es les \u00e9motions, m\u00e9lange de soulagement et de joie, il est temps de v\u00e9rifier si l&#8217;\u00e9mulateur se comporte comme la machine r\u00e9elle. Particuli\u00e8rement sur des points peu clairs de la documentation, qui pouvaient amener \u00e0 plusieurs interpr\u00e9tations.<\/p>\n<p>C&#8217;\u00e9tait le cas par exemple de l&#8217;utilisation des interrupteurs de fa\u00e7ade \u00ab <strong>AV<\/strong> \u00bb et \u00ab <strong>SUB<\/strong> \u00bb. Comment se comportent-ils exactement ? En mettant la machine dans un \u00e9tat connu apr\u00e8s une s\u00e9quence de manipulations pr\u00e9par\u00e9es auparavant sur l&#8217;\u00e9mulateur, il est possible de lever les doutes.<\/p>\n<div id=\"attachment_20503\" style=\"width: 429px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-20503\" class=\"wp-image-20503 size-full\" title=\"Micral N FrontPanel SUB AV\" src=\"https:\/\/mo5.com\/wp-content\/uploads\/2023\/01\/Micral-N-FrontPanel-SUB-AV.png\" alt=\"Micral N Front Panel avec les boutons SUB et AV\" width=\"419\" height=\"177\" srcset=\"https:\/\/mo5.com\/wp-content\/uploads\/2023\/01\/Micral-N-FrontPanel-SUB-AV.png 419w, https:\/\/mo5.com\/wp-content\/uploads\/2023\/01\/Micral-N-FrontPanel-SUB-AV-18x8.png 18w, https:\/\/mo5.com\/wp-content\/uploads\/2023\/01\/Micral-N-FrontPanel-SUB-AV-300x127.png 300w\"  sizes=\"(max-width: 419px) 100vw, 419px\" \/><p id=\"caption-attachment-20503\" class=\"wp-caption-text\">Les boutons de contr\u00f4le sur le panneau, avec SUB et AV<\/p><\/div>\n<p>Apr\u00e8s quelques ajustements, il est possible de faire en parall\u00e8le les m\u00eames op\u00e9rations sur la v\u00e9ritable machine et son replica num\u00e9rique pour confirmer que les deux se comportent visiblement de la m\u00eame mani\u00e8re.<\/p>\n<p>Uniquement en suivant les adresses affich\u00e9es sur le panneau de contr\u00f4le, il est alors possible d&#8217;entrer la s\u00e9quence qui permet d&#8217;enter dans le moniteur (le programme en ROM permettant de g\u00e9rer certaines op\u00e9rations de la machine), et constater que la s\u00e9quence des adresses et donn\u00e9es qui s&#8217;affichent correspondent bien \u00e0 celles pr\u00e9vues lorsqu&#8217;on se trouve dans le moniteur.<\/p>\n<p>Il est donc temps de passer \u00e0 l&#8217;\u00e9tape suivante, et pour cela, il faut avancer sur l&#8217;\u00e9mulateur. En effet, la machine se lance mais nous n&#8217;avons encore pas d&#8217;entr\u00e9e\/sortie et il reste toujours le myst\u00e8re de la ROM de boot : que fait-elle exactement ?<\/p>\n<h2>La ROM et la Carte Myst\u00e8re<\/h2>\n<p>Que ce soit le v\u00e9ritable Micral N ou l&#8217;\u00e9mulateur, ils ont le m\u00eame comportement au d\u00e9marrage : apr\u00e8s un bref instant, la machine s&#8217;arr\u00eate sur une instruction <strong>HLT<\/strong>.<\/p>\n<p>Ayant d\u00e9j\u00e0 analys\u00e9 la ROM, ce n&#8217;est pas tr\u00e8s \u00e9tonnant : celle-ci semble \u00e9tablir un dialogue avec une carte de la machine en lui envoyant des signaux et en attendant des r\u00e9ponses. Ces r\u00e9ponses sont lues sur l&#8217;une des deux cartes \u00ab pile\/canal \u00bb, qui peuvent agir en tant que m\u00e9moires tampons.<\/p>\n<p><a href=\"https:\/\/mo5.com\/les-cartes-electroniques-du-micral-n-de-lassociation-mo5\/\">Ces cartes \u00ab pile\/canal \u00bb<\/a> sont importantes pour le fonctionnement du Micral N, m\u00eame si techniquement pas indispensables. Ce sont des cartes m\u00e9moire qui s&#8217;interfacent d&#8217;un c\u00f4t\u00e9 au PLURIBUS, et donc au reste de la machine. De l&#8217;autre c\u00f4t\u00e9, elles peuvent \u00eatre reli\u00e9es \u00e0 une autre carte pour une communication directe, ind\u00e9pendante du processeur. En mode \u00ab pile \u00bb, la carte se comporte comme une pile informatique : ce qui est \u00e9crit en dernier dans la m\u00e9moire est lu en premier (LIFO) ; en mode \u00ab canal \u00bb, on lit les donn\u00e9es en commen\u00e7ant par les plus anciennes \u00e0 y avoir \u00e9t\u00e9 \u00e9crites (FIFO).<\/p>\n<p>L&#8217;\u00e9mulateur g\u00e8re d\u00e9j\u00e0 le mode \u00ab pile \u00bb de ces cartes, car le programme pr\u00e9sent sur la ROM du moniteur en utilise une comme m\u00e9moire auxiliaire, en plus de la RAM. Cela faisait partie des premi\u00e8res parties \u00e9mul\u00e9es et fonctionnelles. Mais il semble que cette seconde carte soit utilis\u00e9e dans son monde \u00ab canal \u00bb et surtout, il semble qu&#8217;elle doive recevoir des donn\u00e9es d&#8217;un p\u00e9riph\u00e9rique.<\/p>\n<div id=\"attachment_20508\" style=\"width: 709px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-20508\" class=\"wp-image-20508 size-full\" title=\"20230409 MicralN Emulation CarteCanal\" src=\"https:\/\/mo5.com\/wp-content\/uploads\/2023\/04\/20230409-MicralN-Emulation-CarteCanal.png\" alt=\"20230409 MicralN Emulation CarteCanal\" width=\"699\" height=\"346\" srcset=\"https:\/\/mo5.com\/wp-content\/uploads\/2023\/04\/20230409-MicralN-Emulation-CarteCanal.png 699w, https:\/\/mo5.com\/wp-content\/uploads\/2023\/04\/20230409-MicralN-Emulation-CarteCanal-300x148.png 300w\"  sizes=\"(max-width: 699px) 100vw, 699px\" \/><p id=\"caption-attachment-20508\" class=\"wp-caption-text\">Visualisation de la m\u00e9moire d&#8217;une carte canal\/pile dans l&#8217;\u00e9mulateur (256 octets)<\/p><\/div>\n<p>Comme elle ne re\u00e7oit rien, la ROM s&#8217;arr\u00eate rapidement.<\/p>\n<p>Nous sommes donc \u00e0 la recherche de ce p\u00e9riph\u00e9rique : quel est-il ? C&#8217;est un p\u00e9riph\u00e9rique d&#8217;entr\u00e9e, mais est-ce un ruban perfor\u00e9, un lecteur de disquette, autre chose ?<\/p>\n<p>L&#8217;\u00e9mulateur permet \u00e0 nouveau de pouvoir tester des choses sans le mat\u00e9riel. Puisque la carte doit recevoir des donn\u00e9es, envoyons lui des donn\u00e9es venues de nulle part. Une suite al\u00e9atoire par exemple, mais exactement le nombre attendu par la ROM.<\/p>\n<p>Et cela permet d&#8217;aller plus loin. Cette fois, l&#8217;\u00e9mulateur ne bloque plus au d\u00e9marrage. Cependant, si l&#8217;ex\u00e9cution de la machine n&#8217;est plus stopp\u00e9e, la ROM tourne en rond et renvoie les m\u00eames s\u00e9quences.<\/p>\n<p>L&#8217;\u00e9tude de celle-ci avait montr\u00e9 qu&#8217;il y avait un calcul de somme de contr\u00f4le. Et cette somme est visiblement fausse, ce \u00e0 quoi on pouvait s&#8217;attendre en envoyant n&#8217;importe quoi.<\/p>\n<p>L&#8217;\u00e9mulateur est modifi\u00e9 pour envoyer la somme de contr\u00f4le attendue. Et soudain, l&#8217;\u00e9mulateur se met \u00e0 charger les donn\u00e9es dans la RAM.<\/p>\n<div id=\"attachment_20513\" style=\"width: 193px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-20513\" class=\"wp-image-20513 size-full\" title=\"20230409 MicralN Emulation Disque\" src=\"https:\/\/mo5.com\/wp-content\/uploads\/2023\/04\/20230409-MicralN-Emulation-Disque.gif\" alt=\"20230409 MicralN Emulation Disque\" width=\"183\" height=\"141\" \/><p id=\"caption-attachment-20513\" class=\"wp-caption-text\">Lecture du disque \u00e9mul\u00e9.<\/p><\/div>\n<p>En analysant les signaux envoy\u00e9s et attendus vers et depuis la carte, l&#8217;hypoth\u00e8se d&#8217;un lecteur de disquette se dessine. Ce que charge la ROM, ce sont des secteurs. On a m\u00eame un tr\u00e8s bon candidat quant au mod\u00e8le.<\/p>\n<p>Mais surtout, cela nous donne les informations n\u00e9cessaires pour pouvoir configurer \u00ab Pauline \u00bb, l&#8217;\u00e9mulateur de disque con\u00e7u par Jean-Fran\u00e7ois. J&#8217;\u00e9cris donc quelques programmes qui pourraient \u00eatre envoy\u00e9s sur la machine r\u00e9elle pour d\u00e9monstration, que je peux mettre au point sur l&#8217;\u00e9mulateur.<\/p>\n<div id=\"attachment_20511\" style=\"width: 510px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-20511\" class=\"wp-image-20511 size-full\" title=\"20230409 MicralN Emulation Chenillard\" src=\"https:\/\/mo5.com\/wp-content\/uploads\/2023\/04\/20230409-MicralN-Emulation-Chenillard.gif\" alt=\"20230409 MicralN Emulation Chenillard\" width=\"500\" height=\"159\" \/><p id=\"caption-attachment-20511\" class=\"wp-caption-text\">Chenillard sur le panneau de contr\u00f4le.<\/p><\/div>\n<h2>Mais comment est-ce branch\u00e9 ?<\/h2>\n<p>Avant de pouvoir brancher l&#8217;\u00e9mulateur de disque, il reste \u00e0 savoir comment ces cartes sont branch\u00e9es entre elles. En effet, les connexions avec les p\u00e9riph\u00e9riques, ainsi qu&#8217;entre la carte contr\u00f4leur et la carte \u00ab canal \u00bb se font du c\u00f4t\u00e9 oppos\u00e9 au <strong>PLURIBUS<\/strong>, et ce c\u00f4t\u00e9 l\u00e0 n&#8217;est pas norm\u00e9. Et nous n&#8217;en avons ni la documentation, ni les c\u00e2bles qu&#8217;il va falloir reconstruire.<\/p>\n<p>Retour \u00e0 l&#8217;\u00e9mulateur. Quand je dis que nous n&#8217;avons pas de documentation, ce n&#8217;est pas tout \u00e0 fait exact. Il y a des informations dans le manuel de l&#8217;utilisateur, mais celles-ci sont incompl\u00e8tes et parfois incoh\u00e9rentes entre les sch\u00e9mas et le texte.<\/p>\n<p>En effectuant des branchement virtuels dans l&#8217;\u00e9mulateur, en \u00e9tudiant les scans des cartes afin de tracer les pistes, progressivement, le sch\u00e9ma de connexion se dessine, jusqu&#8217;\u00e0 ce que nous soyons enfin certain de nous.<\/p>\n<h2>La carte s\u00e9rie<\/h2>\n<p>Un travail similaire est fait pour la carte d&#8217;entr\u00e9e\/sortie s\u00e9rie, qui est utilis\u00e9e \u00e0 travers une carte g\u00e9n\u00e9rique d&#8217;entr\u00e9es\/sorties dans le Micral N.<\/p>\n<p>\u00c0 nouveau, quelques aller-retours entre les scans des cartes, la documentation (\u00e0 nouveau impr\u00e9cise) et l&#8217;\u00e9mulateur permettent d&#8217;en sortir un sch\u00e9ma dont nous sommes certains.<\/p>\n<p>Avec tout ce qu&#8217;il faut pour interagir avec le Micral N \u00e0 travers le port s\u00e9rie et lui charger un programme en RAM, il est temps de passer \u00e0 la pratique.<\/p>\n<div id=\"attachment_20515\" style=\"width: 556px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-20515\" class=\"wp-image-20515 size-full\" title=\"20230409 MicralN Emulation SortieTTY\" src=\"https:\/\/mo5.com\/wp-content\/uploads\/2023\/04\/20230409-MicralN-Emulation-SortieTTY.png\" alt=\"20230409 MicralN Emulation SortieTTY\" width=\"546\" height=\"174\" srcset=\"https:\/\/mo5.com\/wp-content\/uploads\/2023\/04\/20230409-MicralN-Emulation-SortieTTY.png 546w, https:\/\/mo5.com\/wp-content\/uploads\/2023\/04\/20230409-MicralN-Emulation-SortieTTY-300x96.png 300w\"  sizes=\"(max-width: 546px) 100vw, 546px\" \/><p id=\"caption-attachment-20515\" class=\"wp-caption-text\">Sortie d&#8217;un programme \u00e9crit sp\u00e9cifiquement pour tester le Micral N.<\/p><\/div>\n<p>N&#8217;oubliez pas de participer \u00e0 la campagne pour soutenir nos travaux !<a href=\"https:\/\/micral.mo5.com\"> https:\/\/micral.mo5.com<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Par Sylvain Glaize. Le Micral N est en \u00e9tat de marche. Pass\u00e9es les \u00e9motions, m\u00e9lange de soulagement et de joie, il est temps de v\u00e9rifier si l&#8217;\u00e9mulateur se comporte comme la machine r\u00e9elle. Particuli\u00e8rement sur des points peu clairs de la documentation, qui pouvaient amener \u00e0 plusieurs interpr\u00e9tations. C&#8217;\u00e9tait le cas par exemple de l&#8217;utilisation des interrupteurs de fa\u00e7ade \u00ab AV \u00bb et \u00ab SUB \u00bb. Comment se comportent-ils exactement ? En mettant la machine dans un \u00e9tat connu apr\u00e8s une s\u00e9quence de manipulations pr\u00e9par\u00e9es auparavant sur l&#8217;\u00e9mulateur, il est possible de lever les doutes. Apr\u00e8s quelques ajustements, il est possible de faire en parall\u00e8le les m\u00eames op\u00e9rations sur la v\u00e9ritable machine et son replica num\u00e9rique pour confirmer que les deux se comportent visiblement de la m\u00eame mani\u00e8re. Uniquement en suivant les adresses affich\u00e9es sur le panneau de contr\u00f4le, il est alors possible d&#8217;entrer la s\u00e9quence qui permet d&#8217;enter dans le moniteur (le programme en ROM permettant de g\u00e9rer certaines op\u00e9rations de la machine), et constater que la s\u00e9quence des adresses et donn\u00e9es qui s&#8217;affichent correspondent bien \u00e0 celles pr\u00e9vues lorsqu&#8217;on se trouve dans le moniteur. Il est donc temps de passer \u00e0 l&#8217;\u00e9tape suivante, et pour cela, il faut avancer sur l&#8217;\u00e9mulateur. En effet, la machine se lance mais nous n&#8217;avons encore pas d&#8217;entr\u00e9e\/sortie et il reste toujours le myst\u00e8re de la ROM de boot : que fait-elle exactement ? La ROM et la Carte Myst\u00e8re Que ce soit le v\u00e9ritable Micral N ou l&#8217;\u00e9mulateur, ils ont le m\u00eame comportement au d\u00e9marrage : apr\u00e8s un bref instant, la machine s&#8217;arr\u00eate sur une instruction HLT. Ayant d\u00e9j\u00e0 analys\u00e9 la ROM, ce n&#8217;est pas tr\u00e8s \u00e9tonnant : celle-ci semble \u00e9tablir un dialogue avec une carte de la machine en lui envoyant des signaux et en attendant des r\u00e9ponses. Ces r\u00e9ponses sont lues sur l&#8217;une des deux cartes \u00ab pile\/canal \u00bb, qui peuvent agir en tant que m\u00e9moires tampons. Ces cartes \u00ab pile\/canal \u00bb sont importantes pour le fonctionnement du Micral N, m\u00eame si techniquement pas indispensables. Ce sont des cartes m\u00e9moire qui s&#8217;interfacent d&#8217;un c\u00f4t\u00e9 au PLURIBUS, et donc au reste de la machine. De l&#8217;autre c\u00f4t\u00e9, elles peuvent \u00eatre reli\u00e9es \u00e0 une autre carte pour une communication directe, ind\u00e9pendante du processeur. En mode \u00ab pile \u00bb, la carte se comporte comme une pile informatique : ce qui est \u00e9crit en dernier dans la m\u00e9moire est lu en premier (LIFO) ; en mode \u00ab canal \u00bb, on lit les donn\u00e9es en commen\u00e7ant par les plus anciennes \u00e0 y avoir \u00e9t\u00e9 \u00e9crites (FIFO). L&#8217;\u00e9mulateur g\u00e8re d\u00e9j\u00e0 le mode \u00ab pile \u00bb de ces cartes, car le programme pr\u00e9sent sur la ROM du moniteur en utilise une comme m\u00e9moire auxiliaire, en plus de la RAM. Cela faisait partie des premi\u00e8res parties \u00e9mul\u00e9es et fonctionnelles. Mais il semble que cette seconde carte soit utilis\u00e9e dans son monde \u00ab canal \u00bb et surtout, il semble qu&#8217;elle doive recevoir des donn\u00e9es d&#8217;un p\u00e9riph\u00e9rique. Comme elle ne re\u00e7oit rien, la ROM s&#8217;arr\u00eate rapidement. Nous sommes donc \u00e0 la recherche de ce p\u00e9riph\u00e9rique : quel est-il ? C&#8217;est un p\u00e9riph\u00e9rique d&#8217;entr\u00e9e, mais est-ce un ruban perfor\u00e9, un lecteur [&hellip;]<\/p>\n","protected":false},"author":329,"featured_media":20503,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"give_campaign_id":0,"footnotes":""},"categories":[1485,1502],"tags":[],"class_list":["post-641","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-micral","category-programmation"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Avanc\u00e9es sur l&#039;\u00e9mulateur du Micral N - MO5.COM<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mo5.com\/fr\/avancees-sur-l-emulateur\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Avanc\u00e9es sur l&#039;\u00e9mulateur du Micral N - MO5.COM\" \/>\n<meta property=\"og:description\" content=\"Par Sylvain Glaize. Le Micral N est en \u00e9tat de marche. Pass\u00e9es les \u00e9motions, m\u00e9lange de soulagement et de joie, il est temps de v\u00e9rifier si l&#8217;\u00e9mulateur se comporte comme la machine r\u00e9elle. Particuli\u00e8rement sur des points peu clairs de la documentation, qui pouvaient amener \u00e0 plusieurs interpr\u00e9tations. C&#8217;\u00e9tait le cas par exemple de l&#8217;utilisation des interrupteurs de fa\u00e7ade \u00ab AV \u00bb et \u00ab SUB \u00bb. Comment se comportent-ils exactement ? En mettant la machine dans un \u00e9tat connu apr\u00e8s une s\u00e9quence de manipulations pr\u00e9par\u00e9es auparavant sur l&#8217;\u00e9mulateur, il est possible de lever les doutes. Apr\u00e8s quelques ajustements, il est possible de faire en parall\u00e8le les m\u00eames op\u00e9rations sur la v\u00e9ritable machine et son replica num\u00e9rique pour confirmer que les deux se comportent visiblement de la m\u00eame mani\u00e8re. Uniquement en suivant les adresses affich\u00e9es sur le panneau de contr\u00f4le, il est alors possible d&#8217;entrer la s\u00e9quence qui permet d&#8217;enter dans le moniteur (le programme en ROM permettant de g\u00e9rer certaines op\u00e9rations de la machine), et constater que la s\u00e9quence des adresses et donn\u00e9es qui s&#8217;affichent correspondent bien \u00e0 celles pr\u00e9vues lorsqu&#8217;on se trouve dans le moniteur. Il est donc temps de passer \u00e0 l&#8217;\u00e9tape suivante, et pour cela, il faut avancer sur l&#8217;\u00e9mulateur. En effet, la machine se lance mais nous n&#8217;avons encore pas d&#8217;entr\u00e9e\/sortie et il reste toujours le myst\u00e8re de la ROM de boot : que fait-elle exactement ? La ROM et la Carte Myst\u00e8re Que ce soit le v\u00e9ritable Micral N ou l&#8217;\u00e9mulateur, ils ont le m\u00eame comportement au d\u00e9marrage : apr\u00e8s un bref instant, la machine s&#8217;arr\u00eate sur une instruction HLT. Ayant d\u00e9j\u00e0 analys\u00e9 la ROM, ce n&#8217;est pas tr\u00e8s \u00e9tonnant : celle-ci semble \u00e9tablir un dialogue avec une carte de la machine en lui envoyant des signaux et en attendant des r\u00e9ponses. Ces r\u00e9ponses sont lues sur l&#8217;une des deux cartes \u00ab pile\/canal \u00bb, qui peuvent agir en tant que m\u00e9moires tampons. Ces cartes \u00ab pile\/canal \u00bb sont importantes pour le fonctionnement du Micral N, m\u00eame si techniquement pas indispensables. Ce sont des cartes m\u00e9moire qui s&#8217;interfacent d&#8217;un c\u00f4t\u00e9 au PLURIBUS, et donc au reste de la machine. De l&#8217;autre c\u00f4t\u00e9, elles peuvent \u00eatre reli\u00e9es \u00e0 une autre carte pour une communication directe, ind\u00e9pendante du processeur. En mode \u00ab pile \u00bb, la carte se comporte comme une pile informatique : ce qui est \u00e9crit en dernier dans la m\u00e9moire est lu en premier (LIFO) ; en mode \u00ab canal \u00bb, on lit les donn\u00e9es en commen\u00e7ant par les plus anciennes \u00e0 y avoir \u00e9t\u00e9 \u00e9crites (FIFO). L&#8217;\u00e9mulateur g\u00e8re d\u00e9j\u00e0 le mode \u00ab pile \u00bb de ces cartes, car le programme pr\u00e9sent sur la ROM du moniteur en utilise une comme m\u00e9moire auxiliaire, en plus de la RAM. Cela faisait partie des premi\u00e8res parties \u00e9mul\u00e9es et fonctionnelles. Mais il semble que cette seconde carte soit utilis\u00e9e dans son monde \u00ab canal \u00bb et surtout, il semble qu&#8217;elle doive recevoir des donn\u00e9es d&#8217;un p\u00e9riph\u00e9rique. Comme elle ne re\u00e7oit rien, la ROM s&#8217;arr\u00eate rapidement. Nous sommes donc \u00e0 la recherche de ce p\u00e9riph\u00e9rique : quel est-il ? C&#8217;est un p\u00e9riph\u00e9rique d&#8217;entr\u00e9e, mais est-ce un ruban perfor\u00e9, un lecteur [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mo5.com\/fr\/avancees-sur-l-emulateur\/\" \/>\n<meta property=\"og:site_name\" content=\"MO5.COM\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pages\/Association-MO5COM\/9540357570\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-12T19:12:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-12T19:13:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/mo5.com\/wp-content\/uploads\/2023\/01\/Micral-N-FrontPanel-SUB-AV.png\" \/>\n\t<meta property=\"og:image:width\" content=\"419\" \/>\n\t<meta property=\"og:image:height\" content=\"177\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Sylvain Glaize\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@assomo5\" \/>\n<meta name=\"twitter:site\" content=\"@assomo5\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sylvain Glaize\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/mo5.com\\\/avancees-sur-l-emulateur\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mo5.com\\\/avancees-sur-l-emulateur\\\/\"},\"author\":{\"name\":\"Sylvain Glaize\",\"@id\":\"https:\\\/\\\/mo5.com\\\/#\\\/schema\\\/person\\\/e2593639b2e77eace001e56b26086749\"},\"headline\":\"Avanc\u00e9es sur l&#8217;\u00e9mulateur du Micral N\",\"datePublished\":\"2023-04-12T19:12:06+00:00\",\"dateModified\":\"2023-04-12T19:13:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mo5.com\\\/avancees-sur-l-emulateur\\\/\"},\"wordCount\":1187,\"publisher\":{\"@id\":\"https:\\\/\\\/mo5.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/mo5.com\\\/avancees-sur-l-emulateur\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/mo5.com\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/Micral-N-FrontPanel-SUB-AV.png\",\"articleSection\":[\"Micral\",\"Programmation\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mo5.com\\\/avancees-sur-l-emulateur\\\/\",\"url\":\"https:\\\/\\\/mo5.com\\\/avancees-sur-l-emulateur\\\/\",\"name\":\"Avanc\u00e9es sur l'\u00e9mulateur du Micral N - MO5.COM\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mo5.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/mo5.com\\\/avancees-sur-l-emulateur\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/mo5.com\\\/avancees-sur-l-emulateur\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/mo5.com\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/Micral-N-FrontPanel-SUB-AV.png\",\"datePublished\":\"2023-04-12T19:12:06+00:00\",\"dateModified\":\"2023-04-12T19:13:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mo5.com\\\/avancees-sur-l-emulateur\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/mo5.com\\\/avancees-sur-l-emulateur\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/mo5.com\\\/avancees-sur-l-emulateur\\\/#primaryimage\",\"url\":\"https:\\\/\\\/mo5.com\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/Micral-N-FrontPanel-SUB-AV.png\",\"contentUrl\":\"https:\\\/\\\/mo5.com\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/Micral-N-FrontPanel-SUB-AV.png\",\"width\":419,\"height\":177,\"caption\":\"Les boutons de contr\u00f4le sur le panneau, avec SUB et AV\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mo5.com\\\/avancees-sur-l-emulateur\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/mo5.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Avanc\u00e9es sur l&#8217;\u00e9mulateur du Micral N\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mo5.com\\\/#website\",\"url\":\"https:\\\/\\\/mo5.com\\\/\",\"name\":\"MO5.COM\",\"description\":\"Pr\u00e9server, explorer, rejouer\",\"publisher\":{\"@id\":\"https:\\\/\\\/mo5.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/mo5.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/mo5.com\\\/#organization\",\"name\":\"Association MO5.COM\",\"url\":\"https:\\\/\\\/mo5.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/mo5.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/mo5.com\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/Logo_MO5_A_Colo_Texte_Bleu-e1697059504554.png\",\"contentUrl\":\"https:\\\/\\\/mo5.com\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/Logo_MO5_A_Colo_Texte_Bleu-e1697059504554.png\",\"width\":2094,\"height\":559,\"caption\":\"Association MO5.COM\"},\"image\":{\"@id\":\"https:\\\/\\\/mo5.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/pages\\\/Association-MO5COM\\\/9540357570\",\"https:\\\/\\\/x.com\\\/assomo5\",\"http:\\\/\\\/www.instagram.com\\\/assomo5\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCRncMsBo89C9u_8gpWnsOVw\\\/featured\",\"https:\\\/\\\/bsky.app\\\/profile\\\/assomo5.bsky.social\",\"https:\\\/\\\/twitch.tv\\\/mo5assoretro\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mo5.com\\\/#\\\/schema\\\/person\\\/e2593639b2e77eace001e56b26086749\",\"name\":\"Sylvain Glaize\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c57fffe6046f79130765edc0cc15c31865aef60892197deca86f5c61d3f2261b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c57fffe6046f79130765edc0cc15c31865aef60892197deca86f5c61d3f2261b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c57fffe6046f79130765edc0cc15c31865aef60892197deca86f5c61d3f2261b?s=96&d=mm&r=g\",\"caption\":\"Sylvain Glaize\"},\"url\":\"https:\\\/\\\/mo5.com\\\/fr\\\/author\\\/mokona78\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Avanc\u00e9es sur l'\u00e9mulateur du Micral N - MO5.COM","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/mo5.com\/fr\/avancees-sur-l-emulateur\/","og_locale":"fr_FR","og_type":"article","og_title":"Avanc\u00e9es sur l'\u00e9mulateur du Micral N - MO5.COM","og_description":"Par Sylvain Glaize. Le Micral N est en \u00e9tat de marche. Pass\u00e9es les \u00e9motions, m\u00e9lange de soulagement et de joie, il est temps de v\u00e9rifier si l&#8217;\u00e9mulateur se comporte comme la machine r\u00e9elle. Particuli\u00e8rement sur des points peu clairs de la documentation, qui pouvaient amener \u00e0 plusieurs interpr\u00e9tations. C&#8217;\u00e9tait le cas par exemple de l&#8217;utilisation des interrupteurs de fa\u00e7ade \u00ab AV \u00bb et \u00ab SUB \u00bb. Comment se comportent-ils exactement ? En mettant la machine dans un \u00e9tat connu apr\u00e8s une s\u00e9quence de manipulations pr\u00e9par\u00e9es auparavant sur l&#8217;\u00e9mulateur, il est possible de lever les doutes. Apr\u00e8s quelques ajustements, il est possible de faire en parall\u00e8le les m\u00eames op\u00e9rations sur la v\u00e9ritable machine et son replica num\u00e9rique pour confirmer que les deux se comportent visiblement de la m\u00eame mani\u00e8re. Uniquement en suivant les adresses affich\u00e9es sur le panneau de contr\u00f4le, il est alors possible d&#8217;entrer la s\u00e9quence qui permet d&#8217;enter dans le moniteur (le programme en ROM permettant de g\u00e9rer certaines op\u00e9rations de la machine), et constater que la s\u00e9quence des adresses et donn\u00e9es qui s&#8217;affichent correspondent bien \u00e0 celles pr\u00e9vues lorsqu&#8217;on se trouve dans le moniteur. Il est donc temps de passer \u00e0 l&#8217;\u00e9tape suivante, et pour cela, il faut avancer sur l&#8217;\u00e9mulateur. En effet, la machine se lance mais nous n&#8217;avons encore pas d&#8217;entr\u00e9e\/sortie et il reste toujours le myst\u00e8re de la ROM de boot : que fait-elle exactement ? La ROM et la Carte Myst\u00e8re Que ce soit le v\u00e9ritable Micral N ou l&#8217;\u00e9mulateur, ils ont le m\u00eame comportement au d\u00e9marrage : apr\u00e8s un bref instant, la machine s&#8217;arr\u00eate sur une instruction HLT. Ayant d\u00e9j\u00e0 analys\u00e9 la ROM, ce n&#8217;est pas tr\u00e8s \u00e9tonnant : celle-ci semble \u00e9tablir un dialogue avec une carte de la machine en lui envoyant des signaux et en attendant des r\u00e9ponses. Ces r\u00e9ponses sont lues sur l&#8217;une des deux cartes \u00ab pile\/canal \u00bb, qui peuvent agir en tant que m\u00e9moires tampons. Ces cartes \u00ab pile\/canal \u00bb sont importantes pour le fonctionnement du Micral N, m\u00eame si techniquement pas indispensables. Ce sont des cartes m\u00e9moire qui s&#8217;interfacent d&#8217;un c\u00f4t\u00e9 au PLURIBUS, et donc au reste de la machine. De l&#8217;autre c\u00f4t\u00e9, elles peuvent \u00eatre reli\u00e9es \u00e0 une autre carte pour une communication directe, ind\u00e9pendante du processeur. En mode \u00ab pile \u00bb, la carte se comporte comme une pile informatique : ce qui est \u00e9crit en dernier dans la m\u00e9moire est lu en premier (LIFO) ; en mode \u00ab canal \u00bb, on lit les donn\u00e9es en commen\u00e7ant par les plus anciennes \u00e0 y avoir \u00e9t\u00e9 \u00e9crites (FIFO). L&#8217;\u00e9mulateur g\u00e8re d\u00e9j\u00e0 le mode \u00ab pile \u00bb de ces cartes, car le programme pr\u00e9sent sur la ROM du moniteur en utilise une comme m\u00e9moire auxiliaire, en plus de la RAM. Cela faisait partie des premi\u00e8res parties \u00e9mul\u00e9es et fonctionnelles. Mais il semble que cette seconde carte soit utilis\u00e9e dans son monde \u00ab canal \u00bb et surtout, il semble qu&#8217;elle doive recevoir des donn\u00e9es d&#8217;un p\u00e9riph\u00e9rique. Comme elle ne re\u00e7oit rien, la ROM s&#8217;arr\u00eate rapidement. Nous sommes donc \u00e0 la recherche de ce p\u00e9riph\u00e9rique : quel est-il ? C&#8217;est un p\u00e9riph\u00e9rique d&#8217;entr\u00e9e, mais est-ce un ruban perfor\u00e9, un lecteur [&hellip;]","og_url":"https:\/\/mo5.com\/fr\/avancees-sur-l-emulateur\/","og_site_name":"MO5.COM","article_publisher":"https:\/\/www.facebook.com\/pages\/Association-MO5COM\/9540357570","article_published_time":"2023-04-12T19:12:06+00:00","article_modified_time":"2023-04-12T19:13:53+00:00","og_image":[{"width":419,"height":177,"url":"https:\/\/mo5.com\/wp-content\/uploads\/2023\/01\/Micral-N-FrontPanel-SUB-AV.png","type":"image\/png"}],"author":"Sylvain Glaize","twitter_card":"summary_large_image","twitter_creator":"@assomo5","twitter_site":"@assomo5","twitter_misc":{"\u00c9crit par":"Sylvain Glaize","Dur\u00e9e de lecture estim\u00e9e":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/mo5.com\/avancees-sur-l-emulateur\/#article","isPartOf":{"@id":"https:\/\/mo5.com\/avancees-sur-l-emulateur\/"},"author":{"name":"Sylvain Glaize","@id":"https:\/\/mo5.com\/#\/schema\/person\/e2593639b2e77eace001e56b26086749"},"headline":"Avanc\u00e9es sur l&#8217;\u00e9mulateur du Micral N","datePublished":"2023-04-12T19:12:06+00:00","dateModified":"2023-04-12T19:13:53+00:00","mainEntityOfPage":{"@id":"https:\/\/mo5.com\/avancees-sur-l-emulateur\/"},"wordCount":1187,"publisher":{"@id":"https:\/\/mo5.com\/#organization"},"image":{"@id":"https:\/\/mo5.com\/avancees-sur-l-emulateur\/#primaryimage"},"thumbnailUrl":"https:\/\/mo5.com\/wp-content\/uploads\/2023\/01\/Micral-N-FrontPanel-SUB-AV.png","articleSection":["Micral","Programmation"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/mo5.com\/avancees-sur-l-emulateur\/","url":"https:\/\/mo5.com\/avancees-sur-l-emulateur\/","name":"Avanc\u00e9es sur l'\u00e9mulateur du Micral N - MO5.COM","isPartOf":{"@id":"https:\/\/mo5.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/mo5.com\/avancees-sur-l-emulateur\/#primaryimage"},"image":{"@id":"https:\/\/mo5.com\/avancees-sur-l-emulateur\/#primaryimage"},"thumbnailUrl":"https:\/\/mo5.com\/wp-content\/uploads\/2023\/01\/Micral-N-FrontPanel-SUB-AV.png","datePublished":"2023-04-12T19:12:06+00:00","dateModified":"2023-04-12T19:13:53+00:00","breadcrumb":{"@id":"https:\/\/mo5.com\/avancees-sur-l-emulateur\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mo5.com\/avancees-sur-l-emulateur\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/mo5.com\/avancees-sur-l-emulateur\/#primaryimage","url":"https:\/\/mo5.com\/wp-content\/uploads\/2023\/01\/Micral-N-FrontPanel-SUB-AV.png","contentUrl":"https:\/\/mo5.com\/wp-content\/uploads\/2023\/01\/Micral-N-FrontPanel-SUB-AV.png","width":419,"height":177,"caption":"Les boutons de contr\u00f4le sur le panneau, avec SUB et AV"},{"@type":"BreadcrumbList","@id":"https:\/\/mo5.com\/avancees-sur-l-emulateur\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/mo5.com\/"},{"@type":"ListItem","position":2,"name":"Avanc\u00e9es sur l&#8217;\u00e9mulateur du Micral N"}]},{"@type":"WebSite","@id":"https:\/\/mo5.com\/#website","url":"https:\/\/mo5.com\/","name":"MO5.COM","description":"Pr\u00e9server, explorer, rejouer","publisher":{"@id":"https:\/\/mo5.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mo5.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/mo5.com\/#organization","name":"Association MO5.COM","url":"https:\/\/mo5.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/mo5.com\/#\/schema\/logo\/image\/","url":"https:\/\/mo5.com\/wp-content\/uploads\/2023\/10\/Logo_MO5_A_Colo_Texte_Bleu-e1697059504554.png","contentUrl":"https:\/\/mo5.com\/wp-content\/uploads\/2023\/10\/Logo_MO5_A_Colo_Texte_Bleu-e1697059504554.png","width":2094,"height":559,"caption":"Association MO5.COM"},"image":{"@id":"https:\/\/mo5.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pages\/Association-MO5COM\/9540357570","https:\/\/x.com\/assomo5","http:\/\/www.instagram.com\/assomo5","https:\/\/www.youtube.com\/channel\/UCRncMsBo89C9u_8gpWnsOVw\/featured","https:\/\/bsky.app\/profile\/assomo5.bsky.social","https:\/\/twitch.tv\/mo5assoretro"]},{"@type":"Person","@id":"https:\/\/mo5.com\/#\/schema\/person\/e2593639b2e77eace001e56b26086749","name":"Sylvain Glaize","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/c57fffe6046f79130765edc0cc15c31865aef60892197deca86f5c61d3f2261b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c57fffe6046f79130765edc0cc15c31865aef60892197deca86f5c61d3f2261b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c57fffe6046f79130765edc0cc15c31865aef60892197deca86f5c61d3f2261b?s=96&d=mm&r=g","caption":"Sylvain Glaize"},"url":"https:\/\/mo5.com\/fr\/author\/mokona78\/"}]}},"_links":{"self":[{"href":"https:\/\/mo5.com\/fr\/wp-json\/wp\/v2\/posts\/641","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mo5.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mo5.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mo5.com\/fr\/wp-json\/wp\/v2\/users\/329"}],"replies":[{"embeddable":true,"href":"https:\/\/mo5.com\/fr\/wp-json\/wp\/v2\/comments?post=641"}],"version-history":[{"count":0,"href":"https:\/\/mo5.com\/fr\/wp-json\/wp\/v2\/posts\/641\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mo5.com\/fr\/wp-json\/wp\/v2\/media\/20503"}],"wp:attachment":[{"href":"https:\/\/mo5.com\/fr\/wp-json\/wp\/v2\/media?parent=641"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mo5.com\/fr\/wp-json\/wp\/v2\/categories?post=641"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mo5.com\/fr\/wp-json\/wp\/v2\/tags?post=641"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}