Things I have worked on. I do not consider number of SLOC an indicator of quality so I do not specify them for every project. Most of my projects are between 200 and 2000 lines of code. My largest projects are about 4000 lines. I usually work in C.
- A medium-to-low quality driver for BCM57xx network cards.
- A new filesystem hjfs
- The shr global mountpoint facility (together with cinap_lenrek)
- A gameboy emulator games/gb
- A userspace ARM emulator 5e
- A VGA driver for the AMD Geode
- A lot of toys and small utilities:
bullshit (a program to generate enterprise product names, web interface), fplot (a function plotter), scram (APM and ACPI shutdown), elliptic curve cryptography code to libsec, ...
I have written a few emulators of differing quality:
- A well working Gameboy emulator (games/gb), it runs games like Tetris, Zelda or Pokemon without known problems
- A well working ARM emulator (5e)
- A somewhat working NES emulator
I have written a few rudimentary kernels. Although none of which provide a usable system, they usually have working multitasking and memory management.
- The most advanced one was written in assembly, runs in real mode and tries to mimick Unix, although it uses FAT12 as a file system. Basic commands like ls or cat work. I gave up on it because of poor consistency and maintainability of the existing code (this is my first and only assembly project of significant size).
- An attempt to write an operating system in Go (called gofy) failed because of the rapid pace of development of the Go language (Before anyone asks: I have no intent to resume this project, even with the release of Go 1).
- An earlier attempt to write an operating system in C had relatively sophisticated process and IPC facilities but failed it didn't have a filesystem.