Git Product home page Git Product logo

cinoop's Introduction

Cinoop

A multiplatform Game Boy emulator written in C; currently available for: Windows, OS X, Linux based OSes, Nintendo DS, Nintendo 3DS, Nintendo GameCube, Sony PSP, and Sony PS4.

Read my article about writing Cinoop here.

Progress

CPU: All instructions are implemented,

GPU: Can display tile maps, and sprites. Palette swapping is not implemented yet, so some colours may be displayed incorrectly.

Memory: Support for 32KB ROMs, without mappers, only (Tetris and Dr. Mario),

Input: Supported,

Sound: None,

Games: Tetris is most likely the only playable game,

Windows version running Tetris

DS emulator running Cinoop

GameCube emulator running Cinoop

Ubuntu version running Tetris

PSP emulator running Cinoop

Video of PS4 verstion running Tetris

The DS version does not run full speed, and the Linux port does not yet support input.

Building

Just run make on the directory to build all binaries. You can also run make windows for just Windows, make ds for just DS, make gamecube for just GameCube, make 3ds for just 3DS, make linux for just Linux, make psp for just PSP, or make ps4 for just PS4.

Building the Windows version requires LDFS, and has been tested with MinGW, using another compiler may require some tweaking.

Building the DS version requires devkitARM and libnds, from devkitPro.

Building the GameCube version requires devkitPPC and libogc, from devkitPro.

Building the 3DS version requires devkitARM and ctrulib from devkitPro.

Building the Linux version requires X11, and the OpenGL development files. It has been tested with Ubuntu.

Building the PSP version requires the Minimalist PSP SDK.

Building the PS4 version requires PS4-SDK.

Building and running the OS X version requires XQuartz.

Usage

For Windows, OS X, and Linux, pass the ROM you would like to run as the first argument. You can do this by either dragging the ROM onto Cinoop, or starting it from the command line:

cinoop tetris.gb

To view the full debug log, you will need to redirect stdout to a file, like so:

cinoop tetris.gb 1>debug.txt

For PS4, the ROM is read from a USB flash drive as a raw image. Use Win32 Disk Imager or dd to write it for example.

For other versions, the ROM name is hard coded as tetris.gb.

Windows Controls

  • B: Z

  • A: X

  • Start: Enter

  • Select: Backspace

  • DPad: Arrow keys

  • Debug: Space

  • Reset (not finished yet): *

  • Quit: Escape

DS Controls

  • B: B
  • A: A
  • Start: Start
  • Select: Select
  • DPad: DPad

GameCube Controls

  • B: B
  • A: A
  • Start: Start
  • Select: Z
  • DPad: DPad

3DS Controls

  • B: B
  • A: A
  • Start: Start
  • Select: Select
  • DPad: DPad or Circle Pad

Linux Controls

(not supported)

OS X Controls

(not supported)

PSP Controls

  • B: Square
  • A: Cross
  • Start: Start
  • Select: Select
  • DPad: DPad

PS4 Controls

Use a DS as a wireless controller

cinoop's People

Contributors

cturt avatar nsenica avatar conceptofproof avatar

Watchers

James Cloos avatar Warren Lockhart 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.