HNHacker News
TopNewBestAskShowJobs

ozkl

120 karma · joined September 7, 2019

https://github.com/ozkl/soso
submissionscomments
ozkl··on Doomgeneric: Make porting Doom easier
Dev here. When I was trying to port doom to my OS soso, I tried to keep it generic and doomgeneric was born!
ozkl··on Doomgeneric: Make porting Doom easier
Hey! I realized your PR months later and wanted to merge but it could not. So I add your project as a remote and cherrypicked that commit just to include your commit in the history! Thank you!
ozkl··on Doomgeneric: Make porting Doom easier
Dev here! I've just realized that you shared this. Thanks for sharing doomgeneric!
ozkl··on Serenity OS update (August 2019) [video]
Nice job. It looks so impressive. I wish we could download an OS image to try it in a VM without having to build.
ozkl··on Show HN: A simple Unix-like operating system that runs Doom
I chose x86 because I wanted to try the os in my ancient PCs like a Celeron 333MHz. And articles I was reading at the start was for 32bit.
ozkl··on Show HN: A simple Unix-like operating system that runs Doom
Yeah, and Lua is also great at dependencies. It doesn't depend anything :)
ozkl··on Show HN: A simple Unix-like operating system that runs Doom
By using 4Mb pages, we can skip one step which is page tables.

In other words, Page Directory points directly to a 4Mb Page Frame. In 4Kb mechanism, Page Directory points to a Page Table which then points to a 4Kb Page Frame.

ozkl··on Show HN: A simple Unix-like operating system that runs Doom
Thanks! Yeah it is my favorite editor and the os is entirely written in it :) In fact, doomgeneric is created just for Soso in order to port easily.
ozkl··on Show HN: A simple Unix-like operating system that runs Doom
Thanks! In fact, I prefer camel case for functions. You must be saying this for HashTable and List functions. I came from C++ world (where i name classes Pascal case and functions camel case). I wanted to group HashTable functions together like a class and named them that way. Yeah, it ended up being inconsistent unfortunately. I named structs in PascalCase.
ozkl··on Show HN: A simple Unix-like operating system that runs Doom
Thanks! I was going to go similar path you mentioned. Not 16-bit but in a way that is exe-like binaries and development with Visual Studio.

But it seemed to me that it is easier to support ELF binaries. And OSDev has great articles about elf files, binutils, cross-compilers, etc..

ozkl··on Show HN: A simple Unix-like operating system that runs Doom
Thanks. I think it would take 8 months night works. But it took longer because of breaks. I was always interested in low-level stuff especially about syscalls (how they jump to kernel from userspace). So, I was familiar with syscall internals and memory protection. But I learnt all including how paging is done in x86 when I was writing Soso thanks to OSDev.