You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/games-emulation/hatari/files/hatari-2.1.0_caps5_files.patch

148 lines
5.1 KiB

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