New version of dgen. UI improvements, m68k debugger.

OK?

Index: Makefile
===================================================================
RCS file: /cvs/ports/emulators/dgen-sdl/Makefile,v
retrieving revision 1.3
diff -u -p -r1.3 Makefile
--- Makefile    29 Feb 2012 21:38:31 -0000      1.3
+++ Makefile    11 Mar 2012 02:29:13 -0000
@@ -1,18 +1,22 @@
 # $OpenBSD: Makefile,v 1.3 2012/02/29 21:38:31 edd Exp $
 
 COMMENT =              Sega Megadrive/Genesis emulator
-DISTNAME =             dgen-sdl-1.29
-REVISION =             0
+DISTNAME =             dgen-sdl-1.30
 CATEGORIES =           emulators games
 HOMEPAGE =             http://dgen.sourceforge.net/
 MAINTAINER =           Edd Barrett <e...@openbsd.org>
 
+FLAVORS =              debugger
+FLAVOR ?=
+
 # Various parts of dgen are under different licenses
 # Mainly a 3 clause BSD license, but also:
 #  - musa non-commercial license
 #  - starscream non-commercial license
 #  - mz80 non-commercial license
 #  - cz80 non-commercial license
+#  - scale2x GPLv2
+#  - hqx LGPL
 PERMIT_PACKAGE_CDROM = No
 PERMIT_PACKAGE_FTP =   Yes
 PERMIT_DISTFILES_CDROM =No
@@ -38,6 +42,11 @@ LIB_DEPENDS =                devel/sdl \
 
 CONFIGURE_STYLE =      gnu
 CONFIGURE_ENV +=       LDFLAGS="-L${LOCALBASE}/lib"
+
+# m68k debugger, at a slight performance cost
+.if ${FLAVOR:Mdebugger}
+CONFIGURE_ARGS +=      --enable-debugger
+.endif
 
 SAMPLEDIR =    ${PREFIX}/share/examples/dgen-sdl/
 DOCDIR =       ${PREFIX}/share/doc/dgen-sdl/
Index: distinfo
===================================================================
RCS file: /cvs/ports/emulators/dgen-sdl/distinfo,v
retrieving revision 1.2
diff -u -p -r1.2 distinfo
--- distinfo    18 Feb 2012 01:16:08 -0000      1.2
+++ distinfo    11 Mar 2012 02:29:13 -0000
@@ -1,5 +1,5 @@
-MD5 (dgen-sdl-1.29.tar.gz) = S2NJadpHS6Ji97JctP1G/g==
-RMD160 (dgen-sdl-1.29.tar.gz) = R/Lx8Mg6G7Xpbec5ajPtFdpRAZs=
-SHA1 (dgen-sdl-1.29.tar.gz) = kQTa+robkLRa0kMS6hPXbX1FeTc=
-SHA256 (dgen-sdl-1.29.tar.gz) = vwGEFPP4MYES5O+JdJiT9yIcNCKlwLB6yjlMkOXCD+E=
-SIZE (dgen-sdl-1.29.tar.gz) = 508039
+MD5 (dgen-sdl-1.30.tar.gz) = 32Py8aoxf4v2gqGlUZIKmg==
+RMD160 (dgen-sdl-1.30.tar.gz) = Zimp6WZQAgqlloIryC7rSMZCUro=
+SHA1 (dgen-sdl-1.30.tar.gz) = ZQx7rci/YMYEK/+S1xmahlDlvZc=
+SHA256 (dgen-sdl-1.30.tar.gz) = Ls02T/ZNS6dZtxWdc+G7jyifbVpLffoCHUq1y8ZEO4Y=
+SIZE (dgen-sdl-1.30.tar.gz) = 608549
Index: patches/patch-md-phil_cpp
===================================================================
RCS file: patches/patch-md-phil_cpp
diff -N patches/patch-md-phil_cpp
--- patches/patch-md-phil_cpp   29 Feb 2012 21:38:31 -0000      1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,38 +0,0 @@
-$OpenBSD: patch-md-phil_cpp,v 1.3 2012/02/29 21:38:31 edd Exp $
-
-Fix joystick when not /dev/uhid0
-
---- md-phil.cpp.orig   Sun Jan 29 20:58:52 2012
-+++ md-phil.cpp        Wed Feb 29 20:45:29 2012
-@@ -168,11 +168,12 @@ void md::read_joysticks()
- #include <SDL_joystick.h>
- 
- static SDL_Joystick *js_handle[2] = { NULL, NULL };
-+int js_index[2] = { -1, -1 };
- 
- void md::init_joysticks(int js1, int js2) {
-   // Initialize the joystick support
-   // Thanks to Cameron Moore <came...@unbeatenpath.net>
--  if(SDL_Init(SDL_INIT_JOYSTICK) < 0)
-+  if(SDL_InitSubSystem(SDL_INIT_JOYSTICK) < 0)
-     {
-       fprintf(stderr, "joystick: Unable to initialize joystick system\n");
-       return;
-@@ -191,9 +192,15 @@ void md::init_joysticks(int js1, int js2) {
- 
-   // Print the joystick names
-   printf("joystick: Using ");
--  if(js_handle[0]) printf("%s (#%d) as pad1 ", SDL_JoystickName(js1), js1);
-+  if(js_handle[0]) {
-+    printf("%s (#%d) as pad1 ", SDL_JoystickName(js1), js1);
-+    js_index[0] = js1;
-+  }
-   if(js_handle[0] && js_handle[1]) printf("and ");
--  if(js_handle[1]) printf("%s (#%d) as pad2 ", SDL_JoystickName(js2), js2);
-+  if(js_handle[1]) {
-+    printf("%s (#%d) as pad2 ", SDL_JoystickName(js2), js2);
-+    js_index[1] = js2;
-+  }
-   printf("\n");
- 
-   // Enable joystick events
Index: patches/patch-sdl_sdl_cpp
===================================================================
RCS file: patches/patch-sdl_sdl_cpp
diff -N patches/patch-sdl_sdl_cpp
--- patches/patch-sdl_sdl_cpp   29 Feb 2012 21:38:31 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,119 +0,0 @@
-$OpenBSD: patch-sdl_sdl_cpp,v 1.1 2012/02/29 21:38:31 edd Exp $
-
-Fix joystick when not /dev/uhid0
-
---- sdl/sdl.cpp.orig   Sun Jan 29 20:58:52 2012
-+++ sdl/sdl.cpp        Wed Feb 29 20:45:29 2012
-@@ -1822,56 +1822,62 @@ int pd_handle_events(md &megad)
-       switch(event.type)
-       {
- #ifdef WITH_SDL_JOYSTICK
--       case SDL_JOYAXISMOTION:
--         // x-axis
--         if(event.jaxis.axis == 0)
--           {
--             if(event.jaxis.value < -16384)
--               {
--                 megad.pad[event.jaxis.which] &= ~0x04;
--                 megad.pad[event.jaxis.which] |=  0x08;
--                 break;
--               }
--             if(event.jaxis.value > 16384)
--               {
--                 megad.pad[event.jaxis.which] |=  0x04;
--                 megad.pad[event.jaxis.which] &= ~0x08;
--                 break;
--               }
--             megad.pad[event.jaxis.which] |= 0xC;
--             break;
--           }
--         // y-axis
--         if(event.jaxis.axis == 1)
--           {
--             if(event.jaxis.value < -16384)
--               {
--                 megad.pad[event.jaxis.which] &= ~0x01;
--                 megad.pad[event.jaxis.which] |=  0x02;
--                 break;
--               }
--             if(event.jaxis.value > 16384)
--               {
--                 megad.pad[event.jaxis.which] |=  0x01;
--                 megad.pad[event.jaxis.which] &= ~0x02;
--                 break;
--               }
--             megad.pad[event.jaxis.which] |= 0x3;
--             break;
--           }
--         break;
--       case SDL_JOYBUTTONDOWN:
--         // Ignore more than 16 buttons (a reasonable limit :)
--         if(event.jbutton.button > 15) break;
--         megad.pad[event.jbutton.which] &= ~js_map_button[event.jbutton.which]
--                                                         
[event.jbutton.button];
--         break;
--       case SDL_JOYBUTTONUP:
--         // Ignore more than 16 buttons (a reasonable limit :)
--         if(event.jbutton.button > 15) break;
--         megad.pad[event.jbutton.which] |= js_map_button[event.jbutton.which]
--                                                        
[event.jbutton.button];
--         break;
-+              extern int js_index[2];
-+              int pad;
-+
-+      case SDL_JOYAXISMOTION:
-+              if ((pad = 0, event.jaxis.which != js_index[pad]) &&
-+                  (pad = 1, event.jaxis.which != js_index[pad]))
-+                      break;
-+              // x-axis
-+              if (event.jaxis.axis == 0) {
-+                      if (event.jaxis.value < -16384) {
-+                              megad.pad[pad] &= ~0x04;
-+                              megad.pad[pad] |=  0x08;
-+                              break;
-+                      }
-+                      if (event.jaxis.value > 16384) {
-+                              megad.pad[pad] |=  0x04;
-+                              megad.pad[pad] &= ~0x08;
-+                              break;
-+                      }
-+                      megad.pad[pad] |= 0xc;
-+                      break;
-+              }
-+              // y-axis
-+              else if (event.jaxis.axis == 1) {
-+                      if (event.jaxis.value < -16384) {
-+                              megad.pad[pad] &= ~0x01;
-+                              megad.pad[pad] |=  0x02;
-+                              break;
-+                      }
-+                      if (event.jaxis.value > 16384) {
-+                              megad.pad[pad] |=  0x01;
-+                              megad.pad[pad] &= ~0x02;
-+                              break;
-+                      }
-+                      megad.pad[pad] |= 0x3;
-+                      break;
-+              }
-+              break;
-+      case SDL_JOYBUTTONDOWN:
-+              // Ignore more than 16 buttons (a reasonable limit :)
-+              if (event.jbutton.button > 15)
-+                      break;
-+              if ((pad = 0, event.jaxis.which != js_index[pad]) &&
-+                  (pad = 1, event.jaxis.which != js_index[pad]))
-+                      break;
-+              megad.pad[pad] &= ~js_map_button[pad][event.jbutton.button];
-+              break;
-+      case SDL_JOYBUTTONUP:
-+              // Ignore more than 16 buttons (a reasonable limit :)
-+              if (event.jbutton.button > 15)
-+                      break;
-+              if ((pad = 0, event.jaxis.which != js_index[pad]) &&
-+                  (pad = 1, event.jaxis.which != js_index[pad]))
-+                      break;
-+              megad.pad[pad] |= js_map_button[pad][event.jbutton.button];
-+              break;
- #endif // WITH_SDL_JOYSTICK
-       case SDL_KEYDOWN:
-         ksym = event.key.keysym.sym;

-- 
Best Regards
Edd Barrett

http://www.theunixzoo.co.uk

Reply via email to