Skip to content
This repository has been archived by the owner on May 20, 2023. It is now read-only.

WonderfulToolchain/wonderful-i8086

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wonderful-i8086

Experimental C toolchain for the WonderSwan. Early development.

Known limitations

  • Read-only data (const arrays, etc.) will only end up in ROM if declared as __far.
    • To be more precise, by default, pointers are near pointers. In wonderful-i8086, this means they can only point to the console RAM. To point to SRAM or the console ROM, far pointers must be utilized.
  • The WonderWitch target has compilation issues on non-trivial code, due to the necessary logic to handle DS ≠ SS. This is unlikely to be resolved shortly.
    • tkchia: "Yes, unfortunately support for %ss ≠ .data code is still extremely hacky and involves some not-quite-reliable deep black magic. (GCC was never quite designed in the first place to work with non-flat address spaces. Plus, the libgcc library was definitely not written with a %ss ≠ .data environment in mind.)" (source)

Installation instructions

Check back later.

Licensing information

All source files have their licensing terms stated in the file itself. Crucially, for runtime components linked with a compiled binary, the licenses are as follows:

Core libraries

Additional libraries