Work In Progress SEGA Dreamcast emulator
Go to file
Anthony Pesch 37b9f52b6c sanitize host addresses to a valid value when loading IR into recc 2016-12-16 21:03:54 -08:00
cmake clang-tidy and clang-format are not required dependencies 2016-02-29 23:51:42 -08:00
deps Backport wayland 1.10+ fix for SDL2 2016-12-14 10:26:24 -07:00
profiles initial c refactor 2016-05-22 19:57:47 -07:00
src sanitize host addresses to a valid value when loading IR into recc 2016-12-16 21:03:54 -08:00
test use -fms-extensions for anonymous base device struct 2016-09-25 19:00:13 -07:00
tools/recc sanitize host addresses to a valid value when loading IR into recc 2016-12-16 21:03:54 -08:00
.clang-format ran latest clang-format 2016-06-21 23:40:25 -04:00
.gitignore use -fms-extensions for anonymous base device struct 2016-09-25 19:00:13 -07:00
.travis.yml update xcode image on travis 2016-11-27 10:59:33 -08:00
CMakeLists.txt added libsoundio based audio backend 2016-10-17 21:17:04 -07:00
LICENSE added LICENSE 2016-04-25 00:40:13 -07:00
README.md improved aica timer accuracy 2016-12-11 17:42:53 -08:00

README.md

redream

Build status Slack status

redream is a work in progress emulator for the SEGA Dreamcast.

Getting started

Start by cloning the repository and setting up a build directory.

git clone https://github.com/inolen/redream.git
mkdir redream_build
cd redream_build

Next, generate a makefile or project file for your IDE of choice. For more info on the supported IDEs, checkout the CMake documentation.

# Makefile
cmake -DCMAKE_BUILD_TYPE=RELEASE ../redream

# Xcode project
cmake -G "Xcode" ../redream

# Visual Studio project
cmake -G "Visual Studio 14 Win64" ../redream

Finally, you can either run make from the command line if you've generated a Makefile or load up the project file and compile the code from inside of your IDE.

The build has been tested on OSX 10.10 with clang 3.6, Ubuntu 14.04 with GCC 4.9 and Windows 8.1 with Visual Studio 2015.

Running

redream --bios=path/to/dc_boot.bin --flash=path/to/dc_flash.bin <bin or gdi file>

Command line flags are loaded from and saved to $HOME/.redream/flags each run. This means that bios and flash path, etc. only need to be set on the first run.

All options

       --bios  Path to BIOS                                            [default: dc_boot.bin]
      --flash  Path to flash ROM                                       [default: dc_flash.bin]
 --controller  Path to controller profile
   --throttle  Throttle emulation speed to match the original hardware [default: 1]
    --verbose  Enable debug logging                                    [default: 0]
       --perf  Write perf-compatible maps for generated code           [default: 0]
        --gdb  Start GDB debug server                                  [default: 0]

Debugging

If ran with --debug, a server is setup on port 24690 for remote debugging of the guest SH4 code with GDB.

The server can be connected to with GDB like so:

set architecture sh4
target remote localhost:24690

Running tests

retest

Community

Ask questions and help answer them on Slack.