libretro / snes9x

Snes9x - Portable Super Nintendo Entertainment System (TM) emulator
http://www.snes9x.com
Other
47 stars 57 forks source link

blargg filter #206

Closed stellarporter closed 5 years ago

stellarporter commented 5 years ago

186, rebased

inactive123 commented 5 years ago

Hi there @stellarporter ,

ever since this PR, unfortunately the Emscripten build no longer compiles.

See this log here -

http://p.0bl.net/103154

inactive123 commented 5 years ago

Another issue pointed out by @hizzlekizzle - this is how it currently looks like with the NTSC filter enabled -

image

I will currently revert this PR, but do send us a new version of this PR with the two issues fixed. If you need any more info or testing, you could probably ask @hizzlekizzle here or hunterk on our Discord.

inactive123 commented 5 years ago

OK, so here is the current revert commit -

https://github.com/libretro/snes9x/commit/5dc1bde625efba1e92e9a84ad7c4da102cfeb2c7

@stellarporter As soon as you prepare a new PR that solves the issues we can go ahead and merge that.

stellarporter commented 5 years ago

Thanks for bringing this to my inbox. That's quirky strange since I don't get the palette errors. Emscripten I don't get what the error means yet either. But 2 bullet points to whack out. Will give it some patience and see if we can revive it again.

stellarporter commented 5 years ago

Using vm linux to get emscripten to build. It works because latest (?) asm2wasm hackfixes the problem with mixing C / C++ calling conventions.

Will work on this some more, submit a pr and attach a compiler log to show we're good again.

And an important note to add for this page: https://github.com/libretro/RetroArch/tree/master/pkg/emscripten

cd ~/retroarch/RetroArch/dist-scripts
chmod a+x dist-cores.sh
emmake ./dist-cores.sh emscripten

That chmod can be very important to avoid an access denied error.

stellarporter commented 5 years ago
warning: asm2wasm adding operands in call from $__Z15S9xDeinitUpdateii to $_snes_ntsc_blit_hires (this is likely due to undefined behavior in C, like defining a function one way and calling it in another, which is important to fix)
warning: asm2wasm adding operands in call from $__Z15S9xDeinitUpdateii to $_snes_ntsc_blit (this is likely due to undefined behavior in C, like defining a function one way and calling it in another, which is important to fix)

What's odd is that I changed snes_ntsc_blit to a 0 param function (snes_ntsc.h, snes_ntsc.c). And still generates above complaint. Clean cache and all. Haven't gotten anywhere with this one.