Join the discussion
Write your take first — we'll ask for email only when you're ready to publish.
- Hacker News
- Why VGA? I thought that protocol was particularly complicatedby LarsDu88
- No not at all, it’s really simple and high rewarding (in terms of usage)by dvirbt
- > ... and the Qemu not having enough (wrongfully assuming 128MB for the whole OS was enough).
Interesting that 128 MB was not enough. What did you do to find this issue and how are you measuring memory usage?
by MisterTea - Double buffering a 4K 4bpp framebuffer itself is 64mbby zeusk
- It was only doing problems when running things like Doom or videos, so I guess my rendering system isn’t optimized enough.by dvirbt
- wrongfully assuming 128MB for the whole OS was enough
If I were you I'd investigate why it needs so much. Keep in mind how much functionality older OSs had, and how much computing power they needed. Always good to see more OS projects nonetheless, but always remember that efficiency is important.
by userbinator - Eh, I tend to do the same (significantly over-estimate RAM requirements) since it's hard to know just how much RAM you'll need to begin with. Though usually for something like the stack I start with 256-512K.by ethin
- Hey, it was enough for most basic stuff, but only running Doom or more advanced things would need above that.by dvirbt
- I had to just go find the details for the original 386 Unix server [1] I was running ~1995 because I thought it was running just fine on 8MB RAM, running an EFnet IRC node, FTP, MUDs and some early web apps. And... yep, 2 x 4MB SIMMs. Wild times. A single photo from my phone is three times that size.
(I later took that PC home and used it as the test machine for my own hobby OS, which had to run from a 1.44MB floppy because there was no other sane way to transfer the dev images from my desktop)
[1] One of these: https://www.computinghistory.org.uk/userdata/images/large/75...
by qingcharles - How did you handle the graphics stack? Is DOOM playable on just software rendering?by Levitating
- Yes it is playable, I made an API for window graphics which gives every window the ability to render stuff on it’s surface. Then I used DoomGeneric to port my graphics API to Doom.by dvirbt
- One of the biggest headaches for me is memory bugs when codebase grows large. So I 'm very interested: is this a headache for you too and how do you deal with this?by liqilin1567
- Yes, I think most of the time working on the project was working ob fixing memory bugs. GDB did a great job for me, have you tried to use it?by dvirbt
- Would recommend making a good youtube video with demo.by maxpert
- Yes, you are right. Do you think I should make the video technical or just a showcase?by dvirbt
- Wow! Looks great! Id suggest checking out https://oshub.org/ it has a lot of hobby operating systems similar to this one.by joexbayer
- This feels like a fresh breath of air after all "I vibe coded this in 4 hours with Claude". Don't get me wrong, vibe coding had its own place, but it feels that projects like this one have become a rarity.by iezepov
- Thank you so much! That’s great to hear :) I feel like vibe coding projects like this, where the whole idea is to learn, vibe coding only makes it harderby dvirbt
- 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.by noduerme
- 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.by dvirbt
- Damn man, this is awesome. This should land you a job damn near anywhere.by scuff3d
- I really hope so! :)by dvirbt
- Well done to you both. I'm only a 1/4 way down your useful TODO list after 12 months. I got bogged down in setting up IRQ vector tables on armv8 and took a huge detour to refresh my assembly skills. So I feel some of the journey you have been on. It takes a lot of patience, but can be very rewarding. Congrats!by whitehexagon
- Thank you and good luck!by dvirbt
- Hey, what an amazing project, bravo!
i would suggest to providing an iso or co-operating / looking into copy.sh which provides a large number of iso files which you can boot/play around with in the browser itself!
I was just today tinkering around with the ibm iso (exploring ibm) and others too, its always fun seeing new operating system!
I would love if you could, as I said, co-operate with copy.sh/v86 team to also include your iso and also provide iso files in github releases if possible
Source: https://copy.sh/v86/ Their github page : https://github.com/copy/v86
- Thanks! I’ll look into itby dvirbt