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
| Lab | Device idea | Check |
|---|---|---|
| Lab 1 | bit masks, CMOS/RTC, BCD | machinelab test rtc |
| Lab 2 | PIT divisors and timer IRQs | machinelab test timer |
| Lab 3 | i8042 keyboard and scancodes | machinelab test kbd |
| Lab 4 | PS/2 mouse packets | machinelab test mouse |
| Lab 5 | VBE framebuffer and sprites | machinelab test graphics |
| Lab 6 | AC97-lite PCM audio | machinelab test audio |
| Lab 7 | 16550 UART and serial protocols | machinelab test uart |
Method
- Read the overview.
- Run the failing starter test.
- Implement the requested functions.
- Keep reusable helpers small.
- 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.