A downloadable YCPU

Write ASM like it's 1979 with the YCPU, a processor inspired by the golden age of microcomputing! The download package on this page includes an open source emulator and assembler for the YCPU. You'll be running an example program seconds after unzipping the package. It's that easy.

The YCPU combines the best features of processors from the late 70's and early 80's: an exhaustive instruction set, a complete set of addressing modes, memory segmentation and protection, user/supervisor modes, and dead simple hardware IO. Beginners will appreciate that you can begin programming for the YCPU after a quick study of the instruction list (Section 2 of Documentation/ycpu.txt). Enthusiasts will appreciate the YCPU's user/supervisor divide and memory segmentation - features that make development of compilers, operating systems, and complicated programs much easier.

This emulator is designed to be used as a fully programmable CPU in a video game - and because it is written as an open-source, permissively licensed DLL, you can include it in your video game with a minimum of effort. It could also be used by programming enthusiasts, arduino aficionados, educators, and DCPU hobbyists who are ready to move to a more powerful architecture.

The YCPU was inspired by notch's DCPU, the processor that controlled space ships in the game 0x10c. One day, I'd like to use this processor in game of my own - something inspired by Escape Velocity and Faster Than Light. But I also want to help you get started programming as well, or include this in your own game. Post your questions on Reddit at r/ycpu, and let's get started!

Getting Started

You can launch the YCPU Emulator by running YLauncher.exe, or from the command line by running App\YCPUXNA.exe. Make sure you have the .NET 4.0 Client Runtime and the XNA 4.0 Runtime installed (you'll find links to these on the itch.io download and in the readme.txt file).

To get started programming, you should read Documentation/ycpu.txt - start with the instruction set, and come back to the other features as you start to expand your familiarity with the processor. For your first program, you can edit the included assembly program in the Examples folder.

Source Code

The YCPU Emulator is 100% open source (MIT license) and hosted on Github at github.com/ZaneDubya/YCPU.

Release date Mar 18, 2016
Tagscpu, dcpu, emulator, programming, Retro, ycpu
LicenseMIT License
Average sessionA few minutes
LinksCPU Documentation, Source code

Install instructions

As a prerequisite of creating software for the YCPU, you should review the documentation (the file "ycpu.txt" in the folder "Documentation").

If the assembler/emulator fails to run, you will need to install these dependencies:


YCPU Emulator (Zip, Updated March 28, 2016) 642 kB