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

    Colecovision Key Bindings

    Scheduled Pinned Locked Moved Help and Support
    8bitdocolecovision
    36 Posts 13 Posters 22.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.
    • theroamerT
      theroamer
      last edited by

      Just an update.

      I went ahead and went back to firmware 1.69 on the nes30 pro, When I pair it in joystick mode (r1+power) both the analog sticks and dpad work in Colecovision!

      now if I could just get them both working in retroarch (just the dpad works now).

      1 Reply Last reply Reply Quote 0
      • mediamogulM
        mediamogul Global Moderator
        last edited by mediamogul

        I've been making some progress myself. One of the things holding me back is a way to launch the mapping software when the need arises that can be recommended without question. I figure 'Linux Joystick Mapper' can be added to a game system's launch routine from the launch script. However, xboxdrv needs a little more consideration. There's a bug preventing it from being launched as a universal driver in the default way that RetroPie uses it as an XBox driver. I'm exploring the possibility of having it launch via a script when the controller is first detected, using a udev rule. The toughest part is trying to find time to do all the necessary experimentation that is required.

        RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

        1 Reply Last reply Reply Quote 0
        • mediamogulM
          mediamogul Global Moderator @theroamer
          last edited by mediamogul

          @theroamer said in Colecovision Key Bindings:

          @Rion Thanks, yeah those mapping are great for reconfiguring a keyboard. When it comes to the gamepad though, I'm at a loss for what to use for the codes, as there is no utility to tell you what codes your gamepad is spitting out.

          This comment was made about two months ago, to which I responded with the possible solution of mapping keyboard input to a controller. With as much time as I could spare here and there, I ultimately learned how to universally do that throughout the whole system. Today, I was going to post a guide that allowed a full mapping that would launch and exit alongside CoolCV.

          As it turns out, none of that is even necessary. Beside each SDL keyboard code found in /opt/retropie/configs/coleco/coolcv_mapping.txt you are able to input a SDL joystick code directly. I saw this early on and it is mentioned above, but quite frankly didn't know enough about the formatting at the time to understand it. When I looked at it again today, it immediately made sense. There are two examples used for the main action buttons. the first example is joy0_0which is referring to joystick 0, button 0, or what would commonly be thought of as the first button on the first joystick. joy0_1 would then of course be referencing the second button on the first joystick.

          All that is really needed to map any controller occupying a /dev/input/js* from here is to know your controller's js* number and then run jstestto get the proper button number codes for that controller. From there you would just add the properly formatted codes, such as joy0_0 mentioned above, to where you want them in /opt/retropie/configs/coleco/coolcv_mapping.txt and it should be good to go. I've tested it myself and it works very well.

          I don't feel like my research was wasted though. I've learned to map a controller in some really amazing ways as a result of this. For example, I have an optional mapping that is solely for the purpose of restricting directional input to four directions from an analog stick or directional pad. This makes all the difference in the world when trying to do well at a game like 'Pac-Man' or 'Ms Pac-man'. Some of you might have noticed that those characters can become unresponsive for a microsecond around corners when the analog stick hits a diagonal. Having a restricted directional mapping solves that and allows those and similar games to play as they did in arcades.

          I'll fold over what I was going to post here for more of an all-encompassing guide on mapping that I want to post in a day or two, but for now, I hope this helps and I'm sorry it took so long to make good on my word to post something for this.

          Edit: If I need to elaborate on using jstest, I'll be happy to do so.

          RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

          RionR RiverstormR 2 Replies Last reply Reply Quote 0
          • RionR
            Rion @mediamogul
            last edited by

            @mediamogul said in Colecovision Key Bindings:

            @theroamer said in Colecovision Key Bindings:

            @Rion Thanks, yeah those mapping are great for reconfiguring a keyboard. When it comes to the gamepad though, I'm at a loss for what to use for the codes, as there is no utility to tell you what codes your gamepad is spitting out.
            

            This comment was made about two months ago, to which I responded with the possible solution of mapping keyboard input to a controller. With as much time as I could spare here and there, I ultimately learned how to universally do that throughout the whole system. Today, I was going to post a guide that allowed a full mapping that would launch and exit alongside CoolCV.

            As it turns out, none of that is even necessary. Beside each SDL keyboard code found in /opt/retropie/configs/coleco/coolcv_mapping.txt you are able to input a SDL joystick code directly. I saw this early on and it is mentioned above, but quite frankly didn't know enough about the formatting at the time to understand it. When I looked at it again today, it immediately made sense. There are two examples used for the main action buttons. the first example is joy0_0which is referring to joystick 0, button 0, or what would commonly be thought of as the first button on the first joystick. joy0_1 would then of course be referencing the second button on the first joystick.

            All that is really needed to map any controller occupying a /dev/input/js* from here is to know your controller's js* number and then run jstestto get the proper button number codes for that controller. From there you would just add the properly formatted codes, such as joy0_0 mentioned above, to where you want them in /opt/retropie/configs/coleco/coolcv_mapping.txt and it should be good to go. I've tested it myself and it works very well.

            I don't feel like my research was wasted though. I've learned to map a controller in some really amazing ways as a result of this. For example, I have an optional mapping that is solely for the purpose of restricting directional input to four directions from an analog stick or directional pad. This makes all the difference in the world when trying to do well at a game like 'Pac-Man' or 'Ms Pac-man'. Some of you might have noticed that those characters can become unresponsive for a microsecond around corners when the analog stick hits a diagonal. Having a restricted directional mapping solves that and allows those and similar games to play as they did in arcades.

            I'll fold over what I was going to post here for more of an all-encompassing guide on mapping that I want to post in a day or two, but for now, I hope this helps and I'm sorry it took so long to make good on my word to post something for this.

            Edit: If I need to elaborate on using jstest, I'll be happy to do so.

            Thank you for taking you're free time to figure all this out. Looking forward to your guide. This is going to help out a lot of people!

            FBNeo rom filtering
            Mame2003 Arcade Bezels
            Fba Arcade Bezels
            Fba NeoGeo Bezels

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

              post deleted

              mediamogulM 1 Reply Last reply Reply Quote 0
              • mediamogulM
                mediamogul Global Moderator @edmaul69
                last edited by mediamogul

                @edmaul69

                I've looked closely and all CoolCV mappings are single key. However, it is possible to add an outside mapping that will send whatever key is mapped to exit by pressing two buttons. Using xboxdrv, a working example would look like:

                --ui-buttonmap start+back=KEY_F24
                

                Seeing as how 'back' is usually analogous with 'select' in these situations, this mapping would allow CoolCV to exit using the same button combination that all the RetroArch cores use.

                RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                edmaul69E synackS 2 Replies Last reply Reply Quote 1
                • RiverstormR
                  Riverstorm @mediamogul
                  last edited by

                  @mediamogul said in Colecovision Key Bindings:

                  I have an optional mapping that is solely for the purpose of restricting directional input to four directions from an analog stick or directional pad. This makes all the difference in the world when trying to do well at a game like 'Pac-Man' or 'Ms Pac-man'. Some of you might have noticed that those characters can become unresponsive for a microsecond around corners when the analog stick hits a diagonal. Having a restricted directional mapping solves that and allows those and similar games to play as they did in arcades.

                  This would be a greatly welcome addition! Looking forward to your post.

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

                    @mediamogul the ultimate pc interface or the vision-daptor has secret button combos to accomplish this if you use them to use real colecovision and intellivision controllers. I have an ultimate pc interface in my intellivision flashback that is modded with a pi in it.
                    Pressing 4 + * = button 3 (used for pause)
                    Pressing 5 + 0 = button 4 (used for reset)
                    Pressing 6 + # = button 5 (used for exit emulator)

                    mediamogulM 1 Reply Last reply Reply Quote 0
                    • mediamogulM
                      mediamogul Global Moderator @edmaul69
                      last edited by mediamogul

                      @edmaul69 said in Colecovision Key Bindings:

                      the ultimate pc interface or the vision-daptor

                      I might get one of these, as I am really enjoying the Colecovision library and wouldn't mind enhancing the experience further. As it stands now, I have the entire keypad mapped to the right thumbstick. Up, down, left & right are 1-4. Start+ Up, down, left & right are 5-8, leaving Select+ Up, down, left & right as 9,0,* and #. It took some getting used to, but this mapping works well for most games, with the two action buttons also mapped to 'A' and 'B'. There are some games however that need their own specific mapping to be played well. Intellivision seemed to make wilder use out of their keypad, so a universal mapping is more hit or miss, leaving many more titles in need of a more tailored mapping.

                      Also, I appreciate the interest that has been shown in the last few comments about my guide to mapping. It can now be found here.

                      RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                      1 Reply Last reply Reply Quote 0
                      • synackS
                        synack @mediamogul
                        last edited by

                        Apologies for bumping an old thread, but just thought I would mention that in the most recent version of CoolCV (which is not currently in the retropie repository, but can be found here), you are able to require multiple keys (or joystick buttons) to exit the emulator.

                        For example, by editing the coolcv_mapping.txt file, and adding 2 different joystick buttons to the same line, it will wait for both to be pressed and act similarly to the rest of the libretro emulators.

                        key_exit   key1073741939   joy0_6   joy0_7
                        
                        mediamogulM 1 Reply Last reply Reply Quote 1
                        • mediamogulM
                          mediamogul Global Moderator @synack
                          last edited by

                          @synack said in Colecovision Key Bindings:

                          it will wait for both to be pressed

                          Very keen! Thanks for pointing this out. I love CoolCV and the developer really produces great work.

                          RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                          1 Reply Last reply Reply Quote 0
                          • M
                            Meatball
                            last edited by

                            Hey all, thanks for everyone's hard work so far, really helping me get my RetroPie/CoolCV into shape. I've run into some challenges trying to configure my USB controllers (Logitech F310's) to work correctly in CoolCV. Using the Windows version, I was able to pull out the SDL joystick codes for all the buttons/movement on my controller and came up with the following. The item in parenthesis is what I want to emulate on the CV.

                            A = JOY0_10 (Left Button)
                            B = JOY0_11 (Right Button)
                            X = JOY0_12 (Keypad 1)
                            Y = JOY0_13 (Keypad 2)

                            Dpad Up = JOY0_0 (Up)
                            Dpad Dn = JOY0_1 (Down)
                            Dpad Lt = JOY0_2 (Left)
                            Dpad Rt = JOY0_3 (Right)

                            Back = JOY0_5 (Pause)
                            Start = JOY0_4 (Exit)
                            Back + Start (Reset)

                            Lt Bump = JOY0_8 (Keypad 3)
                            Rt Bump = JOY0_9 (Keypad 4)

                            Controller two is the same except it's JOY1 for everything.

                            So I went into coolcv_mappings.txt and added all the codes to what I think is the correct mappings with no luck and it looks like this (I pulled out the extra Controller 2 stuff, but it matches the 1 section with joy1...).

                            ' CoolCV mappings for Colecovision controllers to keyboard and joystick

                            up_1 key1073741906 joy0_0

                            right_1 key1073741903 joy0_3

                            down_1 key1073741905 joy0_1

                            left_1 key1073741904 joy0_2

                            left_button_1 key32 joy0_10

                            right_button_1 key109 joy0_11

                            button3_1 key1073741939

                            button4_1 key1073741939

                            key1_1 key49 joy0_12

                            key2_1 key50 joy0_13

                            key3_1 key51 joy0_8

                            key4_1 key52 joy0_9

                            key5_1 key53

                            key6_1 key54

                            key7_1 key55

                            key8_1 key56

                            key9_1 key57

                            key*_1 key111

                            key0_1 key48

                            key#_1 key112

                            key_save key1073741882

                            key_restore key1073741883

                            key_exit key1073741939 joy0_4

                            key_pause key1073741884 joy0_5

                            key_reset key8 joy0_4 joy0_5

                            Anyone have any ideas what I'm missing?

                            synackS 1 Reply Last reply Reply Quote 0
                            • synackS
                              synack @Meatball
                              last edited by

                              @Meatball What do you mean by "no luck"? Nothing works, some things work, etc?

                              The configuration appears to be OK.

                              1 Reply Last reply Reply Quote 0
                              • M
                                Meatball
                                last edited by Meatball

                                Ah, sorry, I should have elaborated. :)

                                None of the commands I have mapped actually work. I can move Up/Down/Left/Right with the joystick (but not the DPad) A & B buttons don't work at all. X button moves Left, Y moves right. Left bumper resets back to the menu. Start and Back buttons seem to start a single player game, so they're one of the numpad buttons 1-4, but not sure which.

                                1 Reply Last reply Reply Quote 0
                                • M
                                  Meatball
                                  last edited by

                                  Anyone else have any thoughts? It's the only emulator I have left to get working and still fighting to figure it out. :)

                                  mediamogulM 1 Reply Last reply Reply Quote 0
                                  • mediamogulM
                                    mediamogul Global Moderator @Meatball
                                    last edited by

                                    @Meatball

                                    The SDL Keycodes appear to check out OK. However, you may want to give it a closer personal inspection using this chart. Have you double checked your joystick assignments using jstest?

                                    RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      mab1376
                                      last edited by

                                      Does anyone have a working config for the xbox 360 controller?

                                      1 Reply Last reply Reply Quote 0
                                      • darkniorD
                                        darknior
                                        last edited by darknior

                                        @synack said in Colecovision Key Bindings:

                                        key_exit key1073741939 joy0_6 joy0_7

                                        For my part it doesn't work :(

                                        And we can't use key7_1 key55 joy0_-1 or key8_1 key56 joy0_+0

                                        I have made a best config file for my two x360 Pads and working with most of the games ..
                                        If you want to use it :

                                        A & B : Butons Right & Left to play games
                                        X & Y : For * & # using by many games in menu
                                        START & SELECT : To Save n Load games, so hard to play without savestate
                                        X de Xbox : Exit emulator
                                        R1 & R2 : Butons 1 & 2 to launch most of games
                                        L1 & L2 : For butons 3 & 4
                                        Stick Left & Stick Right : For 5 & 6

                                        We only lost 7, 8, 9,0 inputs. Less use by games, but we can use them on the Bluetooth Keyboard at the same time.

                                        ' CoolCV mappings for Colecovision controllers to keyboard and joystick
                                        ' Keyboard is the default controller. Press Right Shift + Enter to exit
                                        up_1	key1073741906	joy0_15
                                        right_1	key1073741903	joy0_14
                                        down_1	key1073741905	joy0_16
                                        left_1	key1073741904	joy0_13
                                        left_button_1	key32	joy0_0
                                        right_button_1	key109	joy0_1
                                        button3_1	key1073741939
                                        button4_1	key1073741939
                                        key1_1	key49	joy0_4
                                        key2_1	key50	joy0_5
                                        key3_1	key51	joy0_6
                                        key4_1	key52	joy0_7
                                        key5_1	key53	joy0_11
                                        key6_1	key54	joy0_12
                                        key7_1	key55
                                        key8_1	key56
                                        key9_1	key57
                                        key*_1	key111	joy0_2
                                        key0_1	key48
                                        key#_1	key112	joy0_3
                                        up_2	key119	joy1_15
                                        right_2	key100	joy1_14
                                        down_2	key115	joy1_16
                                        left_2	key97	joy1_13
                                        left_button_2	key9	joy1_0
                                        right_button_2	key113	joy1_1
                                        button3_2	key1073741939
                                        button4_2	key1073741939
                                        key1_2	key114	joy1_4
                                        key2_2	key116	joy1_5
                                        key3_2	key121	joy1_6
                                        key4_2	key102	joy1_7
                                        key5_2	key103	joy1_11
                                        key6_2	key104	joy1_12
                                        key7_2	key118
                                        key8_2	key98
                                        key9_2	key110
                                        key*_2	key106	joy1_2
                                        key0_2	key107
                                        key#_2	key108	joy1_3
                                        key_save	key1073741882	joy0_8
                                        key_restore	key1073741883	joy0_9
                                        key_exit	key1073741939	joy0_10
                                        key_pause	key1073741884
                                        key_reset	key8
                                        

                                        Life is game, just play it !

                                        SuperPiBOyS 1 Reply Last reply Reply Quote 0
                                        • SuperPiBOyS
                                          SuperPiBOy @darknior
                                          last edited by SuperPiBOy

                                          Hello, i made the Super Game Pi project ([link])(https://learn.adafruit.com/super-game-pi/overview). All work great with all emulators except with Coolcv which the right and left pad are inverted. I tried to modified the mapping coolcv txt but nothing change. Have you an idea ? Thank you for help.

                                          darkniorD 1 Reply Last reply Reply Quote 0
                                          • darkniorD
                                            darknior @SuperPiBOy
                                            last edited by

                                            @superpiboy No sorry with my file all is working fine for me.

                                            Life is game, just play it !

                                            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.