Classroom Public page

Lab Pack 12: Virtus OS (Week 13)

235 words

The standard library. Five worksheets in worksheets/ch12/ build the 11 Virtus OS services. Lab 12.5 scopes the capstone (delivered in week 14).


Anchors the week

Week 13: Virtus OS. The 9 primary services (Math, Memory, Output, Console, Screen, GamePad, Sound, Sys, GPIO) plus 2 helpers (String, Array). ~34 entry points total. Every entry point a .vm function the linker resolves your compiler's calls against.

Concept the lab embodies

The OS as a collection of subroutines. Petzold's thesis from Ch 22: "A program running under CP/M makes use of a collection of subroutines." Your version is RV32I-Lite plus the Virtus naming convention; the structural pattern is identical.

The five worksheets

Worksheet Time Purpose
lab-12.1-implement-math-lib.md ~90 min The simplest service; arithmetic helpers
lab-12.2-implement-memory-string-array-lib.md ~120 min Memory allocator + String + Array
lab-12.3-implement-screen-lib.md ~120 min Framebuffer poking via the VCP
lab-12.4-implement-keyboard-sound-vcp-integration.md ~120 min Input and audio via the VCP
lab-12.5-capstone-ship-the-virtus-console.md ~60 min Capstone scoping; ship next week

Grading rubric

Per-worksheet rubrics. Week-level: all 9 primary services and 2 helpers pass the academy's compliance test suite; one capstone-ready Virtus Console program builds and runs.

What's next

Lab pack 13: Capstone Delivery. Ship.