Hatari port [updated to V1.7.0]

hi 7rtype, may I ask you to provide APK file for that Hatari port? I can provide you feedback but I have no skills to compile it myself. thanks

I can only provide a compiled library (for armv7) not the retroarch apk , you have to put the .so in /data/data/org.retroarch/lib/ . (so need rooted device)

http://wikisend.com/download/217362/hatari.tar.gz

be sure to read the readme and the install.txt , and for easy use put an hatari.cfg ( edited to match your files) in the CONFDIR (for now /mnt/sdcard/st in android) .

Only issue I’ve run into at least on Win64 is that the core crashes when trying to be selected in RGUI. I can launch games from the commandline just fine, I can replay games from RGUI’s history just fine, I can even select another game if I come back to RGUI (even on a close of RetroArch) if game was previously started either from commandline or history. But I can not launch an new game from RGUI by loading the Hatari core first.

Hi guys.
Looks like I’ve been late to the party in this topic. Has there been any progress with this project since previous comments?
Looks like I may take a look at this. P.s HI Pete & Stl :slight_smile:

Thanks for reporting , it’s when you launch the core without game , just push a commit , now must works without crashing.

Hi

It seems that the hatari core can be downloaded for Windows, but I don’t see it in Retroarch on Linux.

Hi guys, I installed Hatari libretro 1.8 on Retroarch 1.2.2 (Raspberry Pi 2). Emulator starts fine and I can using my PS3 controller to interact with it, like r-type describe:

L2 Show/Hide statut (show: JOY/MOUSE MODE | SHIFTON | MOUSE SPEED | NUM JOY | LED ACTIVITY ) R2 Swap kbd pages (virtual keyboard : toggle Page 1 / 2 ) L Show/Hide vkbd (show or hide virtual keyboard ) R Change Mouse speed 1 to 6 (set mouse mode speed : for gui and emu) SEL Toggle mouse/joy mode (switch to joymode or mouse mode) STR Toggle num joy (switch to joy 0 or joy1 ) A Fire / Mouse btnA / Valid key in vkbd B Mouse btn B X Switch Shift ON/OFF (toggle Shift ON or OFF ) Y Hatari Gui (bring hatari GUI)

The issue is that I can’t play: D pad, analog pad and A button doesn’t work in game! Only in MOUSE mode, seems that the right analog do something if I go down, left and right. But it’s not clear what it do: Turrican start, but he explode quicly and GAME OVER! LOL!!!

This is my hatari.cfg. What I wrong? Thanks for any help!

[Log]
sLogFileName = /storage/.hatari/1log.txt
sTraceFileName = /storage/.hatari/1trace.txt
nExceptionDebugMask = 259
nTextLogLevel = 4
nAlertDlgLogLevel = 1
bConfirmQuit = TRUE
bNatFeats = FALSE
bConsoleWindow = FALSE


[Debugger]
nNumberBase = 10
nDisasmLines = 8
nMemdumpLines = 8
nDisasmOptions = 15
bDisasmUAE = FALSE


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


[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


[Sound]
bEnableMicrophone = TRUE
bEnableSound = TRUE
bEnableSoundSync = FALSE
nPlaybackFreq = 44100
nSdlAudioBufferSize = 0
szYMCaptureFileName = /storage/.hatari/hatari.wav
YmVolumeMixing = 2


[Memory]
nMemorySize = 1
bAutoSave = FALSE
szMemoryCaptureFileName = /storage/.kodi/userdata/addon_data/emulator.tools.retroarch/savefiles/hatari.sav
szAutoSaveFileName = /storage/.kodi/userdata/addon_data/emulator.tools.retroarch/savefiles/auto.sav


[Floppy]
bAutoInsertDiskB = TRUE
FastFloppy = TRUE
EnableDriveA = TRUE
DriveA_NumberOfHeads = 2
EnableDriveB = TRUE
DriveB_NumberOfHeads = 2
nWriteProtection = 0
szDiskAZipPath =
szDiskAFileName = 
szDiskBZipPath =
szDiskBFileName =
szDiskImageDirectory = /storage/emulators/roms/ATARIST/


[HardDisk]
nHardDiskDrive = 0
bBootFromHardDisk = FALSE
bUseHardDiskDirectory = FALSE
szHardDiskDirectory = /
nGemdosCase = 0
nWriteProtection = 0
bUseHardDiskImage = FALSE
szHardDiskImage = /
bUseIdeMasterHardDiskImage = FALSE
bUseIdeSlaveHardDiskImage = FALSE
szIdeMasterHardDiskImage = /
szIdeSlaveHardDiskImage = /


[ROM]
szTosImageFileName = /storage/.kodi/userdata/addon_data/emulator.tools.retroarch/system/tos.img
bPatchTos = TRUE
szCartridgeImageFileName =


[RS232]
bEnableRS232 = FALSE
szOutFileName = /dev/modem
szInFileName = /dev/modem


[Printer]
bEnablePrinting = FALSE
szPrintToFileName = /storage/.kodi/userdata/addon_data/emulator.tools.retroarch/config/hatari.prn


[Midi]
bEnableMidi = FALSE
sMidiInFileName = /dev/snd/midiC1D0
sMidiOutFileName = /dev/snd/midiC1D0


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


[Video]
AviRecordVcodec = 1
AviRecordFps = 0
AviRecordFile = /storage/.hatari/hatari.avi

As stated in the github issue , i can’t reproduce it on linux pc.

Hey r-type, nice work on the port. I have a problem though, is there a way to run ipf files in this core? It seems the database used by the playlist itself looks for ipf files, but I cannot run them in this core.

Hi ,

IPF should works with libretro hatari but you should compile it and set IPFSUPPORT IPFDIR .

EDIT: Seem you have to tweak makefile like i stated in the issue or use the hatari on my personal git :

[QUOTE=r-type;33805]Hi ,

IPF should works with libretro hatari but you should compile it and set IPFSUPPORT IPFDIR .

EDIT: Seem you have to tweak makefile like i stated in the issue or use the hatari on my personal git : https://github.com/r-type/hatari[/QUOTE]

I’m having trouble compiling on windows 64 bit:

C:\RetroArch\source\hatari-master>make -f Makefile.libretro "IPFSUPPORT=1" "IPFDIR=C:\RetroArch\source\hatari-master\ipflib_win_x64"
x86_64-w64-mingw32-gcc  -O3 -std=gnu99 -finline-functions -funroll-loops  -fsigned-char -D__LIBRETRO__ -Wno-strict-prototypes -ffast-math -fomit-frame-pointer -fno-strength-reduce  -fno-builtin -finline-functions -DLSB_FIRST -DALIGN_DWORD -DWIN32PORT -DWIN32 -DHAVE_CAPSIMAGE=1 -I./src  -I./src/uae-cpu  -I./src/falcon -I./src/includes -I./src/debug -I./src -I./libretro -I./libretro/libretro-sdk/include -I./libretro/include -I./libretro/utils -I./libretro/uae-cpu-pregen -IC:\RetroArch\source\hatari-master\ipflib_win_x64/include -c -o libretro/uae-cpu-pregen/cpudefs.o libretro/uae-cpu-pregen/cpudefs.c
make: x86_64-w64-mingw32-gcc: Command not found
make: *** [libretro/uae-cpu-pregen/cpudefs.o] Error 127

[QUOTE=Hypnotoad90;33813]I’m having trouble compiling on windows 64 bit:

C:\RetroArch\source\hatari-master>make -f Makefile.libretro "IPFSUPPORT=1" "IPFDIR=C:\RetroArch\source\hatari-master\ipflib_win_x64"
x86_64-w64-mingw32-gcc  -O3 -std=gnu99 -finline-functions -funroll-loops  -fsigned-char -D__LIBRETRO__ -Wno-strict-prototypes -ffast-math -fomit-frame-pointer -fno-strength-reduce  -fno-builtin -finline-functions -DLSB_FIRST -DALIGN_DWORD -DWIN32PORT -DWIN32 -DHAVE_CAPSIMAGE=1 -I./src  -I./src/uae-cpu  -I./src/falcon -I./src/includes -I./src/debug -I./src -I./libretro -I./libretro/libretro-sdk/include -I./libretro/include -I./libretro/utils -I./libretro/uae-cpu-pregen -IC:\RetroArch\source\hatari-master\ipflib_win_x64/include -c -o libretro/uae-cpu-pregen/cpudefs.o libretro/uae-cpu-pregen/cpudefs.c
make: x86_64-w64-mingw32-gcc: Command not found
make: *** [libretro/uae-cpu-pregen/cpudefs.o] Error 127

[/QUOTE]

yes , it’s little complicated to build it for windows (i mean libretro hatari ) you need to setup a mingw env to build libretro hatari for windows .

now for the ipf support on windows using mingw , it’s tricky , you have to build ipfdec_source4.2 from source and then you can use it to build hatari-libretro on windows using mingw. take a look here , there are some info about the process

http://listengine.tuxfamily.org/lists.tuxfamily.org/hatari-devel/2013/12/msg00064.html http://www.atari-forum.com/viewtopic.php?t=27246

[QUOTE=r-type;33817]yes , it’s little complicated to build it for windows (i mean libretro hatari ) you need to setup a mingw env to build libretro hatari for windows .

now for the ipf support on windows using mingw , it’s tricky , you have to build ipfdec_source4.2 from source and then you can use it to build hatari-libretro on windows using mingw. take a look here , there are some info about the process

http://listengine.tuxfamily.org/lists.tuxfamily.org/hatari-devel/2013/12/msg00064.html http://www.atari-forum.com/viewtopic.php?t=27246[/QUOTE]

Btw , i cross compil under linux a libretro windows hatari1.8 , with ipf (capsimage 5.1) support . it should load IPF . i will update repo when possible .

If you could try it and report here if it works for you.

http://dl.free.fr/gSI2tvBUv

[QUOTE=r-type;33833]Btw , i cross compil under linux a libretro windows hatari1.8 , with ipf (capsimage 5.1) support . it should load IPF . i will update repo when possible .

If you could try it and report here if it works for you.

http://dl.free.fr/gSI2tvBUv[/QUOTE]

Thanks, so the games appear to load but I am having various other problems which is currently making it unplayable. For one thing, for some reason the emulator only displays in the top half of the screen, which looks very odd. Secondly, I can’t get my joypad to work, while the hatari menu system seems to recognize it, I cannot select it within the hatari joypad settings menu (it just says that no joypad was detected). Lastly, it seems many of the Retroarch hotkeys don’t work, such as turbo - or even selecting reset content in the quick menu does nothing.

Okay, the resolution and joypad issues are fixed, apparently the internal res in the core options was set to a very odd value. However, the problems remain with the lack of hotkey support.

is it possible to enable the core to work on ios?

should not be hard , but i can’t help here as i don’t have any device running IOS , maybe Square or someone here can help here.

Just wondering about libretro_hatari’s support for Atari ST roms… I can’t seem to get anything working in RetroArch using roms in IPF format. This is what the console tells me:

“This version of Hatari was not built with IPF support, this disk image can’t be handled.”

I read above a recommendation to compile libretro_hatari on your own and enable IPF support. Do I need to do this? I’ve got no experience with compiling.

[QUOTE=Takaji;35332]Just wondering about libretro_hatari’s support for Atari ST roms… I can’t seem to get anything working in RetroArch using roms in IPF format. This is what the console tells me:

“This version of Hatari was not built with IPF support, this disk image can’t be handled.”

I read above a recommendation to compile libretro_hatari on your own and enable IPF support. Do I need to do this? I’ve got no experience with compiling.[/QUOTE]

I have the same question.

I am currently having an issue with the Hatari core on Android. Anytime you try to load a rom (st or zipped st) they seem to crash the emulator immediately. Was wondering if anyone had any insite. I believe my hatari.cfg file is correct and it appears to be reading it. The only thing i have in that is:

[ROM] szCartridgeImageFileName = szTosImageFileName = /storage/0000-0000/roms/atarist/tos.img

I have used the example posted by r-type previously (edited with my paths) but have had the same results