RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    retroarch/lr-hatari loads a particular hatari.cfg while starting

    Scheduled Pinned Locked Moved Help and Support
    hatari.cfglr-hatari
    20 Posts 3 Posters 1.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      Folly @JimmyFromTheBay
      last edited by Folly

      @JimmyFromTheBay

      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.

      J 1 Reply Last reply Reply Quote 0
      • J
        JimmyFromTheBay @Folly
        last edited by JimmyFromTheBay

        @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.

        Raspberry Pi 3b and 8GB Raspberry Pi 4, both running Retropie 4.7.1 installed from scratch using Raspberry Pi Imager, with wired keyboard, wireless mouse and double arcade joystick attached.

        F 2 Replies Last reply Reply Quote 0
        • F
          Folly @JimmyFromTheBay
          last edited by Folly

          @JimmyFromTheBay

          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 game Super Zazai Da!.st because Super 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.

          1 Reply Last reply Reply Quote 1
          • F
            Folly @JimmyFromTheBay
            last edited by Folly

            @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 in emulators.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 editing es_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.

            J 1 Reply Last reply Reply Quote 1
            • J
              JimmyFromTheBay @Folly
              last edited by JimmyFromTheBay

              @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!).

              Raspberry Pi 3b and 8GB Raspberry Pi 4, both running Retropie 4.7.1 installed from scratch using Raspberry Pi Imager, with wired keyboard, wireless mouse and double arcade joystick attached.

              F 2 Replies Last reply Reply Quote 0
              • F
                Folly @JimmyFromTheBay
                last edited by

                @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.

                J 1 Reply Last reply Reply Quote 1
                • F
                  Folly @JimmyFromTheBay
                  last edited by Folly

                  @JimmyFromTheBay

                  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/hatari

                  As 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)
                  etc

                  But 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 for supa_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.

                  1 Reply Last reply Reply Quote 1
                  • J
                    JimmyFromTheBay @Folly
                    last edited by

                    @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.

                    Raspberry Pi 3b and 8GB Raspberry Pi 4, both running Retropie 4.7.1 installed from scratch using Raspberry Pi Imager, with wired keyboard, wireless mouse and double arcade joystick attached.

                    F 1 Reply Last reply Reply Quote 0
                    • F
                      Folly @JimmyFromTheBay
                      last edited by Folly

                      @JimmyFromTheBay

                      That's very odd indeed.
                      Bombs you say, does it pick the wrong tos.img ?

                      J 1 Reply Last reply Reply Quote 0
                      • J
                        JimmyFromTheBay @Folly
                        last edited by

                        @Folly Ah, yes it does, it's gone back to the default TOS.

                        Raspberry Pi 3b and 8GB Raspberry Pi 4, both running Retropie 4.7.1 installed from scratch using Raspberry Pi Imager, with wired keyboard, wireless mouse and double arcade joystick attached.

                        F 2 Replies Last reply Reply Quote 0
                        • F
                          Folly @JimmyFromTheBay
                          last edited by Folly

                          @JimmyFromTheBay

                          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.

                          J 1 Reply Last reply Reply Quote 0
                          • F
                            Folly @JimmyFromTheBay
                            last edited by Folly

                            @JimmyFromTheBay

                            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.

                            1 Reply Last reply Reply Quote 0
                            • J
                              JimmyFromTheBay @Folly
                              last edited by JimmyFromTheBay

                              @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?

                              Raspberry Pi 3b and 8GB Raspberry Pi 4, both running Retropie 4.7.1 installed from scratch using Raspberry Pi Imager, with wired keyboard, wireless mouse and double arcade joystick attached.

                              F 1 Reply Last reply Reply Quote 0
                              • F
                                Folly @JimmyFromTheBay
                                last edited by

                                @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.

                                J 1 Reply Last reply Reply Quote 1
                                • J
                                  JimmyFromTheBay @Folly
                                  last edited by

                                  @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 :(

                                  hatari.jpg

                                  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
                                  
                                  

                                  Raspberry Pi 3b and 8GB Raspberry Pi 4, both running Retropie 4.7.1 installed from scratch using Raspberry Pi Imager, with wired keyboard, wireless mouse and double arcade joystick attached.

                                  F 1 Reply Last reply Reply Quote 0
                                  • F
                                    Folly @JimmyFromTheBay
                                    last edited by Folly

                                    @JimmyFromTheBay

                                    I see the same error I had before.
                                    It can't find the header files for of capsimg.
                                    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 ?
                                    Schermafbeelding 2022-10-20 om 09.58.54.png
                                    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.

                                    J 1 Reply Last reply Reply Quote 0
                                    • J
                                      JimmyFromTheBay @Folly
                                      last edited by JimmyFromTheBay

                                      @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.

                                      Raspberry Pi 3b and 8GB Raspberry Pi 4, both running Retropie 4.7.1 installed from scratch using Raspberry Pi Imager, with wired keyboard, wireless mouse and double arcade joystick attached.

                                      F 1 Reply Last reply Reply Quote 0
                                      • F
                                        Folly @JimmyFromTheBay
                                        last edited by Folly

                                        @JimmyFromTheBay

                                        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.

                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post

                                        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.