This is quite amazing. I'm not anything like a serious C coder and haven't tried ASM. I've written "filesystems" in higher level languages (stuff that imposed a directory structure and metadata on what were just bins of data), so I was just looking at parts of your code at random. I think that triple pointer dir_entry_t*** is where my head exploded. Pretty amazing code, you should be very proud.
Thank you so much! I also made a few years ago an high level filesystem, which helped me during I made this one. I think the main difference is just that you need to work with drivers here for every disk operation.