summaryrefslogtreecommitdiff
blob: cac630f66f44fa32e4abacb2adf05c05b639eee1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
diff -Nuar hatari-2.1.0-orig/cmake/FindCapsImage.cmake hatari-2.1.0/cmake/FindCapsImage.cmake
--- hatari-2.1.0-orig/cmake/FindCapsImage.cmake	2018-07-28 20:32:59.164780571 +0300
+++ hatari-2.1.0/cmake/FindCapsImage.cmake	2018-07-28 20:33:16.130781607 +0300
@@ -1,22 +1,18 @@
-
 IF (CAPSIMAGE_INCLUDE_DIR)
-  # Already in cache, be silent
-  SET(CAPSIMAGE_FIND_QUIETLY TRUE)
+	# Already in cache, be silent
+	SET(CAPSIMAGE_FIND_QUIETLY TRUE)
 ENDIF (CAPSIMAGE_INCLUDE_DIR)
 
-
-# Choose the library version to use : 4 or 5
-SET(CAPSIMAGE_VERSION 5)
-
-
-if(CAPSIMAGE_VERSION STREQUAL 4)
-	SET(CAPSIMAGE_DIR caps)
-	FIND_PATH(CAPSIMAGE_INCLUDE_DIR ${CAPSIMAGE_DIR}/capsimage.h)
+if(ENABLE_CAPSIMAGE5)
+	SET(CAPSIMAGE_VERSION 5)
+	FIND_PATH(CAPSIMAGE_INCLUDE_DIR NAMES CapsAPI.h PATH_SUFFIXES caps5)
 else()
-	SET(CAPSIMAGE_DIR caps5)
-	FIND_PATH(CAPSIMAGE_INCLUDE_DIR ${CAPSIMAGE_DIR}/CapsAPI.h)
+	SET(CAPSIMAGE_VERSION 4)
+	FIND_PATH(CAPSIMAGE_INCLUDE_DIR NAMES capsimage.h PATH_SUFFIXES caps)
 endif()
 
+message(${CAPSIMAGE_INCLUDE_DIR})
+
 if(WIN32)
 	FIND_LIBRARY(CAPSIMAGE_LIBRARY NAMES capsimg PATH_SUFFIXES ${CAPSIMAGE_DIR} )
 else()
diff -Nuar hatari-2.1.0-orig/src/CMakeLists.txt hatari-2.1.0/src/CMakeLists.txt
--- hatari-2.1.0-orig/src/CMakeLists.txt	2018-07-28 20:32:59.152780571 +0300
+++ hatari-2.1.0/src/CMakeLists.txt	2018-07-28 20:33:16.131781607 +0300
@@ -55,6 +55,10 @@
 	include_directories(${PNG_INCLUDE_DIR})
 endif(PNG_FOUND)
 
+if(CAPSIMAGE_FOUND)
+	include_directories(${CAPSIMAGE_INCLUDE_DIR})
+endif(CAPSIMAGE_FOUND)
+
 if(X11_FOUND)
 	include_directories(${X11_INCLUDE_DIR})
 endif(X11_FOUND)
diff -Nuar hatari-2.1.0-orig/src/floppy_ipf.c hatari-2.1.0/src/floppy_ipf.c
--- hatari-2.1.0-orig/src/floppy_ipf.c	2018-07-28 20:32:59.152780571 +0300
+++ hatari-2.1.0/src/floppy_ipf.c	2018-07-28 20:34:32.782786288 +0300
@@ -30,9 +30,9 @@
 
 #ifdef HAVE_CAPSIMAGE
 #if CAPSIMAGE_VERSION == 5
-#include <caps5/CapsLibAll.h>
+#include <CapsLibAll.h>
 #else
-#include <caps/fdc.h>
+#include <fdc.h>
 #define CAPS_LIB_RELEASE	4
 #define CAPS_LIB_REVISION	2
 #endif
@@ -61,8 +61,8 @@
 
 	struct CapsFdc		Fdc;				/* Fdc state */
 	struct CapsDrive 	Drive[ MAX_FLOPPYDRIVES ];	/* Physical drives */
-	CapsLong		CapsImage[ MAX_FLOPPYDRIVES ];	/* Image Id or -1 if drive empty */
-	CapsLong		CapsImageType[ MAX_FLOPPYDRIVES ]; /* ImageType or -1 if not known */
+	Sint32			CapsImage[ MAX_FLOPPYDRIVES ];	/* Image Id or -1 if drive empty */
+	Sint32			CapsImageType[ MAX_FLOPPYDRIVES ]; /* ImageType or -1 if not known */
 
 	int			Rev_Track[ MAX_FLOPPYDRIVES ];	/* Needed to handle CAPSSetRevolution for type II/III commands */
 	int			Rev_Side[ MAX_FLOPPYDRIVES ];
@@ -83,9 +83,9 @@
 static char	*IPF_FilenameFindTrackSide (char *FileName);
 static bool	IPF_Insert_RawStreamImage ( int Drive );
 
-static void	IPF_CallBack_Trk ( struct CapsFdc *pc , CapsULong State );
-static void	IPF_CallBack_Irq ( struct CapsFdc *pc , CapsULong State );
-static void	IPF_CallBack_Drq ( struct CapsFdc *pc , CapsULong State );
+static void	IPF_CallBack_Trk ( struct CapsFdc *pc , Uint32 State );
+static void	IPF_CallBack_Irq ( struct CapsFdc *pc , Uint32 State );
+static void	IPF_CallBack_Drq ( struct CapsFdc *pc , Uint32 State );
 static void	IPF_Drive_Update_Enable_Side ( void );
 static void	IPF_FDC_LogCommand ( Uint8 Command );
 #endif
@@ -419,8 +419,8 @@
 	return false;
 
 #else
-	CapsLong	ImageId;
-	CapsLong	ImageType;
+	Sint32		ImageId;
+	Sint32		ImageType;
 
 	ImageId = CAPSAddImage();
 	if ( ImageId < 0 )
@@ -470,7 +470,7 @@
 	ImageType = -1;
 #endif
 
-	if ( CAPSLockImageMemory ( ImageId , pImageBuffer , (CapsULong)ImageSize , DI_LOCK_MEMREF ) == imgeOk )
+	if ( CAPSLockImageMemory ( ImageId , pImageBuffer , (Uint32)ImageSize , DI_LOCK_MEMREF ) == imgeOk )
 	{
 		struct CapsImageInfo cii;
 		int		i;
@@ -703,7 +703,7 @@
  * We need to update the track data by calling CAPSLockTrack
  */
 #ifdef HAVE_CAPSIMAGE
-static void	IPF_CallBack_Trk ( struct CapsFdc *pc , CapsULong State )
+static void	IPF_CallBack_Trk ( struct CapsFdc *pc , Uint32 State )
 {
 	int	Drive = State;				/* State is the drive number in that case */
 	struct CapsDrive *pd = pc->drive+Drive;		/* Current drive where the track change occurred */
@@ -732,7 +732,7 @@
  * Callback function used when the FDC change the IRQ signal
  */
 #ifdef HAVE_CAPSIMAGE
-static void	IPF_CallBack_Irq ( struct CapsFdc *pc , CapsULong State )
+static void	IPF_CallBack_Irq ( struct CapsFdc *pc , Uint32 State )
 {
 	LOG_TRACE(TRACE_FDC, "fdc ipf callback irq state=0x%x VBL=%d HBL=%d\n" , (int)State , nVBLs , nHBL );
 
@@ -751,7 +751,7 @@
  * -> copy the byte to/from the DMA's FIFO if it's a read or a write to the disk
  */
 #ifdef HAVE_CAPSIMAGE
-static void	IPF_CallBack_Drq ( struct CapsFdc *pc , CapsULong State )
+static void	IPF_CallBack_Drq ( struct CapsFdc *pc , Uint32 State )
 {
 	Uint8	Byte;
 
diff -Nuar hatari-2.1.0-orig/src/uae-cpu/newcpu.c hatari-2.1.0/src/uae-cpu/newcpu.c
--- hatari-2.1.0-orig/src/uae-cpu/newcpu.c	2018-07-28 20:32:59.158780571 +0300
+++ hatari-2.1.0/src/uae-cpu/newcpu.c	2018-07-28 20:33:16.132781607 +0300
@@ -167,7 +167,7 @@
 
 #ifdef HAVE_CAPSIMAGE
 #if CAPSIMAGE_VERSION == 5
-#include <caps5/CapsLibAll.h>
+#include <CapsLibAll.h>
 #endif
 #endif