feat(renaser): Fase 12 — la bocina del PC como capacidad de host

La Fase 11 dio al userspace un reloj; la Fase 12, una voz. Hasta hoy
renaser solo sabía dibujar para llamar la atención.

- Driver `drivers/altavoz`: el canal 2 del PIT como generador de onda
  cuadrada + la compuerta del puerto 0x61. El canal 0 —latido del
  kernel— no se toca. `tono(hz)` es su única vía; un 0 la silencia.
- Capacidad `sys_tono(frecuencia_hz)` — la undécima función del host.
  La bocina es un recurso único: pertenece a la ventana ENFOCADA,
  como el teclado desde la Fase 8c. Al cambiar el foco, el compositor
  la calla; la nueva dueña la reclama en su próximo fotograma.
- App nueva `tonada` (`apps/tonada/`, wasm32): toca una escala de Do
  mayor y la dibuja como una escalera de barras. Junta el reloj
  (`sys_tiempo_mono`) y la bocina (`sys_tono`).
- `GENESIS` crece de 6 a 7 apps; `tonada` es la maestra del escritorio.

Verificado en QEMU. Visual: la escalera de `tonada` recorre la escala
con el tiempo. Sonido: con la bocina enrutada a un WAV, el PCM
capturado es una onda cuadrada oscilante de ~375 Hz — la frecuencia
media de la escala de Do mayor.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-22 20:54:48 +00:00
parent a388ab14b7
commit 922ad1f86b
13 changed files with 371 additions and 15 deletions
+18 -2
View File
@@ -195,8 +195,24 @@ tiempo. Verificada en QEMU (`sendkey`).
de que el tiempo es absoluto, no una cuenta de fotogramas.
- El userspace de génesis crece de 5 a 6 apps.
Líneas abiertas posteriores: audio como capacidad de host; reciclado de las
ranuras de ventana cerradas.
## Fase 12 — la bocina del PC como capacidad de host (completada)
La Fase 11 le dio al userspace un reloj; la Fase 12, una voz. La bocina del PC
se suma a la matriz de capacidades. Verificada en QEMU.
- Driver `drivers/altavoz`: el canal 2 del PIT como generador de onda cuadrada
+ la compuerta del puerto 0x61. El canal 0 (latido del kernel) no se toca.
- Capacidad `sys_tono(frecuencia_hz)` —la undécima—. La bocina es un recurso
único: pertenece a la ventana ENFOCADA, como el teclado desde la Fase 8c. Al
cambiar el foco, el compositor la calla.
- App nueva `tonada`: toca una escala de Do mayor y la dibuja como una
escalera de barras. Junta el reloj (`sys_tiempo_mono`) y la bocina
(`sys_tono`). El userspace de génesis crece de 6 a 7 apps.
- Verificado por captura: la onda cuadrada de la bocina, enrutada a un WAV,
late a la frecuencia media de la escala.
Líneas abiertas posteriores: reciclado de las ranuras de ventana cerradas;
audio con varias voces (PCM) más allá del tono único de la bocina.
## Principios que persisten entre fases