Senryoku/Deecy
Experimental Dreamcast emulator written in Zig
d860e2b4a333cacffb168fab49a233c5d2f1bca2
d3a68014e6b6b53fd330a0ccba99e4dcfffddae5.tar.gz
7d70db023bf254546024629cbec5ee6113e12a42.tar.gz
c1f55e740a62f6942ff046e709ecd509a005dbeb.tar.gz
d2360cdfff0cf4a780cb77aa47c57aca03cc6dfe.tar.gz
901716b10b31ce3e0d3fe479326b41e91d59c661.tar.gz
c337cb3d3f984468ea7a386335937a5d555fc024
21dcc288ac5ee70b1fca789d53a06d5c49d51e5e
1012b105627e28827f558b79e533575ef65a4965
c0dbf11cdc17da5904ea8a17eadc54dee26567ec
4c850e222e1ba507b45d7bab8cac83bdd74cacd6
ad81729d33da30d5f4fd23718debec48245121ca.tar.gz
1e3b0a4357653440e9a0977a5e23bcc1695d42ae
13dbe791ed06dca142e164b626eca91a466ee248
Deecy is an experimental Dreamcast emulator written in Zig.
Videos: Soul Calibur (May 2024), Grandia II (July 2024), DCA3 (January 2025)
dc_boot.bin
and dc_flash.bin
to the data
folder.Change Directory
to select the folder where you store your DC games.Deecy should detect, map and use controllers automatically. Host controllers can be manually assigned to guest controller ports in the Settings. Keyboard bindings can be customized in the settings. Defaults for controller 1:
DC Controller | Host Keyboard (AZERTY) |
---|---|
A, B, X, Y | A, Z, Q, S |
L, R triggers | W, X |
Start | Enter |
Left Stick | Numpad 8, 4, 5, 6 |
Dpad | Directional Arrows |
Key | Action |
---|---|
Escape | Show/Hide the UI |
F | Toggle Fullscreen |
L | Toggle unlimited emulation speed |
F1-F4 | Save state 1-4 |
F5-F8 | Load state 1-4 |
D | Toggle debug UI |
N | Next Frame (Experimental) |
Option | Action | Argument | Notes |
---|---|---|---|
-g | Load and Execute a disc file (.gdi/.cdi/.chd) | Path to a disc file | |
--vmu | Replace default vmu file | Path to an vmu file | Use with -g |
--no-realtime | Starts with unlimited emulation speed | ||
--load-state | Loads a save state on startup | Path to a Deecy save state | Use with -g |
--stop | Prevent automatic start of emulation | Use with -g or -b | |
--skip-bios | Skip default BIOS. | Experimental | |
-b | Load and Execute a .bin file | Path to a .bin file | Will also skip the BIOS. Experimental |
-i | Replace default IP.BIN file | Path to an IP.BIN file | Use with -b only |
Install the correct zig version (see .zigversion
, I try to keep up with Mach nominated version when not on a stable release).
You can use zigup to manage your installed zig versions, or get it from https://machengine.org/docs/nominated-zig/.
zigup 0.14.1
Clone and build. Zig will fetch all dependencies automatically.
git clone https://github.com/Senryoku/Deecy # Clone the repo
cd Deecy
zig build run # Build and run in debug mode without any argument
zig build run --release=fast -- -g "path/game.gdi" # Build and run in release mode and loads a disc
You will also need to provide copies of dc_boot.bin
and dc_flash.bin
files in the data/
directory.
nfd-zig
(native file dialog) needs these additional dependencies on Linux:
sudo apt install libgtk-3-dev
Dependencies are managed by the build.zig.zon
file.
Uses data from MAME under the BSD-3-Clause licence (see src/gdrom_secu.zig
). CHD related features (src/disc/chd.zig
) are also
inspired by, or even direct ports of, their equivalent from the MAME project.
Rest is MIT.