June 17, 2025
So I was able to finish my drawing and also create the Glass Bridge for my LCD. Unfortunately the glass bridge will have to be large. I was also able to create padded indents in my top case to accommodate the MX Switches. I still need to test everything in an assembly. I also created indents for the Knobs.
I added MX Switches to Creative Pad PCB Assembly so that I could turn it into a simplified drawing. I was able to put my simplified drawing in OnShape's part studio. Then I added some padding to the switches because without it, even a slight misalignment would prevent it from going in the case.
Unfortunatly, KiCad Wakatime hasn't tracked all the time on my PCB in KiCad. Anyway, here is a picture on what Ive worked on.
A simple Macropad with an OLED and knobs.
A simple guide I'm working on to help beginners to learn about how to make a fully fledged operating system.
I tried to optimize my kernel but every way I tried, I hit a dead end. At first, I was mapping every part of the ram, which caused my kernel to be unusable with any ram under 8G. Anyway, I was able to create a simple initrd cpio reader which can read the initrd from by uefi bootloader.
Turns out VirtualBox doesn't support PCIe, but PCI works. After a long time, I have finally ported my kernel to Higher Half. Mot of the addresses start at 0xFFFFFFFF00000000 and 0xFFFFFFFF80000000. This is to make the kernel more secure and to have full support for 32-bit apps.
I finally got the IDT working. Turns out you must separate the assembly sections to prevent the ISR's (Exception code) from running. I can now get exceptions for doing 1 / 0 and stuff like that. Although, writing to the kernel .text seems to not cause an exception. If you want a build, just ask me in Slack.
This was widely regarded as a great move by everyone.