OpenXeChain is a libre/open-source toolchain project to enable the development of Xbox 360 homebrew software without the use of the leaked, proprietary official SDK.
The main components are a modified LLVM for the compiler, modified Newlib for the C standard library, and a specialised piece of software I wrote called SynthXEX, which has the job of modifying the compiler-generated PE format file and packing it into the XEX container. The project is also composed of a build script and a stub library to interact with the kernel, XAM (Xbox Application Manager), and the hypervisor.
It is developed collaboratively by myself and the rest of the OpenXeChain team, with me primarily handling the software surrounding the compiler (though I do work on the compiler itself as well from time to time).
Much of the work in the early stages of the project was reverse engineering various aspects of the executable format and how to interface with the system, along with scraping together information about these scattered across the internet. Now that the toolchain is somewhat functional, the project now focuses more on fixing known issues (such as a lack of 64-bit support).
I am currently working (alone) on a port of AsteroidOS, which is a libre/open-source operating system designed to run on smart watches, to the Samsung Galaxy Watch FE non-LTE model (R861). It will also likely run on the LTE model (R866), along with both versions of the Galaxy Watch 4 (R860, R865), due to these models sharing very similar hardware.
So far, this has involved slightly modifying the watch's hardware to enable USB communication and attaching a USB cable, building a custom KernelSU kernel with 64-bit kernel 32-bit userland support in order to root the watch, and then using that root access over ADB to clone the flash.
The work on this port is currently not public.
FreeChainXenon was a libre/open-source toolchain project to enable the development of Xbox 360 homebrew software without the use of the leaked, proprietary official SDK.
The main components were a modified GCC/binutils for the compiler, a pure PowerPC assembly integrated ELF loader, and SynthXEX. It also consisted of a custom linker script to combine the ELF loader with the executable to be loaded, along with a build script.
It was developed as a one-man project, and parts of it were later merged into the OpenXeChain project, which supersedes it.
Most of the time spent on this project was gathering information on and reverse engineering the executable file format and the Xbox 360's ABI to develop SynthXEX and modify GCC.