16Fermer18
Kevin KoflerLe 20/07/2015 à 21:43
Sur les PCs où il est présent, le buzzer interne peut aussi être contrôlé à travers l'accès direct aux ports, par exemple à travers le pilote rwports.sys de TiLP (libticables2) ou CalcForgeLP (libcalccables).

void beeperOn(unsigned frequency)
{
  io_wr(0x43, 0xB6);
  frequency = 1193180u / frequency;
  io_wr(0x42, frequency & 0xFFu);
  io_wr(0x42, frequency >> 8);
  io_wr(0x61, io_rd(0x61) | 3);
}

void beeperOff(void)
{
  io_wr(0x61, io_rd(0x61) & ~3);
}