• Stars
    star
    493
  • Rank 89,306 (Top 2 %)
  • Language
    C
  • Created over 9 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Multiplatform Game Boy emulator

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

More Repositories

1

FreeDVDBoot

PlayStation 2 DVD Player Exploit
C
2,196
star
2

PS4-SDK

Open source PS4 SDK
C
1,021
star
3

PS4-playground

A set of PS4 experiments using the WebKit exploit
JavaScript
251
star
4

3DSController

C
214
star
5

JuSt-ROP

JavaScript ROP framework
JavaScript
133
star
6

PS2-Yabasic-Exploit

PS2 exploit for demo discs containing Yabasic that allows arbitrary code execution.
Assembly
72
star
7

GameBoy_GhidraSleigh

Ghidra Processor support for Nintendo Game Boy
60
star
8

cturt.github.io

HTML
50
star
9

shogihax

Remote code execution exploit against Morita Shogi 64 for Nintendo 64
C
47
star
10

CFW-Suite

Tools which can be used to create a custom firmware for the Nintendo DS
C
41
star
11

dsgmLib

C
36
star
12

LDFS

OpenGL Windowing System
C
26
star
13

TCP-Dump

Dumps TCP packets
C
19
star
14

NiFiCapture

Capture local wireless 802.11 traffic, 'NiFi', on Nintendo DS
C
14
star
15

WiFi-Loader

Send a file over TCP
C
12
star
16

dsgmDSWiFi

A fork of http://sourceforge.net/projects/devkitpro/files/dswifi/
C
12
star
17

PS4-Pong

Makefile
10
star
18

CTC

Lossless compression algorithm
C
9
star
19

DARA

Collection of save game exploits for FIFA games to run unsigned code on the DS
C
9
star
20

PS4-Loader

C
8
star
21

Exception

Small library for exception handling in C
C
7
star
22

HTTP

Simple HTTP server in C
C
6
star
23

CTC2

Lossless compression algorithm
C
6
star
24

IconExtractor

Extract the icon from a DS ROM
C
6
star
25

bin2u32

Makefile
5
star
26

Preoop

Experimental object orientation for C via the preprocessor
C
4
star
27

ARM-Pong

Makefile
3
star
28

HTTP-client

C
3
star
29

MD2Combiner

Combines all frames from two MD2s into one MD2
C
2
star
30

dsgmGfx

C#
1
star
31

GameOfLifeDS

Makefile
1
star