Please sign in to access this page

Stats

2
Projects
9
Devlogs
1
Votes
0
Ships

Coding Time

All Time: 156h 44m
Today: 0h 0m

Member Since

June 16, 2025

Projects

2
🚀
🚀
9 devlogs • 10 months ago

Activity

Segfault
Segfault created a project
196d ago

A custom programming language and compiler in Rust

A custom programming language and compiler in Rust, written from scratch without LLVM. It compiles directly to Assembly.

0 devlogs 0 followers

IDT and ISRs done! There isn't really a good way to show this, so here's some more of my code again.

Update attachment

I got the GDT working! There were struct fields that were mixed up, causing a GPF, then a double fault, then a triple fault, causing the OS to reset. Fixed now though!

Update attachment
Segfault
Segfault worked on Nim OSDev
1h 32m • 10 months ago

I got the memory to work! PMM, VMM, and the higher half! Now for the GDT...

Update attachment
Segfault
Segfault worked on Nim OSDev
3h 23m • 10 months ago

I've been working on virtual memory management, and in theory, it should work. Spoiler: it doesn't. According to Hackatime, three hours twenty minutes. And I have no idea why it doesn't work. On the plus side, I'm in the higher half!

Update attachment
Segfault
Segfault worked on Nim OSDev
1h 14m • 10 months ago

That took a lot longer than whatever Hackatime is claiming, but I don't care, THE BUG IS FIXED! I wasn't calling NimMain() in my kernel, which is what initializes the runtime and stuff I was relying on. So instead of me getting something obvious, string interpolation with integers was messed up. Nothing else, just string interpolation with integers. Wow.

Below you can see a nice memory map table in the debug console though!

Update attachment

It finally loads my kernel! I nearly had a panic attack, as I took a one hour break, and when I came back, it was crashing. All fine now though, somehow my UEFI vars had been nuked (whoops), so I reset them, and now it works!!

Update attachment
Segfault
Segfault worked on Nim OSDev
1h 34m • 10 months ago

Well, more standard UEFI bootup procedures. Probably the hardest was it resetting without an error, and I figured it out -- I wasn't hanging it, so it was just exiting normally, which it shouldn't do.

Update attachment

Hello world is finally working! This is still just in the UEFI bootloader, we aren't even in the kernel yet sadly :/

On the plus side, I have a good, Nim idiomatic API, and the echo keyword is working like in the base language.

Update attachment

I finally got Nim to cross compile to a UEFI executable! This is going to be great for my bootloader, the issue was, Nim was trying to use headers from my system folder to compile, and the headers were stdio.h and stdlib.h. Since these are not host-independent, I had to implement dummy headers that were placed in the include path instead that just prototyped the functions needed, even though they all have a dummy implementation.

Update attachment
Segfault
Segfault created a project
290d ago

Nim OSDev

An operating system written in Nim

9 devlogs 2 followers
Segfault
Segfault joined Summer of Making
291d ago

This was widely regarded as a great move by everyone.