Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Roland CPC Emulator


Roland is an emulator of the homecomputers Amstrad/Schneider from the series CPC 464/664/6128 for Linux und Windows. Roland depends on SDL > 1.2 and SDL-Image. For further information visit You can find the latest API Documentation on


The source is written in c++11 code and needs at leat a c++11 enabled Compiler. Supported are GCC native > 4.8, Visual Studio 2012-2015 or CygWin/MinGw.


Plattform Status
Ubuntu 64 bit * Build Status
Windows 32 & 64 bit VS2013 Build status
CodeClimate Code Climate
Codacy Codacy Badge

*Linux 32bit builds are possible without problems, but its not implemented in travis so far.


You will need cmake and git installed.

git clone
cd roland


Folowing an example of an unix release build:

cmake -H. -Bbuild -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
cmake --build build

If you plan to build an RPM package or to install with make,"-DCMAKE_BUILD_TYPE=" must be "Release". If you plan to build an run from source directory,"-DCMAKE_BUILD_TYPE=" must be "Debug".

RPM package

cmake --build build --target package


cmake --build build --target install


At the moment Visual Studio 2012 & 2013 32 & 64bit, Visual Studio 2015 32bit and MinGW are the only valid build environments. Following an example of a Visual Studio release build:

cmake -H. -Bbuild -G"Visual Studio 14 2015" -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release


You will need Doxygen installed to generate the documentation.

cmake --build build --target doc


Key Function
F1 toggle gui on/off
F2 insert disk in drive A:
F3 insert disk in drive B:
F4 enable/disable joystick emulation (cursorkeys + alt)
F6 toggle bilinear filtering in OpenGL graphics driver
F7 switch to 2D graphics driver depending on OS (default)
F8 switch to OpenGL graphics driver
F9 reset
F10 exit
F12 toggle fullscreen

Usage of the CPC 464/664/6128

Insert a disk, enter 'cat' [Enter] and you will see the directory. Enter 'run "filename"' [Enter] (mostly *.bas).


  1. press [F2]
  2. search a disk with [Arrowkeys] 'HarveyH.dsk' [Enter]
  3. type 'cat' [Enter]
  4. in this case the file is named 'Harvey'
  5. type 'run "harvey"' [Enter]
  6. press [F5] to emulate a joystick with [Arrowkeys] and [ALT]

Example 2 (Bjack1.dsk)

  1. ...
  2. ...
  3. ...
  4. in this case the file is named 'Bomb.bin'
  5. enter 'run "bomb' [Enter]

In most cases, there is a '*.bas' file on the disk to start the appropriate software. e.g.: disc.bas


Change settings in file roland.cfg inside the installation directory (Windows) or in file ~/.roland (Linux).

working settings:

  • showfps (true/false) framerate
  • fullscreen (true/false) window/fullscreen
  • monitor (0=color, 1=green) color-/greenscreen
  • border (true/false) border on/off, does not change display size (for now)
  • intensity (1-20) brightness
  • doublescan (true/false) the real cpc had scanlines ...
  • jumpers (DIP-switch of the CPC - for experts)


Before you can start the Linux version, you have to adjust some pathes in 'roland-linux.cfg'.

cpcrom=/mnt/shared/emu/cpc/roms/cpc6128.rom -> /../ThisFolder/roms/cpc6128.rom
amsdos=/mnt/shared/emu/cpc/roms/amsdos.rom  -> /../ThisFolder/roms/amsdos.rom
diskdir=/mnt/shared/emu/cpc/dsk             -> /../ThisFolder/disks

Afterwards, put 'roland-linux.cfg' renamed to '.roland' into your homedir.



API Documentation