PS1/2 Emulator WiiStation - Another Fork of WiiSXRX released

  • Thread starter Thread starter xjsxjs197
  • Start date Start date
  • Views Views 700,073
  • Replies Replies 3,265
  • Likes Likes 70
Does it work if the PS3 controller is plugged in port 1 ? (as port 0 - the bottom one - is used by the USB device with Wiistation and games on it - I don't use the SD card slot).

My DS3 is detected by HIDTest as VID: 054C PID: 0268 (in port 1, HIDTest being launched from usb device on port 0), input buttons work, so I put 054C_0268.ini in wiisxrx/controllers folder.

I start Wiistation with the DS3 plugged in port 1 (using a Classic Controller), go to input>configure input, and set it to manual > HID. But the DS3 does not respond.

Do I miss something?
 
Last edited by Ouaz,
New build of WiiStation until git https://github.com/xjsxjs197/WiiSXRX_2022/commit/98b11e88d1fbf690d6b4e7adba4ca657e89ec6a7

What's new:
  • Add Gaussian SPU Interpolation as an option in Audio settings, at expense of removing Volume control. The Simple interpolation is kept as an option as well.
  • gpulib: (maybe) rework buffering to reduce flickering (notaz)
  • spu: more status bits (notaz) - Fixes Audio CD sampling in MTV Music Generator/Music 2000.
  • spu: don't leave garbage in capture buffers (notaz)
  • add HID controller handling based from Nintendont.
  • use frame limit logic/code from P.E.Op.S. Soft GPU plugin on the DFXVideo SoftGPU.

@GustavoReis could you try to see if you can use HID controllers now (ex. PS3 controller)?

@Disorarara can you see if in 2D games the new video plugin changes have improved or make a workaround for those micro-stutters?

@Zorg07 could you test this new build with CTR: Crash Team Racing and some others that had speed issues?

@_47iscool , @Disorarara , @MeXen , @steval_beaning could you try the new Gaussian audio interpolation implemented here?

Thanks!

This change seems to fix the 60fps 2D games, 30hz strobing effects now appear properly! And the gaussian sound interpolation works well for fixing the scratchy noise in games like in Bakumatsu Roman. Great release!

It seems the only thing that's not exactly working now is the "Force NTSC" being offset vertically still.

On further playing of 3D 60fps games, it seems like there's still some jittering although due to these games not having any easily noticeable strobing effects it's hard to tell, though the FPS counter does reflect these moments. Also it might just be me but it seems like it's slightly slower than older releases? It seems to be on average 3 or 4 FPS slower.

Also just out of curiosity, why does every latin script language use a different font?

Further edit: It seems like PAL games are off center period, even without "Force NTSC" enabled with this release.
 
Last edited by Disorarara,
For Point Blank 3 of PS1.

Has anyone succeeded in recognizing GunCon without any problems?

When checking the controller in the options menu in game, It is confirmed that the button is pressed alternately between the GunCon and the pad. And then If I go into the Wiistation menu screen once and save it, only the GunCon will be selected and it will operate normally.

Also, despite the GunCon settings, individual saves are possible, but the settings are not automatically loaded when entering the game again.

I would like to share this issue and solve it. :)
 
Hid controller seems to only work for SD
That's what I thought too, but the code checks USB too:

C++:
    snprintf(file_sd, sizeof(file_sd), "sd:/wiisxrx/controllers/%04X_%04X.ini", DeviceVID, DevicePID);
    snprintf(file_usb, sizeof(file_usb), "usb:/wiisxrx/controllers/%04X_%04X.ini", DeviceVID, DevicePID);

So it means the HID controller can be plugged in port 1 (as port 0 is used by the usb device). I think ?

There's also this, i think it's the custom mapping of the HID controller though (I don't have the controlH.cfg created on my USB device - maybe it is created only if the default mapping is modified).

C++:
    sprintf(settingPathBuf, "%s:/wiisxrx/controlH.cfg", usbSd);
    f = fopen(settingPathBuf, "rb" );  //attempt to open file
    if(f) {
        load_configurations(f, &controller_HidGC);            //read in HID controller mappings
        fclose(f);

C++:
f = fopen( "usb:/wiisxrx/controlH.cfg", "wb" );  //attempt to open file
        if(f) {
            save_configurations(f, &controller_HidGC);            //write out HID controller mappings
Post automatically merged:

Silly me (maybe).

I started Wiistation with the Classic Controller plugged in the wiimote.
Maybe that's what prevents to detect the HID controller.

I'll test that tonight. Stay tuned.
 
Last edited by Ouaz,
I tested some games with "simple" and "Gaussian" sound and this new option was very good.
Hid controller seems to only work for SD from what was tested by @spielvan
I'm out of the loop on this a bit. I don't think I'm hearing a difference in things I've tested so far, or I don't know what I'm listening for.

Which one should be better? And which is better for emulation speed?
 
  • Like
Reactions: SaulFabre
I'm out of the loop on this a bit. I don't think I'm hearing a difference in things I've tested so far, or I don't know what I'm listening for.

Which one should be better? And which is better for emulation speed?
the scratchy sound can be most heard in Castlevania: SOTN.
With Gaussian, it sounds more acceptable.

For most games for speed, i recommend Simple interpolation.
But if the game has scratchy sound, try using Gaussian sound interpolation instead.

Also weirdly some games (such the Japanese 1994 version of Motor Toon Grand Prix) are slow in Lightrec but not on PPC Dynarec (and viceversa), so it's better to test both Lightrec and PPC Dynarec for see if speed changes in one core than other.
 
I started Wiistation with the Classic Controller plugged in the wiimote.
Maybe that's what prevents to detect the HID controller.
I tested... and it doesn't work.
The only difference is the HID controller icon on the main page, but it stays greyed out. :(

I also noticed that when the DS3 is plugged in port 1 at the back of the Wii (port 0 being used by the usb device), any modified settings are not saved to the USB device, when I click on "Save settings to USB". It saves correctly if there's nothing plugged in port 1.

Maybe when the 2 usb ports are used, Wiistation doesn't know on which one reading/saving files ?
Post automatically merged:

On further playing of 3D 60fps games, it seems like there's still some jittering although due to these games not having any easily noticeable strobing effects it's hard to tell, though the FPS counter does reflect these moments. Also it might just be me but it seems like it's slightly slower than older releases? It seems to be on average 3 or 4 FPS slower.

I don't know what to think about framerate with this release.

Framerate seems more stable, based on the FPS counter (constant ~ 59.80), no more spikes at 63-64 fps, and drops to 57 occurs for less than half a second.

But on the other hand, the stuttering seems worse, although it is less frequent than with the previous build.

On R4 (240p, no dither, frame skip off, simple sound interpolation), it's fast and smooth (like it was at best a few builds ago), but roughly 3-4 times per race, there's a big hiccup during ~3 seconds (like there's some frames skipped, although the counters is at 59.80).

On SOTN (same setting), there's a huge shimmering effect on some textures, and also the same hiccup from time to time (like some frames are skipped too).

On the other hand, I'm always blown away by the image quality, each time I launch Wiistation ^^

Edit: I use CHDs now, I hope this is not the culprit, because I converted all my games 😓 I'll test again R4 with bin/cue to compare (although the stuttering was also happening in R4 with bin/cue in the previous build, more often, but less severe).
 
Last edited by Ouaz,
I've tried manually creating separate config files containing only options that are diffrent from global settings. Goal is simple: as there will be some new options to set (sound interpolation right now, I hope some day it'll be image scalling :) ), or some option has to be globally changed, old individual settings will still work (usually there are only few things to change: screen mode, controller type etc.). It worked ALMOST fine: the only problem is that settings that are not set by individual file don't go back to their global value, but stay unchanged from last loaded game.

As I understand the code, fixing this should be very simple, but I don't have envoriment to compile things by myself. So @SaulFabre - could you try changing this (WiiSXRX_2022/Gamecube/GamecubeMain.cpp - line 657):
Code:
    // First, we load separately game settings.
    // Load separately game settings from USB device
    if (!loadSeparatelySettingItem("usb:/wiisxrx/settings/", CdromId, true))
    {
        // If there is no separate setting for USB
        // Load separately game settings from SD card
        if (!loadSeparatelySettingItem("sd:/wiisxrx/settings/", CdromId, false))
        {
            // If there is no separate setting
            // we load the common (global) settings.
            // Load common (global) settings from USB device
            if (!loadSeparatelySettingItem("usb:/wiisxrx/", "settingsRX2022", true))
            {
                // If there is no common (global) settings for USB
                // Load common (global) settings from SD card
                loadSeparatelySettingItem("sd:/wiisxrx/", "settingsRX2022", false);
            }
        }
    }
... to this:
Code:
     // Load global settings whatever is happening - to revert back to global values
     if (!loadSeparatelySettingItem("usb:/wiisxrx/", "settingsRX2022", true))
            {
                // If there is no common (global) settings for USB
                // Load common (global) settings from SD card
                loadSeparatelySettingItem("sd:/wiisxrx/", "settingsRX2022", false);
            }
    // Then try to load separate setting - first from USB
    if (!loadSeparatelySettingItem("usb:/wiisxrx/settings/", CdromId, true))
    {
        // If there is no separate setting for USB
        // Load separately game settings from SD card
        loadSeparatelySettingItem("sd:/wiisxrx/settings/", CdromId, false);
    }

Correct me if I'm wrong.

This simple change should do the trick for everyone who create config files manually (or maybe: edit them and remove everything that is not nessesery). Creating such files will be more tricky (and all individually set vaule should be visibile on settings page - maybe marked by red or something).
 
Hello, Thanks for this wonderful update, I've tried a few controllers and apparently it works just great, what I've tried so far:

Generic PlayStation 3 Controller (GameStop)
PlayStation 3 Controller 054c:0268
PlayStation 4 Controller 054c:05c4
PlayStation 2 Controller
PS2 Arcade Stick
 
Hello, Thanks for this wonderful update, I've tried a few controllers and apparently it works just great, what I've tried so far:

Generic PlayStation 3 Controller (GameStop)
PlayStation 3 Controller 054c:0268
PlayStation 4 Controller 054c:05c4
PlayStation 2 Controller
PS2 Arcade Stick
You launch Wiistation from SD or USB ?
 
  • Like
Reactions: SaulFabre
Thanks for the answer, I can't get the DS3 to work on usb port 1, while Wiistation is launched from usb port 0.

Maybe it's not possible, then.
 
Thanks for the answer, I can't get the DS3 to work on usb port 1, while Wiistation is launched from usb port 0.

Maybe it's not possible, then.
I just tested by launching Wiistation with my 1GB hard drive and it works, be sure to press the PS button to activate the controller, LED 1 should light up.
 
  • Like
Reactions: Ouaz
I just tested by launching Wiistation with my 1GB hard drive and it works, be sure to press the PS button to activate the controller, LED 1 should light up.
Hi friend, how did you get the controller to work? because I only see the usb hid icon but the controller does not respond or do anything, although on Nintendo it does work for me. Any help would be appreciated ^^
 

Attachments

  • IMG_20240421_020826.jpg
    IMG_20240421_020826.jpg
    1.4 MB · Views: 55
  • WhatsApp Image 2024-03-24 at 4.35.36 PM.jpeg
    WhatsApp Image 2024-03-24 at 4.35.36 PM.jpeg
    45.7 KB · Views: 89
Hi friend, how did you get the controller to work? because I only see the usb hid icon but the controller does not respond or do anything, although on Nintendo it does work for me. Any help would be appreciated ^^

You must put 054C_0268.ini file in wiisxrx/controllers folder.

ini files can be downloaded in the link that was mentioned in previous messages
 
  • Like
Reactions: BoozUchiha
I just tested by launching Wiistation with my 1GB hard drive and it works, be sure to press the PS button to activate the controller, LED 1 should light up.
When I plug the DS3 and press the home button, the 4 leds keep blinking, and the controller does not respond. 054C_0268.ini is correctly placed in usb://wiisxrx/controllers.

With HIDTest, the 4 leds blink too, but the controller responds (though it doesn't find the controller.ini file at the USB root)
I tried with 2 different DS3, and 2 different usb cables. No luck.

I never tried HID controllers with my Wii, as I have genuine GC controllers et Classic Controllers (V1). I'll try on Nintendont to see if it works here.

Thanks for the test and the help! (I know the problem is on my side now ^^)
Post automatically merged:

Edit:

I tested the Dualshock 3 on Nintendont (launched from the same USB device on port 0, and the DS3 on port 1) and...

it works! :tpi:
After pressing the home button, the LED 1 lights up, and the controller responds.

Still no luck with Wiistation.:(
 
Last edited by Ouaz,
When I plug the DS3 and press the home button, the 4 leds keep blinking, and the controller does not respond. 054C_0268.ini is correctly placed in usb://wiisxrx/controllers.

With HIDTest, the 4 leds blink too, but the controller responds (though it doesn't find the controller.ini file at the USB root)
I tried with 2 different DS3, and 2 different usb cables. No luck.

I never tried HID controllers with my Wii, as I have genuine GC controllers et Classic Controllers (V1). I'll try on Nintendont to see if it works here.

Thanks for the test and the help! (I know the problem is on my side now ^^)
Post automatically merged:

Edit:

I tested the Dualshock 3 on Nintendont (launched from the same USB device on port 0, and the DS3 on port 1) and...

it works! :tpi:
After pressing the home button, the LED 1 lights up, and the controller responds.

Still no luck with Wiistation.:(

Apparently Wiistation always look for files in SD path even when launching it via USB, I've removed sdcard and it no longer detects controllers even with the presence of ini files in wiisxrx/controllers usb folder, So I confirm that HID controllers only work with sdcard
 
Apparently Wiistation always look for files in SD path even when launching it via USB, I've removed sdcard and it no longer detects controllers even with the presence of ini files in wiisxrx/controllers usb folder, So I confirm that HID controllers only work with sdcard
Ah, thanks for the info.

So finally, the problem is not my end. ^^

The code for reading the .ini file from the USB port is already implemented, but it seems there's a bug with it.

If xjsxjs197 read this, maybe he will fix it easily.
 
  • Like
Reactions: BoozUchiha

Site & Scene News

Popular threads in this forum