/StoicGoose

Bandai WonderSwan and WonderSwan Color emulator written in C#

Primary LanguageC#MIT LicenseMIT

StoicGoose

Ze Goose

GitHub release (latest by date) GitHub Workflow Status GitHub

StoicGoose is a work-in-progress Bandai WonderSwan and WonderSwan Color emulator. It is written in C# via Visual Studio Community 2022 under Windows 10 Pro 21H2, and uses .NET 6.0 along with the following NuGet packages:

Versions

Two flavors of StoicGoose are available:

  • StoicGoose is the Windows Forms-based interface, meant for playing games. This build supports shaders, XInput controllers, etc.
  • StoicGoose.GLWindow is the Dear ImGui-based interface, meant solely for debugging and disassembling games.

Requirements

  • .NET 6.0 Desktop Runtime
  • A GPU supporting OpenGL 4.0 (ex. Nvidia GeForce 400 series or later, Radeon HD 5000 series or later, Intel Ivy Bridge iGPUs or later) and appropriate drivers
  • Optionally, copies of the WonderSwan and WonderSwan Color bootstrap ROMs (supported but not required); correct MD5 hashes are as follows
    • 54b915694731cc22e07d3fb8a00ee2db (WonderSwan)
    • 880893bd5a7d53fff826bd76a83d566e (WonderSwan Color)
    • d3eff34719a363e586e12b700501ed91 (SwanCrystal)

Building

Windows

Linux

  • This has only been tested through Ubuntu 20.04.3 LTS via Windows Subsystem for Linux (WSL) so far, not yet on a standalone Linux installation.
  • Please check Microsoft's instructions for installing .NET on Linux and ensure your distribution is supported.
  • The Windows Forms-based interface will not work on Linux, only the Dear ImGui-based debugger.

To clone the StoicGoose repository:

$ git clone https://github.com/xdanieldzd/StoicGoose.git

To create and run a Debug build:

$ cd StoicGoose/StoicGoose.GLWindow/
$ dotnet build
$ dotnet bin/Debug/net6.0/StoicGoose.GLWindow.dll

To create and run a Release build:

$ cd StoicGoose/StoicGoose.GLWindow/
$ dotnet build -c Release
$ dotnet bin/Release/net6.0/StoicGoose.GLWindow.dll

Screenshots

WonderSwan and WonderSwan Color Bootstraps, using Dot-Matrix and Dot-Matrix Color shaders:

Screenshot Bootstraps 1Screenshot Bootstraps 2Screenshot Bootstraps 3Screenshot Bootstraps 4

Various WonderSwan games, using Dot-Matrix shader:

Screenshot WS Games 1Screenshot WS Games 2Screenshot WS Games 3Screenshot WS Games 4

Various WonderSwan Color games, using Dot-Matrix Color shader:

Screenshot WSC Games 1Screenshot WSC Games 2Screenshot WSC Games 3Screenshot WSC Games 4

Debugger UI showing various tool windows:

Screenshot Debugger

Acknowledgements & Attribution

  • The XML data files in StoicGoose.WinForms\Assets\No-Intro were created by the No-Intro project; see the DAT-o-MATIC website for official downloads.
  • The TTF file JF-Dot-K14-2004.ttf in StoicGoose.GLWindow\Assets contains the font "K14-2004" by Hiroshi Tachibana and Toshiyuki Imamura, used as public domain, available as part of the 自家製ドットフォントシリーズ from 自家製フォント工房.
  • The file WS-Icon.ico in StoicGoose.WinForms is derived from "WonderSwan-Black-Left.jpg" on Wikipedia, in revision from 25 May 2014 by Evan-Amos, used as public domain.
  • My personal thanks and gratitude to the late Near, who has always been encouraging and inspiring on my amateur emulator developer journey. They are sorely missed.