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

Libretro Intellivision Emulator



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



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



  • @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/



  • 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.)



  • Uh, where's the source?



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



  • @zerojay

    @zerojay said in Libretro Intellivision Emulator:

    Uh, where's the source?

    In the 'src' folder.



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



  • 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 :)



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



  • I can help wherever possible.

    I am currently working on getting GBC emulator on ESP32.



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



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


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



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



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



  • 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!



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



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



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



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.