About Past the Magic
What this is
Past the Magic is a bit-exact LC-3 simulator with a live graphical datapath, built for anyone learning computer organization from the ground up. Assemble or hand-enter machine code, run it, and watch the actual bits move: the bus, the functional units, the control signals, fetch through decode through execute, one clock at a time. Nothing on screen is a stand-in for the machine — the diagram you watch is the machine, driven by the same simulator core that executes your program.
A C-to-LC-3 explorer sits on top of the same simulator: write C, see it deconstructed into the assembly a compiler would generate under a standard calling convention (stack discipline, activation records), then step through that assembly and watch the same datapath execute it. The two halves share one machine and one mental model, because they are one continuous idea: high-level code is not magic, it becomes the instructions you already understand, one instruction at a time.
The pedagogy
Most simulators show you numbers changing — a register here, a memory cell there — and ask you to trust that something happened in between. That gap is exactly where the confusion lives for a first-time student: the machine looks like a black box that occasionally updates its display. This project's premise is the opposite: computing has no invisible layer. Every value that changes has a path it traveled and a control signal that moved it, and if a tool can show that path, a student stops memorizing behavior and starts understanding mechanism. Bottom-up: start from gates and registers, build up through the instruction set, build up again through a C compiler that targets that instruction set, so nothing above ever has to be taken on faith.
Who built it and why
I'm Matt Starolis. I have a BS in Electrical and Computer Engineering from UT Austin, where I took the introductory computing course under Yale Patt and later returned as an undergraduate TA, editor, and grader for that same course — including work on the second edition of the textbook the course is built around. I have watched this material land, and not land, for a lot of students across a lot of semesters. The tools available to them were built to execute programs, not to teach why the programs execute the way they do. I built the tool I wished existed when I was grading: one that shows the machine instead of describing it.
What's here now, what's next
The simulator and the live datapath view shipped first: assembly and machine code, full instruction-level and clock-level stepping, guided activities for a first pass through the material, and shareable links that open the instrument on an exact program and moment so a class or a conversation can point at the same thing. The C-to-LC-3 explorer is live in the same instrument: write C — pointers, arrays, and strings included — step it by C line, watch the activation record building and unwinding on the stack as you step, and watch the same datapath execute it. What's next is memory read as your program's own variables instead of raw hex. Both halves are free to use; that's a deliberate choice, not a placeholder for a future paywall on the core tool.