linuxserver / emulatorjs

Self hosted web based retro emulation front end with rom and art management.
379 stars 26 forks source link

Fixing Sega 32x #117

Open gr33k opened 5 months ago

gr33k commented 5 months ago

I see 32x is broken...What can we do to fix this?

I see libretro has a Web assembly version (i.e. https://web.libretro.com/) can we grab this or another core perhaps?

EmulatorJS has Picodrive but they've changed their code a bit since 4.x so it does not appear to be a drop-in/rename replacement. However, I realized the emulator cores in the .data extension are simply 7zipped and you can extract them to obtain the .js and .wasm files (this is how I renamed them and tried to drop them in to the container, but it didn't work). I tried using 32x.js/wasm and picodrive_libretro.js/wasm

It tries to load when I use the libretro naming convention and config file reference (libretro-picodrive), BUT some issues when inspecting it: [ERROR] Couldn't find any audio driver named "rwebaudio" [ERROR] Couldn't find any input driver named "rwebinput" (I mention these because these same drivers ARE found in the working cores when checking their logs) (attached log) libretro_picodrive.log

Attached this in case it's handy picodrive-libretro.zip

I lastly tried to compile picodrive itself using emscripten with the same method to test, but that also failed.

Any thoughts? Would love to figure this out and perhaps apply this same method to other libretro cores! Ty

gr33k commented 5 months ago

Forget it - Even their core isn't working right now...https://github.com/EmulatorJS/EmulatorJS/issues/579 Hoping someone can get it working from the libretro cores perhaps...sux

thelamer commented 5 months ago

Picodrive has always black screened in the emscripten libretro core. I had to EOL the old decompilation stuff so sorry no 32x until we have a viable picodrive core we can build from source.

zmarteline commented 5 months ago

I currently use version 3.1.5 for 32X games. It works perfectly, but without the improvements achieved in the newer versions. As a workaround, couldn't you use the v3.1.5 core in emulatorjs 4.x for 32X games?

thelamer commented 5 months ago

No, I promised another project I would not ship those old decompilation attempt bins anymore as it misrepresents the current state of their project. You are absolutely free to rip them from here https://github.com/thelamer/emulatorjs/tree/d42600c8f0afad6c5787f12dc188491ffebdd4e4 and place them in your /emulatorjs/frontend directory properly and use them though.

gr33k commented 1 week ago

@thelamer I see the .data file but I can't seem to unzip it using 7zip. Is there a way you can provide the .js and .wasm file for the old 32x so we can easily drop it in please?

I can understand you want to get a clean emulator in here vs this obfuscated thing...but a working emulator is better than no working emulator. There isn't one coming out soon either it seems...so I think (if noted in the docs) people would give you a pass for using this until a clean/better option is available. I certainly wouldn't mind ;) ty

EDIT: if you promised them not to I guess you can't put it in the main branch....but perhaps they can give you a working version to use now? Either way - I hope you can post the files here so we can easily get it working.