-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2nd attempt at: picodrive revisions from irixxxx: major drc work, bugfixing and enhancements for megadrive vdp, and some more #125
Conversation
just because orbea wants a release tarball
…ecoder separately in platform/common/helix)
…n (open2x,gph,opendingux) or ubuntu arm(gcc 4.7 is highest possible),mips
…literals detection)
…gen optimizations
I've pushed another fix for windows (using mingw and wine) and osx. Please try this out. I've done minimal checks for both and know that 32x with DRC is basically working with my setup. |
I think that got it. At least, I'm able to cross-compile from linux to Windows, so I suspect we're in good shape. Let me get independent verification on that and then I think we're ready to go :) |
32X crashes RA for me on Windows (looks fine on my Linux VM), retroarch_debug.exe doesn't generate a crash log, not sure why. I used WinDbg instead, first time I'm using it so I hope I did it properly :p
And last lines of the console log before the crash:
MD, SMS and Sega-CD seems to work fine however. |
Wow... I'm not sure if I'm interpreting this correctly, but a crash in vasprintf? And unfortunately no good symbols in retroarch :-? |
32x crashed here too on win7 x64. If I force interpreter it stays on a black screen, log console says: |
I can reproduce this both under wine and reactos. Interstingly enough it works fine with a 32 bit retroarch with both. It must be something with the 64 bit code generator, OTOH I don't get this with OSX and x86 linux. The only difference is MS uses a different ABI. I've reviewed that part of the backend to no avail. I can also say that the crash happens in the translation cache, hence there must be something wrong with the x86 backend. |
I think I found the problem - a missing REX for jmp/call in case the register is r8-r15. Now it works for me in wine64. Please pull. |
edit: after more testing with the core available in the core updater, yours is actually better, with the "official" core I get that little sound too (but not in MKII, that's why I thought it was a new issue, my bad!), but it's much worse because it makes a sound even worse each time I open/close RetroArch menu :D The core crashes with dynarec OFF however (again, only with 32X): crash-200708-211934.log About the issues you mentionned: |
The popping audio comes from a DC offset in the PWM channel - this can even happen if it is not used for output, when it is initialized to a bad value. You should hear it only with 32x or CD games. Tempo is one of the bad examples for this. There is a highpass to filter away DC, but it must adapt to the offset value. That's why you hear a click in the start phase. Regarding sh2 interpreter, I know why it crashes, but I must ponder a bit how to fix it in a suitably clean way. |
Are we ready to merge this, then? If so, I can pull the trigger. |
I think the interpreter bug isn't harmful - it occurs only for platforms where the DRC is available and I presume few people would ever use the interpreter in that case. Platforms I've tested with libretro: Windows (x86+x64 via wine and reactos), OSX (x86_64, 10.14), Linux (x86_64, Ubuntu 16+18). You may wonder about that gp2x... it's my testbed for speed regressions. I'll note it immediately if something gets notably slower :-D |
Great, thank you! Just a thought occurring to me right now: since version 1.96 there are some commits now... should I rename this 1.97 to indicate this as the libretro version? Or should this possibly be done after more testing? BTW, a list of additional platforms I presume this might run on:
|
@irixxxx I think the version is fine for now. If it causes confusion later we can always change it easily enough. As for testing other platforms, I guess our users will handle that for us! :P |
@irixxxx We got a few build errors on the ARM platforms, seems to be related to:
Any thoughts? |
Is there a warning from mkoffsets.sh in the build output?
If so, there's either no readelf, or the file command detects the compiler
has no ELF output format. Which platforms are this?
edit: I just realized that my approach might fail on ios devices. I'll come up with something for this.
The mkoffset script expects a generic readelf. That's available on all linux build hosts, but not on windows. In that case, there might be a readelf in the toolchain. It might be possible to check for generic readelf, then for toolchain readelf.
Notify me if there are other platforms without ELF (apart from windows and osx).
|
Looks like the build failures we have are:
|
I've pushed some changes which should fix at least some of the lot. |
Alright, I pushed those up. I'll let you know how it goes. Thanks! |
Is there more buildbot output but https://travis-ci.org/github/libretro/picodrive? There's only 2 platforms in it, so I presume there is more. |
Hello, So far is not compiling either. I could have an idea about the video. @irixxxx in order to speed up the performance (have in mind that PS2 just is a MIPS 300 Mhz) I tried to use Thanks |
Hi @irixxxx , do you happen to hang out on Discord too? It could perhaps be productive if you were on there and you and fjtrujy could talk there in realtime about this. Our Discord channel can be found on our website www.retroarch.com - but here is the direct link - https://discord.com/invite/27Xxm2h My handle on there is Autechre. |
@twinaphex I'm on the discord channel. I've had a look at the failed output... I must say the pico Makefile stuff isn't in best shape. I've tried to repair some of it (hopefully without damaging other stuff), but as far as I'm concerned it's still kind of a band aid and I would like to test this with as much platforms as possible. There's maybe more lurking there. @fjtrujy The 8 bit fast renderer only renders to Pico.est.Draw2FB and there's currently no possibility to set Draw2FB to something other then the default buffer in draw2.c. |
Wha't s your username on Discord? Try contacting fjtrujy in Direct Message on there. |
@twinaphex it's (surprise!) irixxxx, just to avoid confusion. It's from old times, unfortunately not really fitting anymore. Whatever, I've sent @fjtrujy a message. |
Just to say it: I've pretty much addressed those problems visible in the failed builds, apart from the android stuff. For the android build framework I need some help since I don't know much about it. |
attempting to cleanly merge irixxxx's commits without derailing their PR to notaz. See also #124