RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    TIC-80 : Retroarch lr-tic80 Core Installation Script

    Scheduled Pinned Locked Moved Ideas and Development
    developmentintegrationtic80lr-tic80
    11 Posts 5 Posters 2.0k 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.
    • L
      LN_RC
      last edited by LN_RC

      Hello everyone,

      I've been interested in getting TIC-80 to run on Retropie for a while. TIC-80 is a fantasy console, much like Pico-8, with its own set of graphics and games. TIC-80 is free and open-source, and I believe it would be a fun addition to have on Retropie if folks are already considering Pico-8 and LowResNX.

      UPDATE: lr-tic80 is now part of the Retropie-Setup scripts! I highly recommend you download it directly from the source as numerous improvements were implemented during the merge process. If you would like to see the new script module, you can view it on the Github Page.


      ((OLD, USE THE RETROPIE-SETUP SCRIPT INSTEAD))
      UPDATE: We now have a working version of the TIC-80 Retroarch core. You can install it following the steps below (guide inspired by dmmarti's retro8 install

      1 - Create new file for installation

      /home/pi/RetroPie-Setup/scriptmodules/libretrocores

      create a new file in that directory called:

      lr-tic80.sh

      Here are the contents of the file:

      #!/usr/bin/env bash
      
      # This file is part of The RetroPie Project
      #
      # The RetroPie Project is the legal property of its developers, whose names are
      # too numerous to list here. Please refer to the COPYRIGHT.md file distributed with this source.
      #
      # See the LICENSE.md file at the top-level directory of this distribution and
      # at https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/master/LICENSE.md
      #
      
      rp_module_id="lr-tic80"
      rp_module_desc="TIC-80 console - port for libretro"
      rp_module_help="ROM Extensions: .tic .zip\n\nCopy your roms to $romdir/tic80\n\n"
      rp_module_licence="MIT https://raw.githubusercontent.com/libretro/TIC-80/master/LICENSE"
      rp_module_repo="git https://github.com/libretro/TIC-80.git master"
      rp_module_section="exp"
      
      function sources_lr-tic80() {
          gitPullOrClone
      }
      
      function build_lr-tic80() {
          mkdir -p build
          cd build
          cmake -DBUILD_PLAYER=OFF -DBUILD_SOKOL=OFF -DBUILD_SDL=OFF -DBUILD_DEMO_CARTS=OFF -DBUILD_LIBRETRO=ON ..
          make
          md_ret_require="$md_build/build/lib/tic80_libretro.so"
      }
      
      
      function install_lr-tic80() {
          md_ret_files=(
              'build/lib/tic80_libretro.so'
              'README.md'
              'LICENSE'
          )
      }
      
      function configure_lr-tic80() {
          mkRomDir "tic80"
          ensureSystemretroconfig "tic80"
          addEmulator 1 "$md_id" "tic80" "$md_inst/tic80_libretro.so"
          addSystem "tic80" "TIC-80" ".tic .zip "
      }
      

      2 - Install from source

      Once the script is there, in Emulation Station, run the RetroPie Setup script and navigate to the emulator installation menu and go into the Experimental section.

      You should see the new lr-tic80 as an emulator to install.

      Click on it and then choose Install from Source.

      That should then compile the core and create all of the needed backend changes (es_systems.cfg and roms directory are also updated and created).

      3 - Copy over some games

      TIC-80 games come as .tic files. You should be able to copy them directly into the /home/pi/RetroPie/roms/tic80 folder.

      Launch Emulation Station and you should see TIC-80 on the main menu and you can then launch and test some games.

      You can download carts for the TIC-80 on their website, https://tic80.com/.

      Thank you to @mitu and @Folly for working out the details of this install! They did the real work here.

      1 Reply Last reply Reply Quote 5
      • L
        LN_RC
        last edited by LN_RC

        I figured I'd give this build a try, even if my efforts are unsuccessful.

        I attempted to set up a script module based on the lr-retro8 (Pico-8). I thought this would be a good place to start because the retro8 and TIC-80 repositories look relatively similar (both have CMake files, both have src folders). I might be totally off the money though.

        Here is my first attempt at an install, which completely failed.

        #!/usr/bin/env bash
        
        # This file is part of The RetroPie Project
        #
        # The RetroPie Project is the legal property of its developers, whose names are
        # too numerous to list here. Please refer to the COPYRIGHT.md file distributed with this source.
        #
        # See the LICENSE.md file at the top-level directory of this distribution and
        # at https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/master/LICENSE.md
        #
        
        rp_module_id="lr-tic80"
        rp_module_desc="TIC-80 console - port for libretro"
        rp_module_help="ROM Extensions: .tic .zip\n\nCopy your roms to $romdir/tic80\n\n"
        rp_module_repo="git https://github.com/libretro/TIC-80.git master"
        rp_module_section="exp"
        
        function sources_lr-tic80() {
            gitPullOrClone
        }
        
        function build_lr-tic80() {
            make
            md_ret_require="$md_build/tic80_libretro.so"
        }
        
        function install_lr-tic80() {
            md_ret_files=(
                'tic80_libretro.so'
                'README.md'
            )
        }
        
        function configure_lr-tic80() {
            mkRomDir "tic80"
            ensureSystemretroconfig "tic80"
            addEmulator 1 "$md_id" "tic80" "$md_inst/tic80_libretro.so"
            addSystem "tic80" "TIC-80" ".tic .zip "
        }
        

        The error I got specifically was:
        Could not successfully build lr-tic80 - TIC-80 console - port for libretro
        (/home/pi/RetroPie-Setup/tmp/build/lr-tic80/tic80_libretro.so not found).

        Is anyone able to point out the errors here?

        dankcushionsD mituM 2 Replies Last reply Reply Quote 1
        • dankcushionsD
          dankcushions Global Moderator @LN_RC
          last edited by

          @ln_rc that error message should have also pointed out the build log location so you can see the error. (it’s ~/RetroPie/logs/)

          1 Reply Last reply Reply Quote 1
          • mituM
            mitu Global Moderator @LN_RC
            last edited by

            The build step is not correct. TIC-80 uses a CMake build system, so running make is not enough. Use this as the build function instead:

            function build_lr-tic80() {
                mkdir -p build
                cd build
                cmake -DBUILD_PLAYER=OFF -DBUILD_SOKOL=OFF -DBUILD_SDL=OFF -DBUILD_DEMO_CARTS=OFF -DBUILD_LIBRETRO=ON ..
                make
                md_ret_require="$md_build/build/lib/tic80_libretro.so"
            }
            
            F 1 Reply Last reply Reply Quote 3
            • F
              Folly @mitu
              last edited by

              @mitu

              Just installed and it's working.

              But I had to use this, otherwise it was't installed :

              function install_lr-tic80() {
                  md_ret_files=(
                      'build/lib/tic80_libretro.so'
                      'README.md'
                      'LICENSE'
                  )
              }
              
              1 Reply Last reply Reply Quote 3
              • L
                LN_RC
                last edited by

                @mitu @Folly This works beautifully! I included both pieces of code, and all the issues were resolved, the libretro core runs seamlessly, it reads my games...fantastic! The retro8 doesn't even run this well.

                I'll put an updated version of the installation script at the top of this thread so others can use it.

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

                  @ln_rc

                  Nice !

                  Can you also add the licence after the help line :

                  rp_module_help="ROM Extensions: .tic .zip\n\nCopy your roms to $romdir/tic80\n\n"
                  rp_module_licence="MIT https://raw.githubusercontent.com/libretro/TIC-80/master/LICENSE"
                  
                  L 1 Reply Last reply Reply Quote 2
                  • L
                    LN_RC @Folly
                    last edited by

                    @folly Absolutely! I meant to include it from the beginning but I didn't know how haha. Let me know if there are errors in the edited first post of this thread, and I'll be happy to make any fixes necessary.

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

                      @ln_rc

                      I think it's looking good, for now !

                      1 Reply Last reply Reply Quote 2
                      • F
                        Folly
                        last edited by Folly

                        TIC-80 has been added to the cygnus-blue-flames theme which is install-able from the RetroPie-Setup.

                        2021-09-21-202801_800x600_scrot-resized.png

                        DTEAMD 1 Reply Last reply Reply Quote 2
                        • DTEAMD
                          DTEAM @Folly
                          last edited by DTEAM

                          post error . Wrong thread. Sorry

                          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.