Giter Site home page Giter Site logo

realfms / caprice32 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from colinpitrat/caprice32

1.0 1.0 0.0 1.8 MB

An emulator of the Amstrad CPC 8bit home computer range.

License: GNU General Public License v2.0

C++ 90.03% C 9.07% Makefile 0.71% Shell 0.17% Nix 0.02%

caprice32's Introduction

Caprice32 logo

Caprice32 - Amstrad CPC Emulator

(c) Copyright 1997-2015 Ulrich Doewich

(c) Copyright 2016-2019 Colin Pitrat

https://github.com/ColinPitrat/caprice32

Linux build: Linux build Status

Windows build: Windows build status

What is it ?

Caprice32 is a software emulator of the Amstrad CPC 8bit home computer series running on Linux and Windows. The emulator faithfully imitates the CPC464, CPC664, and CPC6128 models. By recreating the operations of all hardware components at a low level, the emulator achieves a high degree of compatibility with original CPC software. These programs or games can be run unmodified at real-time or higher speeds, depending on the emulator host environment.

Features

Caprice32 provides:

  • Complete emulation of CPC464, CPC664 and CPC6128
  • Mostly working support of Plus Range: CPC464+/CPC6128+/GX4000 (missing vectored & DMA interrupts, analog joysticks and 8 bit printer)
  • Joystick support - it can be fully used with joystick only, thanks to an integrated virtual keyboard.
  • Joystick emulation - joystick-only games can be played using the keyboard
  • English, French or Spanish keyboards
  • DSK and IPF files for disks - VOC and CDT files for tapes - CPR files for cartridge
  • Snapshots (SNA files)
  • Direct load of ZIP files
  • Custom disk formats
  • Printer support
  • Memory tool to inspect and modify memory (peek and poke)
  • Experimental support of Multiface 2 (you should prefer using memory tool)
  • Text mode graphics (using aalib or libcaca)

You see something missing ? Do not hesitate to open an issue to suggest it.

Installation

Linux

From Git

git clone https://github.com/ColinPitrat/caprice32.git
make
./cap32

From releases

Download a release from https://github.com/ColinPitrat/caprice32/releases. Decompress it and then from a terminal in the resulting directory:

make
./cap32

Snap

A SNAP (maintained by a third party) is available at https://snapcraft.io/caprice32.

Windows

Download a release from https://github.com/ColinPitrat/caprice32/releases. Decompress it and double click on cap32.exe

SDL versions

Caprice32 supports both SDL 1.2 and SDL 2. To select which version to build, define the SDL_VERSION variable in the build command. Anything else than 2 will build using SDL 1.2.

Example for build with SDL 2:

SDL_VERSION=2 make
./cap32

Basic usage

See the manual page for more details. If you are really lost, you can simply invoke the emulator without any argument, then press F1 to get the in-emulator menu.

Help needed

Maintaining Caprice is a lot of work and you can help with it. You can:

  • Use it, show it, talk and write about it
  • Thank the maintainer
  • Report any bug or missing feature
  • Write some documentation
  • Package it for your favourite distribution (if not yet available)
  • Port it to iOS so that Mac users can enjoy it too

Supporting

You can support me on Liberapay:

Donate using Liberapay

Building and compiling

See the INSTALL.md files for Caprice32 build instructions.

Using the source

The source for Caprice32 is distributed under the terms of the GNU General Public License version 2 (GPLv2), which is included in this archive as COPYING.txt. Please make sure that you understand the terms and conditions of the license before using the source.

The screen dump part of Caprice32 uses driedfruit SDL_SavePNG code, released under zlib/libpng license, which is compatible with GPLv2.

I encourage you to get involved in the project.

Comments or ready to contribute?

If you have suggestions, a bug report or even want to participate to the development, please feel free to open an issue or submit a pull request.

Why another GitHub repository ?

There are many repositories for caprice32 on GitHub:

So why create another one ? All these repositories are highly inactive. The ones that touched the code added dependencies (wxWidget, GTK) without really adding features.

caprice32's People

Contributors

colinpitrat avatar sebhz avatar cpcitor avatar nudgegoonies avatar bignaux avatar pvaret avatar realfms avatar

Stargazers

 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.