Open Madxbio97 opened 4 years ago
Here's some clarification, since the original post lacks some key information.
Description There's one stage in the whole game with 2 spots which makes Beetle HW freeze. From my testing some time ago it affected both Vulkan and GL. And it didn't seem that any particular core option tweak would fix or bypass this issue. Freezes even on dynarec. Edit. It might be the Widescreen Mode hack.
Expected behavior Internal framerate drops below 20FPS and recovers when moving away from the affected area. Expected Behavior on a spot where internal FPS drops below 20FPS.
Actual behavior Internal framerate drops to 0FPS, there's visible texture corruption. Unexpected behavior where the game freezes, then Beetle starts to chug and corrupt, until it freezes completely. Another example of same scenario, except it doesn't visually corrupt.
Steps to reproduce the bug: 1) Load up Stronghold Lower Level save that is provided in the first post or use level skip cheat. 2) Follow the right wall and go down 3 stairs/slopes and then do a U-turn to the left and run until the end past a scientist in a lab room. 3) Go into the corner and face the boxes, rotate the character a bit, run towards the boxes. This location will trigger the freeze. 4) (Optional) Go to the end of the level (which might take some time). At the last section just before the end there's around 5 enemies guarding the exit. The game chugs here and it also makes Beetle HW freeze.
Observations SF1 has been tested on regular Mednafen and it ran fine. This bug persisted on all recent Beetle HW builds. I believe that you don't need a specific hardware to reproduce this issue.
Version/Commit RetroArch: [1.8.4/stable]
Beetle PSX: 0.9.44.1/5d4ecd6
@DfactorLongplays Thanks for the additional info. If this bug happens here but not in standalone, then that's pretty bad.
I've decided to investigate a bit more on the latest build and finally pinpointed the possible culprit. It seems to be the widescreen hack. In both Beetle PSX and Beetle PSX HW toggling WS Mode Hack causes the freezing and corruption. Since vanilla Mednafen is 4:3 anyway it makes sense that the issue isn't reproduced there.
Later I'll check if this holds up with the end of the level and report back.
Very strange...usually it's the speedhacks that are the culprits (CPU/GPU/GTE overclocks). This would be the first instance where the widescreen hack causes a hang, if true.
I think the actual root cause of the error is in the game itself not being able to handle the extra geometry rendering as similar corruption occurs if I enable the widescreen hack, with or without PGXP. It is also fixed if I set NCLIP to simply reject every other triangle, regardless of whether it would be culled or not.
I'd be interested to know if this happens at all in PCSX-R or ePSXe, as their DMA chain behaviour is different. Pete's GPU plugins always try to process all nodes in the buffer without passing back execution to the CPU emulation, whereas Mednafen seems to alternate cycles on each to simulate them working in parallel.
https://github.com/libretro/beetle-psx-libretro/issues/490#issuecomment-469062488
I have one game to refuse to run after languages selection if Widescreen hack is enabled: Ea Sports Superbike 2000.
It hang on ePSXe/Pcsx-R Pgxp too with the Widescreen hack. Then i guess some games can crash/hang with that :/
Okey dokey. I promised I'd check the final area of the same SF1 level that hangs. Also, yeah, I'm fairly familiar with the Silent Hill hang. There are 3 spots in the game that gave me trouble. And it does seem to be a similar behavior.
Expected behavior The most intense scene in the game, FPS drops, recovers.
Actual behavior When WS Mode hack is enabled as soon as the critical point is reached the FPS drops to 0.
Steps to reproduce the bug:
I do have another report, but I'm not sure if there's a reason to open another issue for it. Fighting Force has the same issue and this issue can be triggered in the beginning of the game, as long as you have 2 players on-screen.
Expected behavior The game's internal FPS drops below 25FPS with a high amount of enemies. The game slows down, but is playable and recovers once there are less enemies on screen.
Steps to reproduce the bug:
Core options
beetle_psx_analog_calibration = "disabled" beetle_psx_analog_toggle = "disabled" beetle_psx_cd_access_method = "sync" beetle_psx_cd_fastload = "2x(native)" beetle_psx_cpu_dynarec = "disabled" beetle_psx_cpu_freq_scale = "100%(native)" beetle_psx_crop_overscan = "enabled" beetle_psx_display_internal_fps = "disabled" beetle_psx_dither_mode = "1x(native)" beetle_psx_dynarec_eventcycles = "128" beetle_psx_dynarec_invalidate = "full" beetle_psx_enable_memcard1 = "enabled" beetle_psx_enable_multitap_port1 = "disabled" beetle_psx_enable_multitap_port2 = "disabled" beetle_psx_frame_duping = "disabled" beetle_psx_gpu_overclock = "1x(native)" beetle_psx_gte_overclock = "disabled" beetle_psx_gun_cursor = "cross" beetle_psx_gun_input_mode = "lightgun" beetle_psx_hw_adaptive_smoothing = "enabled" beetle_psx_hw_analog_calibration = "disabled" beetle_psx_hw_analog_toggle = "disabled" beetle_psx_hw_cd_access_method = "sync" beetle_psx_hw_cd_fastload = "2x(native)" beetle_psx_hw_cpu_dynarec = "disabled" beetle_psx_hw_cpu_freq_scale = "100%(native)" beetle_psx_hw_crop_overscan = "enabled" beetle_psx_hw_depth = "32bpp" beetle_psx_hw_display_internal_fps = "enabled" beetle_psx_hw_display_vram = "disabled" beetle_psx_hw_dither_mode = "disabled" beetle_psx_hw_dynarec_eventcycles = "128" beetle_psx_hw_dynarec_invalidate = "full" beetle_psx_hw_enable_memcard1 = "enabled" beetle_psx_hw_enable_multitap_port1 = "disabled" beetle_psx_hw_enable_multitap_port2 = "disabled" beetle_psx_hw_filter = "bilinear" beetle_psx_hw_frame_duping = "disabled" beetle_psx_hw_gpu_overclock = "1x(native)" beetle_psx_hw_gte_overclock = "disabled" beetle_psx_hw_gun_cursor = "cross" beetle_psx_hw_gun_input_mode = "lightgun" beetle_psx_hw_image_crop = "disabled" beetle_psx_hw_image_offset = "disabled" beetle_psx_hw_image_offset_cycles = "0" beetle_psx_hw_initial_scanline = "0" beetle_psx_hw_initial_scanline_pal = "0" beetle_psx_hw_internal_resolution = "8x" beetle_psx_hw_last_scanline = "239" beetle_psx_hw_last_scanline_pal = "287" beetle_psx_hw_lineRender = "disabled" beetle_psx_hw_mdec_yuv = "enabled" beetle_psx_hw_mouse_sensitivity = "100%" beetle_psx_hw_msaa = "8x" beetle_psx_hw_negcon_deadzone = "0%" beetle_psx_hw_negcon_response = "linear" beetle_psx_hw_pgxp_mode = "memory only" beetle_psx_hw_pgxp_texture = "enabled" beetle_psx_hw_pgxp_vertex = "disabled" beetle_psx_hw_renderer = "hardware" beetle_psx_hw_renderer_software_fb = "disabled" beetle_psx_hw_shared_memory_cards = "disabled" beetle_psx_hw_skip_bios = "enabled" beetle_psx_hw_super_sampling = "disabled" beetle_psx_hw_use_mednafen_memcard0_method = "mednafen" beetle_psx_hw_widescreen_hack = "disabled" beetle_psx_hw_wireframe = "disabled" beetle_psx_image_crop = "disabled" beetle_psx_image_offset = "disabled" beetle_psx_initial_scanline = "0" beetle_psx_initial_scanline_pal = "0" beetle_psx_internal_resolution = "1x(native)" beetle_psx_last_scanline = "239" beetle_psx_last_scanline_pal = "287" beetle_psx_lineRender = "default" beetle_psx_mouse_sensitivity = "100%" beetle_psx_negcon_deadzone = "0%" beetle_psx_negcon_response = "linear" beetle_psx_pgxp_mode = "disabled" beetle_psx_shared_memory_cards = "disabled" beetle_psx_skip_bios = "disabled" beetle_psx_use_mednafen_memcard0_method = "mednafen" beetle_psx_widescreen_hack = "enabled" ffmpeg_color_space = "auto" ffmpeg_fft_multisample = "1x" ffmpeg_fft_resolution = "1280x720" ffmpeg_temporal_interp = "disabled"
Final report Silent Hill, Syphon Filter and Fighing Force exhibit this issue. The render doesn't seem to matter. If you're lucky it's possible to recover and quickly switch back to 4:3. I believe these issues aren't present on vanilla mednafen at all (I've only tested SF). On ePSXe all 3 of these titles do not lock up even with WS hack and even CPU OC. I've tested all 3 on ePSXe. I haven't found any more games that would lock up like this on Beetle PSX HW. That's about it for now.
Description Game freezes at some points of the level near the walls.
Expected behavior Internal fps didn't drop to 0.
Actual behavior In some points internal fps could decrease to 0.
Steps to reproduce the bug:
Bisect Results Everytime then you play with Beetle HW.
Version/Commit RetroArch: [1.8.3/stable] Compilation date: Jan 10 2020 Git version: 8032ff6
Environment information OS: Windows 10 x64 AMD Ryzen 5 2400G with Radeon Vega Graphics Palit Geforce 1060 (3Gb) VRAM 16 Gb
Beetle PSX: [0.9.44.1/5d4ecd6]
Syphon_Filter_USA_v1.1.0.zip]
Core options
Renderer hardware Software Framebuffer off Internal GPU resolution 1x Dithering pattern off Texture Filtering Bilinear Adaptive smoothing off Supersampling off Multi-Sampled Antialiasing 8x MDEC YUV Chroma Filter on PGXP off Display internal fps on Line-to-Quad hack Aggresive CPU frequency 150 GTE Overclock on GPU Rasterize overclock on Skip Bios on Widescreen Mode hack on Crop Horizontal overscan on
Environment information