retroarch/lr-hatari loads a particular hatari.cfg while starting
-
Hello,
I am wondering if someone knows how to load a particular hatari.cfg file while loading the emulator (retroarch / lr-hatari).
For example, I have an app that needs to have one disk in drive A and one disk in drive B or, another example, I do not want to have the borders while loading the emulator.Thanks.
-
@toninodigiacomo I can't find a way to do this either. I've tried naming the CFG file with the filename with and without the .ST suffix (ie GAMENAME.CFG and GAMENAME.ST.CFG), and I've tried putting it in the /home/pi/RetroPie/roms/atarist folder, the /opt/retropie/configs/all/retroarch/config/atarist folder and the /opt/retropie/configs/all/retroarch/config/Hatari folder, and none of it works. I can only conclude that it's not possible and you have to load it manually every time.
-
In the docs I saw this :
Unlike the standalone Hatari, lr-hatari supports .m3u files and .zip files.
Look in the docs you should be able to make .m3u files when using lr-hatari.
GAMENAME.ST.CFG), and I've tried putting it in the /home/pi/RetroPie/roms/atarist folder
I will try to explain why it doesn't work.
If you are using lr-hatari and the game is called GAMENAME.ST and if you then put a config GAMENAME.ST.CFG in the same directory then that config is loaded as an extra game specific RetroArch config.
What you probably tried is to load a config from the 'Hatari standalone emulator' which is a totally different config.So if an .m3u suits your need then try to do that approach.
-
@Folly Nope, the config was saved by lr-hatari itself, into the /opt/retropie/configs/all/retroarch/config/atarist folder.
(lr-hatari is broken in many ways and won't let you specify a name, so you have to create an empty config file first and save to that.)
The file it saved for Super Zazai Da! looks like this:
[Log] sLogFileName = stderr sTraceFileName = stderr nExceptionDebugMask = 259 nTextLogLevel = 4 nAlertDlgLogLevel = 1 bConfirmQuit = FALSE bNatFeats = FALSE bConsoleWindow = FALSE [Debugger] nNumberBase = 10 nDisasmLines = 8 nMemdumpLines = 8 nDisasmOptions = 15 bDisasmUAE = FALSE [Screen] nMonitorType = 1 nFrameSkips = 0 bFullScreen = FALSE bKeepResolution = TRUE bKeepResolutionST = TRUE bAllowOverscan = TRUE nSpec512Threshold = 1 nForceBpp = 0 bAspectCorrect = TRUE bUseExtVdiResolutions = FALSE nVdiWidth = 640 nVdiHeight = 480 nVdiColors = 2 bShowStatusbar = FALSE bShowDriveLed = TRUE bCrop = FALSE bForceMax = TRUE nMaxWidth = 832 nMaxHeight = 520 [Joystick0] nJoystickMode = 1 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = 1 nKeyCodeUp = 1073741906 nKeyCodeDown = 1073741905 nKeyCodeLeft = 1073741904 nKeyCodeRight = 1073741903 nKeyCodeFire = 1073742052 [Joystick1] nJoystickMode = 1 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = 0 nKeyCodeUp = 1073741906 nKeyCodeDown = 1073741905 nKeyCodeLeft = 1073741904 nKeyCodeRight = 1073741903 nKeyCodeFire = 1073742052 [Joystick2] nJoystickMode = 1 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = 1 nKeyCodeUp = 1073741906 nKeyCodeDown = 1073741905 nKeyCodeLeft = 1073741904 nKeyCodeRight = 1073741903 nKeyCodeFire = 1073742052 [Joystick3] nJoystickMode = 1 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = 1 nKeyCodeUp = 1073741906 nKeyCodeDown = 1073741905 nKeyCodeLeft = 1073741904 nKeyCodeRight = 1073741903 nKeyCodeFire = 1073742052 [Joystick4] nJoystickMode = 1 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = 1 nKeyCodeUp = 1073741906 nKeyCodeDown = 1073741905 nKeyCodeLeft = 1073741904 nKeyCodeRight = 1073741903 nKeyCodeFire = 1073742052 [Joystick5] nJoystickMode = 1 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = 1 nKeyCodeUp = 1073741906 nKeyCodeDown = 1073741905 nKeyCodeLeft = 1073741904 nKeyCodeRight = 1073741903 nKeyCodeFire = 1073742052 [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 = /home/pi/hatari.wav YmVolumeMixing = 2 [Memory] nMemorySize = 2 bAutoSave = FALSE szMemoryCaptureFileName = /home/pi/.hatari/hatari.sav szAutoSaveFileName = /home/pi/.hatari/auto.sav [Floppy] bAutoInsertDiskB = TRUE FastFloppy = TRUE EnableDriveA = TRUE DriveA_NumberOfHeads = 2 EnableDriveB = TRUE DriveB_NumberOfHeads = 2 nWriteProtection = 0 szDiskAZipPath = szDiskAFileName = /home/pi/RetroPie/roms/atarist/Super Zazai Da!.st szDiskBZipPath = szDiskBFileName = szDiskImageDirectory = /home/pi/ [HardDisk] nHardDiskDrive = 0 bBootFromHardDisk = FALSE bUseHardDiskDirectory = FALSE szHardDiskDirectory = /home/pi nGemdosCase = 0 nWriteProtection = 0 bUseHardDiskImage = FALSE szHardDiskImage = /home/pi bUseIdeMasterHardDiskImage = FALSE bUseIdeSlaveHardDiskImage = FALSE szIdeMasterHardDiskImage = /home/pi szIdeSlaveHardDiskImage = /home/pi [ROM] szTosImageFileName = /home/pi/RetroPie/BIOS/TOS206.IMG bPatchTos = TRUE szCartridgeImageFileName = [RS232] bEnableRS232 = FALSE szOutFileName = /dev/modem szInFileName = /dev/modem [Printer] bEnablePrinting = FALSE szPrintToFileName = /home/pi/.hatari/hatari.prn [Midi] bEnableMidi = FALSE sMidiInFileName = /dev/snd/midiC1D0 sMidiOutFileName = /dev/snd/midiC1D0 [System] nCpuLevel = 2 nCpuFreq = 8 bCompatibleCpu = FALSE nMachineType = 1 bBlitter = TRUE nDSPType = 0 bRealTimeClock = FALSE bPatchTimerD = TRUE bFastBoot = FALSE bFastForward = FALSE [Video] AviRecordVcodec = 2 AviRecordFps = 0 AviRecordFile = /home/pi/hatari.avi
If I rename that file to Super Zazai Da!.st.cfg and put it in the folder along with the game file, it isn't read and the game tries to boot with default settings. It also isn't read if I leave it in the configs folder with that name. But if I load the game normally and then load that config file manually from the lr-hatari menu, it works. So the CFG file is fine, it's getting lr-hatari to load it that's the problem.
-
Can't promise but if I have some time I will do some tests.
Still, I can't see how it can work placing
Super Zazai Da!.st.cfg
next to the gameSuper Zazai Da!.st
becauseSuper Zazai Da!.st.cfg
isn't a RetroArch config but an lr-hatari config.
So I think the location of the config should be somewhere else. -
@JimmyFromTheBay @dankcushions
I took some time to dig into the problem.
Basically, as said earlier, we have to take into account that we don't mix different config files.So when we run a game with lr-hatari core in retroarch it will check the
retroarch.cfg in/opt/retropie/configs/atarist
.
When we want to add some retroarch specific setting for atarist we can do it in/opt/retropie/configs/atarist/retroarch.cfg
.
The standard reatroarch.cfg in/opt/retropie/configs/all
will ultimately be included loading the standard values.Now when we run a game everything is passed through the runcommand.sh script.
This script has the ability to add a game-specific retroarch.cfg file.
Usually we use this for loading overlays for for example vectrex or the handelds (konamih etc in lr-mess) or the realistic overlays of Orionsangels.So if we have a file, for example, 1943.st, and if we add a configfile in the same directory called 1943.st.cfg then the runcommand.sh script will append that config as a game-specific retroarch.cfg file.
Now if we use lr-hatari and we save a configfile in the menu, of lr-hatari, then the default becomes
/home/pi/.hatari/hatari.cfg
linked to/opt/retropie/configs/atarist/hatari.cfg
So if we are running 1943.st, for example, and we make a config-file in lr-hatari it will be saved as hatari.cfg.
This is the config file we would like to load in lr-hatari so we copy the file somewhere inside the atarist roms directory and we rename it to 1943.cfg, for example.If we would rename it to 1943.st.cfg then we have a clash because the runcommand.sh script will append it as an game-specific retroarch.cfg but the file is not a retroarch.cfg file !.
Renaming it somewhat different or making it uppercase can be solution if we want all the letters in the config filename.
But why not do it simply rename it as 1943.cfg as noted earlier.So now we have put the 1943.cfg file in our atarist roms directory and we want to load that file into lr-hatari.
Too bad the runcommand of lr-hatari inemulators.cfg
in/opt/retropie/configs/atarist
doesn't pick up configfiles.
So I looked into the standalone hatari as you can add options to load such configfile.
Basically it's the same sort of problem when using lr-mess or lr-mame the libretro cores of MAME standalone.
A year ago I discovered how to add options to a libretro core as lr-mess.
Now, basically, I tried the same with lr-hatari, and with success.For now I made a runcommand for the emulators.cfg that can be pasted it there for loading the game-specific lr-hatari configfiles.
It looks like this :lr-hatari-configfile = "LD_LIBRARY_PATH='/opt/retropie/libretrocores/lr-hatari' /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-hatari/hatari_libretro.so --config /opt/retropie/configs/atarist/retroarch.cfg 'hatari -c %ROM%'"
And if we want to have the config files listed in emulationstation then we have to add .cfg .CFG to the /etc/emulationstation/es_systems.cfg for atarist. (change with root permission)
Though it's possible to skip editinges_systems.cfg
if you rename the configfile to 1943.cfg.st then it will be shown as as 1943.cfg in emulationstation which has to be loaded with the lr-hatari-configfile of-course !Long story but that should do the trick for now to test.
Btw.
I was tinking, now we can also specify the TOS per game in the configfile, sadly that doesn't work.TOS2.06 seems to be the best choice for now.
When using TOSV1.04 :
- games in "full-screen"
- many games work, but "Supa zazai da!" does not
- disadvantage : sometimes you have to load the game twice to get it running
TOSV4.00 looks problematic to me :
- games not working
- games in very tiny windows
- memory check on start
- advantage : "Supa zazai da!" works with this TOS (But perhaps there is a better TOS for this)
When using TOSV2.06 :
- games in "full-screen"
- looks like most games work
- advantage : "Supa zazai da!" works with this TOS
I added a zoomed viewport to my system specific retroarch.cfg in
/opt/retropie/configs/atarist/retroarch.cfg
.
Here is the example file :# Settings made here will only override settings in the global retroarch.cfg if placed above the #include line input_remapping_directory = "/opt/retropie/configs/atarist/" custom_viewport_height = "900" custom_viewport_width = "2000" custom_viewport_x = "-200" custom_viewport_y = "0" aspect_ratio_index = 23 #include "/opt/retropie/configs/all/retroarch.cfg"
Note that when you are using a different resolution the values have to be changed.
This file was created for 1600x900. -
@Folly Okay, I added this line to EMULATORS.CFG
lr-hatari-configfile = "LD_LIBRARY_PATH='/opt/retropie/libretrocores/lr-hatari' /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-hatari/hatari_libretro.so --config /opt/retropie/configs/atarist/retroarch.cfg 'hatari -c %ROM%'"
and I set Super Zazai Da! to load with lr-hatari-configfile. The gamefile is called Super Zazai Da!.st and the config file (contents in my previous post) is in the roms folder with it, called Super Zazai Da!.cfg.
But that just boots up a white screen, and if I check the Hatari menu it has none of the settings from the CFG file. (It does the same if I put the config file in the configs folder rather than the roms folder.)
What am I missing?
[EDIT] Renaming the config file to Super Zazai Da!.cfg.st worked (yay!), but now I have two entries for the game in EmulationStation (boo!).
-
@JimmyFromTheBay said in retroarch/lr-hatari loads a particular hatari.cfg while starting:
but now I have two entries for the game in EmulationStation (boo!).
You can put your real game in some subdirectory then it's not listed together with the configfile.
Remember you have to change the location of the .st file in the configfile. -
I found some new stuff.
Seems the regular lr-hatari binary of RetroPie has a few problems :
- drive B isn't recognised
- no sliders in gui when selecting a file/directory
So I tried to install the source one from the module-script.
Sadly, the module-script seems broken, it can't retrieve some files.
(edit: solved for some computers : RetroPie-Setup needed to be up to date)I compiled this one manually from here :
https://github.com/libretro/hatariAs root I replaced hatari_libretro.so in /opt/retropie/libretrocores/lr-hatari.
Now I have a this working :
- good drive B
- good sliders in gui when selecting a file/directory
I also found a way to select a different tos.img per game.
It's actually quite straight forward once you have discovered it.
Because it's a libretro-core it works trough RetroArch therefor the tos.img is hardcoded.
That is why it doesn't work with the normal lr-hatari configfile.
But we can use different approach using directories and putting the tos.img in these different directories.
For example, like this :
BIOS/tos.img (standard)
BIOS/tos206/tos.img (1.04)
BIOS/tos206/tos.img (2.06)
BIOS/tos400/tos.img (4.00)
etcBut how do we load, well the standard retroarch.cfg contains a line with the directory where to find the tos.img, like this :
system_directory = "/home/pi/RetroPie/BIOS
If we overrule that with a game-specific retroarch.cfg file an other tos-img is loaded.
So forsupa_zazai_da!_[no_publisher]
I created a game specific retroarch file as test called supa_zazai_da!_[no_publisher].cfg.st.cfg containing only :
( or supa_zazai_da!_[no_publisher].st.cfg when starting the .st disk directly in lr-hatari )system_directory = "/home/pi/RetroPie/BIOS/tos206
So for the few files that need something different we can use this approach.
-
@Folly said in retroarch/lr-hatari loads a particular hatari.cfg while starting:
You can put your real game in some subdirectory then it's not listed together with the configfile.
Remember you have to change the location of the .st file in the configfile.That's odd. I put the gamefile in a subfolder called "files", changed the address in the config file, and the game still starts booting up and displays the intro, but then crashes with bomb symbols before it starts.
-
That's very odd indeed.
Bombs you say, does it pick the wrong tos.img ? -
@Folly Ah, yes it does, it's gone back to the default TOS.
-
That is the problem I described earlier.
The location of the tos.img is "hardcoded".
It only works once when you are within the gui of lr-hatari and doing a reset.
On next boot from emulationstation it will revert back to the default even if a different tos.img is in the config file.
So replace the tos.img with version 206, named tos.img in /BIOS
Or you can make a game-specific retroarch config for the game.
Look again in post 9.Btw.
I updated the RetroPie-Setup, now the source install is ok. -
Now I am not sure what all is useful with the game-specific lr-hatari configfile.
I just tested putting 2 disk in there like this :
szDiskAZipPath = szDiskAFileName = /home/pi/RetroPie/roms/atarist/Arkanoid (1987)(Taito).stx szDiskBZipPath = szDiskBFileName = /home/pi/RetroPie/roms/atarist/Afterburner (1988)(Activision).st
That works, so that's nice to know.
With Arkanoid I could not play the game, seems it works with the mouse and pressing 1 to start.
The mouse only works with tos 1.00, I used the US version creating a game-specific retroarch file to fix this (Arkanoid (1987)(Taito).stx.cfg) :system_directory = "/home/pi/RetroPie/BIOS/tos100us
Some disks like this one don't auto-start.
I found that if you create an AUTO directory on the disk and copy/move the executable to the AUTO directory it will auto-boot.
I think you can edit this only with the standalone hatari, after that you can use it in lr-hatari again.
Sadly for Arkanoid it breaks mouse control but for Super Zazai Da! you can use this solution. -
@Folly said in retroarch/lr-hatari loads a particular hatari.cfg while starting:
Look again in post 9.
I must admit I got a bit lost after the .cfg.st.cfg suffix :D
@Folly said in retroarch/lr-hatari loads a particular hatari.cfg while starting:
I updated the RetroPie-Setup, now the source install is ok.
So if I update lr-hatari from source now through the Retropie Setup menu it'll be the fixed version?
-
@JimmyFromTheBay said in retroarch/lr-hatari loads a particular hatari.cfg while starting:
I must admit I got a bit lost after the .cfg.st.cfg suffix :D
I had some laughter after that sentence of yours ;-)
Well for now I don't use the lr-hatari configfile anymore, seems I can do without it for most games.
And if I want to zoom or use a different tos.img I make a retroarch game-specific config now.
( only with .st.cfg, which is indeed less confusing :D )So if I update lr-hatari from source now through the Retropie Setup menu it'll be the fixed version?
First update RetroPie-Setup.
After that you can istall lr-hatari from source.
It's indeed a better version. -
@Folly said in retroarch/lr-hatari loads a particular hatari.cfg while starting:
First update RetroPie-Setup.
Done.
After that you can istall lr-hatari from source.
Boo :(
Log:
Log started at: Tue 18 Oct 14:29:33 BST 2022 RetroPie-Setup version: 4.7.11 (6598a90a) System: rpi4 (armv7l) - Raspbian GNU/Linux 10 (buster) - Linux retropie 5.4.72-v7l+ #1356 SMP Thu Oct 22 13:57:51 BST 2020 armv7l GNU/Linux = = = = = = = = = = = = = = = = = = = = = Installing dependencies for 'lr-hatari' : Atari emulator - Hatari port for libretro = = = = = = = = = = = = = = = = = = = = = /home/pi/RetroPie-Setup/tmp/build/lr-hatari /home/pi = = = = = = = = = = = = = = = = = = = = = Getting sources for 'lr-hatari' : Atari emulator - Hatari port for libretro = = = = = = = = = = = = = = = = = = = = = git clone --recursive --depth 1 --branch master "https://github.com/libretro/hatari.git" "/home/pi/RetroPie-Setup/tmp/build/lr-hatari" Cloning into '/home/pi/RetroPie-Setup/tmp/build/lr-hatari'... HEAD is now in branch 'master' at commit '1ebf0a0488580ef95c0b28f02223b31813c867c5' patching file Makefile.libretro Hunk #1 succeeded at 235 (offset 10 lines). patching file src/floppy_ipf.c Successfully applied patch: /home/pi/RetroPie-Setup/scriptmodules/libretrocores/lr-hatari/01_libcapsimage.diff Downloading https://files.retropie.org.uk/archives/spsdeclib_5.1_source.zip to /tmp/tmp.7gCPOd0XGj/spsdeclib_5.1_source.zip ... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 275k 100 275k 0 0 1473k 0 --:--:-- --:--:-- --:--:-- 1473k Archive: /tmp/tmp.7gCPOd0XGj/spsdeclib_5.1_source.zip inflating: /home/pi/RetroPie-Setup/tmp/build/lr-hatari/capsimg_source_linux_macosx.zip inflating: /home/pi/RetroPie-Setup/tmp/build/lr-hatari/capsimg_source_windows.zip inflating: /home/pi/RetroPie-Setup/tmp/build/lr-hatari/DONATIONS.txt inflating: /home/pi/RetroPie-Setup/tmp/build/lr-hatari/HISTORY.txt inflating: /home/pi/RetroPie-Setup/tmp/build/lr-hatari/LICENCE.txt inflating: /home/pi/RetroPie-Setup/tmp/build/lr-hatari/RELEASE.txt Archive: capsimg_source_linux_macosx.zip creating: capsimg_source_linux_macosx/ creating: capsimg_source_linux_macosx/CAPSImg/ inflating: capsimg_source_linux_macosx/CAPSImg/bootstrap.sh inflating: capsimg_source_linux_macosx/CAPSImg/CapsAPI.cpp inflating: capsimg_source_linux_macosx/CAPSImg/CapsCore.h inflating: capsimg_source_linux_macosx/CAPSImg/CapsFDCEmulator.cpp inflating: capsimg_source_linux_macosx/CAPSImg/CapsFDCEmulator.h inflating: capsimg_source_linux_macosx/CAPSImg/CapsFile.cpp inflating: capsimg_source_linux_macosx/CAPSImg/CapsFile.h inflating: capsimg_source_linux_macosx/CAPSImg/CapsFormatMFM.cpp inflating: capsimg_source_linux_macosx/CAPSImg/CapsFormatMFM.h inflating: capsimg_source_linux_macosx/CAPSImg/CapsImage.cpp inflating: capsimg_source_linux_macosx/CAPSImg/CapsImage.h inflating: capsimg_source_linux_macosx/CAPSImg/CapsImageStd.cpp inflating: capsimg_source_linux_macosx/CAPSImg/CapsImageStd.h inflating: capsimg_source_linux_macosx/CAPSImg/CAPSImg.aps inflating: capsimg_source_linux_macosx/CAPSImg/CAPSImg.cpp inflating: capsimg_source_linux_macosx/CAPSImg/CAPSImg.rc inflating: capsimg_source_linux_macosx/CAPSImg/CAPSImg.vcxproj inflating: capsimg_source_linux_macosx/CAPSImg/CAPSImg.vcxproj.filters inflating: capsimg_source_linux_macosx/CAPSImg/CAPSImg.vcxproj.user inflating: capsimg_source_linux_macosx/CAPSImg/CapsLoader.cpp inflating: capsimg_source_linux_macosx/CAPSImg/CapsLoader.h inflating: capsimg_source_linux_macosx/CAPSImg/config.guess inflating: capsimg_source_linux_macosx/CAPSImg/config.h.in inflating: capsimg_source_linux_macosx/CAPSImg/config.sub inflating: capsimg_source_linux_macosx/CAPSImg/configure inflating: capsimg_source_linux_macosx/CAPSImg/configure.in creating: capsimg_source_linux_macosx/CAPSImg/Debug/ inflating: capsimg_source_linux_macosx/CAPSImg/Debug/CAPSImg.log creating: capsimg_source_linux_macosx/CAPSImg/Debug/CAPSImg.tlog/ inflating: capsimg_source_linux_macosx/CAPSImg/DiskImage.cpp inflating: capsimg_source_linux_macosx/CAPSImg/DiskImage.h inflating: capsimg_source_linux_macosx/CAPSImg/DiskImageFactory.cpp inflating: capsimg_source_linux_macosx/CAPSImg/DiskImageFactory.h inflating: capsimg_source_linux_macosx/CAPSImg/dllmain.cpp inflating: capsimg_source_linux_macosx/CAPSImg/install-sh inflating: capsimg_source_linux_macosx/CAPSImg/libcapsimage.map inflating: capsimg_source_linux_macosx/CAPSImg/LICENSE inflating: capsimg_source_linux_macosx/CAPSImg/Makefile.in creating: capsimg_source_linux_macosx/CAPSImg/Release/ inflating: capsimg_source_linux_macosx/CAPSImg/Release/CAPSImg.log creating: capsimg_source_linux_macosx/CAPSImg/Release/CAPSImg.tlog/ inflating: capsimg_source_linux_macosx/CAPSImg/resource.h inflating: capsimg_source_linux_macosx/CAPSImg/stdafx.cpp inflating: capsimg_source_linux_macosx/CAPSImg/stdafx.h inflating: capsimg_source_linux_macosx/CAPSImg/StreamCueImage.cpp inflating: capsimg_source_linux_macosx/CAPSImg/StreamCueImage.h inflating: capsimg_source_linux_macosx/CAPSImg/StreamImage.cpp inflating: capsimg_source_linux_macosx/CAPSImg/StreamImage.h inflating: capsimg_source_linux_macosx/CAPSImg/targetver.h creating: capsimg_source_linux_macosx/CAPSImg/x64/ creating: capsimg_source_linux_macosx/CAPSImg/x64/Debug/ inflating: capsimg_source_linux_macosx/CAPSImg/x64/Debug/CAPSImg.log creating: capsimg_source_linux_macosx/CAPSImg/x64/Debug/CAPSImg.tlog/ creating: capsimg_source_linux_macosx/CAPSImg/x64/Release/ inflating: capsimg_source_linux_macosx/CAPSImg/x64/Release/CAPSImg.log creating: capsimg_source_linux_macosx/CAPSImg/x64/Release/CAPSImg.tlog/ creating: capsimg_source_linux_macosx/Codec/ inflating: capsimg_source_linux_macosx/Codec/CapsDefinitions.h inflating: capsimg_source_linux_macosx/Codec/CTRawCodec.cpp inflating: capsimg_source_linux_macosx/Codec/CTRawCodec.h inflating: capsimg_source_linux_macosx/Codec/CTRawCodecDecompressor.cpp inflating: capsimg_source_linux_macosx/Codec/DiskEncoding.cpp inflating: capsimg_source_linux_macosx/Codec/DiskEncoding.h creating: capsimg_source_linux_macosx/Compatibility/ inflating: capsimg_source_linux_macosx/Compatibility/dirent.h creating: capsimg_source_linux_macosx/Core/ inflating: capsimg_source_linux_macosx/Core/BaseFile.cpp inflating: capsimg_source_linux_macosx/Core/BaseFile.h inflating: capsimg_source_linux_macosx/Core/BitBuffer.cpp inflating: capsimg_source_linux_macosx/Core/BitBuffer.h inflating: capsimg_source_linux_macosx/Core/CommonTypes.h inflating: capsimg_source_linux_macosx/Core/CRC.cpp inflating: capsimg_source_linux_macosx/Core/CRC.h inflating: capsimg_source_linux_macosx/Core/DiskFile.cpp inflating: capsimg_source_linux_macosx/Core/DiskFile.h inflating: capsimg_source_linux_macosx/Core/MemoryFile.cpp inflating: capsimg_source_linux_macosx/Core/MemoryFile.h creating: capsimg_source_linux_macosx/Debug/ creating: capsimg_source_linux_macosx/Device/ inflating: capsimg_source_linux_macosx/Device/C2Comm.h creating: capsimg_source_linux_macosx/LibIPF/ inflating: capsimg_source_linux_macosx/LibIPF/CapsAPI.h inflating: capsimg_source_linux_macosx/LibIPF/CapsFDC.h inflating: capsimg_source_linux_macosx/LibIPF/CapsForm.h inflating: capsimg_source_linux_macosx/LibIPF/CapsLib.h inflating: capsimg_source_linux_macosx/LibIPF/CapsLibAll.h inflating: capsimg_source_linux_macosx/LibIPF/CapsLibVersion.h inflating: capsimg_source_linux_macosx/LibIPF/ComLib.h creating: capsimg_source_linux_macosx/Release/ creating: capsimg_source_linux_macosx/x64/ creating: capsimg_source_linux_macosx/x64/Debug/ creating: capsimg_source_linux_macosx/x64/Release/ inflating: capsimg_source_linux_macosx/SPStudio_Dev.sln /home/pi /home/pi/RetroPie-Setup/tmp/build/lr-hatari /home/pi = = = = = = = = = = = = = = = = = = = = = Building 'lr-hatari' : Atari emulator - Hatari port for libretro = = = = = = = = = = = = = = = = = = = = = checking build system type... armv7l-unknown-linux-gnueabihf checking host system type... armv7l-unknown-linux-gnueabihf checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking for a BSD-compatible install... /usr/bin/install -c checking for tar... tar checking for sfd... no checking for fd2inline... no checking for autodoc... no checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking whether byte ordering is bigendian... no configure: creating ./config.status config.status: creating Makefile config.status: creating config.h rm -f libcapsimage.so.5.1 ../Codec/CTRawCodec.o ../Codec/CTRawCodecDecompressor.o ../Codec/DiskEncoding.o ../Core/BaseFile.o ../Core/BitBuffer.o ../Core/CRC.o ../Core/DiskFile.o ../Core/MemoryFile.o CapsAPI.o CapsFDCEmulator.o CapsFile.o CapsFormatMFM.o CapsImage.o CapsImageStd.o CapsLoader.o DiskImage.o DiskImageFactory.o stdafx.o StreamCueImage.o StreamImage.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c ../Codec/CTRawCodec.cpp -o ../Codec/CTRawCodec.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c ../Codec/CTRawCodecDecompressor.cpp -o ../Codec/CTRawCodecDecompressor.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c ../Codec/DiskEncoding.cpp -o ../Codec/DiskEncoding.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c ../Core/BaseFile.cpp -o ../Core/BaseFile.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c ../Core/BitBuffer.cpp -o ../Core/BitBuffer.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c ../Core/CRC.cpp -o ../Core/CRC.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c ../Core/DiskFile.cpp -o ../Core/DiskFile.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c ../Core/MemoryFile.cpp -o ../Core/MemoryFile.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c CapsAPI.cpp -o CapsAPI.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c CapsFDCEmulator.cpp -o CapsFDCEmulator.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c CapsFile.cpp -o CapsFile.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c CapsFormatMFM.cpp -o CapsFormatMFM.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c CapsImage.cpp -o CapsImage.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c CapsImageStd.cpp -o CapsImageStd.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c CapsLoader.cpp -o CapsLoader.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c DiskImage.cpp -o DiskImage.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c DiskImageFactory.cpp -o DiskImageFactory.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c stdafx.cpp -o stdafx.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c StreamCueImage.cpp -o StreamCueImage.o g++ -Wall -Wno-sign-compare -Wno-missing-braces -Wno-parentheses -g -O2 -fomit-frame-pointer -fconserve-space -fno-exceptions -fno-rtti -std=c++11 -I./../LibIPF -I./../Codec -I./../Core -I./../Device -I. -fPIC -c StreamImage.cpp -o StreamImage.o g++ -shared -Wl,-soname,libcapsimage.so.5 -Wl,--version-script,libcapsimage.map -fPIC ../Codec/CTRawCodec.o ../Codec/CTRawCodecDecompressor.o ../Codec/DiskEncoding.o ../Core/BaseFile.o ../Core/BitBuffer.o ../Core/CRC.o ../Core/DiskFile.o ../Core/MemoryFile.o CapsAPI.o CapsFDCEmulator.o CapsFile.o CapsFormatMFM.o CapsImage.o CapsImageStd.o CapsLoader.o DiskImage.o DiskImageFactory.o stdafx.o StreamCueImage.o StreamImage.o -o libcapsimage.so.5.1 install -d /home/pi/RetroPie-Setup/tmp/build/lr-hatari/lib install libcapsimage.so.5.1 /home/pi/RetroPie-Setup/tmp/build/lr-hatari/lib/libcapsimage.so.5.1 cc -mcpu=cortex-a72 -mfpu=neon-fp-armv8 -O2 -D__cdecl='' -DHAVE_CAPSIMAGE=1 -DCAPSIMAGE_VERSION=5 -DGIT_VERSION=\"" 1ebf0a0"\" -funroll-loops -ffast-math -fomit-frame-pointer -O3 -fsigned-char -D__LIBRETRO__ -fno-builtin -fPIC -DLSB_FIRST -DALIGN_DWORD -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 libretro/uae-cpu-pregen/cpudefs.o libretro/uae-cpu-pregen/cpudefs.c cc -mcpu=cortex-a72 -mfpu=neon-fp-armv8 -O2 -D__cdecl='' -DHAVE_CAPSIMAGE=1 -DCAPSIMAGE_VERSION=5 -DGIT_VERSION=\"" 1ebf0a0"\" -funroll-loops -ffast-math -fomit-frame-pointer -O3 -fsigned-char -D__LIBRETRO__ -fno-builtin -fPIC -DLSB_FIRST -DALIGN_DWORD -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 libretro/uae-cpu-pregen/cpuemu.o libretro/uae-cpu-pregen/cpuemu.c cc -mcpu=cortex-a72 -mfpu=neon-fp-armv8 -O2 -D__cdecl='' -DHAVE_CAPSIMAGE=1 -DCAPSIMAGE_VERSION=5 -DGIT_VERSION=\"" 1ebf0a0"\" -funroll-loops -ffast-math -fomit-frame-pointer -O3 -fsigned-char -D__LIBRETRO__ -fno-builtin -fPIC -DLSB_FIRST -DALIGN_DWORD -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 libretro/uae-cpu-pregen/cpustbl.o libretro/uae-cpu-pregen/cpustbl.c cc -mcpu=cortex-a72 -mfpu=neon-fp-armv8 -O2 -D__cdecl='' -DHAVE_CAPSIMAGE=1 -DCAPSIMAGE_VERSION=5 -DGIT_VERSION=\"" 1ebf0a0"\" -funroll-loops -ffast-math -fomit-frame-pointer -O3 -fsigned-char -D__LIBRETRO__ -fno-builtin -fPIC -DLSB_FIRST -DALIGN_DWORD -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/uae-cpu/hatari-glue.o src/uae-cpu/hatari-glue.c cc -mcpu=cortex-a72 -mfpu=neon-fp-armv8 -O2 -D__cdecl='' -DHAVE_CAPSIMAGE=1 -DCAPSIMAGE_VERSION=5 -DGIT_VERSION=\"" 1ebf0a0"\" -funroll-loops -ffast-math -fomit-frame-pointer -O3 -fsigned-char -D__LIBRETRO__ -fno-builtin -fPIC -DLSB_FIRST -DALIGN_DWORD -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/uae-cpu/memory.o src/uae-cpu/memory.c cc -mcpu=cortex-a72 -mfpu=neon-fp-armv8 -O2 -D__cdecl='' -DHAVE_CAPSIMAGE=1 -DCAPSIMAGE_VERSION=5 -DGIT_VERSION=\"" 1ebf0a0"\" -funroll-loops -ffast-math -fomit-frame-pointer -O3 -fsigned-char -D__LIBRETRO__ -fno-builtin -fPIC -DLSB_FIRST -DALIGN_DWORD -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/uae-cpu/newcpu.o src/uae-cpu/newcpu.c src/uae-cpu/newcpu.c:170:10: fatal error: CapsLibAll.h: No such file or directory #include <CapsLibAll.h> ^~~~~~~~~~~~~~ compilation terminated. make: *** [Makefile.libretro:242: src/uae-cpu/newcpu.o] Error 1 make: *** Waiting for unfinished jobs.... Could not successfully build lr-hatari - Atari emulator - Hatari port for libretro (/home/pi/RetroPie-Setup/tmp/build/lr-hatari/hatari_libretro.so not found). /home/pi Log ended at: Tue 18 Oct 14:31:22 BST 2022 Total running time: 0 hours, 1 mins, 49 secs
-
I see the same error I had before.
It can't find the header files for ofcapsimg
.
This package is for supporting .ipf protected disk format in lr-hatari.You logfile contains a version of an older RetroPie-Setup :
RetroPie-Setup version: 4.7.11 (6598a90a)Check again if the update of RetroPie-Setup works.
You see the latest version when you start RetroPie-Setup ?
Try to update again in the RetroPie-Setup.
If the update keeps failing somehow you should backup your old RetroPie-Setup folder and clone RetroPie-Setup from GitHub again.cd git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
Then place your 3rd party module-scripts back in the correct place.
-
@Folly Ah yes, for some reason it keeps fetching and installing 4.7.11. Tried again just now and it did the same thing. Will see if I can fix it up.
-
I think updating is always a problem when using 3rd party module-scripts, that is probably the reason.
Not sure if there is a good fix for this.
I suggest you do it like I described earlier.Perhaps putting all 3rd party module-script in the RetroPie-Setup/ext directory like this :
/home/pi/RetroPie-Setup/ext/<3rd-party-repository-name>/scriptmodules/<supplementary|emulators|etc>
will make updating easier just cutting and pasting only the ext directory in the new RetroPie-Setup.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.