Skip to content

Beetle WonderSwan (Mednafen WonderSwan)

Beetle WonderSwan (Mednafen WonderSwan) emulates Bandai WonderSwan and Bandai WonderSwan Color.

About this profile
Detail Value
Type libretro
Classification Pure libretro
Source https://github.com/libretro/beetle-wswan-libretro
Upstream https://mednafen.github.io/
Version v0.9.35.1, stated in libretro.c
Revision libretro/beetle-wswan-libretro@4b01295838ea
Profiled 2026-03-24
Profile YAML, JSON
Cores beetle_wswan, mednafen_wswan, beetle-wswan
Systems Bandai WonderSwan, Bandai WonderSwan Color
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.

.