RetroArch crashing with Picodrive and CD based games

I’m trying to run Sega CD and Sega CD 32x with the Picodrive core, but RetroArch keeps crashing to desktop.

I have the correct bios (it has the correct crc32), and my dumps are correct according to redump’s dat file. My game files are in bin/cue format. I am using the latest Picodrive core.

My Sega CD games will work with the genesis-plus core, but I can’t get Sega CD 32x to work. The game will load but says it needs the 32x attached. The Picodrive core does work with standard 32x games.

If I try running it without a bios i will get the content not loaded message in Retroarch, but when i use a bios it crashes without any notice.

Here is my log file.

[INFO] [CONTENT LOAD]: Updating firmware status for: C:\RetroArch-Win64\cores\picodrive_libretro.dll on C:\RetroArch-Win64\system
[INFO] [CORE]: Using content: O:\Sega\Sega CD\3 Ninjas Kick Back (USA).zip.
[INFO] [Core]: Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] [Core]: Unloading core..
[INFO] [Core]: Unloading core symbols..
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
[INFO] RetroArch 1.9.12 (Git e2b7c23)
[INFO] === Build =======================================
[INFO] CPU Model Name: Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
[INFO] Capabilities:  MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES AVX AVX2
[INFO] Built: Oct 24 2021
[INFO] Version: 1.9.12
[INFO] Git: e2b7c23
[INFO] =================================================
[INFO] [Input]: Found input driver: "dinput".
[INFO] [Core]: Loading dynamic libretro core from: "C:\RetroArch-Win64\cores\picodrive_libretro.dll"
[INFO] [Overrides]: No core-specific overrides found at "C:\RetroArch-Win64\config\PicoDrive\PicoDrive.cfg".
[INFO] [Overrides]: No content-dir-specific overrides found at "C:\RetroArch-Win64\config\PicoDrive\Sega CD.cfg".
[INFO] [Overrides]: No game-specific overrides found at "C:\RetroArch-Win64\config\PicoDrive\3 Ninjas Kick Back (USA).cfg".
[INFO] [Environ]: GET_CORE_OPTIONS_VERSION.
[INFO] [Environ]: GET_LANGUAGE: "0".
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_INTL.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CONTENT_INFO_OVERRIDE.
[INFO] [CONTENT OVERRIDE]: File Extension: 'gen' - need_fullpath: FALSE, persistent_data: FALSE
[INFO] [CONTENT OVERRIDE]: File Extension: 'smd' - need_fullpath: FALSE, persistent_data: FALSE
[INFO] [CONTENT OVERRIDE]: File Extension: 'md' - need_fullpath: FALSE, persistent_data: FALSE
[INFO] [CONTENT OVERRIDE]: File Extension: '32x' - need_fullpath: FALSE, persistent_data: FALSE
[INFO] [CONTENT OVERRIDE]: File Extension: 'sms' - need_fullpath: FALSE, persistent_data: FALSE
[INFO] [CONTENT OVERRIDE]: File Extension: '68k' - need_fullpath: FALSE, persistent_data: FALSE
[INFO] [CONTENT OVERRIDE]: File Extension: 'sgd' - need_fullpath: FALSE, persistent_data: FALSE
[INFO] [Remaps]: Remap directory: "C:\RetroArch-Win64\config\remaps".
[INFO] [Overrides]: Redirecting save file to "C:\RetroArch-Win64\saves\3 Ninjas Kick Back (USA).srm".
[INFO] [Overrides]: Redirecting save state to "C:\RetroArch-Win64\states\3 Ninjas Kick Back (USA).state".
[INFO] [Environ]: PERFORMANCE_LEVEL: 0.
[INFO] [Environ]: GET_LOG_INTERFACE.
[INFO] [Environ]: SET_DISK_CONTROL_INTERFACE.
[INFO] [Environ]: GET_DISK_CONTROL_INTERFACE_VERSION.
[INFO] [Environ]: SET_DISK_CONTROL_EXT_INTERFACE.
[INFO] [Environ]: GET_VARIABLE picodrive_sound_rate:
	44100
[INFO] [Environ]: GET_VARIABLE picodrive_input1:
	3 button pad
[INFO] [Environ]: GET_VARIABLE picodrive_input2:
	3 button pad
[INFO] [Environ]: GET_VARIABLE picodrive_sprlim:
	disabled
[INFO] [Environ]: GET_VARIABLE picodrive_ramcart:
	disabled
[INFO] [Environ]: GET_VARIABLE picodrive_region:
	Auto
[INFO] [Environ]: GET_VARIABLE picodrive_aspect:
	PAR
[INFO] [Environ]: GET_VARIABLE picodrive_overscan:
	disabled
[INFO] [Environ]: GET_VARIABLE picodrive_overclk68k:
	disabled
[INFO] [Environ]: GET_VARIABLE picodrive_drc:
	disabled
[INFO] [Environ]: GET_VARIABLE picodrive_audio_filter:
	disabled
[INFO] [Environ]: GET_VARIABLE picodrive_lowpass_range:
	60
[INFO] [Environ]: GET_VARIABLE picodrive_frameskip:
	disabled
[INFO] [Environ]: GET_VARIABLE picodrive_frameskip_threshold:
	33
[INFO] [Environ]: GET_VARIABLE picodrive_renderer:
	accurate
[INFO] [Environ]: GET_VARIABLE picodrive_sound_rate:
	44100
[INFO] [CONTENT LOAD]: Core requires uncompressed content - extracting archive to temporary directory.
[INFO] [CONTENT LOAD]: Content successfully extracted to: C:\Users\Arcade\AppData\Local\Temp\3 Ninjas Kick Back (USA) (Track 01).bin
[INFO] [CONTENT LOAD]: Content loading skipped. Implementation will load it on its own.
[INFO] [Environ]: RETRO_ENVIRONMENT_GET_GAME_INFO_EXT.
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] [Environ]: SYSTEM_DIRECTORY: "C:\RetroArch-Win64\system".
[libretro INFO] detected BIN Sega/Mega CD image with USA region
[INFO] [Environ]: SYSTEM_DIRECTORY: "C:\RetroArch-Win64\system".
[INFO] [Environ]: SYSTEM_DIRECTORY: "C:\RetroArch-Win64\system".
[INFO] [Environ]: SYSTEM_DIRECTORY: "C:\RetroArch-Win64\system".
[INFO] [Environ]: SYSTEM_DIRECTORY: "C:\RetroArch-Win64\system".
[INFO] [Environ]: SYSTEM_DIRECTORY: "C:\RetroArch-Win64\system".
[INFO] [Environ]: SYSTEM_DIRECTORY: "C:\RetroArch-Win64\system".
[INFO] [Environ]: SYSTEM_DIRECTORY: "C:\RetroArch-Win64\system".
[libretro INFO] using bios: C:\RetroArch-Win64\system\bios_CD_U.bin
[libretro WARN] warning: wanted to map @02000000, got 00000000070a0000
[libretro INFO] 00000:000: Track  1: 00:02:00     33443 DATA  C:\Users\Arcade\AppData\Local\Temp\3 Ninjas Kick Back (USA) (Track 01).bin
[libretro INFO] 00000:000: End CD -  07:27:68

[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] 	RetroPad, Port 1, Button "B (bottom)" => "B"
[INFO] 	RetroPad, Port 1, Button "Y (left)" => "A"
[INFO] 	RetroPad, Port 1, Button "Select" => "Mode"
[INFO] 	RetroPad, Port 1, Button "Start" => "Start"
[INFO] 	RetroPad, Port 1, Button "D-Pad Up" => "D-Pad Up"
[INFO] 	RetroPad, Port 1, Button "D-Pad Down" => "D-Pad Down"
[INFO] 	RetroPad, Port 1, Button "D-Pad Left" => "D-Pad Left"
[INFO] 	RetroPad, Port 1, Button "D-Pad Right" => "D-Pad Right"
[INFO] 	RetroPad, Port 1, Button "A (right)" => "C"
[INFO] 	RetroPad, Port 1, Button "X (up)" => "Y"
[INFO] 	RetroPad, Port 1, Button "L" => "X"
[INFO] 	RetroPad, Port 1, Button "R" => "Z"
[INFO] 	RetroPad, Port 2, Button "B (bottom)" => "B"
[INFO] 	RetroPad, Port 2, Button "Y (left)" => "A"
[INFO] 	RetroPad, Port 2, Button "Select" => "Mode"
[INFO] 	RetroPad, Port 2, Button "Start" => "Start"
[INFO] 	RetroPad, Port 2, Button "D-Pad Up" => "D-Pad Up"
[INFO] 	RetroPad, Port 2, Button "D-Pad Down" => "D-Pad Down"
[INFO] 	RetroPad, Port 2, Button "D-Pad Left" => "D-Pad Left"
[INFO] 	RetroPad, Port 2, Button "D-Pad Right" => "D-Pad Right"
[INFO] 	RetroPad, Port 2, Button "A (right)" => "C"
[INFO] 	RetroPad, Port 2, Button "X (up)" => "Y"
[INFO] 	RetroPad, Port 2, Button "L" => "X"
[INFO] 	RetroPad, Port 2, Button "R" => "Z"
[INFO] [Environ]: SET_MEMORY_MAPS.
[INFO]    ndx flags  ptr              offset   start    select   disconn  len      addrspace
[INFO]    001 M1A1bc 00007ff84a2e9800 00000000 00FF0000 FFFF0000 00000000 00010000 68KRAM
[INFO]    002 M1A1bc 00000000070c0000 00000000 80020000 FFF80000 00000000 00080000 PRGRAM
[INFO] [Environ]: SET_AUDIO_BUFFER_STATUS_CALLBACK.
[INFO] [SRAM]: Skipping SRAM load.
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 44100.00 Hz.
[INFO] [Video]: Video @ 960x720
[INFO] [GL]: Found GL context: wgl
[INFO] [GL]: Detecting screen resolution 1920x1080.
[INFO] [WGL] extensions: WGL_ARB_buffer_region WGL_ARB_create_context WGL_ARB_create_context_no_error WGL_ARB_create_context_profile WGL_ARB_create_context_robustness WGL_ARB_context_flush_control WGL_ARB_extensions_string WGL_ARB_make_current_read WGL_ARB_multi[INFO] [WGL]: Adaptive VSync supported.
[INFO] [GL]: Vendor: NVIDIA Corporation, Renderer: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2.
[INFO] [GL]: Version: 4.6.0 NVIDIA 496.13.
[INFO] [GL]: Using resolution 960x720
[INFO] [GL]: Default shader backend found: glsl.
[INFO] [Shader driver]: Using GLSL shader backend.
[INFO] [GLSL]: Checking GLSL shader support ...
[WARN] [GL]: Stock GLSL shaders will be used.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GL]: Using 4 textures.
[INFO] [GL]: Loaded 1 program(s).
[INFO] [GL]: Using GL_RGB565 for texture uploads.
[WARN] [DINPUT]: Strong rumble unavailable.
[WARN] [DINPUT]: Weak rumble unavailable.
[WARN] [DINPUT]: Strong rumble unavailable.
[WARN] [DINPUT]: Weak rumble unavailable.
[INFO] [Joypad]: Found joypad driver: "dinput".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Video]: Found display server: win32
[INFO] [XAudio2]: Requesting 64 ms latency, using 64 ms latency.
[INFO] [Display]: Found display driver: "gl".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Playlist]: Loading history file: [C:\RetroArch-Win64\content_history.lpl].
[INFO] [Playlist]: Loading history file: [C:\RetroArch-Win64\content_music_history.lpl].
[INFO] [Playlist]: Loading history file: [C:\RetroArch-Win64\content_video_history.lpl].
[INFO] [Playlist]: Loading history file: [C:\RetroArch-Win64\content_image_history.lpl].
[INFO] [Playlist]: Loading favorites file: [C:\RetroArch-Win64\content_favorites.lpl].
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_MINIMUM_AUDIO_LATENCY.
[INFO] [Environ]: SET_GEOMETRY: 320x224, aspect: 1.429.

Any help would be appreciated,

Thanks!

This is apparently a known core bug that’s been revealed by an update to our build toolchain. I don’t have an ETA on a fix people are aware of it, at least.

1 Like

Thanks for the info @hunterk

The bug was traced to linker flags: https://github.com/libretro/picodrive/issues/184

Several other cores have similar issues on 64-bit Windows right now, like PX68k, Neko Project II, and NP2Kai (https://www.reddit.com/r/RetroArch/comments/qfae1y/latest_neko_project_ii_kai_cores_for_nec_pc98/). Before it’s fixed, you can use core files from RetroArch 1.9.11 release, which should still work: https://buildbot.libretro.com/stable/1.9.11/windows/x86_64/RetroArch_cores.7z

Just use “Information > Core Information > Lock Installed Core” to block their updates temporarily (use “Load Core” first).

1 Like

hey guys. i’ve found a work around until they can fix this. load the core and then load one of the bios’s you need if uk or us. (i’ve created a bios folder in my sega folder and put all my bois’s in there) once the bois starts, bring up the quick menu and scroll to disc control. select eject disc and then load new disc. select the game you want to play and press insert disc bring the menu back up and select restart. your game will now start when you press the start button.

Hope this helps

Latest core update for 64-bit Windows has fixed PicoDrive crashing RetroArch with Sega CD games. However, PX68k, Neko Project II, and NP2Kai cores still crash on 64-bit Windows.

1 Like