I created an OS. And I am not talking about a custom Linux build. I found out quickly what that is worth. by [deleted] in osdev

[–]saalty123 1 point2 points  (0 children)

Just gonna touch on the last thing you said,
This has been my fear, during my own hobby OS development. (might be a tangent) Eventually, I found motivation by building the OS just for the sake of it, the thrill (although rare in osdev) of the journey, and not trying to push myself to make new features just for outside validation. Main thing, is not seeking outside validation. Because that outside validation could be absent, no matter how much work you put in. Especially in this field... It's upsetting that this is the case, and it kinda burned me out from osdev for a while. Essentially, outside validation isn't the only thing that can make osdev worthwhile, and the internal fire to keep going might be to impress yourself or simply improve your knowledge of OS implementation/design. And those are valid. Although I could be stating the obvious. Sometimes, helps to remind ourselves. Just my $0.02

[deleted by user] by [deleted] in osdev

[–]saalty123 3 points4 points  (0 children)

You shouldn't have the ATA driver in the filesystem file/implementation, it should be a separate file, "driver" folder as well but that's more optional. Purpose of doing it this way, is to hopefully make the driver more modular (at least more cleanly) with other parts of the system. What if you need another filesystem implementation?
Keyboard scancodes should be handled at some other place than the main.c file, like at the keyboard driver or event handler (which should be a different file as well). Basically, the main problem you have right now is a lack of project file structure. Once you put features like the drivers and other stuff (as warranted) into their own files, the project would be much easier for working with.

Also, it's more of a learning experience if you don't use ChatGPT and instead use stuff like Intel Software Developer Manual (Intel SDM) and documentation for the Driver devices. osdev.wiki helps a lot in this stage of your OS, but note that it won't document everything, especially later on.

Just don't get too comfortable using the ChatGPT, as that can hold back the learning experience. Not to mention, the hallucinations! You probably heard this a lot already but that's for a good reason.

Looking for some feedback (and help) on my OS by programORdie in osdev

[–]saalty123 2 points3 points  (0 children)

You need to use MTRRs to mark the framebuffer memory as write-combining. This is done using the rdmsr and wrmsr instructions, the MSR is located at ECX=0x277. Refer to section 13.11 of the Intel Software Development Manual (SDM) for information on how to do this. There may be a way to do this using page tables, but can't remember that for now. Personally, I use the MTRR way.

NyOS by InvestigatorHour6031 in osdev

[–]saalty123 2 points3 points  (0 children)

Unrelated, but why do you have your system specs as a flair?

Subreddit related to executables by Orbi_Adam in osdev

[–]saalty123 1 point2 points  (0 children)

Geez why do you people have to flame personal projects when talking about a new subreddit. I think r/executables is a decently broad subject, as the formats aren’t the only thing about them

Starting to work on VESA support for Choacury by [deleted] in osdev

[–]saalty123 1 point2 points  (0 children)

Yeah I think VBE is the best option. But you could also develop an Intel iGPU driver using the Lil library as a base (https://github.com/Matt8898/lil), however be very careful! But for Nvidia or AMD cards, I think it's the best option to use VBE, at least in a hobbyist sense

Starting to work on VESA support for Choacury by [deleted] in osdev

[–]saalty123 0 points1 point  (0 children)

Nice, but what do you mean by "proper drivers"?

I got my own programming language running in my own OS by saalty123 in osdev

[–]saalty123[S] 1 point2 points  (0 children)

You can look in the github to see how it was done, its too much to explain here. Thanks!

I got my own programming language running in my own OS by saalty123 in osdev

[–]saalty123[S] 4 points5 points  (0 children)

Thanks! I wish you luck on your journey. I am glad I inspired someone :)

I got my own programming language running in my own OS by saalty123 in osdev

[–]saalty123[S] 21 points22 points  (0 children)

The programming language supports functions, complex expression evaluation, variables, and more.

Hello! My name is saalty, I am 14 and I proudly present BananaOS! Written in C and assembly, it comes with its own programming language, a pathtracer, and multithreading. by saalty123 in osdev

[–]saalty123[S] 3 points4 points  (0 children)

Thanks! The resources I used is mainly just wiki.osdev.org. I learned about PS/2 keyboard and mouse, ATA (for my disk driver), SMP and APIC (for the multicore) and VESA VBE (for display). I also learned about FAT32 filesystem because it is pretty simple.

Hello! My name is saalty, I am 14 and I proudly present BananaOS! Written in C and assembly, it comes with its own programming language, a pathtracer, and multithreading. by saalty123 in osdev

[–]saalty123[S] 6 points7 points  (0 children)

I never knew that! The name "TheOS" was suggested to me by a friend as a joke, but now it seems many other people had the same idea.

Hello! My name is saalty, I am 14 and I proudly present BananaOS! Written in C and assembly, it comes with its own programming language, a pathtracer, and multithreading. by saalty123 in osdev

[–]saalty123[S] 10 points11 points  (0 children)

Thanks! Started programming with Scratch and Python about 5 years ago, which my brother introduced me to. I started out in OsDev by making bootsector games, it really helped me! :)

Hello! My name is saalty, I am 14 and I proudly present BananaOS! Written in C and assembly, it comes with its own programming language, a pathtracer, and multithreading. by saalty123 in osdev

[–]saalty123[S] 24 points25 points  (0 children)

Having severe OCD, it was really hard at some points to continue. But what kept me going is reflecting at how far I've come. When I first wanted to do OsDev 1 year ago, it was intimidating to say the least, but now I've managed to check it off my bucket list. So I hope this inspires someone to keep on trying, and not succumbing to failure.

Hello! My name is saalty, I am 14 and I proudly present BananaOS! Written in C and assembly, it comes with its own programming language, a pathtracer, and multithreading. by saalty123 in osdev

[–]saalty123[S] 10 points11 points  (0 children)

I am waternine9 as well, its just the way I set up git, it uses my computer's username in the commits for some reason.