Playputer SDK is open source C/C++ framework whose purpose is to help development of virtual machine libraries for playing games. These libraries emulate classic home computers, video game consoles, and other hardware or software systems used for casual gaming.

At this moment it is necessary to have Windows with Visual C++ 6.0 installed in order to compile and run projects in Playputer SDK.

It is still in pre-alpha version, meaning development has more or less just started and there will be changes to library APIs and project files.

What's inside

Playputer SDK contains original code, and copies of other open source packages. The original code in it is under the new BSD license and is free software. You may use it for any personal, commercial or educational purpose, including installing it on as many different computers as you wish.

Important: The redistributed open source packages are covered by their own licenses which accompany their source. Please see below for a list of these packages, and their location within the Playputer SDK directory structure.

Where to start

By default Playputer SDK will install into C:\Program Files\Playputer\sdk folder. At this moment there exists only workspace for VC6. You can find it in C:\Program Files\Playputer\sdk\build\vc6

Workspace contains these projects:

  • vm_gba - GameBoy Advanced emulator based on VisualGameBoy source code.
  • vm_caprice32 - Amstrad emulator based on Caprice32 source code.
  • PlayputerTest - Simple application for testing complete system (audio,video,disk,joystick,etc.).
  • ScreenTest - Simple application for testing video output only.
  • lib_infozip - Library for managing zip files.

These projects serve as an example and test environment for creation of other Playputer compatible virtual machine libraries. Such library is a DLL that exports two sets of functions:

  • PuterInfo API - these functions return general information about system that library is emulating. System name, configuration, file support, format of audio and video stream, etc.
  • Playputer API - these functions are used during emulation process. They handle keyboard input, system events, provide data for audio and video stream output, etc.


Playputer SDK contain only ROMs for which their owner has given permission for their redistribution.

Amstrad CPC ROMs

Firmware and BASIC ROMs copyright Locomotive Software and Amstrad plc. Amstrad has given permission for their redistribution, but retains the copyright.

How to legally obtain ROMs or disk images:

  • You can obtain a license to them by purchasing one via a distributor or vendor who has proper authority to do so.
  • You can download one of the few that have been released for free to the public for non-commercial use.
  • You can purchase an actual classic home computer (unless you have one already), read the ROMs or disks yourself, and use that data.

Important: This is not allowed:

  • You are not allowed to download and "try" ROMs, even if it is for 24 hours only.
  • You are not allowed to distribute Playputer SDK (or any derivates of it) in any form if you sell, advertise or publicize illegal CD-ROMs or other media containing ROM images.

The restriction do not apply if the media is published by the ROMs copyrights owners.