hatari icon indicating copy to clipboard operation
hatari copied to clipboard

[WIP] (Core) Hatari IPF Support

Open pkos opened this issue 2 years ago • 15 comments

Everything needed to compile Hatari with IPF support.

Related Issues:

https://github.com/libretro/hatari/issues/4

pkos avatar Apr 02 '22 21:04 pkos

The Makefile.libretro should be properly modified to merge what is new and what was working in a previous build.

pkos avatar Apr 02 '22 21:04 pkos

Hi, so is everything required to be changed in the Makefile addressed by this PR? If not, it's best you do this.

inactive123 avatar Apr 03 '22 01:04 inactive123

Hi, so is everything required to be changed in the Makefile addressed by this PR? If not, it's best you do this.

Yes sir, hopefully I can do this. I've asked @crystalct for help.

pkos avatar Apr 03 '22 12:04 pkos

i'll take a look at it

crystalct avatar Apr 04 '22 05:04 crystalct

I think you have to rewrite this PR because Makefile.libretro was a bit "raped". Start from current and clean Makefile.libretro and add only the part concerning the IPF support.

crystalct avatar Apr 04 '22 06:04 crystalct

@twinaphex and @pkos this is my clean version of IPF support: commit IPF It works on PS3 usage: make -f Makefile.libretro platform=ps3 capsimg=1 capssrc=PATH_TO_CAPS_SRC caps src folder structure is taken from official release: kryoflux.com

.
.
12  /dev_hdd0/ROMS/hatari/Action Service (F) (1989) (Atari ST) (Infogrames - Cobrasoft).ipf
RetroConf:'/dev_hdd0/game/RETROARCH/USRDIR/system/hatari.cfg'
Hatari v1.8.0, compiled on:  Apr  7 2022, 12:48:36
IPF : IPF_Init
IPF : capsimage library version release=5 revision=1
Configured max Hatari resolution = 832x520, optimal for ST = 832x588
IPF : IPF_Insert drive=0 buf=3021efa0 size=521027 imageid=0 type=IPF
Type: 1
Release: 1
Revision: 0
Min Cylinder: 0
Max Cylinder: 83
Min Head: 0
Max Head: 1
Creation Date: 2020/03/14 14:33:19.563
Platforms: Atari ST
Inserted disk '/dev_hdd0/ROMS/hatari/Action Service (F) (1989) (Atari ST) (Infogrames - Cobrasoft).ipf' to drive A:.
Building CPU table for configuration: 68000 (compatible mode)
.
.

crystalct avatar Apr 07 '22 11:04 crystalct

A huge thanks for your great work so far. I am a bit of a noob, but as far as I understood, with the acceptance of your commit, this was merged into master and with right parameters and folders, it should be possible to compile master with IPF-support now, right?

I understand that the compiled file cannot be shared from the libretro project due to third party rights on IPF components.

Therefore it would be so great if you could give instructions for noobs how to compile libretro hatari with IPF-support now, because seems not that trivial. I was following your instructions and commits for some time, already before the acceptance and was not able to compile so far on a windows machine and also on a linux vm. The farthest I got on Linux (compiling for Win-Libretro) but at first there was "winsock2.h" not found, I just removed the include but now i get a mkdir error and I am completely lost:

i@i-VirtualBox:~/hatari$ make -f Makefile.libretro platform=win capssrc=CAPSImg cc -DGIT_VERSION="" 1ebf0a04"" -funroll-loops -ffast-math -fomit-frame-pointer -O3 -fsigned-char -D__LIBRETRO__ -fno-builtin -DLSB_FIRST -DALIGN_DWORD -DWIN32PORT -DWIN32 -I./src -I./src/uae-cpu -I./src/falcon -I./src/includes -I./src/debug -I./src -I./libretro -I./libretro/libretro-common/include -I./libretro/libretro-common/include/compat/zlib -I./libretro/include -I./libretro/utils -I./libretro/uae-cpu-pregen -c -o src/gemdos.o src/gemdos.c src/gemdos.c: In function ‘GemDOS_MkDir’: src/gemdos.c:153:26: error: too few arguments to function ‘mkdir’ 153 | #define mkdir(name,mode) mkdir(name)

Those were my steps:

  • (Im working on a MintLinuxVM in Oracle VM as I have very limited Linux knowledge)
  • I cloned the main repository on commit 1ebf0a0
  • I downloaded the IPF-src as described in this thread.
  • I ran the make command: make -f Makefile.libretro platform=win capssrc=CAPSImg

If you could provide a "Dummies walkthrough for compiling Libretro Hatari with IPF-support" (no matter if on Win or Linux) that would be really awesome!

Typhor avatar Jun 18 '22 05:06 Typhor

Noted, I'll review the compile.

Sent from Yahoo Mail on Android

On Sat, Jun 18, 2022 at 1:34 AM, @.***> wrote:

A huge thanks for your great work so far. I am a bit of a noob, but as far as I understood, with the acceptance of your commit, this was merged into master and with right parameters and folders, it should be possible to compile master with IPF-support now, right?

I understand that the compiled file cannot be shared from the libretro project due to third party rights on IPF components.

Therefore it would be so great if you could give instructions for noobs how to compile libretro hatari with IPF-support now, because seems not that trivial. I was following your instructions and commits for some time, already before the acceptance and was not able to compile so far on a windows machine and also on a linux vm. The farthest I got on Linux (compiling for Win-Libretro) but at first there was "winsock2.h" not found, I just removed the include but now i get a mkdir error and I am completely lost:

@.***:~/hatari$ make -f Makefile.libretro platform=win capssrc=CAPSImg cc -DGIT_VERSION="" 1ebf0a0"" -funroll-loops -ffast-math -fomit-frame-pointer -O3 -fsigned-char -D__LIBRETRO__ -fno-builtin -DLSB_FIRST -DALIGN_DWORD -DWIN32PORT -DWIN32 -I./src -I./src/uae-cpu -I./src/falcon -I./src/includes -I./src/debug -I./src -I./libretro -I./libretro/libretro-common/include -I./libretro/libretro-common/include/compat/zlib -I./libretro/include -I./libretro/utils -I./libretro/uae-cpu-pregen -c -o src/gemdos.o src/gemdos.c src/gemdos.c: In function ‘GemDOS_MkDir’: src/gemdos.c:153:26: error: too few arguments to function ‘mkdir’ 153 | #define mkdir(name,mode) mkdir(name)

Those were my steps:

  • (Im working on a MintLinuxVM in Oracle VM as I have very limited Linux knowledge)
  • I cloned the main repository on commit 1ebf0a0
  • I downloaded the IPF-src as described in this thread.
  • I ran the make command: make -f Makefile.libretro platform=win capssrc=CAPSImg

If you could provide a "Dummies walkthrough for compiling Libretro Hatari with IPF-support" (no matter if on Win or Linux) that would be really awesome!

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

pkos avatar Jun 19 '22 15:06 pkos

If your target is a windows retroarch then follow this: https://emulation.gametechwiki.com/index.php/Building_RetroArch Choose if you want a 64bit or 32bit versione and try to compile just a core, not all retroarch. When you gain a working dll core (putting your compiled core inside a retroarch installation) then you can try a step over.... Hatari with IPF.

crystalct avatar Jun 20 '22 05:06 crystalct

Thanks for the guideline and the quick responses, I sucessfully managed to build hatari on windows with the regular "./libretro-build.sh hatari". But as soon as I changed the make command in /rules.d/core-rules.sh to:

include_core_hatari() {
register_module core "hatari" -theos_ios -ngc -ps3 -psp1 -qnx -wii
}
libretro_hatari_name="Hatari"
libretro_hatari_git_url="https://github.com/libretro/hatari.git"
libretro_hatari_build_makefile="Makefile.libretro capsimg=1 capssrc=CAPSImg"

Compiling failed with following error, the same error that also came with manually running make in the hatari directory (with parameters)

CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:10:1: note: in expansion of macro 'ExtSub'
   10 | ExtSub SDWORD __cdecl CAPSInit();
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:11:1: note: in expansion of macro 'ExtSub'
   11 | ExtSub SDWORD __cdecl CAPSExit();
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:12:1: note: in expansion of macro 'ExtSub'
   12 | ExtSub SDWORD __cdecl CAPSAddImage();
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:13:1: note: in expansion of macro 'ExtSub'
   13 | ExtSub SDWORD __cdecl CAPSRemImage(SDWORD id);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:14:1: note: in expansion of macro 'ExtSub'
   14 | ExtSub SDWORD __cdecl CAPSLockImage(SDWORD id, PCHAR name);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:15:1: note: in expansion of macro 'ExtSub'
   15 | ExtSub SDWORD __cdecl CAPSLockImageMemory(SDWORD id, PUBYTE buffer, UDWORD length, UDWORD flag);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:16:1: note: in expansion of macro 'ExtSub'
   16 | ExtSub SDWORD __cdecl CAPSUnlockImage(SDWORD id);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:17:1: note: in expansion of macro 'ExtSub'
   17 | ExtSub SDWORD __cdecl CAPSLoadImage(SDWORD id, UDWORD flag);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:18:1: note: in expansion of macro 'ExtSub'
   18 | ExtSub SDWORD __cdecl CAPSGetImageInfo(PCAPSIMAGEINFO pi, SDWORD id);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:19:1: note: in expansion of macro 'ExtSub'
   19 | ExtSub SDWORD __cdecl CAPSLockTrack(PVOID ptrackinfo, SDWORD id, UDWORD cylinder, UDWORD head, UDWORD flag);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:20:1: note: in expansion of macro 'ExtSub'
   20 | ExtSub SDWORD __cdecl CAPSUnlockTrack(SDWORD id, UDWORD cylinder, UDWORD head);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:21:1: note: in expansion of macro 'ExtSub'
   21 | ExtSub SDWORD __cdecl CAPSUnlockAllTracks(SDWORD id);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:22:1: note: in expansion of macro 'ExtSub'
   22 | ExtSub PCHAR  __cdecl CAPSGetPlatformName(UDWORD pid);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:23:1: note: in expansion of macro 'ExtSub'
   23 | ExtSub SDWORD __cdecl CAPSGetVersionInfo(PVOID pversioninfo, UDWORD flag);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:24:1: note: in expansion of macro 'ExtSub'
   24 | ExtSub UDWORD __cdecl CAPSFdcGetInfo(SDWORD iid, PCAPSFDC pc, SDWORD ext);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:25:1: note: in expansion of macro 'ExtSub'
   25 | ExtSub SDWORD __cdecl CAPSFdcInit(PCAPSFDC pc);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:26:1: note: in expansion of macro 'ExtSub'
   26 | ExtSub void   __cdecl CAPSFdcReset(PCAPSFDC pc);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:27:1: note: in expansion of macro 'ExtSub'
   27 | ExtSub void   __cdecl CAPSFdcEmulate(PCAPSFDC pc, UDWORD cyclecnt);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:28:1: note: in expansion of macro 'ExtSub'
   28 | ExtSub UDWORD __cdecl CAPSFdcRead(PCAPSFDC pc, UDWORD address);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:29:1: note: in expansion of macro 'ExtSub'
   29 | ExtSub void   __cdecl CAPSFdcWrite(PCAPSFDC pc, UDWORD address, UDWORD data);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:30:1: note: in expansion of macro 'ExtSub'
   30 | ExtSub SDWORD __cdecl CAPSFdcInvalidateTrack(PCAPSFDC pc, SDWORD drive);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:31:1: note: in expansion of macro 'ExtSub'
   31 | ExtSub SDWORD __cdecl CAPSFormatDataToMFM(PVOID pformattrack, UDWORD flag);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:32:1: note: in expansion of macro 'ExtSub'
   32 | ExtSub SDWORD __cdecl CAPSGetInfo(PVOID pinfo, SDWORD id, UDWORD cylinder, UDWORD head, UDWORD inftype, UDWORD infid);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:33:1: note: in expansion of macro 'ExtSub'
   33 | ExtSub SDWORD __cdecl CAPSSetRevolution(SDWORD id, UDWORD value);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:34:1: note: in expansion of macro 'ExtSub'
   34 | ExtSub SDWORD __cdecl CAPSGetImageType(PCHAR name);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:35:1: note: in expansion of macro 'ExtSub'
   35 | ExtSub SDWORD __cdecl CAPSGetImageTypeMemory(PUBYTE buffer, UDWORD length);
      | ^~~~~~
CAPSImg/LibIPF/ComLib.h:18:23: error: expected identifier or '(' before string constant
   18 | #define ExtSub extern "C" DllSub
      |                       ^~~
CAPSImg/LibIPF/CapsLib.h:36:1: note: in expansion of macro 'ExtSub'
   36 | ExtSub SDWORD __cdecl CAPSGetDebugRequest();
      | ^~~~~~
libretro/utils/zlib/inffast.c:324:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
  324 | }
      | ^
make: *** [Makefile.libretro:242: src/uae-cpu/newcpu.o] Error 1
make: *** Waiting for unfinished jobs....
libretro/gui-retro/dlgFileSelect.c: In function 'SDLGui_FileSelect':
libretro/gui-retro/dlgFileSelect.c:565:43: warning: implicit declaration of function 'scandir' [-Wimplicit-function-declaration]
  565 |                                 entries = scandir(path, &files, 0, alphasort);
      |                                           ^~~~~~~
libretro/utils/zlib/trees.c: In function '_tr_init':
libretro/utils/zlib/trees.c:410:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
  410 | }
      | ^
libretro/utils/zlib/trees.c: In function '_tr_stored_block':
libretro/utils/zlib/trees.c:883:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
  883 | }
      | ^
libretro/utils/zlib/trees.c: In function '_tr_align':
libretro/utils/zlib/trees.c:919:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
  919 | }
      | ^
libretro/utils/zlib/trees.c: In function '_tr_flush_block':
libretro/utils/zlib/trees.c:1020:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
 1020 | }
      | ^
libretro/utils/zlib/trees.c: In function '_tr_tally':
libretro/utils/zlib/trees.c:1071:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
 1071 | }
      | ^
libretro/utils/zlib/trees.c: At top level:
libretro/utils/zlib/trees.c:1244:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
 1244 | }
      | ^

I took the ipf source direct from your Link ([Source code] https://www.kryoflux.com/download/spsdeclib_5.1_source.zip) (v5.1), for Windows, Mac OS X and Linux builds) and took the content of "capsimg_source_windows.zip" in the referenced folder from parameters. I also tried the Linux zip(within the source) and even other zips from kryoflux but every one of them failed. What am I doing wrong here?

Typhor avatar Jun 20 '22 18:06 Typhor

Ok for windows isn't so easy....... use sources from capsimg_binary

inside ComLib.h change

#define ExtSub extern "C" DllSub
#define ExtVar extern "C" DllVar

to

#ifdef __cplusplus
#define ExtSub extern "C" DllSub
#define ExtVar extern "C" DllVar
#else
#define ExtSub DllSub
#define ExtVar DllVar	
#endif

inside CommonTypes.h change

#ifndef COMMONTYPES_H
#define COMMONTYPES_H

typedef void *PVOID;
typedef char *PCHAR;

to

#ifndef COMMONTYPES_H
#define COMMONTYPES_H

#include <stdint.h>
typedef uint8_t  CapsUByte;
typedef int32_t  CapsLong;
typedef uint32_t CapsULong;

typedef void *PVOID;
typedef char *PCHAR;

and inside Makefile.libretro change

ifeq ($(capsimg), 1)
PLATFLAGS += -DHAVE_CAPSIMAGE -DCAPSIMAGE_VERSION=5 -I$(capssrc)/LibIPF/ -I$(capssrc)/Core/ -I$(capssrc)/
endif

to

ifeq ($(capsimg), 1)
PLATFLAGS += -DHAVE_CAPSIMAGE -DCAPSIMAGE_VERSION=5 -I$(capssrc)/LibIPF/ -I$(capssrc)/Core/ -I$(capssrc)/ $(capssrc)/CAPSImg.dll
endif

Finally: make -f Makefile.libretro capssrc=./src/capsimg_binary capsimg=1

crystalct avatar Jun 27 '22 12:06 crystalct

Thank you so much, with your modifications, it actually compiled and I got the dll. Unfortunately, when I start the core I get an error

[ERROR] opening the Libretro-Core failed "Z:\...\hatari_libretro.dll"
[ERROR] Error(s): unknown error 193

I allready updated MSVC for 64 bit and x86 but it seems that there is another dependency missing. Do you have any guess what it could be? The error appears when directly loading the core, or trying to open file with the core.

Typhor avatar Jun 27 '22 17:06 Typhor

Thank you so much, with your modifications, it actually compiled and I got the dll. Unfortunately, when I start the core I get an error

[ERROR] opening the Libretro-Core failed "Z:\...\hatari_libretro.dll"
[ERROR] Error(s): unknown error 193

I allready updated MSVC for 64 bit and x86 but it seems that there is another dependency missing. Do you have any guess what it could be? The error appears when directly loading the core, or trying to open file with the core.

Check this configuration, it was last know working.

[Floppy] bAutoInsertDiskB = TRUE nWriteProtection = 0 szDiskAFileName = E:\RetroArch\ROMS\Systems\Atari - ST\Games\10th Frame (Europe).ipf szDiskBFileName = szDiskImageDirectory = E:\RetroArch\ROMS\Systems\Atari - ST\Games szDiskAZipPath = szDiskBZipPath = FastFloppy = FALSE EnableDriveA = TRUE DriveA_NumberOfHeads = 2 EnableDriveB = TRUE DriveB_NumberOfHeads = 2

[HardDisk] bBootFromHardDisk = FALSE bUseHardDiskDirectory = FALSE szHardDiskDirectory = E:\RetroArch bUseHardDiskImage = FALSE szHardDiskImage = E:\RetroArch\hdisk nHardDiskDrive = 0 nGemdosCase = 0 nWriteProtection = 0 bUseIdeMasterHardDiskImage = FALSE bUseIdeSlaveHardDiskImage = FALSE szIdeMasterHardDiskImage = E:\RetroArch szIdeSlaveHardDiskImage = E:\RetroArch

[Memory] bAutoSave = FALSE nMemorySize = 1 szAutoSaveFileName = E:\RetroArch\System\hatari\auto.sav szMemoryCaptureFileName = E:\RetroArch\System\hatari\hatari.sav

[Midi] bEnableMidi = FALSE sMidiInFileName = E:\RetroArch\System\hatari\dev\snd\midiC1D0 sMidiOutFileName = E:\RetroArch\System\hatari\dev\snd\midiC1D0

[Printer] bEnablePrinting = FALSE szPrintToFileName = E:\RetroArch\System\hatari\hatari-printer.txt

[ROM] szCartridgeImageFileName = szTosImageFileName = E:\RetroArch\system\tos.img bPatchTos = TRUE

[RS232] bEnableRS232 = FALSE szOutFileName = E:\RetroArch\System\hatari\dev\modem szInFileName = E:\RetroArch\System\hatari\dev\modem

[Screen] bAllowOverscan = TRUE bFullScreen = TRUE bUseExtVdiResolutions = FALSE nForceBpp = 16 nSpec512Threshold = 16 nFrameSkips = 0 nMonitorType = 1 nVdiColors = 0 nVdiWidth = 640 nVdiHeight = 480 bShowStatusbar = FALSE bShowDriveLed = FALSE bAspectCorrect = TRUE nMaxWidth = 832 nMaxHeight = 520 bKeepResolution = TRUE bKeepResolutionST = FALSE bCrop = FALSE bForceMax = FALSE

[Sound] bEnableSound = TRUE szYMCaptureFileName = E:\RetroArch\hatari.wav nPlaybackFreq = 44100 bEnableMicrophone = TRUE bEnableSoundSync = FALSE nSdlAudioBufferSize = 0 YmVolumeMixing = 2

[System] bBlitter = FALSE bCompatibleCpu = FALSE bFastForward = FALSE bPatchTimerD = TRUE bRealTimeClock = TRUE nCpuFreq = 8 nCpuLevel = 0 nDSPType = 0 nMachineType = 0 bFastBoot = TRUE

[Log] sLogFileName = E:\RetroArch\System\hatari\1log.txt sTraceFileName = E:\RetroArch\System\hatari\1trace.txt nTextLogLevel = 1 nAlertDlgLogLevel = 1 bConfirmQuit = FALSE nExceptionDebugMask = 259 bNatFeats = FALSE bConsoleWindow = FALSE

[Debugger] nNumberBase = 10 nDisasmLines = 8 nMemdumpLines = 8 nDisasmOptions = 15 bDisasmUAE = FALSE [Joystick0] nJoystickMode = 0 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = 1 nKeyCodeUp = 273 nKeyCodeDown = 274 nKeyCodeLeft = 276 nKeyCodeRight = 275 nKeyCodeFire = 305

[Joystick1] nJoystickMode = 1 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = 0 nKeyCodeUp = 273 nKeyCodeDown = 274 nKeyCodeLeft = 276 nKeyCodeRight = 275 nKeyCodeFire = 305

[Joystick2] nJoystickMode = 0 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = 2 nKeyCodeUp = 273 nKeyCodeDown = 274 nKeyCodeLeft = 276 nKeyCodeRight = 275 nKeyCodeFire = 305

[Joystick3] nJoystickMode = 0 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = 3 nKeyCodeUp = 273 nKeyCodeDown = 274 nKeyCodeLeft = 276 nKeyCodeRight = 275 nKeyCodeFire = 305

[Joystick4] nJoystickMode = 0 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = 4 nKeyCodeUp = 273 nKeyCodeDown = 274 nKeyCodeLeft = 276 nKeyCodeRight = 275 nKeyCodeFire = 305

[Joystick5] nJoystickMode = 0 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = 5 nKeyCodeUp = 273 nKeyCodeDown = 274 nKeyCodeLeft = 276 nKeyCodeRight = 275 nKeyCodeFire = 305

[Keyboard] bDisableKeyRepeat = FALSE nKeymapType = 0 szMappingFileName =

[ShortcutsWithModifiers] keyOptions = 111 keyFullScreen = 102 keyMouseMode = 109 keyColdReset = 99 keyWarmReset = 114 keyScreenShot = 103 keyBossKey = 105 keyCursorEmu = 106 keyFastForward = 120 keyRecAnim = 97 keyRecSound = 121 keySound = 115 keyPause = 0 keyDebugger = 19 keyQuit = 113 keyLoadMem = 108 keySaveMem = 107 keyInsertDiskA = 100 keySwitchJoy0 = 282 keySwitchJoy1 = 283 keySwitchPadA = 284 keySwitchPadB = 285

[ShortcutsWithoutModifiers] keyOptions = 293 keyFullScreen = 292 keyMouseMode = 0 keyColdReset = 0 keyWarmReset = 0 keyScreenShot = 0 keyBossKey = 0 keyCursorEmu = 0 keyFastForward = 0 keyRecAnim = 0 keyRecSound = 0 keySound = 0 keyPause = 19 keyDebugger = 0 keyQuit = 0 keyLoadMem = 0 keySaveMem = 0 keyInsertDiskA = 0 keySwitchJoy0 = 0 keySwitchJoy1 = 0 keySwitchPadA = 0 keySwitchPadB = 0

[Video] AviRecordVcodec = 1 AviRecordFps = 0 AviRecordFile = E:\RetroArch\hatari.avi

pkos avatar Jun 27 '22 19:06 pkos

capsimg.zip

You can try the DLL I compiled long ago. I'm really sorry but within days I'm moving and everything is either packed or stored.

pkos avatar Jun 27 '22 19:06 pkos

Ok, I'll give that a try and send up a draft.

Sent from Yahoo Mail on Android

On Mon, Apr 4, 2022 at 2:12 AM, @.***> wrote:

I think you have to rewrite this PR because Makefile.libretro was a bit "raped". Start from current and clean Makefile.libretro and add only the part concerning the IPF support.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

pkos avatar Oct 11 '22 09:10 pkos