Chipgrid / Documentation / Pour aller plus loin

Pourquoi 8 bits ?

Les puces, les machines, les compositeurs et les astuces : l’onglet « Pourquoi 8 bits ? » de l’app.

« 8 bits », c’est la taille des nombres que traitait le processeur : de 0 à 255. Son et image étaient produits par de petites puces dédiées aux options très limitées — et chaque limite est devenue un style.

Bits, octets et hexadécimal

Un bit vaut 0 ou 1. Huit bits font un octet : 256 combinaisons, de 0 à 255 — le « 8 » de 8 bits. Cliquez sur les bits :

Les programmeurs écrivaient les octets en hexadécimal (base 16) : chaque groupe de 4 bits devient un seul symbole, 0–9 puis a–f (10–15). Un octet s’écrit donc toujours en 2 symboles : ff = 255, 80 = 128. Beaucoup de réglages des puces tenaient sur 4 bits — un seul chiffre hex : 16 volumes, 16 couleurs sur C64, 16 vitesses de bruit. Chipgrid utilise la base 36, qui commence comme l’hex et continue jusqu’à z = 35 (voir le Manuel).

Petite histoire

1977Atari 2600 — sa puce TIA a 2 voix et une gamme célèbre pour être fausse.
1982ZX Spectrum — un « beeper » 1 bit : le processeur allume et éteint lui-même le haut-parleur
1982Commodore 64 — la puce SID (Bob Yannes) : 3 voix, 4 formes d’onde et un vrai filtre analogique.
1983Famicom (NES en 1985) — la 2A03 : 2 pulses, un triangle, un bruit et un canal d’échantillons. Cet outil l’émule.
1985–86Super Mario Bros. et Zelda de Koji Kondo, Metroid de Hirokazu Tanaka ; sur C64, Rob Hubbard et Martin Galway.
1987Soundtracker sur Amiga : la musique écrite en lignes de notes — le « tracker ». La demoscene grandit autour de ces machines.
1989Game Boy — 2 pulses, une petite table d’onde, un bruit. 160×144 pixels, 4 nuances de vert.
1998–2000Nanoloop et LSDJ font de la Game Boy un instrument : la chiptune sort des jeux.
2006–12Blip Festival, New York : la chiptune sur scène. Puis Anamanaguchi, Chipzel…
2015PICO-8 : une « console imaginaire » aux limites 8 bits volontaires.

Les techniques, à l’oreille

arpUn arpège : un accord sur une seule voix, une note par image.
dutyLe timbre par la largeur de pulse (duty) : 12,5 %, 25 %, 50 %.
kickUne note qui chute très vite devient une percussion.
noiseLe bruit : charleston, caisse claire, métal — le registre à différentes vitesses.
echoPas de réverb ? Un faux écho : la mélodie rejouée plus doucement, 3 ticks plus tard, sur la deuxième voix.
laserLes glissés : les bruitages de tous les shoot-’em-up.
stealLe jonglage de canaux : la grosse caisse coupe la basse sur la même voix.

1 · Quatre voix, pas plus

La puce de la NES avait 2 pulses, 1 triangle et 1 bruit. Mélodie, harmonie, basse, batterie : quatre rôles, quatre voix. Ici P et G se partagent les deux pulses, B a le triangle, N le bruit. Une cinquième note vole un canal — regardez les VU-mètres afficher VOLÉ.

2 · Le pulse et son rapport cyclique

Même hauteur, trois largeurs : 12,5 %, 25 %, 50 %. Plus le pulse est étroit, plus il a d’harmoniques aiguës : fin et nasal. 50 % est le carré : seulement les harmoniques impaires, son creux.

3 · Le triangle, en 16 marches

Un compteur 4 bits qui va de 15 à 0 puis remonte : un escalier. Pas de volume : allumé ou éteint.

4 · Le bruit d’un registre à décalage

15 bits en rang. À chaque coup d’horloge : XOR de deux bits, tout décale d’un cran, le résultat entre à gauche. Le dernier bit est la sortie. Mode 0 : se répète après 32 767 pas (souffle) ; mode 1 : après 93 (un son métallique). La vitesse d’horloge est la « hauteur ».

5 · Le volume en 16 marches

4 bits de volume = 16 niveaux. Un fondu est un escalier qu’on entend presque marche par marche.

6 · Les arpèges

Plus de voix pour un accord ? On joue ses notes l’une après l’autre, une par image vidéo (50/s en Europe). L’oreille les fond en un accord scintillant.

7 · L’image

Basse résolution (NES : 256×240 ; cet écran : 160×120), une toute petite palette, des sprites de 8×8. Astuces : miroir des sprites pour économiser la mémoire, tramage (un damier fixe) pour simuler des couleurs absentes, cycle de palette (changer les couleurs, pas les pixels), raster bars, défilement matériel et parallaxe (des couches à différentes vitesses) pour simuler la profondeur. Tout ça se programme aussi dans la grille : voir les exemples Visuels.

Pour aller plus loin

FamiTracker / Dn-FamiTracker (NES), LSDJ (Game Boy), GoatTracker (C64), Furnace (toutes les puces), Orca (le langage-grille dont cet outil s’inspire), PICO-8.

Esc