Skip to content

Examples

Machine Lab examples are meant to show where the labs lead.

Word Processor

Uses keyboard, timer, and framebuffer ideas:

  • cursor movement;
  • insertion and deletion;
  • wrapping and scrolling;
  • status bar and document stats.
sh
machinelab run --headless --script scripts/write_note.mlabscript \
  --dump-frame build/write.ppm -- build/examples/word_processor

Word processor screenshot

Music Maker

Uses timer, keyboard, graphics, and audio:

  • tracker grid;
  • tempo and playhead;
  • per-track instruments;
  • mixer meters;
  • generated PCM output.
sh
machinelab run --headless --script scripts/music_maker_demo.mlabscript \
  --audio-wav build/music.wav --dump-frame build/music.ppm -- build/examples/music_maker

Music maker screenshot

Games And Project Seeds

  • breakout_demo: timer-driven physics, keyboard state, collision, score, lives.
  • flappy_bird: replay scripting, audio, frame capture, and game loop.
  • ninjix: larger port that exercises input, graphics, audio, and UART pairing.

Breakout screenshot

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