A virtual machine written in Pascal for Delphi and FPC/Lazarus.

This repository is for the educational series “Lets Build a Virtual Machine” on the ChapmanWorld YouTube channel.

The code is likely to change dramatically as the series continues, therefore, each part will be tagged (branched) to match the parts/episodes of the series.

Road-Map & Repository.

I began this project for a series of videos that I wanted to make for my YouTube channel back in August of 2020.
It’s now late in December 2021, and while I have been able to make several parts to the video series, including some “related content” tutorial videos, the series has advanced far more slowly than I would have liked. I’ll spare you the full series of excuses, suffice to say that as a full-time employed software developer, husband and father, time is precious, and time to record video content has become rare.

With the new year pending, I’ve been considering the direction that I’d like to take projects such as this, and others that I’ve been planning for the YouTube channel, and decided two things. First of all, the cwRuntime project will be deprecated. You can still find it’s source code at, however I’ll not be maintaining it going forwards. The second decision is that I’ll make only one more part of the cwVirtualMachine series. The final part will check off some arithmetic and branching logic instructions, which should make the virtual machine code a sufficient basis for developing your own virtual machine from it should you wish to.

With both the cwRuntime and cwVirtualMachine projects coming to a close, there is little point in continuing to maintain a subversion server to host them. Instead, I’ve attached the source code as zip files below.
After the final video has been uploaded, I’ll also upload a zip of the final code.

Stay Tuned for more to come in 2022!