Skip to content

# Beetle WonderSwan (Mednafen WonderSwan) - RetroBIOS

Type | libretro
Classification | pure_libretro
Source | https://github.com/libretro/beetle-wswan-libretro
Upstream | https://mednafen.github.io/
Version | v0.9.35.1
Profiled | 2026-03-24
Cores | beetle_wswan
Systems | bandai-wswan, bandai-wswanc

Technical notes

Beetle WonderSwan is a fork of Mednafen's Cygne module for WonderSwan and WonderSwan Color emulation via libretro.

No external BIOS or firmware files are required. The core bypasses the original boot ROM entirely by hardcoding the initial I/O register state in mednafen/wswan/start.inc (a 256-byte table of power-on defaults for all hardware registers 0x00-0xFF). On reset, WSwan_MemoryReset() in wswan-memory.c zeroes RAM and writes a fixed 8-byte identifier at 0x75AC, then the CPU starts executing the cartridge directly.

Internal EEPROM owner data (name, birthday, sex, blood type) is configured through core options (wswan.name, wswan.byear, wswan.bmonth, wswan.bday, wswan.sex, wswan.blood) and initialized at boot by WSwan_EEPROMInit() without needing a real EEPROM dump.

The wswan.language core option selects English or Japanese, which is returned via I/O port 0xC8+ as the hardware language flag. This replaces the boot ROM's language selection screen.

The NEC V30MZ CPU is emulated in software (v30mz.c). Sound DMA, cartridge banking, and RTC are all handled internally.

ROM extensions: .ws, .wsc, .pc2

No BIOS or firmware files required. Generated on 2026-03-25T14:56:43Z