Import vbam-1.8.0.1054.

VBA-M is a fork from the now inactive VisualBoy Advance project, with
goals to improve the capabilities and features of the emulator.


This is basically a replacement for emulators/vba, which is currently
broken in at least two ways:
 - emulation speed is whacked out when sndiod is running
 - gvba recently started segfaulting on startup


tweaks & oks from landry@ jasper@ edd@
This commit is contained in:
bentley 2012-05-28 09:18:56 +00:00
parent e8d929d5e9
commit 7e27f2e3b5
7 changed files with 218 additions and 0 deletions

51
emulators/vbam/Makefile Normal file
View File

@ -0,0 +1,51 @@
# $OpenBSD: Makefile,v 1.1.1.1 2012/05/28 09:18:56 bentley Exp $
COMMENT = emulator for Nintendo Game Boy (Color/Advance)
DISTNAME = vbam-1.8.0.1054-src
PKGNAME = ${DISTNAME:S/-src//}
CATEGORIES = emulators
HOMEPAGE = http://www.vba-m.com
# GPLv2+ (see doc/License.txt)
PERMIT_PACKAGE_CDROM = Yes
PERMIT_PACKAGE_FTP = Yes
PERMIT_DISTFILES_CDROM = Yes
PERMIT_DISTFILES_FTP = Yes
WANTLIB += GL GLU ICE SDL SM X11 Xcomposite Xcursor Xdamage Xext
WANTLIB += Xfixes Xi Xinerama Xmu Xrandr Xrender Xt atk-1.0 atkmm-1.6
WANTLIB += c cairo cairomm-1.0 expat fontconfig freetype gdk-x11-2.0
WANTLIB += gdk_pixbuf-2.0 gdkglext-x11-1.0 gdkglextmm-x11-1.2
WANTLIB += gdkmm-2.4 gio-2.0 giomm-2.4 glib-2.0 glibmm-2.4 gmodule-2.0
WANTLIB += gobject-2.0 gtk-x11-2.0 gtkglext-x11-1.0 gtkglextmm-x11-1.2
WANTLIB += gtkmm-2.4 m pango-1.0 pangocairo-1.0 pangoft2-1.0
WANTLIB += pangomm-1.4 pangox-1.0 pixman-1 png pthread pthread-stubs
WANTLIB += sigc-2.0 stdc++ xcb xcb-render xcb-shm z
MASTER_SITES = ${MASTER_SITE_SOURCEFORGE:=vbam/}
MODULES = devel/cmake \
devel/gettext
RUN_DEPENDS = devel/desktop-file-utils \
x11/gtk+2,-guic
LIB_DEPENDS = devel/sdl \
x11/gtkglextmm
NO_REGRESS = Yes
WRKDIST = ${WRKDIR}/${DISTNAME:S/-src//}
# requires posix_openpt
CONFIGURE_ARGS += -DENABLE_WX=OFF
VMEM_WARNING = Yes
pre-fake:
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/vbam
.include <bsd.port.mk>

5
emulators/vbam/distinfo Normal file
View File

@ -0,0 +1,5 @@
MD5 (vbam-1.8.0.1054-src.tar.gz) = +aZ+Zd1t9NUZAyH2/HWMJA==
RMD160 (vbam-1.8.0.1054-src.tar.gz) = eDLYoBORsNHsN8JmOx6tqW7et2w=
SHA1 (vbam-1.8.0.1054-src.tar.gz) = lSiJqbXm+BlTfQ6QSfIwSP+fcQc=
SHA256 (vbam-1.8.0.1054-src.tar.gz) = ez+hDhRnLXgolvZMv4kQqmeAEPnd93CxAA8+VWw7jeQ=
SIZE (vbam-1.8.0.1054-src.tar.gz) = 1163135

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-CMakeLists_txt,v 1.1.1.1 2012/05/28 09:18:56 bentley Exp $
--- CMakeLists.txt.orig Tue Dec 27 14:02:22 2011
+++ CMakeLists.txt Mon May 28 01:52:43 2012
@@ -414,7 +414,7 @@ IF( ENABLE_SDL )
INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/vbam DESTINATION bin)
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/sdl/vbam.cfg-example
- DESTINATION ${SYSCONFDIR}
+ DESTINATION share/examples/vbam
RENAME vbam.cfg)
ENDIF( ENABLE_SDL )

View File

@ -0,0 +1,19 @@
$OpenBSD: patch-src_common_Patch_cpp,v 1.1.1.1 2012/05/28 09:18:56 bentley Exp $
--- src/common/Patch.cpp.orig Mon May 14 00:26:35 2012
+++ src/common/Patch.cpp Mon May 14 00:26:59 2012
@@ -7,13 +7,13 @@
#ifdef __GNUC__
-#if defined(__APPLE__) || defined (BSD) || defined (__NetBSD__)
+#if defined(__APPLE__) || defined (BSD) || defined (__NetBSD__) || defined(__OpenBSD__)
typedef off_t __off64_t; /* off_t is 64 bits on BSD. */
#define fseeko64 fseeko
#define ftello64 ftello
#else
typedef off64_t __off64_t;
-#endif /* __APPLE__ || BSD */
+#endif /* __APPLE__ || BSD || __NetBSD__ || __OpenBSD__ */
#endif /* __GNUC__ */
#ifndef _MSC_VER

View File

@ -0,0 +1,37 @@
$OpenBSD: patch-src_common_Port_h,v 1.1.1.1 2012/05/28 09:18:56 bentley Exp $
--- src/common/Port.h.orig Mon May 14 00:25:45 2012
+++ src/common/Port.h Mon May 14 00:26:01 2012
@@ -4,13 +4,13 @@
#include "Types.h"
// swaps a 16-bit value
-static inline u16 swap16(u16 v)
+static inline u16 vswap16(u16 v)
{
return (v<<8)|(v>>8);
}
// swaps a 32-bit value
-static inline u32 swap32(u32 v)
+static inline u32 vswap32(u32 v)
{
return (v<<24)|((v<<8)&0xff0000)|((v>>8)&0xff00)|(v>>24);
}
@@ -36,13 +36,13 @@ static inline u32 swap32(u32 v)
#else
#define READ16LE(x) \
- swap16(*((u16 *)(x)))
+ vswap16(*((u16 *)(x)))
#define READ32LE(x) \
- swap32(*((u32 *)(x)))
+ vswap32(*((u32 *)(x)))
#define WRITE16LE(x,v) \
- *((u16 *)x) = swap16((v))
+ *((u16 *)x) = vswap16((v))
#define WRITE32LE(x,v) \
- *((u32 *)x) = swap32((v))
+ *((u32 *)x) = vswap32((v))
#endif
#else
#define READ16LE(x) \

48
emulators/vbam/pkg/DESCR Normal file
View File

@ -0,0 +1,48 @@
VBA-M is a fork from the now inactive VisualBoy Advance project, with
goals to improve the capabilities and features of the emulator with:
Improved Save Handling
The original vba lacked support for the tiny save files created by games
like Kirby's tilt and tumble and Final Fantasy Legends. Pokemon
Gold/Silver/Crystal RTC data is also handled more accurately.
Improved Archive Support
ROM images can now be packed with LZMA/LZMA2 7zip, which provides a much
better compression ratio for Gameboy(Advance) games.
Improved Input Capabilities
You can now map multiple buttons / devices in the input screen.
New built-in Pixel Filters
ASM versions of the HQ3x and 4x, and LQ2-4x filters for better filtering
on large screens.
KEGA Fusion Filter Plugin Support
Filters created in this format can also be used if you find one better
than the built in filters.
ARM Thumb Optimised
Several ARM Thumb optimisation patches from the original project that
were never applied to trunk are also implemented, including a fix for
the flickering in v-rally that the patch caused.
Blargg's GB_APU
This improved the sound in many games, and provided the ability to
filter out the clicking in some GBC titles.
UPS Patch support
For use with games like Mother3, whose translation patch was provided as
a UPS file.
JoyBus support
For use with Dolphin-emu, for games like Four Swords Adventures which use
the gameboy advance as a controller.

46
emulators/vbam/pkg/PLIST Normal file
View File

@ -0,0 +1,46 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2012/05/28 09:18:56 bentley Exp $
@bin bin/gvbam
@bin bin/vbam
share/applications/gvbam.desktop
share/examples/vbam/
share/examples/vbam/vbam.cfg
@sample ${SYSCONFDIR}/vbam.cfg
share/icons/hicolor/16x16/apps/vbam.png
share/icons/hicolor/22x22/apps/vbam.png
share/icons/hicolor/24x24/apps/vbam.png
share/icons/hicolor/32x32/apps/vbam.png
share/icons/hicolor/scalable/apps/vbam.svg
share/locale/ca_ES/
share/locale/ca_ES/LC_MESSAGES/
share/locale/ca_ES/LC_MESSAGES/gvbam.mo
share/locale/cs/LC_MESSAGES/gvbam.mo
share/locale/de/LC_MESSAGES/gvbam.mo
share/locale/en/LC_MESSAGES/gvbam.mo
share/locale/es_ES/
share/locale/es_ES/LC_MESSAGES/
share/locale/es_ES/LC_MESSAGES/gvbam.mo
share/locale/fr/LC_MESSAGES/gvbam.mo
share/locale/it_IT/
share/locale/it_IT/LC_MESSAGES/
share/locale/it_IT/LC_MESSAGES/gvbam.mo
share/locale/nb/LC_MESSAGES/gvbam.mo
share/locale/nl/LC_MESSAGES/gvbam.mo
share/locale/pl/LC_MESSAGES/gvbam.mo
share/locale/pt_BR/LC_MESSAGES/gvbam.mo
share/locale/sv/LC_MESSAGES/gvbam.mo
share/locale/zh_CN/LC_MESSAGES/gvbam.mo
share/vbam/
share/vbam/ui/
share/vbam/ui/cheatedit.ui
share/vbam/ui/cheatlist.ui
share/vbam/ui/display.ui
share/vbam/ui/gameboy.ui
share/vbam/ui/gameboyadvance.ui
share/vbam/ui/preferences.ui
share/vbam/ui/sound.ui
share/vbam/ui/vbam.ui
share/vbam/vba-over.ini
@exec %D/bin/update-desktop-database
@unexec-delete %D/bin/update-desktop-database
@exec %D/bin/gtk-update-icon-cache -q %D/share/icons/hicolor 2>/dev/null || true
@unexec-delete %D/bin/gtk-update-icon-cache -q %D/share/icons/hicolor 2>/dev/null || true