Roland is an emulator of the Amstrad/Schneider CPC 464/664/6128 Homecomputer.
Clone or download
raldus Change changelog generation and some cleanups
* Change changelog generation

* Fix missing initialization

* Remove unnecessary code

* Remove redundant expression

* Fix initialization of mCrtc

* Clarify calculation precedence

* Clarify calculation precedence

* Change changelog generation

* Change default build flags
Latest commit fb4def2 Apr 22, 2017

README.md

Roland CPC Emulator

Overview

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 https://www.rolandemu.de/. You can find the latest API Documentation on https://www.rolandemu.de/en/information/api.html

Build

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.

Status

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.

General

You will need cmake and git installed.

git clone https://github.com/raldus/roland.git
cd roland

Linux

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

Installation

cmake --build build --target install

Windows

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

Documentation

You will need Doxygen installed to generate the documentation.

cmake --build build --target doc

Usage

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).

Example

  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

Configuration

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)

Linux

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.

Misc

Changelog

API Documentation