User Tools

Site Tools


wswan:tutorial:development_environment

Differences

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

Link to this comparison view

Next revision
Previous revision
wswan:tutorial:development_environment [2024/02/17 13:45] – created asiewswan:tutorial:development_environment [2025/07/12 06:15] (current) asie
Line 21: Line 21:
 ===== Configuring an IDE ===== ===== Configuring an IDE =====
  
-The Wonderful toolchain currently recommends using [[https://vscodium.com/|VSCodium]] (or another fork of VSCode) with the [[https://clangd.llvm.org/installation.html|clangd plugin]] installed. +Typically, Wonderful code is written using [[https://vscodium.com/|VSCodium]] (or another fork of VSCode) with the [[https://clangd.llvm.org/installation.html|clangd plugin]] installed.
- +
-<WRAP round info> +
-Other IDEs and editors with clangd support, such as Sublime Text and vim, should also have full compatibility. In addition, the proprietary Visual Studio Code with Microsoft's own C/C++ extensions is partially supported. +
-</WRAP>+
  
 To install the clangd plugin in VSCodium: To install the clangd plugin in VSCodium:
Line 33: Line 29:
   - Select the project extension named "clangd" provided by "llvm-vs-code-extensions".   - Select the project extension named "clangd" provided by "llvm-vs-code-extensions".
   - Press the "Install" button and follow any further instructions displayed by the IDE.   - Press the "Install" button and follow any further instructions displayed by the IDE.
 +
 +Other IDEs and editors with clangd support, such as Sublime Text and vim, should also have full compatibility. In addition, the following IDEs have been tested and should at least partially work:
 +
 +  * Visual Studio Code, using Microsoft's own C extension with IntelliSense,
 +  * CLion, using JetBrains's own C engine.
  
 ===== Installing an emulator ===== ===== Installing an emulator =====
  
-Unfortunately, the WonderSwan does not currently have a fully hardware-accurate emulator, and so verification of finished homebrew on hardware is still essentialRegardless, they are sufficient for development - there are two options available:+The best emulator for doing WonderSwan development is [[https://github.com/SourMesen/Mesen2/|Mesen 2]]. It provides a fully-featured low-level debugger and high (if not perfect) emulation accuracy. 
 + 
 +{{ :wswan:tutorial:mesen2.png?direct&600 |}} 
 + 
 +Other options include:
  
-* [[https://ares-emu.net/|Ares]] - medium-high accuracy, but does not provide a debugger ((As of recently, Ares supports debugging via a GDB stub, but gdb itself doesn't play well with 16-bit 8086 concepts.)). +  * [[https://ares-emu.net/|Ares]] - high accuracy, but does not provide a debugger ((As of recently, Ares supports debugging via a GDB stub, but gdb itself doesn't play well with 16-bit 8086 concepts.)). 
-* [[https://github.com/WonderfulToolchain/wf-mednafen/releases|wf-mednafen]] - medium accuracy, but *does* provide [a debugger](https://mednafen.github.io/documentation/debugger.html); a fork of [Mednafen](https://mednafen.github.io/).+  * [[https://github.com/WonderfulToolchain/wf-mednafen/releases|wf-mednafen]] - medium accuracy, but *does* provide [[https://mednafen.github.io/documentation/debugger.html|a debugger]]; a fork of [[https://mednafen.github.io/|Mednafen]].
  
 ===== Testing on physical hardware ===== ===== Testing on physical hardware =====
Line 47: Line 52:
 ==== Flash cartridges ==== ==== Flash cartridges ====
  
-A flash cartridge allows the user to load their own code and run it on physical hardware. There aren't very many options available currently; it is my understanding that this should improve in the medium-to-long term.+A flash cartridge allows the user to load their own code and run it on physical hardware. There aren't very many options available currently; it is my understanding that this should improve in the medium term.
  
 === WS Flash Masta === === WS Flash Masta ===
  
-The [WS Flash Masta](https://www.flashmasta.com/product/ws-flash-masta-usb-cartridge-for-wonderswan/is a flash cartridge created by Flavor, providing fifteen slots of 64 megabits (8 megabytes) each for flashing your own code, as well as 512 kilobytes of save RAM.+The [[https://www.flashmasta.com/product/ws-flash-masta-usb-cartridge-for-wonderswan/|WS Flash Masta]] is a flash cartridge created by Flavor, providing fifteen slots of 64 megabits (8 megabytes) each for flashing your own code, as well as 512 kilobytes of save RAM.
  
 Available for $120-$130 new when in stock, which is not very often. Available for $120-$130 new when in stock, which is not very often.
Line 57: Line 62:
 === InsideGadgets flash cartridge === === InsideGadgets flash cartridge ===
  
-InsideGadgets sells [[https://shop.insidegadgets.com/product/wonderswan-4mb-8mb-32kb-fram-flash-cart/|a compatible flash cartridge]]. These provide 64 megabits (8 megabytes) for code, 32 KB of save RAM ((A future revision may provide 128 KB of save RAM)) .+InsideGadgets sells [[https://shop.insidegadgets.com/product/wonderswan-4mb-8mb-32kb-fram-flash-cart/|a compatible flash cartridge]]. These provide 64 megabits (8 megabytes) for code, 32 KB of save RAM ((A future revision may provide 128 KB of save RAM.)) .
  
 Available for $54 new when in stock, though a new customer has to spend an additional $10 for the edge adapter and $30 for the USB flasher device, for a total of $94. If you happen to also be interested in GB/GBC/GBA homebrew, said flasher might be a good investment. Available for $54 new when in stock, though a new customer has to spend an additional $10 for the edge adapter and $30 for the USB flasher device, for a total of $94. If you happen to also be interested in GB/GBC/GBA homebrew, said flasher might be a good investment.
Line 79: Line 84:
 The MobileWonderGate web browser supports downloading and launching small homebrew binaries with the `application/wondergate` MIME type. The MobileWonderGate web browser supports downloading and launching small homebrew binaries with the `application/wondergate` MIME type.
  
-This option is more limited than the WonderWitch, with a small binary size limit - and you still need a serial port adapter. WonderGate cartridges can be found inexpensively at times, but [[recent developments|https://blog.asie.pl/2023/08/browsing-the-web-wonderswan-2023/]] have increased collector interest in them.+This option is more limited than the WonderWitch, with a small binary size limit - and you still need a serial port adapter. WonderGate cartridges can be found inexpensively at times, but [[https://blog.asie.pl/2023/08/browsing-the-web-wonderswan-2023/|recent developments]] have increased collector interest in them.
  
 === Second-hand/legacy options === === Second-hand/legacy options ===
wswan/tutorial/development_environment.1708177546.txt.gz · Last modified: by asie