Triodium OS v0.1 ALPHA released!

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
NunoLava1998
Member
Member
Posts: 273
Joined: Sun Oct 09, 2016 4:38 am
Libera.chat IRC: NunoLava1998

Triodium OS v0.1 ALPHA released!

Post by NunoLava1998 »

Hooray! I have released the first version of Triodium OS, v0.1 ALPHA! This version only does a few things:
  • 1: It loads the IDT at 0x10000FF
    2: It remaps the PIC to 0x20-0x27
    3: Enables interrupts
Here is a screenshot of Triodium OS v0.1 ALPHA running:

Image
Developing TRIODIUM OS. Or call it Dixium if you want. It doesn't matter.

https://github.com/NunoLava1998/DixiumOS
User avatar
Love4Boobies
Member
Member
Posts: 2111
Joined: Fri Mar 07, 2008 5:36 pm
Location: Bucharest, Romania

Re: Triodium OS v0.1 ALPHA released!

Post by Love4Boobies »

Your code base is a mess. You include .c files left and right, your headers have no include guards, you don't use abstractions, most of it is copied verbatim from the tutorials on the wiki, you use inconsistent styles (especially for the things you copied over), your build script makes no sense, and the code code is of very low quality. People on this forum have been recommending that you take the time to learn C. You may think you are making progress but you aren't and will get stuck very soon. I really recommend you follow their advice and then get back to your project.
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
User avatar
Roman
Member
Member
Posts: 568
Joined: Thu Mar 27, 2014 3:57 am
Location: Moscow, Russia
Contact:

Re: Triodium OS v0.1 ALPHA released!

Post by Roman »

Why do you upload files via GitHub's web interface instead of uploading them by syncing your git repo?
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
- Alan Kay
NunoLava1998
Member
Member
Posts: 273
Joined: Sun Oct 09, 2016 4:38 am
Libera.chat IRC: NunoLava1998

Re: Triodium OS v0.1 ALPHA released!

Post by NunoLava1998 »

Love4Boobies wrote:Your code base is a mess. You include .c files left and right, your headers have no include guards, you don't use abstractions, most of it is copied verbatim from the tutorials on the wiki, you use inconsistent styles (especially for the things you copied over), your build script makes no sense, and the code code is of very low quality. People on this forum have been recommending that you take the time to learn C. You may think you are making progress but you aren't and will get stuck very soon. I really recommend you follow their advice and then get back to your project.

"your build file doesn't make sense"

It's for Windows, and assumes qemu is in your path. It's not a .sh or a makefile.
Developing TRIODIUM OS. Or call it Dixium if you want. It doesn't matter.

https://github.com/NunoLava1998/DixiumOS
NunoLava1998
Member
Member
Posts: 273
Joined: Sun Oct 09, 2016 4:38 am
Libera.chat IRC: NunoLava1998

Re: Triodium OS v0.1 ALPHA released!

Post by NunoLava1998 »

Roman wrote:Why do you upload files via GitHub's web interface instead of uploading them by syncing your git repo?
beacuse my git doesn't show you how to connect to your repo after the first time. and now i have to use the web interface.
Developing TRIODIUM OS. Or call it Dixium if you want. It doesn't matter.

https://github.com/NunoLava1998/DixiumOS
NunoLava1998
Member
Member
Posts: 273
Joined: Sun Oct 09, 2016 4:38 am
Libera.chat IRC: NunoLava1998

Re: Triodium OS v0.1 ALPHA released!

Post by NunoLava1998 »

I'm working on a new version (i realized the loading IDT thing is not even valid, sorry, also adding more features, obviously.).
Developing TRIODIUM OS. Or call it Dixium if you want. It doesn't matter.

https://github.com/NunoLava1998/DixiumOS
User avatar
iansjack
Member
Member
Posts: 4685
Joined: Sat Mar 31, 2012 3:07 am
Location: Chichester, UK

Re: Triodium OS v0.1 ALPHA released!

Post by iansjack »

I think that you will do everyone a favour if you were to stop posting every silly mistake that you make. It would also help with any ambitions that you might have to get a job working with computers one day.

Try learning C programming, learning some debugging techniques, reading the documentation, and working at a simple keyboard handler that uses hardware interrupts. Don't post here when you get it wrong but work out what you are doing wrong by yourself. Keep at it until your keyboard handler works without asking others to do the work for you and you may, just may, be on your way to writing a simple operating system. You could even start by just implementing a simple timer-tick routine. Use it to print characters to the screen, something like that. Make sure that you understand first what you want to do and what every line of code that you write does.

Printing messages to the screen saying that you have enabled interrupts, when you haven't, is not an operating system.
User avatar
Love4Boobies
Member
Member
Posts: 2111
Joined: Fri Mar 07, 2008 5:36 pm
Location: Bucharest, Romania

Re: Triodium OS v0.1 ALPHA released!

Post by Love4Boobies »

NunoLava1998 wrote:It's for Windows, and assumes qemu is in your path. It's not a .sh or a makefile.
You can use actual build systems (makefile-based or not) in Windows as well. Even if your project is small enough that you don't care about rebuilding modules that haven't changed since the last build, why does your batch script do both building and emulation? I won't even get into implementation issues like the path hack.
NunoLava1998 wrote:
Roman wrote:Why do you upload files via GitHub's web interface instead of uploading them by syncing your git repo?
beacuse my git doesn't show you how to connect to your repo after the first time. and now i have to use the web interface.
Here's a good (free) introduction to version control. It covers several tools, including git, for some of the more common tasks. More advanced topics like submodules, resetting, rebasing, etc. are not covered but it's still a good starting point.
NunoLava1998 wrote:I'm working on a new version (i realized the loading IDT thing is not even valid, sorry, also adding more features, obviously.).
My point wasn't that you did a bad job and should try harder. My point was that you would do a better job effortlessly if just you took the time to find out the things you don't know: a few things about upstream prerequisites, design patterns, and the tools you're using and you'd be ready to actually work on your projects.

As iansjack suggests, being self-reliant is one of the more important things about being an engineer. A little literacy and willingness is the difference between a script kiddie and a software engineer.
Last edited by Love4Boobies on Mon Jan 02, 2017 2:05 pm, edited 1 time in total.
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
User avatar
matt11235
Member
Member
Posts: 286
Joined: Tue Aug 02, 2016 1:52 pm
Location: East Riding of Yorkshire, UK

Re: Triodium OS v0.1 ALPHA released!

Post by matt11235 »

Love4Boobies wrote:most of it is copied verbatim from the tutorials on the wiki
I'm especially a fan of this comment in defs.h

Code: Select all

/* Surely you will remove the processor conditionals and this comment
   appropriately depending on whether or not you use C++. */
com.sun.java.swing.plaf.nimbus.InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState
Compiler Development Forum
NunoLava1998
Member
Member
Posts: 273
Joined: Sun Oct 09, 2016 4:38 am
Libera.chat IRC: NunoLava1998

Re: Triodium OS v0.1 ALPHA released!

Post by NunoLava1998 »

The way i could determine interrupts weren't working were by doing a int $0. Which didn't work, as it kept triple faulting.
Developing TRIODIUM OS. Or call it Dixium if you want. It doesn't matter.

https://github.com/NunoLava1998/DixiumOS
alexfru
Member
Member
Posts: 1111
Joined: Tue Mar 04, 2014 5:27 am

Re: Triodium OS v0.1 ALPHA released!

Post by alexfru »

I just watched "The Giver" the other day. I think you got their use of the word release correctly.
NunoLava1998
Member
Member
Posts: 273
Joined: Sun Oct 09, 2016 4:38 am
Libera.chat IRC: NunoLava1998

Re: Triodium OS v0.1 ALPHA released!

Post by NunoLava1998 »

alexfru wrote:I just watched "The Giver" the other day. I think you got their use of the word release correctly.
I never watched that movie.
Developing TRIODIUM OS. Or call it Dixium if you want. It doesn't matter.

https://github.com/NunoLava1998/DixiumOS
alexfru
Member
Member
Posts: 1111
Joined: Tue Mar 04, 2014 5:27 am

Re: Triodium OS v0.1 ALPHA released!

Post by alexfru »

User avatar
Mikumiku747
Member
Member
Posts: 64
Joined: Thu Apr 16, 2015 7:37 am

Re: Triodium OS v0.1 ALPHA released!

Post by Mikumiku747 »

A tip with your build file, you don't have to change directory all the way to qemu's install location to run it, you can just run qemu from the current directory. It'll save you having to copy over your kernel into a system folder every time you build as well. And it means you don't need admin access to test out your kernel. As others have mentioned, you may want to split your build file into at least dedicated scripts for dedicated actions, even at this early stage, since it makes it's a little misleading to anybody reading your code that "build.bat" does more than just build. (Although the most sensible option would be to adopt a proper build system as soon as you have more than few object files being compiled. Or, you could make your own build system if you feel like it's something you want to do.)

On a related note, please at least make some kind of effort to show you didn't directly copy almost everything from the wiki, your "build script" still makes a kernel called "myos.bin". You've even come up with a name (2 in fact!) for your kernel / project, why not make use of that shiny new name and hide the fact that you blatantly copied that part out of bare bones without any thought to what it did. Showing people what you've done is often rewarding, especially if you're proud of reaching a personal milestone, but it paints a bad image when your big achievement is "I pasted in some faulty IDT/GDT stuff and maybe managed to make it compile." A little bit of effort and patience goes a long way. And even if you feel like "Ignoring the Haterz" (I'm not saying you are, but you might be giving off that impression with the way you respond), people will become less likely to help and more likely to insult and jest you in the future if you make yourself look a fool.

In any case, good luck with getting your GDT and IDT to work, and congrats on figuring out how to properly process newlines on your terminal code. A little more self problem-solving and you'll soon be on your way.

- Mikumiku747
User avatar
Ycep
Member
Member
Posts: 401
Joined: Mon Dec 28, 2015 11:11 am

Re: Triodium OS v0.1 ALPHA released!

Post by Ycep »

Code: Select all

/* This tutorial will only work for the 32-bit ix86 targets. */
Post Reply