summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnderson Torres <torres.anderson.85@protonmail.com>2020-12-17 12:18:36 -0300
committerGitHub <noreply@github.com>2020-12-17 12:18:36 -0300
commit40705f124bcb754dcc1565948541219ba9d59765 (patch)
treea1936c9574b89301cc8736766707a12f988e45e1
parent62f5b921c5d9a653d497e46f266eccca252d0fdc (diff)
parent18c386ead1187efd91e147f5f1739f8425e56d0e (diff)
Merge pull request #106359 from AndersonTorres/wip-dgen
dgen: init at 1.33
-rw-r--r--pkgs/misc/emulators/dgen-sdl/default.nix70
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 72 insertions, 0 deletions
diff --git a/pkgs/misc/emulators/dgen-sdl/default.nix b/pkgs/misc/emulators/dgen-sdl/default.nix
new file mode 100644
index 000000000000..1eabf5b53b01
--- /dev/null
+++ b/pkgs/misc/emulators/dgen-sdl/default.nix
@@ -0,0 +1,70 @@
+{ stdenv
+, fetchurl
+, libarchive
+, doxygen
+, SDL
+}:
+
+let
+ pname = "dgen-sdl";
+ version = "1.33";
+in stdenv.mkDerivation {
+ inherit pname version;
+
+ src = fetchurl {
+ url = "https://sourceforge.net/projects/dgen/files/dgen/${version}/${pname}-${version}.tar.gz";
+ hash = "sha256-meLAYBfCKHPHf4gYbrzAmGckTrbgQsdjuwlLArje9h4=";
+ };
+
+ buildInputs = [ SDL libarchive ];
+
+ configureFlags = [
+ "--enable-joystick"
+ "--enable-debugger"
+ "--enable-debug-vdp"
+ "--enable-pico" # experimental
+ "--enable-vgmdump"
+ "--with-star=no" # Needs ASM support
+ "--with-musa"
+ "--with-cyclone=no" # Needs ASM support
+ "--with-mz80"
+ "--with-cz80"
+ "--with-drz80=no" # Needs ASM support
+ "--with-dz80"
+ ];
+
+ meta = with stdenv.lib; {
+ homepage = "https://dgen.sourceforge.net/";
+ description = "Sega Genesis/Mega Drive emulator";
+ longDescription = ''
+ DGen/SDL is a free, open source emulator for Sega Genesis/Mega Drive
+ systems. DGen was originally written by Dave, then ported to SDL by Joe
+ Groff and Phil K. Hornung in 1998.
+
+ It features:
+
+ - Game Genie/Hex codes support
+ - PAL/NTSC, fullscreen modes
+ - Joypad/joystick support
+ - Mouse support
+ - Highly configurable controls
+ - OpenGL textured video output
+ - Portable (64‐bit, endian safe), runs in Windows using MinGW
+ - Screenshots, demos recording and playback
+ - Musashi (generic) and StarScream (x86‐only) CPU cores
+ - Cyclone 68000 and DrZ80 (both ARM‐only) CPU cores
+ - CZ80 (generic) and MZ80 (generic and x86‐only versions)
+ - 16‐bit, 8000 to 48000Hz sound output
+ - Support for 8, 15, 16, 24 and 32 bpp modes
+ - Archived/compressed ROMs support
+ - M68K debugger (contributed by Edd Barrett)
+ - Z80 debugger
+ - hqx and scale2x upscaling filters
+ - VGM dumping
+ '';
+ license = licenses.mit;
+ maintainers = with maintainers; [ AndersonTorres ];
+ platforms = with platforms; unix;
+ };
+}
+# TODO: implement configure options
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 44072b23fb4d..be0fd7827986 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2009,6 +2009,8 @@ in
dlx = callPackage ../misc/emulators/dlx { };
+ dgen-sdl = callPackage ../misc/emulators/dgen-sdl { };
+
doitlive = callPackage ../tools/misc/doitlive { };
dokuwiki = callPackage ../servers/web-apps/dokuwiki { };