Snes9x GX 4.3.2 with libsicksaxis

Discussion in 'Wii - Emulation and Homebrew' started by xerpi, Dec 22, 2012.

  1. xerpi
    OP

    xerpi GBAtemp Regular

    Member
    166
    445
    Dec 25, 2011
    Barcelona
    As you know, I did a library that lets you use the Sixaxis and the DualShock3 PS3 controllers on the Wii.
    I found up a good idea to implement my library on some homebrews, so I decided to try with Snes9x GX. It was very easy to implement, so here it is :lol:

    Instructions:
    When you are playing your snes game:
    • Press PS button on the PS3 controller.
    • Press "+" and "-" at the same time on the wiimore to rescan for Sixaxis/Dualshocks, you will see the LED 1 on if it finds one.
    If you want to disconnect it, press "1" and "2" at the same time.


    Download Snes9x GX 4.3.2 with lib SickSaxis 1.0.zip

    Mirror


    Source

    Source mirror

    OLD VERSIONS
     


  2. filfat

    filfat Musician, Developer & Entrepreneur

    Member
    1,229
    858
    Nov 24, 2012
    nice ;)
     
  3. filfat

    filfat Musician, Developer & Entrepreneur

    Member
    1,229
    858
    Nov 24, 2012
    this will be useful for Minecraft Wii Edition
     
  4. Cyan

    Cyan GBATemp's lurking knight

    Global Moderator
    18,076
    8,584
    Oct 27, 2002
    France
    Engine room, learning
    maybe I did it wrong, but it's not working.

    I have a HDD in port0 so I connected the controller on port1 (maybe not working on port1?)
    I launch a game (some game don't work anymore, I had 4.1.1 before, maybe it's not your fault, I'll try official 4.1.1)
    The PS3 LED are off
    then press + and - at the same time on the Wiimote
    the LED1 flash once, then all leds are flashing (like when the battery is charging), then it does nothing. the wiimote is still used as controller and the PS3 controller doesn't work.


    When activating PS3 controller, the emulator is lagging (sound is gibberish).
    I can't deactivate it (pressing + and - again doesn't stop the lag)

    Tested game: Terranigma (E)
    Controller's model: CECHZC2E (sixaxis dualshock3)
     
  5. Damian666

    Damian666 Coder from Hell

    Member
    638
    136
    Mar 24, 2010
    Netherlands
    In your code...
    now put it in the wiisx emu :)
     
    seam likes this.
  6. xerpi
    OP

    xerpi GBAtemp Regular

    Member
    166
    445
    Dec 25, 2011
    Barcelona
    Mmm weird, try pressing the PS button before pressing "+" and "-" on the wiimote, then to disconnect it you have to press "1" and "2".
     
  7. Cyan

    Cyan GBATemp's lurking knight

    Global Moderator
    18,076
    8,584
    Oct 27, 2002
    France
    Engine room, learning
    oops, it was 1+2 ^^;


    I disconnected the PS3 console from the power cord, now pressing PS button before + and - is working fine
    thank you.

    It's lagging 1sec, then it's back to (almost) normal speed.
    Dpad is not working, only Analog stick.
    Y axis is inverted. (it's hard to play with only one inverted axis! I'm playing like if X was inverted too :lol: )


    PS button is used as Home button to go into the settings.
    in the settings, you can move the analog (very fast) but buttons are not working.
    I know it's only the first version, I'm just reporting what I find to help.
     
  8. VashTS

    VashTS Beat it, son

    Member
    3,896
    698
    Mar 14, 2009
    United States
    Upstate NY
    i was wondering why this hadn't happened yet...good job sir, now if you can reverse the process that would be cool too, Wii remote on PS3.
     
  9. xerpi
    OP

    xerpi GBAtemp Regular

    Member
    166
    445
    Dec 25, 2011
    Barcelona

    Yes, it was a fast implementation xD What do you mean with "You can move the analog (very fast) but buttons are not working"?

    As you can see I made it overwrite the first wiimote input (what a dirty trick xD):

    Code:
    if(sickSaxis.connected)
        {
            memset(&userInput[0].pad.btns_h, 0, sizeof(int));
           
            if(sickSaxis.gamepad.buttons.start || sickSaxis.gamepad.buttons.select)
                userInput[0].pad.btns_h |= PAD_BUTTON_START;
     
            if(sickSaxis.gamepad.buttons.cross)
                userInput[0].pad.btns_h |= PAD_BUTTON_B;
            if(sickSaxis.gamepad.buttons.circle)
                userInput[0].pad.btns_h |= PAD_BUTTON_A;
            if(sickSaxis.gamepad.buttons.triangle)
                userInput[0].pad.btns_h |= PAD_BUTTON_X;
            if(sickSaxis.gamepad.buttons.square)
                userInput[0].pad.btns_h |= PAD_BUTTON_Y;
     
            if(sickSaxis.gamepad.buttons.L1)
                userInput[0].pad.btns_h |= PAD_TRIGGER_L;
            if(sickSaxis.gamepad.buttons.R1)
                userInput[0].pad.btns_h |= PAD_TRIGGER_R;   
       
            if(sickSaxis.gamepad.buttons.L2 || sickSaxis.gamepad.buttons.R2)
                userInput[0].pad.btns_h |= PAD_TRIGGER_Z;
     
     
            userInput[0].pad.stickX = map(sickSaxis.gamepad.leftAnalog.x,
                                            0, 255, -74, 74);
           
            userInput[0].pad.stickY = map(sickSaxis.gamepad.leftAnalog.y,
                                            0, 255, -74, 74);
           
            userInput[0].pad.substickX = map(sickSaxis.gamepad.rightAnalog.x,
                                            0, 255, -59, 59);
            userInput[0].pad.substickY = map(sickSaxis.gamepad.rightAnalog.y,
                                            0, 255, -59, 59);
           
            userInput[0].pad.triggerL = map(sickSaxis.gamepad.shoulder_sens.L1,
                                            0, 255, 0, 150);
           
            userInput[0].pad.triggerR = map(sickSaxis.gamepad.shoulder_sens.R1,
                                            0, 255, 0, 150);
           
                               
        }
     
  10. Cyan

    Cyan GBATemp's lurking knight

    Global Moderator
    18,076
    8,584
    Oct 27, 2002
    France
    Engine room, learning
    I meant in the emulator's menu.
    Once the controller is active in a game you can press the PS button to call the menu, there you can move around using the analog stick but you can't select anything nor go back to the game with the PS3 controller.
     
  11. xerpi
    OP

    xerpi GBAtemp Regular

    Member
    166
    445
    Dec 25, 2011
    Barcelona

    Yes, it's only implemented when you are playing a game xD
     
  12. Cyan

    Cyan GBATemp's lurking knight

    Global Moderator
    18,076
    8,584
    Oct 27, 2002
    France
    Engine room, learning
    it's a good start, the controller is working fine. just fix the inverted Y axis and it will be a good build to test for everyone.
     
  13. BlackWizzard17

    BlackWizzard17 Don't worry Captin we'll buff out those scratches.

    Member
    1,146
    391
    Dec 1, 2012
    United States
    E-Arth
    So cool,dude so cool. I haven't tried yet but its sounds better than playing with a awkward GC controller. [​IMG]
     
  14. the_randomizer

    the_randomizer The Temp's official fox whisperer

    Member
    21,192
    10,074
    Apr 29, 2011
    United States
    Dr. Wahwee's castle
    Who play Snes with a Gamecube controller? Classic Control is so much more comfortable.
     
    PsionicRoshambo likes this.
  15. BlackWizzard17

    BlackWizzard17 Don't worry Captin we'll buff out those scratches.

    Member
    1,146
    391
    Dec 1, 2012
    United States
    E-Arth
    Yeah it is but sadly i have no classic controller :( , i bought 2 GC controllers for my GC games and N64 Games
     
  16. BlackWizzard17

    BlackWizzard17 Don't worry Captin we'll buff out those scratches.

    Member
    1,146
    391
    Dec 1, 2012
    United States
    E-Arth
    When im inside the game not the menu, i press the ps3 button first then the minus&plus at the same time right.
     
  17. DinohScene

    DinohScene Capture the Dino

    Member
    GBAtemp Patron
    DinohScene is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    15,836
    12,290
    Oct 11, 2011
    Antarctica
    В небо
    Libsicksaxis on the PS1 emu would be incredibly sweet!
     
  18. BlackWizzard17

    BlackWizzard17 Don't worry Captin we'll buff out those scratches.

    Member
    1,146
    391
    Dec 1, 2012
    United States
    E-Arth
    My Report: This AWESOME PIECE OF WORK works good Issues: ·D-pad has no response ·Anolog-Down has no response (unaware of up) ·Its a little laggy in tittle screens. (works slighty perfect in in game play) Working: ·/\,[ ],X,O Show response ·Anolog-Left & Right show a response ·Possible Response from L or R trigers IDK (but should work) ·Home Button works, but in the menu its to fast to use Overall this thing is awesome. I have played megamanx 2 and Super Ghost and Ghoul's. They both work. THANK YOU XERPI And may you continue your work of Genius
     
  19. chop

    chop GBAtemp Fan

    Member
    487
    20
    Apr 14, 2010
    Pontefract
    I believe Santa has left me a Club Nintendo, Wii/Snes Controller under the tree :D
     
  20. xerpi
    OP

    xerpi GBAtemp Regular

    Member
    166
    445
    Dec 25, 2011
    Barcelona
    Most of things you have said are not a bug or something like that, they aren't implemented on the emulator xD