MCPcopy Create free account
hub / github.com/blueminder/flycast-dojo

github.com/blueminder/flycast-dojo @r20.04

Chat with this repo
repository ↗ · DeepWiki ↗ · release r20.04 ↗ · + Follow
16,245 symbols 39,758 edges 888 files 2,008 documented · 12% updated 12mo agodojo-7-preview4 · 2025-06-30★ 23424 open issues

Browse by type

Functions 13,974 Types & classes 2,271
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Snap Status

reicast

reicast is a multi-platform Sega Dreamcast emulator.

This is a developer-oriented resource, if you just want bins head over to http://reicast.com/

For development discussion, join #reicast in freenode or stop by the reicast Discord server

Rebranding/(hard)forks

If you are interested into further porting/adapting/whatever, please do not fork off.
We hate that. Really.

Let's try to keep everything under a single project :)

Submitting Issues

Please take a moment to search the open issues for one similar to yours and add your info to it.
If you cannot find a similar issue, click the 'New Issue' button and make sure to fill out the form.

Please Note:
Duplicate issues may be closed with a link to the existing issue.
Bugs that do not include a form may be closed until it is filled out.

Contributing

  • For small/one-off fixes, a PR from a GitHub fork is alright.
  • For longer term collaboration, we prefer to use namespaced branches in the form of <username>/<whatever> in the main repo.

Before you work on something major, make sure to check the issue tracker to coordinate with other contributors, and open an issue to get feedback before doing big changes/PRs. It is always polite to check the history of the code you're working on and collaborate with the people that have worked on it. You can introduce yourself in Meet the team.

Everything goes to master via PRs. Test builds are run automatically for both internal and external PRs, and generally should pass unless there's a really good reason for breakage.

Please understand that the code you submit will be licensed under BSD3, unless you specify otherwise. We no longer require a CLA.

If you are looking for somewhere to start, look for issues marked good first issue or help wanted

Supporting the project / donations

Well, glad you liked the project so far! We want to switch to a "donation-driven-development" model so that we are not forced to pay out of out pockets for the project costs, and so that contributors can have a source of income to cover food and housing costs.

We accept monetary donations via bountysource at https://salt.bountysource.com/teams/reicast or IBAN transfers to CH65 0070 0110 0052 6460 1, Stefanos Kornilios Mitsis Poiitidis, 8005 Zürich. Please note that IBAN donations will appear as Anonymous for now.

You can also directly add bounties to tickets that are of interest to you at https://www.bountysource.com/teams/reicast, though supporting the project via a small monthly donation is preffered. Every $5 helps.

We will use the donations to cover administrative and hosting costs (~$100/mo), buy hardware and to sponsor development & testing.

If you want to do hardware or other non-monetary donations, please contact donations@reicast.com.

Please help us to make this project self-sustainable. Thank you for your support!

Notable Donors

  • Twinaphex / RetroArch Team - introduced us to bountysource, has sponsored the development of a few tickets
  • anothername99 - First bounty not posted by RA
  • Raco Centrente - First donation from a 3rd party
  • (And, of course, all the people that have worked pro-bono over the past 20 years. That is priceless. Thank you!)

Building for Android

Tools required: * Latest Android SDK - http://developer.android.com/sdk/index.html * NDK r8b or newer - https://developer.android.com/tools/sdk/ndk/index.html - If are not using r9c+, comment the "NDK_TOOLCHAIN_VERSION := 4.8" in shell/android/jni/Application.mk and shell/android/xperia/jni/Application.mk * Android 5.0.1 (API 21) & Android 2.3.1 (API 9) - http://developer.android.com/sdk/installing/adding-packages.html - note that API 9 is hidden (you must check to show obsolete in SDK manager) * Ant - http://ant.apache.org/

From project root directory:

export ANDROID_NDK=/ # Type the full path to your NDK here

cd shell/android/

android update project -p . --target "android-21"

ant debug

Building for iOS / MacOS

Using Xcode

  • Requirements:

  • From project root directory:

iOS (currently broken) Mac
cd reicast-emulator/reicast/apple/emulator-ios cd reicast-emulator/reicast/apple/emulator-osx

xcodebuild -configuration Release

Or open the workspace reicast-emulator/reicast/apple/reicast.xcworkspace in Xcode, choose the target, and press Command + B to build.

Using Cmake

  • Requirements:

    • A Mac
    • Command line build tools (no Xcode needed): xcode-select --install
    • Or install the Latest Xcode
    • Homebrew
    • Cmake command line tool: brew install cmake
  • From project root directory:

rm -rf build && mkdir build && cmake -S. -B./build && make -C build -j4

Change -j4 to the number of CPU cores you have for the best performance. So for example if you have an 8 core/16 thread processor, use -j8 though you can experiment with a higher or lower number and see what builds the fastest on your machine.

The app bundle will be located at ./build/Reicast.app

Building for Linux

Using traditional make

  • Requirements:

    • build-essential
    • libasound2
    • libegl1-mesa-dev
    • libgles2-mesa-dev
    • libasound2-dev
    • mesa-common-dev
    • libgl1-mesa-dev
    • libudev-dev
    • libpulse-dev (optional for using Pulseaudio)
  • From project root directory:

cd reicast/linux

# if you wish to use Pulseaudio, uncomment the following line
# export USE_PULSEAUDIO=1

make

Using snap

Translations

New and updated translations are always appreciated! All we ask is that you not use “regional” phrases that may not be generally understood.

Translations can be submitted as a pull request

Development/Beta versions

Platform Status Downloads
Android Android Build Status Reicast CI Builds
iOS iOS Build Status TODO
Windows Windows Build status Reicast CI Builds
Linux Linux wercker status TODO
OSX OSX TODO TODO

Additional builds (iOS & android) can be found at angelxwind's buildbot and Random Stuff "Daily/Nightly/Testing" PPA (for Ubuntu).

Other Testing

Devices tested by the reicast team: * Apple iPhone 4 GSM Rev0 (N90AP) * Apple iPhone 4 CDMA (N92AP) * Apple iPod touch 4 (N81AP) * Apple iPod touch 3G (N18AP) * Apple iPhone 3GS (N88AP) * Apple iPhone 5s * Apple iPad 3 * Sony Xperia X10a (es209ra) * Amazon Kindle Fire HD 7 (tate-pvt-08) * Nvidia Shield portable * Nvidia Shield tablet * Samsung Galaxy Note 4 * LG Nexus 5 * LG Nexus 5X * Asus Nexus 7 (2013)

Team

You can check the currently active committers on the pretty graphs page

Our IRC channel is #reicast @ chat.freenode.net.

The original reicast team consisted of drk||Raziel (mostly just writing code), PsyMan (debugging/testing and everything else) and a little bit of gb_away

Special thanks

In previous iterations a lot of people have worked on this, notably David Miller (aka, ZeZu), the nullDC team, friends from #pcsx2 and all over the world :)

Bitdeli Badge

Core symbols most depended-on inside this repo

Shape

Method 7,174
Function 6,800
Class 1,833
Enum 438

Languages

C++76%
C22%
Java1%
C#1%
Python1%

Modules by API surface

libswirl/deps/xbyak/xbyak_mnemonic.h1,420 symbols
libswirl/deps/vixl/aarch32/assembler-aarch32.cc555 symbols
libswirl/deps/vixl/aarch32/macro-assembler-aarch32.h459 symbols
libswirl/deps/vixl/aarch32/assembler-aarch32.h438 symbols
libswirl/deps/vixl/aarch64/assembler-aarch64.cc437 symbols
libswirl/deps/imgui/imgui.cpp410 symbols
libswirl/deps/vixl/aarch64/macro-assembler-aarch64.h368 symbols
libswirl/deps/xbyak/xbyak.h289 symbols
libswirl/deps/vixl/aarch64/logic-aarch64.cc278 symbols
libswirl/deps/vixl/aarch32/instructions-aarch32.h236 symbols
libswirl/deps/imgui/imgui_widgets.cpp190 symbols
libswirl/deps/vixl/aarch64/simulator-aarch64.h166 symbols

For agents

$ claude mcp add flycast-dojo \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page