-
Notifications
You must be signed in to change notification settings - Fork 115
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
PC Engine - Raiden Crashes when setting palette. #105
Comments
Thanks for tracking down the problem! I think the actual bug would be on line 539
So changing line 539 to The other option would be to mask What do you think? |
Looks like discarding upper 7 bits from V would not broke anything and will have minimum performance impact. Madnafen PCE emulator did the same: Checked some other games after that patch and it seems theres no glitches or so on. Btw, i have bunch of intersting emulators for RP2040 you might be intersting in. |
Thanks for testing. Since you did all the work do you want to create a PR to get credited as contributor? Otherwise I'll commit the fix in a few days/weeks when I get back to the project, we can keep this issue open until then.
I'll definitely check your ports, thanks! How's your Gwenesis performance? I never could get my port to full speed with a reasonable frameskip despite trying so many things, but I believe the PICO is a fair amount faster (when running at equal clock). |
You're welcome :)
RP2040 not strong as you think, i belive ESP32 outplays RP2040 with raw cpu performance at same CPU speed. Also, there's only 256Kb ram. But, pico have great ability to overclock to >= x3.0 of stock CPU speed (125Mhz => 378Mhz stable for 99.99(9)% of SoC's and 416Mhz for 90%). Also Pico always has 2nd core overwhelming cause of software Video output (my ports have Composite TV, VGA, HDMI, TFT outputs) Regarding Gwenesis (which is very cpu MHZ depended), the only way to achieve good performance (50 stable fps for UMK3) is
Some games works greate with full sound enabled with Z80 disabled, but most of games requires Z80 to work. Maybe other Z80 engine will increase performance. Platformers like Boogerman works good with overclocking, interlace and frameskip, but with sound. |
On the esp32, if I overclock to 320Mhz I can achieve full speed (ntsc fs:1, so 30fps) in Sonic with YFM enabled and Z80 disabled. But overclocking isn't as well documented as it is on the PICO, I have no idea what the average ESP32 chip can sustain. 280Mhz seems to be ok on all chips, 320 works on most of my devices, 360 on some, and 400Mhz always crashes. I'll likely look into your NGPC port, I always wanted to support that in retro-go! I'll ping you when I get there, thanks again :). Edit: BTW I tried a few other Z80 implementations, like the one from my smsplus fork that I optimized a fair amount. It helped but not that much. I tried other random Z80 but again it wasn't magical. Though in your case you might be able to find a Z80 implemented in thumb assembly! |
You're welcome to contact me directly. Site with contacts in my github profile.
It wouldn't do the magic, just 1-3 fps. Cause there is very limited usage of Z80, mainly for pushing samples to YM chip in a loop, nothing more. |
Raiden (USA/Japan) for PC-Engine crashes when setting palette.
Setting palette with index greater than 0x200 predictably crashes emulator:
retro-go/retro-core/components/pce-go/pce.c
Lines 542 to 568 in 7d409d7
Simply monkey patching both with
fixes the issue, but i think it's not right.
The text was updated successfully, but these errors were encountered: