Both sides previous revisionPrevious revisionNext revision | Previous revision |
wswan:index [2024/02/17 13:25] – [Guides] asie | wswan:index [2024/10/17 19:36] (current) – [Subtargets] asie |
---|
| |
* [[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 ===== |
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 an experimental [[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 ===== |
* [[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: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_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:wfconfig|wfconfig.toml]] - configuring the ROM header |
| |
| |
| * [[wswan:guide:elf_quirks|ELF quirks]] |
| |
===== Other documentation ===== | ===== Other documentation ===== |
* [[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-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/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 ===== | ===== Other sources ===== |