Skip to content

PicoDrive - RetroBIOS

Type libretro
Classification Official ports
Source https://github.com/libretro/picodrive
Upstream https://github.com/irixxxx/picodrive
Version 1.99
Profiled 2026-03-24
Cores picodrive
Systems sega-megadrive, sega-genesis, sega-megacd, sega-segacd, sega-32x, sega-mastersystem, sega-gamegear, sega-sg1000, sega-sc3000, sega-pico
Platform details

megacd: - bios_size: 131072 - hle_available: False - region_specific: True - extensions_tried: ['.bin', '.zip'] - source_ref: pico/pico_int.h:559, platform/libretro/libretro.c:1309-1317 32x: - m68k_bios_size: 256 - master_sh2_bios_size: 2048 - slave_sh2_bios_size: 1024 - hle_available: True - source_ref: pico/pico.h:54-55, pico/pico_int.h:679-693 sms: - hle_available: True - note: No BIOS file loaded. VDP/RAM initialized to post-BIOS state. - source_ref: pico/sms.c:1080-1097

Technical notes

PicoDrive is a fast Mega Drive / Genesis emulator with Mega CD, 32X, Master System, Game Gear, SG-1000, SC-3000 and Sega Pico support. The libretro port is part of the PicoDrive source tree (platform/libretro/).

Mega CD / Sega CD games require a region-matching BIOS file. The core searches the system directory for each name in order, trying .bin then .zip extension, and uses the first file found. If no BIOS is found, CD games fail to load with PM_BAD_CD_NO_BIOS. MSU-MD games can run without BIOS.

BIOS filename search order (platform/libretro/libretro.c:1264-1328): US: us_scd2_9306, SegaCDBIOS9303, us_scd1_9210, bios_CD_U EU: eu_mcd2_9306, eu_mcd2_9303, eu_mcd1_9210, bios_CD_E JP: jp_mcd2_921222, jp_mcd1_9112, jp_mcd1_9111, bios_CD_J

32X BIOS files (m68k, master SH2, slave SH2) are fully optional. The engine has built-in HLE that generates replacement code at startup when the BIOS pointers are NULL (pico/32x/memory.c:2200 get_bios(), pico/32x/32x.c:172). No current frontend (libretro or standalone) loads these files; the standalone loading code is disabled (#if 0 in platform/common/emu.c:1529).

carthw.cfg is a cartridge hardware database loaded from the system directory. A built-in version is compiled into the core (pico/carthw_cfg.c). The external file supplements or overrides game-specific hardware detection (SVP, EEPROM types, special mappers, copy protection).

Master System, Game Gear, SG-1000, SC-3000: no BIOS file loaded. The core initializes VDP registers and RAM to simulate post-BIOS state (pico/sms.c:1080-1097).

16 files | 3 required, 13 optional | 16 in repo, 0 missing | 3 with HLE fallback

carthw.cfg optional in repo

us_scd2_9306.bin required in repo north-america

SegaCDBIOS9303.bin optional in repo north-america

us_scd1_9210.bin optional in repo north-america

bios_CD_U.bin optional in repo north-america

eu_mcd2_9306.bin required in repo europe

eu_mcd2_9303.bin optional in repo europe

eu_mcd1_9210.bin optional in repo europe

bios_CD_E.bin optional in repo europe

jp_mcd2_921222.bin required in repo japan

jp_mcd1_9112.bin optional in repo japan

jp_mcd1_9111.bin optional in repo japan

bios_CD_J.bin optional in repo japan

32X_G_BIOS.BIN optional in repo HLE fallback

32X_M_BIOS.BIN optional in repo HLE fallback

32X_S_BIOS.BIN optional in repo HLE fallback

Generated on 2026-09-14T09:03:10Z