Fast Emulation of ComputerCraft Advanced Fantasy Terminal Platform Full Peripheral Support with Directory Mounting Support for Multiple Computers All-New Graphics Mode Highly Configurable Extensible Brand-New Debugger CraftOS-PC Online LuaJIT Support Fast Emulation of ComputerCraft Advanced Fantasy Terminal Platform Full Peripheral Support with Directory Mounting Support for Multiple Computers All-New Graphics Mode Highly Configurable Extensible Brand-New Debugger CraftOS-PC Online LuaJIT Support
CraftOS-PC logo

CraftOS-PC

A fast and feature-filled ComputerCraft emulator

Current Version: v2.8.1

 View on GitHub 
or get the source on GitHub  |  Getting Started  |  Documentation
Alternate versions: CraftOS-PC Accelerated (experimental)  |  CraftOS-PC Online
Fast Emulation of ComputerCraft

Fast Emulation of ComputerCraft

CraftOS-PC is a native ComputerCraft emulator written in C++. It uses the official Lua 5.1 source code to run CraftOS, which gets rid of many bugs that plague the Java implementation of Lua used in ComputerCraft. Using C++ also allows CraftOS-PC to run quicker than any other Java implementation of ComputerCraft, performing up to 90% faster than CCEmuX and CC: Tweaked in Minecraft.

Advanced Fantasy Terminal Platform

Advanced Fantasy Terminal Platform

CraftOS-PC isn't just a ComputerCraft emulator: it's also an excellent platform for writing advanced 80s/90s-style programs. WolfCC by Ocawesome101 is a 3D shooter game inspired by Wolfenstein 3D that is designed exclusively for CraftOS-PC, and showcases many of the best features of CraftOS-PC in a fun game. And it's all accomplished in under 1500 lines of code - showing the versatility of the ComputerCraft and CraftOS-PC APIs.

Full Peripheral Support with Directory Mounting

Full Peripheral Support with Directory Mounting

CraftOS-PC supports many of the peripherals available in ComputerCraft, including monitors, speakers, disk drives, modems, and more. You can connect and disconnect peripherals using the attach and detach commands from the shell. The periphemu API can also be used to manipulate peripherals from Lua. In addition, the mount and unmount commands and the mounter API allow mounting real directories inside the CraftOS environment.

Support for Multiple Computers

Support for Multiple Computers

CraftOS-PC can run multiple emulated computers that are completely separated from each other. Each computer gets its own filesystem and local configuration using an ID number, just like ComputerCraft. Computers can be created and attached just like any other peripheral, using either the attach command or the periphemu API.

All-New Graphics Mode

All-New Graphics Mode

CraftOS-PC introduces a new graphics mode that allows bitmapped pixel access to the terminal with up to 256 colors available to use. When in graphics mode, the screen has a resolution 6 times wider and 9 times taller than the text size of the terminal. This allows a base resolution of 306x171 pixels on a standard sized terminal.

Built-In Screenshots & GIF Recorder

Built-In Screenshots & GIF Recorder

CraftOS-PC includes a built-in screenshot and GIF recording tool. No longer do you need to open Snipping Tool or use recgif; CraftOS-PC can do it for you. You can press F2 to take a screenshot or F3 to toggle GIF recording, which will be saved to the screenshots directory in the CraftOS-PC save folder. Or you can use F12 to copy the screenshot directly to your clipboard. GIFs are restricted to a maximum length of 15 seconds by default to save memory usage, but this can be modified in the configuration.

Highly Configurable

Highly Configurable

CraftOS-PC allows you to configure every part of the ComputerCraft experience. The config command and API allow access to the configuration directly from inside CraftOS. The configuration is stored as plain JSON, so it's easily editable even outside the ComputerCraft environment.

Extensible

Extensible

CraftOS-PC features a plugin API, allowing extending the functionality of CraftOS through the use of C++ code. One example of a plugin available is a compatibility layer for CCEmuX: it emulates the ccemux API, allowing programs designed for it to work with CraftOS-PC. It may also be possible for some C Lua libraries to work with CraftOS-PC. See the documentation for more details.

Brand-New Debugger

Brand-New Debugger

CraftOS-PC v2.2 introduces the debugger peripheral, which allows you to set breakpoints, step through programs, and print messages to the debug console without modifying the main computer's screen. This can be extremely useful for finding that one little problem in your program. For more information on how to use it, see the full documentation for the debugger.

CraftOS-PC Online

CraftOS-PC Online

With the release of CraftOS-PC v2.3 comes CraftOS-PC Online, a version of CraftOS-PC that runs directly in your browser. It runs in an IDE similar to Visual Studio Code, and supports file browsing and editing, opening multiple windows, screenshots, downloading & uploading files, and more. It works in most modern browsers with WebAssembly and shared memory support. You can access CraftOS-PC Online at https://www.craftos-pc.cc/online/.

LuaJIT Support

LuaJIT Support

CraftOS-PC Accelerated is a fork of CraftOS-PC that uses the LuaJIT engine to increase speeds even further, with up to 100x faster execution (depending on the workload). It uses the same data locations as standard CraftOS-PC, and can be installed alongside it without issues. Please note that not every program is compatible with CraftOS-PC Accelerated, and support is not guaranteed.