Tue Jun 2 13:25:00 2020 UTC ()
emulators: add gearsystem
Gearsystem is a cross-platform Sega Master System / Game Gear / SG-1000
emulator written in C++.
## Features
- Accurate Z80 core, including undocumented opcodes and behaviour like R
and MEMPTR registers.
- Multi-Mapper support: SEGA, Codemasters, Korean, MSX, SG-1000, and ROM
only cartridges.
- External RAM support with save files.
- Automatic region detection: NTSC-JAP, NTSC-USA, PAL-EUR.
- Accurate VDP emulation including timing and SMS2 only 224 mode support.
- Internal database for rom detection.
- Audio emulation using SDL Audio and Sms_Snd_Emu library.
- Saves battery powered RAM cartridges to file.
- Save states.
- Compressed rom support (ZIP deflate).
- Game Genie and Pro Action Replay cheat support.
- Full debugger with disassembler, breakpoints, debug symbols, memory editor,
IO inspector and and VRAM viewer including tiles, sprites, backgrounds and
palettes.
(nia)
diff -r1.324 -r1.325 pkgsrc/emulators/Makefile
diff -r0 -r1.1 pkgsrc/emulators/gearsystem/DESCR
diff -r0 -r1.1 pkgsrc/emulators/gearsystem/Makefile
diff -r0 -r1.1 pkgsrc/emulators/gearsystem/Makefile.common
diff -r0 -r1.1 pkgsrc/emulators/gearsystem/PLIST
diff -r0 -r1.1 pkgsrc/emulators/gearsystem/distinfo
diff -r0 -r1.1 pkgsrc/emulators/gearsystem/patches/patch-platforms_desktop-shared_Makefile.common
--- pkgsrc/emulators/Makefile 2020/06/02 13:24:31 1.324
+++ pkgsrc/emulators/Makefile 2020/06/02 13:25:00 1.325
| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | # $NetBSD: Makefile,v 1.324 2020/06/02 13:24:31 nia Exp $ | | 1 | # $NetBSD: Makefile,v 1.325 2020/06/02 13:25:00 nia Exp $ |
2 | # | | 2 | # |
3 | | | 3 | |
4 | COMMENT= Emulators for other operating systems | | 4 | COMMENT= Emulators for other operating systems |
5 | | | 5 | |
6 | SUBDIR+= 8086tiny | | 6 | SUBDIR+= 8086tiny |
7 | SUBDIR+= BasiliskII | | 7 | SUBDIR+= BasiliskII |
8 | SUBDIR+= Cygne-SDL | | 8 | SUBDIR+= Cygne-SDL |
9 | SUBDIR+= DatLib | | 9 | SUBDIR+= DatLib |
10 | SUBDIR+= DatUtil | | 10 | SUBDIR+= DatUtil |
11 | SUBDIR+= MAMEDiff | | 11 | SUBDIR+= MAMEDiff |
12 | SUBDIR+= PC6001VX | | 12 | SUBDIR+= PC6001VX |
13 | SUBDIR+= ROMBuild | | 13 | SUBDIR+= ROMBuild |
14 | SUBDIR+= ROMInfo | | 14 | SUBDIR+= ROMInfo |
| @@ -59,26 +59,27 @@ SUBDIR+= dynagen | | | @@ -59,26 +59,27 @@ SUBDIR+= dynagen |
59 | SUBDIR+= dynamips | | 59 | SUBDIR+= dynamips |
60 | SUBDIR+= e-uae | | 60 | SUBDIR+= e-uae |
61 | SUBDIR+= emulationstation | | 61 | SUBDIR+= emulationstation |
62 | SUBDIR+= fceu | | 62 | SUBDIR+= fceu |
63 | SUBDIR+= fmsx | | 63 | SUBDIR+= fmsx |
64 | SUBDIR+= free42 | | 64 | SUBDIR+= free42 |
65 | SUBDIR+= freebsd_lib | | 65 | SUBDIR+= freebsd_lib |
66 | SUBDIR+= fs-uae | | 66 | SUBDIR+= fs-uae |
67 | SUBDIR+= fs-uae-arcade | | 67 | SUBDIR+= fs-uae-arcade |
68 | SUBDIR+= fs-uae-launcher | | 68 | SUBDIR+= fs-uae-launcher |
69 | SUBDIR+= fuse-emulator | | 69 | SUBDIR+= fuse-emulator |
70 | SUBDIR+= fuse-emulator-utils | | 70 | SUBDIR+= fuse-emulator-utils |
71 | SUBDIR+= gearboy | | 71 | SUBDIR+= gearboy |
| | | 72 | SUBDIR+= gearsystem |
72 | SUBDIR+= generator-cbiere | | 73 | SUBDIR+= generator-cbiere |
73 | SUBDIR+= gens | | 74 | SUBDIR+= gens |
74 | SUBDIR+= gns3-gui | | 75 | SUBDIR+= gns3-gui |
75 | SUBDIR+= gns3-server | | 76 | SUBDIR+= gns3-server |
76 | SUBDIR+= gnuboy | | 77 | SUBDIR+= gnuboy |
77 | SUBDIR+= gnuboy-sdl | | 78 | SUBDIR+= gnuboy-sdl |
78 | SUBDIR+= gpsim | | 79 | SUBDIR+= gpsim |
79 | SUBDIR+= gpsim-devel | | 80 | SUBDIR+= gpsim-devel |
80 | SUBDIR+= gpsim-oscilloscope | | 81 | SUBDIR+= gpsim-oscilloscope |
81 | SUBDIR+= gpsim-ptyusart | | 82 | SUBDIR+= gpsim-ptyusart |
82 | SUBDIR+= gpsp-rpi | | 83 | SUBDIR+= gpsp-rpi |
83 | SUBDIR+= gxemul | | 84 | SUBDIR+= gxemul |
84 | SUBDIR+= handy_sdl | | 85 | SUBDIR+= handy_sdl |
Gearsystem is a cross-platform Sega Master System / Game Gear / SG-1000
emulator written in C++.
## Features
- Accurate Z80 core, including undocumented opcodes and behaviour like R
and MEMPTR registers.
- Multi-Mapper support: SEGA, Codemasters, Korean, MSX, SG-1000, and ROM
only cartridges.
- External RAM support with save files.
- Automatic region detection: NTSC-JAP, NTSC-USA, PAL-EUR.
- Accurate VDP emulation including timing and SMS2 only 224 mode support.
- Internal database for rom detection.
- Audio emulation using SDL Audio and Sms_Snd_Emu library.
- Saves battery powered RAM cartridges to file.
- Save states.
- Compressed rom support (ZIP deflate).
- Game Genie and Pro Action Replay cheat support.
- Full debugger with disassembler, breakpoints, debug symbols, memory editor,
IO inspector and and VRAM viewer including tiles, sprites, backgrounds and
palettes.
# $NetBSD: Makefile,v 1.1 2020/06/02 13:25:00 nia Exp $
.include "Makefile.common"
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://github.com/drhelius/Gearsystem
COMMENT= Sega Master System / Game Gear / SG-1000 emulator
LICENSE= gnu-gpl-v3
USE_TOOLS+= gmake
BUILD_DIRS= platforms/linux
MAKE_FLAGS+= CXX=${CXX}
MAKE_FLAGS+= GIT_VERSION="pkgsrc"
.include "../../mk/bsd.prefs.mk"
.if ${OPSYS} != "Darwin"
MAKE_FLAGS+= UNAME_S="Linux"
.else
MAKE_FLAGS+= UNAME_S="Darwin"
.endif
# alloca
BUILDLINK_TRANSFORM+= opt:-std=c++11:-std=gnu++11
INSTALLATION_DIRS+= bin share/applications share/pixmaps
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/${BUILD_DIRS}/gearsystem \
${DESTDIR}${PREFIX}/bin
${INSTALL_DATA} ${FILESDIR}/gearsystem.desktop \
${DESTDIR}${PREFIX}/share/applications
${INSTALL_DATA} ${WRKSRC}/platforms/ios/Gearsystem/Images.xcassets/AppIcon.appiconset/sms_icon_120.png \
${DESTDIR}${PREFIX}/share/pixmaps/gearsystem.png
.include "../../devel/SDL2/buildlink3.mk"
.if ${OPSYS} != "Darwin"
. include "../../graphics/glew/buildlink3.mk"
. include "../../graphics/MesaLib/buildlink3.mk"
.endif
.include "../../sysutils/desktop-file-utils/desktopdb.mk"
.include "../../mk/dlopen.buildlink3.mk"
BUILDLINK_TRANSFORM+= opt:-ldl:${BUILDLINK_LDADD.dl:Q}
.include "../../mk/bsd.pkg.mk"
# $NetBSD: Makefile.common,v 1.1 2020/06/02 13:25:00 nia Exp $
# used by emulators/gearsystem/Makefile
# used by emulators/libretro-gearsystem/Makefile
DISTNAME= gearsystem-3.1.0
CATEGORIES= emulators
MASTER_SITES= ${MASTER_SITE_GITHUB:=drhelius/}
GITHUB_PROJECT= Gearsystem
GITHUB_TAG= ${DISTNAME}
USE_LANGUAGES= c c++
DISTINFO_FILE= ${.CURDIR}/../../emulators/gearsystem/distinfo
PATCHDIR= ${.CURDIR}/../../emulators/gearsystem/patches
CHECK_PORTABILITY_SKIP+= platforms/*/dependencies/SDL-*/premake/*/build-scripts/*
CHECK_PORTABILITY_SKIP+= platforms/ios/dependencies/SDL-*/build-scripts/*
@comment $NetBSD: PLIST,v 1.1 2020/06/02 13:25:00 nia Exp $
bin/gearsystem
share/applications/gearsystem.desktop
share/pixmaps/gearsystem.png
$NetBSD: distinfo,v 1.1 2020/06/02 13:25:00 nia Exp $
SHA1 (gearsystem-3.1.0.tar.gz) = 7f18fb9513cdde9e66d5bb7b023777797ba079f9
RMD160 (gearsystem-3.1.0.tar.gz) = 259d0bf11044e2c7adf915193b5df742c7350996
SHA512 (gearsystem-3.1.0.tar.gz) = 579c620780ce0f44aa7c6c3ec5257f6d4f3b257d8c736e472776280c7c4820b97cae6fb68836a7b78a46ee2b82ca60ae95ece751e55384e3bed9c2ec50533f11
Size (gearsystem-3.1.0.tar.gz) = 11274822 bytes
SHA1 (patch-platforms_desktop-shared_Makefile.common) = a22b4d53d1bf6e4e47cfafcc0e65747ef1fbe33d
$NetBSD: patch-platforms_desktop-shared_Makefile.common,v 1.1 2020/06/02 13:25:00 nia Exp $
Avoid overriding variables we want to pass through pkgsrc.
--- platforms/desktop-shared/Makefile.common.orig 2020-05-23 18:52:56.000000000 +0000
+++ platforms/desktop-shared/Makefile.common
@@ -27,14 +27,14 @@ OBJS = $(addsuffix .o, $(basename $(notd
UNAME_S := $(shell uname -s)
-CXXFLAGS = -I../ -I../../
+CXXFLAGS += -I../ -I../../
CXXFLAGS += -Wall -Wextra -Wformat -std=c++11 -DEMULATOR_BUILD=\"$(GIT_VERSION)\"
DEBUG ?= 0
ifeq ($(DEBUG), 1)
- CXXFLAGS +=-DDEBUG -g3
+ CXXFLAGS +=-DDEBUG
else
- CXXFLAGS +=-DNDEBUG -O3
+ CXXFLAGS +=-DNDEBUG
endif
LIBS =
@@ -48,7 +48,7 @@ ifeq ($(UNAME_S), Linux) #LINUX
LIBS += -lGL -lGLEW -ldl `sdl2-config --libs`
CXXFLAGS += `sdl2-config --cflags`
- CFLAGS = $(CXXFLAGS)
+ CFLAGS += $(CXXFLAGS)
endif
ifeq ($(UNAME_S), Darwin) #APPLE
@@ -58,7 +58,7 @@ ifeq ($(UNAME_S), Darwin) #APPLE
CXXFLAGS += `sdl2-config --cflags`
CXXFLAGS += -I/usr/local/include -I/opt/local/include
- CFLAGS = $(CXXFLAGS)
+ CFLAGS += $(CXXFLAGS)
endif
ifeq ($(findstring MINGW,$(UNAME_S)),MINGW)
@@ -95,7 +95,7 @@ all: $(EXE)
@echo Build complete for $(ECHO_MESSAGE)
$(EXE): $(OBJS)
- $(CXX) -o $@ $^ $(CXXFLAGS) $(LIBS)
+ $(CXX) -o $@ $^ $(LDFLAGS) $(LIBS)
clean:
rm -f $(EXE) $(OBJS)