Emulation Homebrew Emulator [UNOFFICIAL] Some Libretro cores compiled with RetroArch Wii v1.7.9 (and other versions)

  • Thread starter Thread starter SaulFabre
  • Start date Start date
  • Views Views 69,962
  • Replies Replies 303
  • Likes Likes 19
  • Like
Reactions: cheloruiz79
Nestopia DOES actually support Zapper emulation, only really tested with Duck Hunt but it DOES work.
FYI, RetroArch Wii since v1.7.9 has been supporting the Wiimote IR as aiming device for Zapper/Lightgun emulation.

To enable Zapper emulation in Nestopia Libretro Wii, do this:
1. Load any game which needs the NES Zapper (i used Duck Hunt)
2. Go to the RetroArch Main Menu, then in Quick Menu, select Core Options
3. In Zapper device option, select Light gun
4. Return to the Main Menu, then go to Settings and then in Input
5. Make sure you have the Max Users setting set to 2.
6. Go to User 2 Binds
7. In User 2 Device Index, set it to Wiimote Controller
8. In User 2 Device Type, set it to Zapper
9. Return to the game, and profit! You have an emulated Zapper with the Wiimote IR on Nestopia!

To use the emulated NES Zapper with this Nestopia Libretro Wii core:
Wiimote IR - Aim
B button - Trigger (Shoot)

(some info taken from @Wiimpathy's thread)

btw, i also included on both FCEUmm and Nestopia the Wii Virtual Console and Restored Wii VC color palettes (both from SuperrSonic). I have plans to use these cores on some of my future SRLs so i thought this would be a cool addition. BTW, they're officially added since i've sent a PR to both to add these.



btw, FCEUmm is still being so updated, adding even more mappers suport. Since last time i recompiled this a few days ago more updates happened since then.



Nice to hear.
I'm pretty sure irixxxx fixed those input issues in https://github.com/irixxxx/picodrive/commit/d2037daec05476ff825bf2ee8fd18a9b73ef8264.
It had to be related to system cycles accuracy (i think?)
Great it should work with Arcade like Rambo or Operation Wolf
 
  • Like
Reactions: SaulFabre
at the end the Libretro admins had to revert the commit of the turbo button "fix", as the one behind that fix didn't answer about the issues it caused, nor why the removal of the "1" option.

Source: https://github.com/libretro/libretro-fceumm/commit/3544ff567ecc417c170641587083b976739ef9db

1746207312312.png


expect a new build of FCEUmm soon.
 
Here I updated NeoCD and gpSP again.

What's new on NeoCD:

- fix CHD audio on big-endian systems (Wii, Wii U). (Thanks @ploggy!)

Recompiled from here https://github.com/saulfabregwiivc/...mmit/dcd2d0dc93a8b645876b45b4ef78e3d32e24cbda with RA Wii 1.7.9[/USER]

NeoCD Libretro for Wii recompiled on RA Wii 1.19.1 just in case, for those who want CHD but don't know if has audio crackling or Wiimote only support. Please help me test.

EDIT: in my little tests, CHDs work now and audio seems fine but i couldn't get Wiimote only to work on this core. (still forced to use Wii Classic Controller)

I tested these yesterday. Here is my findings:
  • No WUPC support. It messes up inputs until it is turned off.
  • DSI crash when trying to change Thumbnail Directory, with the 1.7.9 build. Manually edit the config file if you want to change it.
  • UNI-BIOS support is not working, it seems. No game can be launched, both with the 1.7.6 and 1.19.0 build. All other BIOS versions work properly.
  • Didn't test HID/Overlay/Borders support.
  • CHD support: you reported that you tested it, but it doesn't work in both builds. Does this need a specific command or chdman exe for compression? I tested a handful of them and nothing.
  • OGG support: Working.
  • Config file is always stored inside the Retroarch folder instead of the boot.dol folder (which was changed for the better sometime after 1.10.0, not sure), the latter being much tidier.
No comparison against official releases, as there is none yet.

NeoGeoCD Core with working CHD Audio.. Please test :D
Yabause core enclosed, couldn't test.

I've recompiled yet again PicoDrive with RA Wii v1.7.6 (RetroArch toolkit libOGC) until git https://github.com/irixxxx/picodrive/commit/5ad7996e63d2710409ec4681ac4b766e29a67903 , most notable changes are improving a bit the 32X emulation accuracy and further fix for some remaining input issues.

About PicoDrive, here is my findings:
  • 32X, Sega CD and CD32X tested and working. Other supported consoles/handheld untested as GenesisPlus GX does those already.
  • CHD support: not working. It does work in official releases.
  • I don't think there is OGG support on the Wii platform, though I tested it anyway.
  • Didn't test HID/Overlay/Borders support.
  • Config file is always stored inside the Retroarch folder instead of the boot.dol folder (which was changed for the better sometime after 1.10.0, not sure), the latter being much tidier.
There are some slowdowns on CD32X emulation, though official builds has them. I'll be staying on the official one for now.
 
Last edited by niuus,
CHD support: you reported that you tested it, but it doesn't work in both builds. Does this need a specific command or chdman exe for compression? I tested a handful of them and nothing.
Back then i used the ones from Redump on my tests, didn't tried them further since them.


No WUPC support. It messes up inputs until it is turned off.
Maybe WUPC was never supported on RetroArch Wii (correct me if i'm wrong).


UNI-BIOS support is not working, it seems. No game can be launched, both with the 1.7.6 and 1.19.0 build. All other BIOS versions work properly.
Maybe NeoCD expects the BIOS to be in device_root:/retroarch/system/neocd/uni-bioscd.rom?
The NeoCD code supposedly has support for Uni-BIOS CD v3.3.

Screenshot_20250504_214458_Chrome.png

I don't think there is OGG support on the Wii platform, though I tested it anyway.

I havent actually tested ISO+OGG+CUE on PicoDrive, but does it work?


CHD support: not working. It does work in official releases.
Old RetroArch Wii versions don't have support for CHD files. It doesn't have the library libCHDr.
 
  • Like
Reactions: RunningSnakes
Back then i used the ones from Redump on my tests, didn't tried them further since them.
I even took the liberty of using one from Redump already on CHD. It doesn't work. If you point me to one of your working files to test, I could confirm.

Maybe WUPC was never supported on RetroArch Wii (correct me if i'm wrong).
What? It is very much supported since around january 2017. I already use it all the time with 99% of the cores, except in the original CPS-1/CPS-2/CPS-3/Neo Geo VM releases, for which I used HID almost exclusively with an arcade stick plugged through a PSX to USB adapter.

Maybe NeoCD expects the BIOS to be in device_root:/retroarch/system/neocd/uni-bioscd.rom?
The NeoCD code supposedly has support for Uni-BIOS CD v3.3.
The unibios file is already there, with the proper hash, and the BIOS loads properly. As I said, it just doesn't launch games. It stays like there was no CD inserted. If the unibios file wasn't there, the emulator would take me out to the menu as soon as I tried to load any game file.

Not asking for a fix, mind you, just wanted to report it for future users (like missing Sound FX and music stutter after a while playing).

I havent actually tested ISO+OGG+CUE on PicoDrive, but does it work?
Nope, not at all, though maybe MP3 could, as it was a popular format many years ago to save space on small capacity devices.

Old RetroArch Wii versions don't have support for CHD files. It doesn't have the library libCHDr.

NeoCD Libretro for Wii recompiled on RA Wii 1.19.1 just in case, for those who want CHD but don't know if has audio crackling or Wiimote only support. Please help me test.

EDIT: in my little tests, CHDs work now and audio seems fine but i couldn't get Wiimote only to work on this core. (still forced to use Wii Classic Controller)
You said it works with 1.19.1 builds, hence why i'm asking.
 
Last edited by niuus,
I don't think there is OGG support on the Wii platform, though I tested it anyway.
I started a branch in my fork of irixxxx's PicoDrive to try to see if i can add OGG support since the OGG support code is there but it wasn't enabled and it didn't had a needed library (TREMOR for OGG VORBIS):
https://github.com/saulfabregwiivc/PicoDrive/tree/ogg-support

If you want, i could compile a new build of PicoDrive where i add said support for OGG audio.
Post automatically merged:

CHD support: you reported that you tested it, but it doesn't work in both builds. Does this need a specific command or chdman exe for compression? I tested a handful of them and nothing.
Tested again my only CHD of a NeoGeo CD game i have on my NeoCD 1.19.1 build, and guess what? It still works.
Here's the info of the CHD game i tested i got with chdman:

Code:
chdman info -v -i "C:\Users\ASUS\Documents\chdman\neocd roms\King of Fighters '94, The (Japan, USA) (En,Ja) (Rev 1).chd"
chdman - MAME Compressed Hunks of Data (CHD) manager 0.263 (mame0263)
Input file:   C:\Users\ASUS\Documents\chdman\neocd roms\King of Fighters '94, The (Japan, USA) (En,Ja) (Rev 1).chd
File Version: 5
Logical size: 732,705,984 bytes
Hunk Size:    19,584 bytes
Total Hunks:  37,414
Unit Size:    2,448 bytes
Total Units:  299,308
Compression:  cdzs (CD Zstandard), cdfl (CD FLAC)
CHD size:     372,393,260 bytes
Ratio:        50.8%
SHA1:         ed9fb78aeab2c8dd3aba7be916d2f68ca10f8860
Data SHA1:    d5da77a55ed0baa33b4dc9ac995eeb91e41fd2ac
Metadata:     Tag='CHT2'  Index=0  Length=92 bytes
              TRACK:1 TYPE:MODE1_RAW SUBTYPE:NONE FRAMES:16645 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=1  Length=91 bytes
              TRACK:2 TYPE:AUDIO SUBTYPE:NONE FRAMES:21601 PREGAP:225 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=2  Length=88 bytes
              TRACK:3 TYPE:AUDIO SUBTYPE:NONE FRAMES:21002 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=3  Length=88 bytes
              TRACK:4 TYPE:AUDIO SUBTYPE:NONE FRAMES:22182 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=4  Length=88 bytes
              TRACK:5 TYPE:AUDIO SUBTYPE:NONE FRAMES:21900 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=5  Length=88 bytes
              TRACK:6 TYPE:AUDIO SUBTYPE:NONE FRAMES:21945 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=6  Length=88 bytes
              TRACK:7 TYPE:AUDIO SUBTYPE:NONE FRAMES:21003 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=7  Length=88 bytes
              TRACK:8 TYPE:AUDIO SUBTYPE:NONE FRAMES:21032 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=8  Length=88 bytes
              TRACK:9 TYPE:AUDIO SUBTYPE:NONE FRAMES:24100 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=9  Length=89 bytes
              TRACK:10 TYPE:AUDIO SUBTYPE:NONE FRAMES:20684 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=10  Length=89 bytes
              TRACK:11 TYPE:AUDIO SUBTYPE:NONE FRAMES:22348 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=11  Length=88 bytes
              TRACK:12 TYPE:AUDIO SUBTYPE:NONE FRAMES:1209 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=12  Length=88 bytes
              TRACK:13 TYPE:AUDIO SUBTYPE:NONE FRAMES:1827 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=13  Length=88 bytes
              TRACK:14 TYPE:AUDIO SUBTYPE:NONE FRAMES:3892 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=14  Length=88 bytes
              TRACK:15 TYPE:AUDIO SUBTYPE:NONE FRAMES:2075 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=15  Length=88 bytes
              TRACK:16 TYPE:AUDIO SUBTYPE:NONE FRAMES:9658 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=16  Length=89 bytes
              TRACK:17 TYPE:AUDIO SUBTYPE:NONE FRAMES:11561 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=17  Length=88 bytes
              TRACK:18 TYPE:AUDIO SUBTYPE:NONE FRAMES:3827 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=18  Length=89 bytes
              TRACK:19 TYPE:AUDIO SUBTYPE:NONE FRAMES:14251 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=19  Length=88 bytes
              TRACK:20 TYPE:AUDIO SUBTYPE:NONE FRAMES:3263 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=20  Length=88 bytes
              TRACK:21 TYPE:AUDIO SUBTYPE:NONE FRAMES:3518 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=21  Length=88 bytes
              TRACK:22 TYPE:AUDIO SUBTYPE:NONE FRAMES:3904 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=22  Length=88 bytes
              TRACK:23 TYPE:AUDIO SUBTYPE:NONE FRAMES:5851 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.

     Hunks  Percent  Name
----------  -------  ------------------------------------
     2,175     5.8%  Copy from self
     2,121     5.7%  CD Zstandard
    33,118    88.5%  CD FLAC

Did you try deleting your old config (.cfg files, except the *-salamander.cfg file) in device_root:/retroarch/ or even in the core .dol file directory?

The unibios file is already there, with the proper hash, and the BIOS loads properly. As I said, it just doesn't launch games. It stays like there was no CD inserted. If the unibios file wasn't there, the emulator would take me out to the menu as soon as I tried to load any game file.
After a quick research, i found out that you have to do a workaround to make the Uni-BIOS to be able to load your games on NeoCD Libretro.
Here's the workaround you have to do: (taken from this issue on GitHub)
fabrice-martinez said:

Hi, this is because the Universe Bios is recognized as a CDZ bios. (Which it is really)
You need to press SELECT in the CD player and choose CDZ in the menu that opens.
You need to do this only once (settings are saved to memory card)
This was intended for Uni-BIOS CD v3.2, but it DOES work on latest Uni-BIOS CD v3.3 too.
 
Last edited by SaulFabre,
I started a branch in my fork of irixxxx's PicoDrive to try to see if i can add OGG support since the OGG support code is there but it wasn't enabled and it didn't had a needed library (TREMOR for OGG VORBIS):
https://github.com/saulfabregwiivc/PicoDrive/tree/ogg-support

If you want, i could compile a new build of PicoDrive where i add said support for OGG audio.
Sure, I could test it later when it is ready. Could be useful for users with very small SD cards.

Tested again my only CHD of a NeoGeo CD game i have on my NeoCD 1.19.1 build, and guess what? It still works.
Here's the info of the CHD game i tested i got with chdman:

Did you try deleting your old config (.cfg files, except the *-salamander.cfg file) in device_root:/retroarch/ or even in the core .dol file directory?
No need to delete the config files as it was started fresh, but you left a very useful clue there. Done! I'm now ripping and compressing working files specific for this core.

After a quick research, i found out that you have to do a workaround to make the Uni-BIOS to be able to load your games on NeoCD Libretro.
Here's the workaround you have to do: (taken from this issue on GitHub)

This was intended for Uni-BIOS CD v3.2, but it DOES work on latest Uni-BIOS CD v3.3 too.
Got it, it loads games now. Thanks for the info.


On another subject, do you plan on uploading new builds for Sonic Mania? A lot of very good fixes have been made to the engine before the jump to SDL2.
 
  • Like
Reactions: SaulFabre
Did you try deleting your old config (.cfg files, except the *-salamander.cfg file) in device_root:/retroarch/ or even in the core .dol file directory?
Found this post interesting....Why not include a script in the Archive called "reset Retroarch" parameters to use when you update your Retroarch? I suspect there might be even other parameters to reset in order for other things to work! ^^
Amazed how quickly it went for CHD to be supported, I remember asking for the support , so gooood guyyyz!

Now, i'm dreaming of a tool from Saulfabre to "detect" if it "can" convert a flash game to a wii/wiiu inject (because of those flash formats that are not convertible)
 
  • Like
Reactions: SaulFabre
SaulFabre, your method is nice, but something more practical would be needed, example: If you want to check 1000 Flash games....:unsure:
By the, way, would there be a way to create a full flash emulator for wii-Wiiu or a way improving the standard one?
 
Last edited by mrmagicm,
SaulFabre, your method is nice, but something more practical would be needed, example: If you want to check 1000 Flash games....:unsure:
By the, way, would there be a way to create a full flash emulator for wii-Wiiu or a way improving the standard one?
Honestly I doubt it. Even on PC the flash player emulator is still not perfect so I doubt hobbyist homebrew coders can do a better effort than a million dollar company, as much as I'd love to see flash 11 games playing on Wii. Plus what limited flash support exists on Wii is already heavily taxing the hardware as is.
 
  • Like
Reactions: SaulFabre
New recompiles...

FCEUmm until git https://github.com/libretro/libretro-fceumm/commit/3544ff567ecc417c170641587083b976739ef9db
Builds with RA Wii v1.7.9 (RA toolkit libOGC) and RA Wii v1.10.1 (new Wii makefile, RA toolkit libOGC)
New mappers added, restored Turbo 1 option, reverted commit which supposedly fixed Turbo in Double Dragon, Xevious, but it was said it wasn't even needed.

Nestopia until git https://github.com/saulfabregwiivc/Nestopia/commit/bafbd8ed1853006bc0f9e8c83b86ae24cb543e6a
Builds with RA Wii v1.7.9 (RA toolkit libOGC) and RA Wii v1.16.0 (new Wii makefile, RA toolkit libOGC)
Nothing much changed, but i've rebuilt the builds anyways with Turbo 1 option i added a few time ago.

PicoDrive until git https://github.com/irixxxx/picodrive/commit/984702927a940cc67d364c2db862c830e4d8ffcc
Builds with RA Wii v1.7.6 (RA toolkit libOGC) and RA Wii v1.7.9 (RA toolkit libOGC)
Latest on PicoDrive is fixing some 32X regressions with save states, and improve a bit 32X emulation timings.

the reason why i also built PicoDrive in 1.7.9 is i wanted to see if this emu has support for lightgun in Master System titles, and even maybe Genesis.

the reason for build FCEUmm and Nestopia on RA 1.10.1 and RA 1.16.0 respectively too is for WFL compatibility reasons, but since i can't use WFL i can't test them adequately.

Please help me test these, thanks ;)
 

Attachments

Both FCEUmm (179) and Nestopia (179) work great through Frankenstein but again cannot launch FDS games through WFL.

Nestopia 1.16.0 and FCEUmm 1.10.1 were only tested through WFL. Nestopia plays NES games but not FDS...FCEUmm gave code dump 2 time while booting NES.

1.7.9 Pico seems to work very well but i am unable to get lightgun support working. I have not tested 1.7.6 yet...:)
 
New builds of Gearboy and gpSP (heh, all the Game Boy family this time).

Gearboy - until git https://github.com/drhelius/Gearboy/commit/be485b004308ea57033d4f66b16b60941480bdfa - compiled with RA Wii v1.7.6 and RA Wii v1.7.9 (both with RA libOGC)

gpSP - nothing much changed, it's just a recompile until git https://github.com/libretro/gpsp/commit/b0d5d27ae51c23f514974ddffa5760f1e1d05d9b but i have removed the changes from SuperrSonic in https://github.com/SuperrSonic/gpsp since it breaks ZIP support it seems.
Compiled with RA Wii v1.8.1 (RA libOGC, EXTERNAL_LIBOGC)
Has two builds: the normal one and the 60FPS overclock.

Description of why does 60FPS overclock build exists:
davidfgnet: Let's see, this should fix issues on platforms that do not support running the emu at 59.73 FPS. We run the emu at fake 60FPS, which means we produce more audio samples than the original device. Instead of missing samples (which produce cracks in the audio) we should be producing some extra samples, which will result in a frame drop every now and then (like every minute or so, so it's not noticeable).

Please test these, thanks ;)

PS: @RunningSnakes did u ever got lightgun to work on my last PicoDrive built with RA v1.7.9?
 

Attachments

  • Like
Reactions: RunningSnakes
New builds of Gearboy and gpSP (heh, all the Game Boy family this time).

Gearboy - until git https://github.com/drhelius/Gearboy/commit/be485b004308ea57033d4f66b16b60941480bdfa - compiled with RA Wii v1.7.6 and RA Wii v1.7.9 (both with RA libOGC)

gpSP - nothing much changed, it's just a recompile until git https://github.com/libretro/gpsp/commit/b0d5d27ae51c23f514974ddffa5760f1e1d05d9b but i have removed the changes from SuperrSonic in https://github.com/SuperrSonic/gpsp since it breaks ZIP support it seems.
Compiled with RA Wii v1.8.1 (RA libOGC, EXTERNAL_LIBOGC)
Has two builds: the normal one and the 60FPS overclock.

Description of why does 60FPS overclock build exists:
davidfgnet: Let's see, this should fix issues on platforms that do not support running the emu at 59.73 FPS. We run the emu at fake 60FPS, which means we produce more audio samples than the original device. Instead of missing samples (which produce cracks in the audio) we should be producing some extra samples, which will result in a frame drop every now and then (like every minute or so, so it's not noticeable).

Please test these, thanks ;)

PS: @RunningSnakes did u ever got lightgun to work on my last PicoDrive built with RA v1.7.9?
Unfortunately no, i tested pretty thorough and it runs great otherwise. I did upgrade the standalone distribution 32X with your new core. :)
 
  • Like
Reactions: SaulFabre
Unfortunately no, i tested pretty thorough and it runs great otherwise. I did upgrade the standalone distribution 32X with your new core. :)
Welp, guess PicoDrive has lightgun support but not on the libretro port.
I'll just keep recompiling PD on 1.7.6...

Btw, did u test the other cores?
Gearboy to see if it is stable on at least one version.
gpSP to see if the ZIP support was fixed, by discarding SS's changes related to ZIP.
 
  • Like
Reactions: RunningSnakes

Site & Scene News

Popular threads in this forum