User Tools

Site Tools


wswan:index

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
wswan:index [2024/02/17 10:57] asiewswan:index [2024/10/17 19:36] (current) – [Subtargets] asie
Line 11: Line 11:
  
   * [[wswan:platform_overview|Platform overview]]   * [[wswan:platform_overview|Platform overview]]
-  * [[wswan:bugs|Known bugs]]+  * [[wswan:bugs|Known issues]] 
 + 
 +===== Packages ===== 
 + 
 +  * ''target-wswan'' - basic support metapackage
  
 ===== Subtargets ===== ===== Subtargets =====
Line 17: Line 21:
 The wswan target features multiple subtargets: The wswan target features multiple subtargets:
  
-  * ''wswan/medium'' - create a ROM with multiple code segments, the default; +  * ''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;+  * ''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 [[https://wonderful.asie.pl/ws/bootfriend/|BootFriend]] executables which execute from RAM.   * ''wswan/bootfriend'' - special subtarget for creating [[https://wonderful.asie.pl/ws/bootfriend/|BootFriend]] executables which execute from RAM.
  
-In addition, there exists [[wswan:wwitch|wwitch]] subtarget for targeting the Freya abstraction layer.+In addition, there exists an [[wswan:wwitch|experimental subtarget]] ''wwitch'' for targeting the Freya abstraction layer used by the WonderWitch platform.
  
 ===== Libraries ===== ===== Libraries =====
Line 28: Line 34:
   * [[https://wonderful.asie.pl/doc/libwsx/|libwsx]] - high-level utility library   * [[https://wonderful.asie.pl/doc/libwsx/|libwsx]] - high-level utility library
   * [[https://wonderful.asie.pl/doc/libww/|libww]] - WonderWitch API library   * [[https://wonderful.asie.pl/doc/libww/|libww]] - WonderWitch API library
 +  * [[https://wonderful.asie.pl/doc/libwwcl/|libwwcl]] - WonderWitch compatibility layer
  
 ===== Guides ===== ===== Guides =====
 +
 +  * These might become a tutorial one day (very work-in-progress):
 +    * [[wswan:tutorial:development_environment|Development environment]]
 +    * [[wswan:tutorial:hello_display|Hello, Display!]]
 +
 +
 +  * [[wswan:guide:porting_wwitch|Porting WonderWitch applications to standalone programs]] - the ''libwwcl'' WonderWitch compatibility layer
 +
  
   * [[wswan:guide:memory_management|Memory management]] - working with banks and segmentation, controlling memory locations   * [[wswan:guide:memory_management|Memory management]] - working with banks and segmentation, controlling memory locations
 +  * [[wswan:guide:optimization_v30mz|Optimizing for the NEC V30MZ CPU]]
 +  * [[wswan:guide:interrupt_handlers|Writing interrupt handlers]]
   * [[wswan:guide:c_assembly|Writing assembly]] - using the GNU assembler   * [[wswan:guide:c_assembly|Writing assembly]] - using the GNU assembler
     * [[wswan:guide:c_calling_convention|C calling convention]]     * [[wswan:guide:c_calling_convention|C calling convention]]
     * [[wswan:guide:c_inline_assembly|Writing inline C assembly]]     * [[wswan:guide:c_inline_assembly|Writing inline C assembly]]
 +  * [[wswan:guide:wfconfig|wfconfig.toml]] - configuring the ROM header
 +
 +
 +  * [[wswan:guide:elf_quirks|ELF quirks]]
 +
 +===== Other documentation =====
 +
 +  * [[https://wonderful.asie.pl/doc/binutils-ia16/|binutils-ia16]]
 +    * [[https://wonderful.asie.pl/doc/binutils-ia16/as.html|as Assembler]]
 +    * [[https://wonderful.asie.pl/doc/binutils-ia16/ld.html|ld Linker]]
 +  * [[https://wonderful.asie.pl/doc/gcc-ia16/gcc-6.3.0/gcc/|gcc-ia16 6.3.0]] - C compiler
 +    * [[https://wonderful.asie.pl/doc/gcc-ia16/gcc-6.3.0/gcc/IA_002d16-Options.html|IA-16 Options]]
 +    * [[https://wonderful.asie.pl/doc/gcc-ia16/gcc-6.3.0/gcc/Named-Address-Spaces.html#IA_002d16-Named-Address-Spaces-1|IA-16 Named Address Spaces]]
 +    * [[https://wonderful.asie.pl/doc/gcc-ia16/gcc-6.3.0/gcc/IA_002d16-Function-Attributes.html|IA-16 Function Attributes]]
 +    * [[https://wonderful.asie.pl/doc/gcc-ia16/gcc-6.3.0/gcc/IA_002d16-Built_002din-Functions.html|IA-16 Built-in Functions]]
 +    * [[https://wonderful.asie.pl/doc/gcc-ia16/gcc-6.3.0/gcc/Machine-Constraints.html|IA-16 Machine Constraints]] (inline assembly)
 +
 +===== Other sources =====
 +
 +  * [[https://ws.nesdev.org/wiki/Main_Page|WSdev Wiki]] - hardware documentation
 +  * [[https://github.com/WonderfulToolchain/awesome-wsdev|awesome-wsdev]] - link hub for WonderSwan-related homebrew projects
 +
wswan/index.1708167454.txt.gz · Last modified: 2024/02/17 10:57 by asie