Both sides previous revisionPrevious revisionNext revision | Previous revision |
wswan:index [2024/06/05 20:47] – [Packages] asie | wswan:index [2025/06/17 19:31] (current) – [Guides] asie |
---|
| |
* [[wswan:platform_overview|Platform overview]] | * [[wswan:platform_overview|Platform overview]] |
* [[wswan:bugs|Known bugs]] | * [[wswan:bugs|Known issues]] |
| |
===== Installation ===== | ===== Packages ===== |
| |
$ wf-pacman -Sy target-wswan | |
| |
==== Packages ==== | |
| |
* ''target-wswan'' - basic support metapackage | * ''target-wswan'' - basic support metapackage |
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. |
| |
* [[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:optimization_v30mz|Optimizing for the NEC V30MZ CPU]] |
| * [[wswan:guide:wfconfig|Project configuration]] - configuring the ROM header and others |
* [[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_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 ===== | ===== 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) |
| * [[https://wonderful.asie.pl/doc/gcc-ia16/gcc-6.3.0/cpp/|gcc-ia16 cpp 6.3.0]] - C preprocessor |
| |
===== Other sources ===== | ===== Other sources ===== |