Files
haikuports/app-emulation/basiliskii/patches/basiliskii-cvs-unfinished.patch
François Revol 5020abbf1a BasiliskII: add my unfinished patch against CVS
Just for the record.
2015-04-26 03:04:54 +02:00

203 lines
5.2 KiB
Diff

Index: src/ether.cpp
===================================================================
RCS file: /home/cvs/cebix/BasiliskII/src/ether.cpp,v
retrieving revision 1.16
diff -u -r1.16 ether.cpp
--- src/ether.cpp 1 Jan 2008 09:40:31 -0000 1.16
+++ src/ether.cpp 26 Apr 2015 01:01:10 -0000
@@ -57,7 +57,7 @@
#define MONITOR 0
-#ifdef __BEOS__
+#if defined(__BEOS__) && (IPPROTO_TCP != 6) /* net_server */
#define CLOSESOCKET closesocket
#else
#define CLOSESOCKET close
Index: src/BeOS/Makefile
===================================================================
RCS file: /home/cvs/cebix/BasiliskII/src/BeOS/Makefile,v
retrieving revision 1.10
diff -u -r1.10 Makefile
--- src/BeOS/Makefile 15 Jul 2001 14:19:08 -0000 1.10
+++ src/BeOS/Makefile 26 Apr 2015 01:01:10 -0000
@@ -68,7 +68,16 @@
# naming scheme you need to specify the path to the library
# and it's name
# library: my_lib.a entry: my_lib.a or path/my_lib.a
-LIBS=be game media device textencoding tracker net
+ifneq ($(wildcard /boot/develop/lib/*/libnetwork.so),)
+NETLIBS := network
+else
+ifneq ($(wildcard /boot/develop/lib/*/libsocket.so),)
+NETLIBS := socket bind
+else
+NETLIBS := net
+endif
+endif
+LIBS=be game media device textencoding tracker $(NETLIBS)
# specify additional paths to directories following the standard
# libXXX.so or libXXX.a naming scheme. You can specify full paths
Index: src/BeOS/ether_beos.cpp
===================================================================
RCS file: /home/cvs/cebix/BasiliskII/src/BeOS/ether_beos.cpp,v
retrieving revision 1.14
diff -u -r1.14 ether_beos.cpp
--- src/BeOS/ether_beos.cpp 1 Jan 2008 09:40:32 -0000 1.14
+++ src/BeOS/ether_beos.cpp 26 Apr 2015 01:01:10 -0000
@@ -30,6 +30,9 @@
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
+#ifdef AF_MAX /* BONE or Haiku */
+#include <netinet/in.h>
+#endif
#include "cpu_emulation.h"
#include "main.h"
Index: src/BeOS/main_beos.cpp
===================================================================
RCS file: /home/cvs/cebix/BasiliskII/src/BeOS/main_beos.cpp,v
retrieving revision 1.16
diff -u -r1.16 main_beos.cpp
--- src/BeOS/main_beos.cpp 21 Sep 2009 03:33:20 -0000 1.16
+++ src/BeOS/main_beos.cpp 26 Apr 2015 01:01:10 -0000
@@ -19,7 +19,8 @@
*/
#include <AppKit.h>
-#include <InterfaceKit.h>
+//#include <InterfaceKit.h>
+#include <Alert.h>
#include <KernelKit.h>
#include <StorageKit.h>
Index: src/BeOS/video_beos.cpp
===================================================================
RCS file: /home/cvs/cebix/BasiliskII/src/BeOS/video_beos.cpp,v
retrieving revision 1.17
diff -u -r1.17 video_beos.cpp
--- src/BeOS/video_beos.cpp 1 Jan 2008 09:40:32 -0000 1.17
+++ src/BeOS/video_beos.cpp 26 Apr 2015 01:01:10 -0000
@@ -19,10 +19,16 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+/* FIXME: HACK: struct name conflict in Accelerant.h: video_mode */
+#define video_mode beos_video_mode
+
+#include <Accelerant.h>
#include <AppKit.h>
#include <InterfaceKit.h>
#include <GameKit.h>
+#undef video_mode
+
#include <stdio.h>
#include <string.h>
@@ -47,6 +53,7 @@
#define DEBUGGER_AVAILABLE 0
+//#define ENABLE_DISPLAY_SCREEN
// Messages
const uint32 MSG_REDRAW = 'draw';
@@ -60,15 +67,39 @@
const uint32 MSG_MOUNT = 'moun';
const uint32 MSG_DEBUGGER = 'dbug';
+// From sys_beos.cpp
+extern void SysCreateVolumeMenu(BMenu *menu, uint32 msg);
+extern void SysMountVolume(const char *name);
+
+// Supported video modes
+static vector<video_mode> VideoModes;
+
// Display types
enum {
DISPLAY_WINDOW,
+#ifdef ENABLE_DISPLAY_SCREEN
DISPLAY_SCREEN
+#endif
};
-// From sys_beos.cpp
-extern void SysCreateVolumeMenu(BMenu *menu, uint32 msg);
-extern void SysMountVolume(const char *name);
+/*
+ * monitor_desc subclass for BeOS display
+ */
+
+class BeOS_monitor_desc : public monitor_desc {
+public:
+ BeOS_monitor_desc(const vector<video_mode> &available_modes, video_depth default_depth, uint32 default_id)
+ : monitor_desc(available_modes, default_depth, default_id) {};
+ ~BeOS_monitor_desc() {};
+
+ virtual void switch_to_current_mode(void);
+ virtual void set_palette(uint8 *pal, int num);
+
+ bool video_open(void);
+ void video_close(void);
+public:
+ int display_type; // See enum above
+};
/*
@@ -93,6 +124,25 @@
/*
+ * Display "driver" classes
+ */
+
+class driver_base {
+public:
+ driver_base(BeOS_monitor_desc &m);
+ virtual ~driver_base();
+
+ virtual void set_palette(uint8 *pal, int num) {};
+ virtual struct BitMap *get_bitmap() { return NULL; };
+public:
+ Amiga_monitor_desc &monitor; // Associated video monitor
+ const video_mode &mode; // Video mode handled by the driver
+ bool init_ok; // Initialization succeeded (we can't use exceptions because of -fomit-frame-pointer)
+ struct Window *the_win;
+};
+
+
+/*
* Window class
*/
@@ -130,6 +180,7 @@
};
+#ifdef ENABLE_DISPLAY_SCREEN
/*
* Screen class
*/
@@ -156,7 +207,7 @@
bool screen_active;
bool first_time;
};
-
+#endif
// Global variables
static int display_type = DISPLAY_WINDOW; // See enum above
@@ -206,7 +257,7 @@
}
VideoModes.push_back(mode);
- video_init_depth_list();
+ //video_init_depth_list(); Now done in monitor_desc constructor?
VideoMonitor.mode = mode;
}