Différences entre versions de « L'informatique rétro (apprendre et comprendre) »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 129 : Ligne 129 :
  
 
=== Ch 5.1: Z80 Retro ===
 
=== Ch 5.1: Z80 Retro ===
xxx
+
 
 +
[https://www.youtube.com/watch?v=oekucjDcNbA&list=PL3by7evD3F51Cf9QnsAEdgSQ4cz7HQZX5 Z80 Retro] est la série de vidéo Youtube concernant la '''re-création''' d'une "ordinateur" autour d'un processeur Z80 et d'un lecteur de carte SD pour le stockage (donc d'un pilote SPI en assembleur).
 +
 
 +
Le Z80 est l'un des processeurs les plus populaire de tous les temps. Il était abondement utilisés dans l'aire pré-x86 et est resté très populaires aujourd'hui (ils sont toujours fabriqués et vendus en 2022).
 +
 
 +
[[Fichier:Z80-Retro.png|960px]]
 +
 
 +
Ce n'est pas tout, John re-implémente un version de CP/M pour cet ordinateur. CP/M

Version du 22 juin 2022 à 22:06

Introduction

C'est la deuxième fois que je me laisse aller à écrire quelques mots plus "personnel" sur le savoir accumulé.

Dans les années 80 à 90, il était courant de retrouver des schémas descriptifs et des explications concernant le fonctionnement général de nos ordinateurs. Sans pour autant comprendre, à l'époque, la réelle implication de Peek et Poke.

C'était le temps du Commodore 64, Amiga, ZX Spectrum, Atari, etc. Les ordinateurs modernes ne perçaient pas encore le domaine du grand public, le téléphone était encore attaché au mur et Internet quelque-chose qu'il fallait encore inventer!

Je suis régulièrement nostalgique de cette époque où pouvoir contrôler du matériel et en comprendre le fonctionnement (même grossièrement) signifiait encore quelque-chose!

La nostalgie aidant, je furette donc de temps à autre les blogs et chaîne YouTube sur le sujet. Il faut dire que la chaîne YouTube "Adrian's Digital Basement" à été pour moi une grande source de découverte et redécouverte. Si vous lisez ces lignes, il y a de fortes chances que vous connaissiez déjà cette chaîne.

Et l'aventure MC Hobby m'a aussi apporté son lot de savoir plutôt orienté "électronique" (voyez l'article "Origine des connaissances" si cela vous intéresse).

Ces derniers moi, j'ai agrémenté mon savoir d'informations techniques sur ces technologies d'un autre age. J'ai découvert que l'on pouvait re-concevoir un ordinateur 8-bits ou 16 bits.

Un parcours initiatique

Il n'est pas question ici de détailler le fonctionnement d'un Commodore 64, d'un Amiga ou toute autre machine ayant existé.

Nous allons faire de la rétro-informatique dans son aspect le plus fondamental... pour recréer un ordinateur en partant de rien... puis voir comment faire évoluer ces connaissances pour en faire d'autres choses tout aussi intéressante.

Je vous invite donc dans mon parcours initiatique pour re-créer/re-concevoir un ordinateur 8 ou 16bit à la mode "retro" en repartant de rien!

Ch 1: La curiosité

Je l'ai déjà dis, là chaîne YouTube "Adrian's Digital Basement" d'Adrian Black est un puits de curiosités.

AdrianBlack.png

Ce gars qui ne connaissait rien en électronique est devenu un réparateur pro. Il explique ses découvertes et son apprentissage. C'est certains qu'il revisite des machines éminents connue mais voir ce qu'il y a sous le capot et comment les réparer c'est vraiment très intéressant.

Cela ne l'empêche pas d'explorer d'autre type de machines plus rare (comme un SWTPC 68000) nécessitant de la recherche et de la pugnacité.

8BitGuy.png

La chaîne de 8 Bit Guy est aussi intéressante... mais on est moins proche du matériel. Il n'empêche que certaines vidéos sont techniquement très intéressantes. Les vidéos se font plus rares depuis le développement de son jeu "The Attack of the Petscii robot".

Ch 2: Retro-computing - les bases

Fût un jour où je suis tombé sur les vidéos de "Ben Eater" dont le titre était pour le moins interpellant "Building an 8-bit breadboard computer!".

BenEater-8bits-breadboard-computer.png

Cette série de vidéos tente bien de réaliser un ordinateur 8 Bit élémentaire en utilisant de simples composants que l'on peut facilement se procurer. De surcroît, celui-ci est monté sur breadboard!

J'ai gardé un oeil sur ce projet tout en le trouvant assez extravagant. Sur le plan technique, c'est captivant!

A la fin de ce projet, il y a bien une machine capable de fonctionner et de faire des opérations. Il est à la source de nombreux autres projets du même type, certains beaucoup plus avancés.

Certes c'est un ordinateur rudimentaire mais c'est quand même un ordinateur!

Ch 3: Bravo 8 bit computer

Maintenant ça devient sérieux.

Bravo-8bit-computer.png

Sur base du projet de Ben Eater, Config IO à re-créer un ordinateur 8 bits plus évolué que celui de Ben Eater. Il utilise toujours exclusivement des composants logiques.

Cet ordinateur est constitué d'une série de cartes empilées. Chaque carte reprenant une ou deux fonctionnalités de base. Chaque fonctionnalité expliquée en détail et complètement testée grâce à un Arduino Mega (c'est comme un test script hardware).

Ce projet avancé et ses vidéos détaillées permettent de découvrir:

  • le bus de données,
  • le bus d'adresse,
  • le génération du signal d'horloge,
  • le Program Counter,
  • les registres A & B,
  • Les différents signaux de gestion (logique de contrôle)
  • Le registre d'instruction,
  • l'unité Arithmétique et logique (ALU),
  • les opérations au niveau binaire/bus,
  • le MicroCode en ROM, sortie, etc
  • la sélection de banques
  • l'UART (interface principale)

Le projet "Bravo 8bit computer" est développé en 14 vidéos YouTube.

A la fin du projet, plus besoin de l'Arduino Mega et l'ordinateur est fonctionnel.

Seul un terminal est nécessaire pour dialoguer avec la machine par l'intermédiaire du port série. Celle-ci dispose également d'un mini OS (rien à voir avec un DOS) mais déjà assez pour charger un jeu pong et l'exécuter dans un terminal.

C'est, en gros, la même information que le projet de Ben Eater mais avec améliorations et résultat plus professionnel.

8bit bravo computer est même possible d'acheter un kit!

Ch 4: Programmation Assembleur Z80

todo

Ch 5: projets avancés

A partir d'ici, il y a deux projets vraiment très intéressant mais d'un niveau nettement supérieur.

Pour moi, ils sont tout deux sur le même piédestal. Ils présentent tout deux un intérêt majeur dans leur domaine respectif.

  • x86 breadboard computer de Saldor
  • Z80 Retro de John's basement

Ch 5.1: x86 Breadboard computer

Là il faut s'accrocher mais cela vaut le coup! A ne pas aborder sans connaissances préalable!

Le monde x86 est celui qui à succédé à la première génération d'ordinateur 8 bits familiaux. Après mon commodore 128 et mon Amiga 500, je suis passez sous x86 comme beaucoup d'entre-nous. J'utilise toujours du X86 même si c'est Linux. Difficile donc d'ignorer cette partie de notre histoire.

L'aventure commence avec le 8086 et 8088 (PC XT) ayant fait une timide percée, c'est le 80286, 80386 et 80486 qui aurons surtout fait une percée dans l'informatique domestique.

Quoi qu'il en soit, n'importe quel x86 ne fonctionne pas vraiment différemment d'un 8086/8088 et ce que l'on apprend avec un 8086/8088 (qui tient encore sur un breadboard) sera toujours d'application avec les processeurs suivants.

X86-breaboard-computer.png

Ecrire un programme pour x86 (en assembleur off-course) demande nettement plus de préparation que pour les autres ordinateurs 8bit présentés ci-avant (ou Z80). On passe aussi à 16 bits.

C'est en cela que les vidéos de Slador sont vraiment intéressantes. Elles sont détaillées et contiennent assez d'informations pour pourvoir les suivre à condition d'avoir un minimum .

Au moment de l'écriture de ces lignes (juin 2022), j'attends la 7ième vidéos avec impatiente mais Saldor m'a informé qu'elle demande beaucoup de préparatifs.

Que découvre ton dans ces vidéos:

  • Créer un premier programme 16-bit pour un Intel x86
  • Memory Map (carte mémoire) et interruptions
  • Plus d'interruptions et afficheur LCD
  • Conventions d'appels et exécution pas-à-pas
  • Contrôleur d'interruption et timers (partie 6)

Ch 5.1: Z80 Retro

Z80 Retro est la série de vidéo Youtube concernant la re-création d'une "ordinateur" autour d'un processeur Z80 et d'un lecteur de carte SD pour le stockage (donc d'un pilote SPI en assembleur).

Le Z80 est l'un des processeurs les plus populaire de tous les temps. Il était abondement utilisés dans l'aire pré-x86 et est resté très populaires aujourd'hui (ils sont toujours fabriqués et vendus en 2022).

Z80-Retro.png

Ce n'est pas tout, John re-implémente un version de CP/M pour cet ordinateur. CP/M