Existe um módulo do kernel chamado snd-pcsp
que exatamente tenta fazer isso (o código fonte está em sound/drivers/pcsp/
, você pode ver como ele endereça a porta 0x61). Ele é exposto como um dispositivo ALSA, por isso é fácil alimentar um fluxo de bits em tempo real.
No entanto, no meu sistema, o som que produz de forma audível não se parece muito com o que você coloca, pelo menos não o que eu tentei. Mas você não disse o que você quer usar. Eu também não acho que você pode ir até 1,19 MHz. Mas você sempre pode modificar o módulo do kernel para adaptá-lo às suas necessidades.
Se isso não funcionar, nada impedirá que você grave na porta 0x61 se o seu aplicativo de espaço do usuário for root e puder executar ioperm
. Mas é claro que você tem o problema de que o Linux não é um sistema operacional em tempo real, e seu aplicativo pode ser eliminado a qualquer momento. (E eu estaria interessado em maneiras de evitar isso também, como reservar um núcleo para esse aplicativo em particular).