wswan:index
Table of Contents
wswan
The wswan target provides support for targetting the Bandai WonderSwan console. In addition, experimental support is provided for targetting the WonderWitch environment via the wwitch target.
Currently supported languages include:
- C - via gcc-ia16, supporting up to the C11 standard with GNU extensions,
- assembly - via binutils-ia16's GNU assembler.
Packages
target-wswan- basic support metapackage
Additional documentation
Library references
Toolchain documentation
-
- gcc-ia16 6.3.0 - C compiler
- IA-16 Machine Constraints (inline assembly)
- gcc-ia16 cpp 6.3.0 - C preprocessor
Various notes
- Memory management - working with banks and segmentation, controlling memory locations
- Project configuration - configuring the ROM header and others
Design notes
Subtargets
The wswan target features multiple subtargets:
wswan/medium(default) - 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.
Additional links
- WSdev Wiki - hardware documentation
- awesome-wsdev - link hub for WonderSwan-related homebrew projects
wswan/index.txt · Last modified: by asie
