A simple kernel for 32-bit x86 that plays Twinkle-Twinkle, how cool is that?
I built this while learning more about bare-metal programming
while following the Bare Bones guide.
It uses the Programmable Interval Timer (PIT)
chip with Mode 3 (Square Wave) to synth the sound waves. In order to compile you'll need to have a cross compiler for i686,
and then specify the location of both the compiler per say and the assembler in the makefile,
I used gcc-15.2.0 and binutils-2.45. You can run directly via QEMU with make emulation,
or generate a GRUB ISO image make image.
- Basic terminal output capabilities
- Basic interface to play frequencies using PIT
- Switch busy waiting of notes to hardware interruptions
- Keyboard piano mode
- MIDI support?