Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • FJGonzalez
    Guest
    Post count: 908

    Hi, I have an issue with PiSNES that is not a huge deal but I would like to correct it if possible. In my config file for all of my emulators I have Select + L to save a state and Select + R to load a state. In PiSNES it’s the other way around. I have to push Select + R to save and Select + L to load.

    Is there any way to configure PiSNES to have it behave like all my other emulators?

    keninem
    Participant
    Post count: 8

    I’ve noticed the same thing, thought I was losing my mind. Not sure why it’s reversed. :(

    Xboxclassic
    Guest
    Post count: 908

    Thats not the only problem with this particular emu there are more serious issues such as game freeze , loss of control , graphics issues and exit
    it all seems to be linked somewhere in the RAM coding of the Program itself.
    Its like its using all memory just to load the emu ( game,control,sound and save states not included)
    to see what I mean try
    Super Mario All Stars or
    Super Mario All Stars + World
    Try all games on collection see what happens.
    (Dont worry wont kill Your PI or other software)

    bruized
    Participant
    Post count: 9

    Not sure if there’s a way config wise to fix this. It seems to be hardcoded in the source that L is load and R is save. The offending lines are in pisnes/unix/unix.cpp lines 915-927

            //Check START+R,L for quicksave/quickload. Needs to go here outside of the internal processing
            if (joy_buttons[0][sfc_joy[QLOAD]] || (joy_buttons[0][sfc_joy[SELECT_1]] && joy_buttons[0][sfc_joy[L_1]] )) {
                    char fname[256];
                    strcpy(fname, S9xGetFilename (".000"));
                    S9xLoadSnapshot (fname);
            }
            if (joy_buttons[0][sfc_joy[QSAVE]] || (joy_buttons[0][sfc_joy[SELECT_1]] && joy_buttons[0][sfc_joy[R_1]] )) {
                    char fname[256];
                    strcpy(fname, S9xGetFilename (".000"));
                    S9xFreezeGame (fname);
            }
    
    }

    If you edit those lines to

            //Check START+R,L for quicksave/quickload. Needs to go here outside of the internal processing
            if (joy_buttons[0][sfc_joy[QLOAD]] || (joy_buttons[0][sfc_joy[SELECT_1]] && joy_buttons[0][sfc_joy[R_1]] )) {
                    char fname[256];
                    strcpy(fname, S9xGetFilename (".000"));
                    S9xLoadSnapshot (fname);
            }
            if (joy_buttons[0][sfc_joy[QSAVE]] || (joy_buttons[0][sfc_joy[SELECT_1]] && joy_buttons[0][sfc_joy[L_1]] )) {
                    char fname[256];
                    strcpy(fname, S9xGetFilename (".000"));
                    S9xFreezeGame (fname);
            }
    
    }

    and then recompile (run the make command in the pisnes folder) that should fix it. You’ll need to have installed pisnes from source (either manually or using the retropi installer) for this to work.

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.