libretro/picodrive

Virtua Racing Deluxe (Japan) hangs during attract mode when dynarec is enabled

Closed this issue · 6 comments

The Japanese version and only the Japanese version, issue cannot be reproduced with USA game. After about 20 seconds of uninterrupted execution, the Ranking table hangs when it gets to 11th place.

Virtua Racing Deluxe (Japan)-240603-021953

Additional notes

The hang does not affect the "parent" system, only the emulated 32X is locked up--RetroArch menu functions normally, etc. It also only seems to occur on a fresh boot of the game; hitting Restart after the hang allows the attract mode to run through with no issues.

Disabling the dynarec also allows the attract mode to run through 11th place and beyond without issues.

Tested

This issue has been confirmed on:

That might already be fixed. Try building a version from the release-testing branch in my repo.

Am attempting to, but haven't been successful in building it as yet. When it comes time to link RetroArch and PicoDrive ...

LD objs/wiiu/retroarch_wiiu.elf
g++ main.o -O3 -Wall -std=c++14 -DNDEBUG -lz -o elf2rpl
make[1]: Leaving directory '/libretro/RetroArch/wiiu/wut/elf2rpl'
./libretro_wiiu.a(libchdr_chd.o): In function `zstd_codec_free':
libchdr_chd.c:(.text.zstd_codec_free+0x4): undefined reference to `ZSTD_freeDStream'
./libretro_wiiu.a(libchdr_chd.o): In function `cdzs_codec_free':
libchdr_chd.c:(.text.cdzs_codec_free+0x20): undefined reference to `ZSTD_freeDStream'
libchdr_chd.c:(.text.cdzs_codec_free+0x38): undefined reference to `ZSTD_freeDStream'
./libretro_wiiu.a(libchdr_chd.o): In function `zstd_codec_init':
libchdr_chd.c:(.text.zstd_codec_init+0x14): undefined reference to `ZSTD_createDStream'
./libretro_wiiu.a(libchdr_chd.o): In function `zstd_codec_decompress':
libchdr_chd.c:(.text.zstd_codec_decompress+0x38): undefined reference to `ZSTD_initDStream'
libchdr_chd.c:(.text.zstd_codec_decompress+0x3c): undefined reference to `ZSTD_isError'
libchdr_chd.c:(.text.zstd_codec_decompress+0x74): undefined reference to `ZSTD_decompressStream'
libchdr_chd.c:(.text.zstd_codec_decompress+0x78): undefined reference to `ZSTD_isError'
./libretro_wiiu.a(libchdr_chd.o): In function `cdzs_codec_init':
libchdr_chd.c:(.text.cdzs_codec_init+0x30): undefined reference to `ZSTD_createDStream'
libchdr_chd.c:(.text.cdzs_codec_init+0x40): undefined reference to `ZSTD_createDStream'
./libretro_wiiu.a(libchdr_chd.o): In function `cdzs_codec_decompress':
libchdr_chd.c:(.text.cdzs_codec_decompress+0x84): undefined reference to `ZSTD_initDStream'
libchdr_chd.c:(.text.cdzs_codec_decompress+0x88): undefined reference to `ZSTD_isError'
libchdr_chd.c:(.text.cdzs_codec_decompress+0xcc): undefined reference to `ZSTD_decompressStream'
libchdr_chd.c:(.text.cdzs_codec_decompress+0xd0): undefined reference to `ZSTD_isError'
libchdr_chd.c:(.text.cdzs_codec_decompress+0x11c): undefined reference to `ZSTD_initDStream'
libchdr_chd.c:(.text.cdzs_codec_decompress+0x120): undefined reference to `ZSTD_isError'
libchdr_chd.c:(.text.cdzs_codec_decompress+0x170): undefined reference to `ZSTD_decompressStream'
libchdr_chd.c:(.text.cdzs_codec_decompress+0x174): undefined reference to `ZSTD_isError'
libchdr_chd.c:(.text.cdzs_codec_decompress+0x2cc): undefined reference to `ZSTD_initDStream'
libchdr_chd.c:(.text.cdzs_codec_decompress+0x2d0): undefined reference to `ZSTD_isError'
libchdr_chd.c:(.text.cdzs_codec_decompress+0x2f0): undefined reference to `ZSTD_initDStream'
libchdr_chd.c:(.text.cdzs_codec_decompress+0x2f4): undefined reference to `ZSTD_isError'
collect2: error: ld returned 1 exit status
Makefile.wiiu:342: recipe for target 'objs/wiiu/retroarch_wiiu.elf' failed

Have you updated the submodules?

I have, but to be sure, I just ran a git submodule update --recursive --init and built again. No change.

Just to rule it out, cc1174c is recent and zstd-related but does not appear to be relevant here. I just rolled back to 3b480be (1 commit earlier) and it shows the same issue.

EDIT: Damn it, submodules again. My libchdr is still newer after rolling back, rolling back submodules also for a rebuild, will edit with result.

EDIT2: Successful build. I now strongly suspect this change is relevant.

EDIT3: Getting back on topic, I can no longer trigger the hang this issue is actually about on 3b480be, so this issue will be resolved by the next merge from your repo.

merged