My Work
Contents
Linux kernel
I am a contributor to the Linux kernel. I have:
- Added support for multiple components of the PM8226 PMIC used on Qualcomm’s MSM8226 processor such as the VADC (Voltage ADC) and the MPPs (Multi-Purpose Pins)
- Added support for the CCI (Camera Control Interface) on Qualcomm’s MSM8226 processor, which is an I²C bus used to control cameras
melonDS
melonDS is a fast and accurate open-source emulator for the Nintendo DS, which allows people to play their old DS games on computers. I am a member of the melonDS team, which works on adding new features, reviewing pull requests and resolving issues. I have:
- Ported it to macOS (both x86-64 and ARM64 architectures), including adding a workaround in assembly code for the Mach-O executable format used on macOS
- Made the interface for configuring input elegant and easier to use using the Qt framework:
Before After - Added battery level emulation utilising low-level bit manipulation in C to configure the registers
Underlying C code Interface
Mainline4Lumia
Mainline4Lumia aims to bring Linux to the Lumia series of phones, which originally ran the Windows Phone operating system. We have booted Linux on many Lumias, mainly ones which use Qualcomm’s MSM8226 processor. I have added support for:
- The accelerometer and magnetometer sensors (which detect the phone’s orientation through movement and the position of the phone relative to the Earth’s magnetic field respectively)
- The LEDs used for the torch and notification light (which for some reason went unused in the stock Windows Phone firmware)
