💾 Archived View for gemlog.blue › users › redbug › 1676281922.gmi captured on 2024-05-10 at 17:04:27. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-03-20)
-=-=-=-=-=-=-
--------------------------------------------------------------------------------
title: 'Du son sur le haut-parleur interne' feed: limit: 10 taxonomy: tag: - Prehistoire media_order: pexels-sander-3359003.jpg date: '22-12-2022 6:10' publish_date: '22-12-2022 6:10'
--------------------------------------------------------------------------------
Encore un peu de préhistoire informatique,
Retour en 94-95... J'ai un 286 sans carte son et voudrait écouter des fichiers wav téléchargé d'Internet (via le réseau de la Polytech).
===
J'avais donc imaginé un nouveau format qui ressemblait un peu au `.avi` (format que ne je connaissais évidemment pas encore). Il pouvait encapsuler différents streams dont le stream `son`. C'est ce stream qui était joué sur le haut-parleur interne en 1bit, 8000hz.
Tout était bien documenté:
The Multimedia RedBugs File Format The RedB File Format The Redbugs file use this structure: Offset Name Length (in byte) Description 00h ID 4h Contains the characters "RedB" 04h Rb_Data Rb_Len The data 04h+Rb_Len Rb_Data (2) Rb_Len(2) Another data ... ... ... ... The Rb_Data Format Offset Name Length (in byte) Description 00h Rb_ID 4h Contains the type of this data 04h Rb_Len 4h Length of this data 08h Ddata Rb_Len-08h Data of this data :=) The Ddata format The .SON form definition Offset Name Length (in byte) Description 00h Freq 2 Frequency of the sample 02h Cps 2 Clock per second 03h Bit 1 # of bit of the sample
Après examen de ma documentation, on peut remarquer que:
La seule partie interresante du source est celle qui permet de programmer le haut-parleur interne d'un PC.
Cela se fait via les port 43h, 42h et 61h.
Selection du type d'onde via le port 43h du PIT (Programmable Interval Timer - Intel 8253)
mov al,90h out 43h,al
Activation du haut parleur (mise à 1 des 2 premiers bits) via le port 61h du PPI (Programmable Peripheral Interface)
in al,61h ; Read current port mode B (8255) or al,03 out 61h,al ; Switch on speaker and timer
Ecriture sur le port 42h du PIT de l'octet de poids faible de la fréquence V, et ensuite, écriture sur le même port de l'octet de poids fort. (V étant égal à 1193180 / fréquence en Hz )
out 42h,al
Désactivation du haut parleur (remise à 0 des 2 premiers bits)
in al,61h and al,0fch out 61h,al
J'ai tout mis sur
. L'intérêt est limité en 2022, mais ca fait partie de l'histoire (de la mienne en tout cas).