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

    Libretro Intellivision Emulator

    Scheduled Pinned Locked Moved Ideas and Development
    intellivisionlibretrolibretro core
    71 Posts 19 Posters 34.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.
    • recompileR
      recompile
      last edited by recompile

      If we can agree on anything, it's that Intellivision and ColecoVision emulation on Retropie isn't great. It isn't that the emulators are bad, but the setup is difficult, and playing games that make use of a keypad can be frustrating.

      I thought that an easy solution would be a virtual keypad that you could pop on the screen to press the keypad buttons. I picked the Intellivision to try it out, because my wife really enjoys Astrosmash.

      I'm rather pleased with the results. At least, it does everything I wanted it to do.

      You can try it out here:
      https://sourceforge.net/projects/freeintv/

      A quick note on the controls. Games don't seem to agree on which controller (left or right) should be player 1. By pressing select on either controller, you can "swap" the left and right controller. This should be particularly useful for those of you with only one controller or a mobile setup.

      You can pull-up the virtual keypad by holding down L or R. a mini keypad will appear in the lower left corner for player 1, and the lower right corner for player 2. With the shoulder button held, you can move around the keypad, and press the keys with any face button. The last selected button (not the last pressed, just the last one with the cursor over it) will be mapped to the "X" button on the controller, for quick access.

      The Top button is mapped to Y and the Left and Right buttons are mapped to B and A respectively.

      The left-analog stick will function like the 16-way disc. The d-pad will give you 8-way movement.

      For those marathon Astrosmash games, pressing Start will pause the game.

      Before you ask, no, I didn't add intellivoice support. Without the extra holiday free-time, I doubt that I would have had that working until February. The danger there, naturally, is that I'll get bored with it and never release anything. If someone wants to take the project over, do the github thing and all at that, intellivoice support would be a good way to get up and running with the project and make a significant contribution at the same time.

      As for me, I'm probably going to shift my hobby time over to the ColecoVision. I had one when I was a kid, and am always disappointed when I pull it up for a round of Mr. Do! and end up restarting the thing remotely because I can't figure out how to quit.

      Here's how to install the thing:

      Download it from the link above and ...


      Step 1: Create the necessary directories

      sudo mkdir /opt/retropie/libretrocores/lr-freeintv


      Step 2: Install the libreto core

      Copy the file:

      freeintv_libretro.so
      to:
      /opt/retropie/libretrocores/lr-freeintv

      Be sure to set permissions to 755:

      sudo chmod 755 /opt/retropie/libretrocores/lr-freeintv/*


      Step 3: Add the retroarch config file

      Add the file:

      retroarch.cfg
      to:
      /opt/retropie/configs/intellivision

      Be sure to set permissions to 755:

      sudo chmod 755 /opt/retropie/configs/intellivision/*


      Step 4:

      Add the line:

      lr-freeintv = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-freeintv/freeintv_libretro.so --config /opt/retropie/configs/intellivision/retroarch.cfg %ROM%"

      to the top of the file:

      /opt/retropie/configs/intellivision/emulators.cfg

      Optionally, you can choose to set it as default, as is the case for
      the included emulators.cfg file.

      If this file doesn't exist, copy the included emulators.cfg file to /opt/retropie/configs/intellivision

      Be sure to set permissions to 755:

      sudo chmod 755 /opt/retropie/configs/intellivision/*


      Step 5: Restart EmulationStation and play some Intellivision!

      George Plimpton would approve.

      edmaul69E quicksilverQ 3 Replies Last reply Reply Quote 5
      • edmaul69E
        edmaul69 @recompile
        last edited by

        @recompile awesome. I need to try this out. I assume the ecs isn’t supported either? Can i use buttons for the keypad if i am using a real intv controller instead of the virtual keyboard?

        recompileR 1 Reply Last reply Reply Quote 0
        • edmaul69E
          edmaul69 @recompile
          last edited by

          @recompile if you are using coolcv for coleco it uses a 2 button press to exit. You can set the buttons in the coolcv config which i believe gets created in /home/pi/

          1 Reply Last reply Reply Quote 1
          • Z
            zerojay
            last edited by

            I'll probably write up a scriptmodule for RetroPie-Setup soon for this. (I was just working on trying to deal with jzintv a few hours ago myself.)

            1 Reply Last reply Reply Quote 2
            • Z
              zerojay
              last edited by

              Uh, where's the source?

              recompileR 1 Reply Last reply Reply Quote 0
              • recompileR
                recompile @edmaul69
                last edited by

                @edmaul69 said in Libretro Intellivision Emulator:

                I assume the ecs isn’t supported either?

                No ECS support. I honestly didn't think anyone would be interested. Consequently, I don't have any idea what adding support would entail.

                The emulator itself, however, is very small and simple. I don't enforce a lot of rules like jzintv does regarding when, for example, you can write to the STIC registers. If you're evil, it'll even let you write to ROM. I say all this to say that there isn't a lot to work around or understand about the existing implementation before you can work on implementing those sorts of extras. At least, integrating support will be easy, even if the ecs implementation is difficult.

                @edmaul69 said in Libretro Intellivision Emulator:

                Can i use buttons for the keypad if i am using a real intv controller

                Torture! More seriously, no, it won't work. I don't even have the necessary equipment to test such a thing out. While I'd normally be happy to give it a go and let you try it out on your setup, I have no idea what libretro would do with it (if anything) so I can't even attempt to support them.

                1 Reply Last reply Reply Quote 0
                • recompileR
                  recompile @zerojay
                  last edited by

                  @zerojay

                  @zerojay said in Libretro Intellivision Emulator:

                  Uh, where's the source?

                  In the 'src' folder.

                  1 Reply Last reply Reply Quote 0
                  • Z
                    zerojay
                    last edited by

                    Yeah, I just noticed it myself. Okay, looks pretty simple to deal with.

                    1 Reply Last reply Reply Quote 0
                    • I
                      incunabula
                      last edited by

                      Thanks! Always nice to see the Intellivision and Colecovision getting some love. Even in my own hardware collection they always seem to be treated like step-children. Maybe it's the shit membrane keypads on their controllers that has doomed their fate :)

                      1 Reply Last reply Reply Quote 0
                      • recompileR
                        recompile
                        last edited by

                        markwkidd from Libretro has put the project on github.

                        https://github.com/markwkidd/FreeIntv

                        He's working on a makefile now so that the libretro ‘buildbot’ can start producing pre-compiled binaries for other platforms. (The pre-compiled binary supplied is just for the Pi3)

                        @Hex Mark asked if you, specifically, wanted to be involved.

                        1 Reply Last reply Reply Quote 1
                        • HexH
                          Hex
                          last edited by

                          I can help wherever possible.

                          I am currently working on getting GBC emulator on ESP32.

                          Sent from 20,000 leagues under the sea.

                          Powersaver Emulation station : https://github.com/hex007/EmulationStation
                          ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

                          markwkiddM 1 Reply Last reply Reply Quote 1
                          • markwkiddM
                            markwkidd @Hex
                            last edited by markwkidd

                            @hex said in Libretro Intellivision Emulator:

                            I can help wherever possible.

                            I am currently working on getting GBC emulator on ESP32.

                            That sounds pretty cool too!

                            As recompile said, right now for FreeIntv my main investigation is getting the Makefile in shape to compile for architectures other than rpi. Feel free to contact me here, the libretro forums, or especially on github if you have any ideas or insight on that or other topics!

                            I'm hoping to do what I can to make it easy for more experienced coders like yourself to have access.

                            edit: I have also started a section for FreeIntv in the RetroPie docs. Right now it contains just about everything I know (ie the contents of the FreeInt website and this thread). Please feel free to make changes to this stub https://github.com/RetroPie/RetroPie-Setup/wiki/Intellivision

                            1 Reply Last reply Reply Quote 1
                            • markwkiddM
                              markwkidd
                              last edited by markwkidd

                              @recompile

                              Question #1 -- Does FreeIntv require the two BIOSes listed as required for jzintv in the docs? This is the relevant section:

                              The first two files listed below are the most important:
                              Executive ROM: exec.bin MD5: 62e761035cb657903761800f4437b8af
                              Graphics ROM: grom.bin MD5: 0cd5946c6473e42e8e4c2137785e427f

                              My next questions have to do with which ROMs are preferred for FreeInt:

                              • Can it accept both .int and .bin ROMs?
                              • Do you recommend one Intellivision ROM source/DAT over another (GoodINT, TOSEC, something else?)
                              recompileR 1 Reply Last reply Reply Quote 0
                              • HexH
                                Hex
                                last edited by

                                @markwkidd I would also suggest you and @recompile decide on the license you want to release your software with. I would suggest adding the non-commercial clause.

                                Sent from 20,000 leagues under the sea.

                                Powersaver Emulation station : https://github.com/hex007/EmulationStation
                                ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

                                markwkiddM 1 Reply Last reply Reply Quote 1
                                • markwkiddM
                                  markwkidd @Hex
                                  last edited by

                                  @hex said in Libretro Intellivision Emulator:

                                  @markwkidd I would also suggest you and @recompile decide on the license you want to release your software with. I would suggest adding the non-commercial clause.

                                  I chose GPL-3 for the github repo, based on the contents of the archive.

                                  I don't feel that I have any intellectual ownership of this work, at least so far, but for what it's worth I see no reason why emulators should be licensed with non-commercial clauses. In general I believe intellectual property should be made available the most permissively as possible based on the circumstances.

                                  Most of my own open-source software contributions are GPL licensed, including my software tools for working with RetroArch and MAME.

                                  My work as an artist is generally available either as creative commons with commercial reuse allowed or without commercial reuse allowed depending on who commissioned or funded the work.

                                  So anyway that's who I am. I do think this is entirely up to recompile however.

                                  1 Reply Last reply Reply Quote 1
                                  • recompileR
                                    recompile @markwkidd
                                    last edited by recompile

                                    Question #1 -- Does FreeIntv require the two BIOSes listed as required for jzintv in the docs? This is the relevant section:

                                    Yes, both exec.bin and grom.bin are required. Neither are distributed as I'm not sure if BSR would allow it.

                                    My next questions have to do with which ROMs are preferred for FreeInt:

                                    • Can it accept both .int and .bin ROMs?

                                    As far as I know, .int and .bin files are the same. The program doesn't currently support .cfg files for those, but does have a big, poorly tested, bunch of preconfigurations for most of the existing int/bin files.

                                    It also supports .rom files (the Intellicart format), though it doesn't support extra features like bank switching.

                                    • Do you recommend one Intellivision ROM source/DAT over another (GoodINT, TOSEC, something else?)

                                    I haven't looked in to it, but I think Good has a great reputation.

                                    quicksilverQ 1 Reply Last reply Reply Quote 0
                                    • quicksilverQ
                                      quicksilver @recompile
                                      last edited by

                                      I was just about to start configuring jzintv when I saw this. I had been saving configuring intellivison on my pi for last due to the need for keyboard hack files. I am glad I saw this post first and am anxious to try this out. Thank you for your work on this as I am sure it will save me a headache!

                                      1 Reply Last reply Reply Quote 0
                                      • J
                                        jeepfan1973
                                        last edited by

                                        Please help! I can't get the permission to copy files working in the ssh terminal. I copied everything you had in the installation instructions, but I get a "no such file or directory". It is not a spelling or syntax error.
                                        0_1516314239560_a017d82f-7436-453e-b63a-93f09cdc2f9a-image.png

                                        I've tried changing permissions inside mc file manager as well. What am I doing wrong?

                                        recompileR 1 Reply Last reply Reply Quote 0
                                        • recompileR
                                          recompile @jeepfan1973
                                          last edited by

                                          @jeepfan1973 I'm guessing that you forgot to copy freeintv_libretro.so to /opt/retropie/libretrocores/lr-freeintv

                                          I should probably edit my first post and the readme, as it has a capital 'I' in lr-freeintv in Step 1 and 2, but nowhere else. That'll probably cause a few problems...

                                          J 1 Reply Last reply Reply Quote 0
                                          • J
                                            jeepfan1973 @recompile
                                            last edited by jeepfan1973

                                            @recompile I can't copy the file. I get a permission error. I also made sure all the text is identical. I'm 44. I've worked with computers since 1984, I'm just a noob with Linux. I have some linux experience but not much.

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