Chris Williams's Projects
Byte and word access to memory
An animated illustration of nuclear fission chain reactions with uranium-235, written in JavaScript using P5JS
Decode and read info from a San Francisco Bay Area Clipper card using a Flipper Zero
Easy-to-understand, educational OS for running curiosities on Allwinner D1-H-based RISC-V systems, such as the MangoPi MQ Pro
Read and write device tree blob (DTB) data
The special README file for my GitHub profile
This repo hosts my personal diodesign.org website
A lightweight, secure, multiprocessor bare-metal hypervisor written in Rust for RISC-V
First attempt at a microkernel for ia32 and ARM computers. Mostly works but painted itself a corner by being 32-bit only
Parser and generator for the Diosix Manifest File System, which contains assets to load from firmware during startup
User documentation for Knative components
Generic user interface for the Diosix hypervisor
A minimal 64-bit RISC-V (RV64I) ELF linker
Assemble code and package up binary objects for Diosix components
Create a DMFS image from available executable files
Read and write a memory-mapped 16550 UART
Use a memory-mapped Host Target Interface (HTIF) to access underlying system
Read and write a memory-mapped SiFive system-on-chip UART
Diosix platform-specific code for RISC-V systems
Calculate hole cards opponent(s) need to beat you in a given Texas Hold 'em hand
Print to Qemu's RISC-V virt serial port
Documentation for the RISC-V Supervisor Binary Interface
3D Space Invaders game in Rust
Simple RISC-V (RV32I) soft CPU implementation using nMigen and Verilog
A no_std mutex and SIX rwlock implementation based on spinlocks and lock_api
Low-level stack and thread management
Provide supervisor-level environment for Diosix system service applications
Vulture Processing Unit: A simple vector-math accelerator for neural networks, written in Verilog using nMigen
elf parser and navigation tool, pure Rust