Skip to content

Lab Track

The lab track teaches machine-facing C through small device-shaped exercises. Each lab is split into:

  • overview: what the device model is;
  • tasks: what you implement and what gaps are intentionally left;
  • check: commands, prompts, and external reading.

Sequence

LabDevice ideaCheck
Lab 1bit masks, CMOS/RTC, BCDmachinelab test rtc
Lab 2PIT divisors and timer IRQsmachinelab test timer
Lab 3i8042 keyboard and scancodesmachinelab test kbd
Lab 4PS/2 mouse packetsmachinelab test mouse
Lab 5VBE framebuffer and spritesmachinelab test graphics
Lab 6AC97-lite PCM audiomachinelab test audio
Lab 716550 UART and serial protocolsmachinelab test uart

Method

  1. Read the overview.
  2. Run the failing starter test.
  3. Implement the requested functions.
  4. Keep reusable helpers small.
  5. Produce one artifact: test output, screenshot, WAV, trace, or replay.

TIP

Fresh stubs are expected to fail. The first failure is the starting point, not evidence that setup is broken.

Course/docs licensed CC BY 4.0. Code licensed MIT.