40 years of one square beep - and still going! single channel, no volume control...
so far this is the only chip in Furnace which has a real hardware output option.
to enable it, select file > configure chip... > PC Speaker > Use system beeper.
be noted that this will only work on Linux as Windows does not provide any user-space APIs to address the PC speaker directly!
you may configure the output method by going in Settings > Emulation > PC Speaker strategy:
evdev SND_TONE
: uses input events to control the beeper./dev/input/by-path/platform-pcspkr-event-spkr
.SND_TONE
demands frequencies, but Furnace uses raw timer periods...KIOCSOUND on /dev/tty1
: sends the KIOCSOUND
ioctl to control the beeper./dev/port
: writes to /dev/port
to control the beeper./dev/port
.KIOCSOUND on standard output
: sends the KIOCSOUND
ioctl to control the beeper.outb()
: uses the low-level kernel port API to control the beeper.CAP_SYS_RAWIO
to the Furnace executable: sudo setcap cap_sys_rawio=ep ./furnace
.real hardware output only works on BIOS/UEFI (non-Mac) x86-based machines! attempting to do this under any other device will not work, or may even brick the device (if using /dev/port
or outb()
)!
oh, and of course you also need the beeper to be present in your machine. some laptops connect the beeper output to the built-in speakers (or the audio output jack), and some other don't do this at all.
ha! effects...
this chip uses the Beeper instrument editor.
the following options are available in the Chip Manager window: