User Tools

Site Tools


wswan:index

wswan (WonderSwan/WonderWitch)

The wswan target provides support for targetting the Bandai WonderSwan console. In addition, experimental support is provided for targetting the WonderWitch OS via the wwitch target.

Currently supported languages include:

  • assembly - via binutils-ia16's GNU assembler, using Intel-style opcodes and syntax;
  • C - via gcc-ia16, supporting up to the C11 standard with GNU extensions.

Packages

  • target-wswan - basic support metapackage

Documentation

Tutorial

This is very incomplete and only covers the absolute basics.

Library documentation

  • libws - low-level hardware definitions and functions
  • libwsx - high-level utilities
  • libww - WonderWitch API wrapper, for the wwitch subtarget

Guides

Toolchain documentation

Internal documentation

Subtargets

The wswan target features multiple subtargets:

  • wswan/medium - create a ROM with multiple code segments, the default, stack and static data stored in IRAM;
  • wswan/small - create a ROM with one code segment, slightly faster code but 64KB maximum code limit, stack and static data stored in IRAM;
  • wswan/medium-sram (experimental) - create a ROM with multiple code segments, stack stored in IRAM, static data stored in SRAM;
  • wswan/small-sram (experimental) - create a ROM with one code segment, stack stored in IRAM, static data stored in SRAM;
  • wswan/bootfriend - special subtarget for creating BootFriend executables which execute from RAM.

In addition, there exists an experimental subtarget wwitch for targeting the Freya abstraction layer used by the WonderWitch platform.

wswan/index.txt · Last modified: by asie