Oh and one more thing: I don't feel like changing my sig b/c I am currently working on my os.
p.s.
How many bit graphics should it be? How many bit the OS itself? What backgrounds? What cursors? What should the name be... Oh, wait, how about Thunderline OS [b] (TLOS) [/b]
Offline
32 bit. 32 or 64 bit.
The backgrounds and cursors don't come with the computer, those are files that are customisable by the user.
Offline
That's why there's the power of Scratch!
You can't write an OS in Scratch.
Making an OS doesn't mean creating some cursors/backgrounds and managing windows...
You have to schedule tasks and threads, writing (very much) drivers, manage the memory, and much more. You can't even use the standard C-Lib...
(I know that because I wrote a little OS myself)
Offline
ZeroLuck wrote:
That's why there's the power of Scratch!
You can't write an OS in Scratch.
Making an OS doesn't mean creating some cursors/backgrounds and managing windows...
You have to schedule tasks and threads, writing (very much) drivers, manage the memory, and much more. You can't even use the standard C-Lib...
(I know that because I wrote a little OS myself)
I don't mean IN scratch, I mean any scratchers are welcome to help. I mean some scratchers code, some make graphics...
Offline
veggieman001 wrote:
32 bit. 32 or 64 bit.
The backgrounds and cursors don't come with the computer, those are files that are customisable by the user.
Then how did Windows Put backgrounds in it so you get them when you turn it on?
Offline
poemon1 wrote:
Then how did Windows Put backgrounds in it so you get them when you turn it on?
The Windows-Window-Manager draws the things on the screen with a graphic-card driver.
poemon1 wrote:
I mean some scratchers code, some make graphics...
Again. Making an OS doesn't mean drawing things on the screen!
An OS has to manage memory, multitasking, drivers and other stuff.
I think you mean a desktop-manager, not an OS...
Last edited by ZeroLuck (2012-04-11 14:05:01)
Offline
Ok.
I'm not going to help but I'll clear a few things up.
There are different kinds of assembly (x86 assembly, mac assembly, ARM assembly, 64bit assembly...)
When I get my RPi, I'm going to learn ARM assembly.
Assembly is hard. If you've never used anything other than Scratch, don't use assembly.
Graphics are hard in assembly. If you must make an operating system, make a DOS. Every OS with a GUI started as a DOS.
Now, the MOST important thing:
PROGRAMMING IS NOT LIKE SCRATCH.
With scratch, you start with graphics.
With REAL PROGRAMMING you start with basic code. With an OS, it would be the bootloader.
Don't do graphics until the VERY END.
Behind every GUI OS is a command line. The buttons are just triggers for commands. Start with a DOS. Then make the window manager.
Also, (Just making sure you know this), the rules DON'T bend for you. You can't ignore something and do it your own way which you've never tried before and expect it to work like in Scratch where everything is simple and easy and there are no typos.
Yet again, if you don't know Assembly or C, START WITH BASIC STUFF LIKE "HELLO WORLD."
You are not an exception, and you will not make an OS without prior knowledge of a programming language like C or Assembly.
That said, if you DO know enough C or Assembly, good for you. However, I get the feeling you haven't learnt much. You can't build an OS off a few tutorials.
Offline
Dinoclor wrote:
Ok.
I'm not going to help but I'll clear a few things up.
There are different kinds of assembly (x86 assembly, mac assembly, ARM assembly, 64bit assembly...)
When I get my RPi, I'm going to learn ARM assembly.
Assembly is hard. If you've never used anything other than Scratch, don't use assembly.
Graphics are hard in assembly. If you must make an operating system, make a DOS. Every OS with a GUI started as a DOS.
Now, the MOST important thing:
PROGRAMMING IS NOT LIKE SCRATCH.
With scratch, you start with graphics.
With REAL PROGRAMMING you start with basic code. With an OS, it would be the bootloader.
Don't do graphics until the VERY END.
Behind every GUI OS is a command line. The buttons are just triggers for commands. Start with a DOS. Then make the window manager.
Also, (Just making sure you know this), the rules DON'T bend for you. You can't ignore something and do it your own way which you've never tried before and expect it to work like in Scratch where everything is simple and easy and there are no typos.
Yet again, if you don't know Assembly or C, START WITH BASIC STUFF LIKE "HELLO WORLD."
You are not an exception, and you will not make an OS without prior knowledge of a programming language like C or Assembly.
That said, if you DO know enough C or Assembly, good for you. However, I get the feeling you haven't learnt much. You can't build an OS off a few tutorials.
This, so much.
Offline
Someone made a computer in The Powder Toy and I think it uses assembly although I haven't really done anything except use the example program.
Offline
nathanprocks wrote:
Someone made a computer in The Powder Toy and I think it uses assembly although I haven't really done anything except use the example program.
What's The Powder Toy?
Offline
Dinoclor wrote:
Ok.
I'm not going to help but I'll clear a few things up.
There are different kinds of assembly (x86 assembly, mac assembly, ARM assembly, 64bit assembly...)
When I get my RPi, I'm going to learn ARM assembly.
Assembly is hard. If you've never used anything other than Scratch, don't use assembly.
Graphics are hard in assembly. If you must make an operating system, make a DOS. Every OS with a GUI started as a DOS.
Now, the MOST important thing:
PROGRAMMING IS NOT LIKE SCRATCH.
With scratch, you start with graphics.
With REAL PROGRAMMING you start with basic code. With an OS, it would be the bootloader.
Don't do graphics until the VERY END.
Behind every GUI OS is a command line. The buttons are just triggers for commands. Start with a DOS. Then make the window manager.
Also, (Just making sure you know this), the rules DON'T bend for you. You can't ignore something and do it your own way which you've never tried before and expect it to work like in Scratch where everything is simple and easy and there are no typos.
Yet again, if you don't know Assembly or C, START WITH BASIC STUFF LIKE "HELLO WORLD."
You are not an exception, and you will not make an OS without prior knowledge of a programming language like C or Assembly.
That said, if you DO know enough C or Assembly, good for you. However, I get the feeling you haven't learnt much. You can't build an OS off a few tutorials.
Thanks. I knew some of these. Btw: That's not a few
Offline
I hate to say this, but it's nigh impossible to make a full operating system by yourself, let alone as a minor.
But don't let me discourage you. The small attempts you make now will give you a better background for computer programming in the future.
Last edited by echs (2012-04-12 13:29:39)
Offline
echs wrote:
I hate to say this, but it's nigh impossible to make a full operating system by yourself, let alone as a minor.
But don't let me discourage you. The small attempts you make now will give you a better background for computer programming in the future.
Thanks! Whoever can answer this question gets TEN free mp3 files(please help): How do you display text in assembly?
Offline
poemon1 wrote:
echs wrote:
I hate to say this, but it's nigh impossible to make a full operating system by yourself, let alone as a minor.
But don't let me discourage you. The small attempts you make now will give you a better background for computer programming in the future.Thanks! Whoever can answer this question gets TEN free mp3 files(please help): How do you display text in assembly?
Bribing is not a good practice.
Try this
Last edited by poopo (2012-04-12 14:34:37)
Offline
poemon1 wrote:
How do you display text in assembly?
That's the point!
If you don't have an OS because you are the OS you have to query the video-card.
And this is very hard because there are thousands of different cards.
If you are in 16-bit Real-Mode you can use the BIOS-functions to write 8x8 pixel letters on the screen.( But you can't write a real OS in 16-bit Real-Mode so you have to use the 32 Protected-Mode (or 64 bit Long-Mode). And then you can't use the BIOS-functions anymore... )
In Real-Mode you can do that: (using the BIOS-functions)
print_str: push ebp mov ebp, esp mov eax, [ebp + 8] mov esi, eax mov ah, 0x0E .loop: lodsb test al, al jz .done int 0x10 jmp .loop .done: pop ebp pop eax ret
Last edited by ZeroLuck (2012-04-12 14:45:14)
Offline
ZeroLuck wrote:
poemon1 wrote:
How do you display text in assembly?
That's the point!
If you don't have an OS because you are the OS you have to query the video-card.
And this is very hard because there are thousands of different cards.
If you are in 16-bit Real-Mode you can use the BIOS-functions to write 8x8 pixel letters on the screen.( But you can't write a real OS in 16-bit Real-Mode so you have to use the 32 Protected-Mode (or 64 bit Long-Mode). And then you can't use the BIOS-functions anymore... )
In Real-Mode you can do that: (using the BIOS-functions)Code:
print_str: push ebp mov ebp, esp mov eax, [ebp + 8] mov esi, eax mov ah, 0x0E .loop: lodsb test al, al jz .done int 0x10 jmp .loop .done: pop ebp pop eax ret
I'll Test It!
Offline
poemon1 wrote:
ZeroLuck wrote:
poemon1 wrote:
How do you display text in assembly?
That's the point!
If you don't have an OS because you are the OS you have to query the video-card.
And this is very hard because there are thousands of different cards.
If you are in 16-bit Real-Mode you can use the BIOS-functions to write 8x8 pixel letters on the screen.( But you can't write a real OS in 16-bit Real-Mode so you have to use the 32 Protected-Mode (or 64 bit Long-Mode). And then you can't use the BIOS-functions anymore... )
In Real-Mode you can do that: (using the BIOS-functions)Code:
print_str: push ebp mov ebp, esp mov eax, [ebp + 8] mov esi, eax mov ah, 0x0E .loop: lodsb test al, al jz .done int 0x10 jmp .loop .done: pop ebp pop eax retI'll Test It!
Offline
poemon1 wrote:
Are you using the GNU-Assembler?
The code is X86 NASM.
The code works just in Real-Mode. (usually in the boot-code).
If you want to write in DOS-Windows to the screen you have to call a syscall.
org 100h start: mov dx, hello_world mov ah, 09h int 21h mov al, 0 mov ah, 4Ch int 21h section .data hello_world: db 'hello, world', 13, 10, '$'
If you compile this with nasm.exe you will get a ".com" file.
You can execute it in the Windows-DOS prompt.
Offline
ZeroLuck wrote:
poemon1 wrote:
Are you using the GNU-Assembler?
The code is X86 NASM.
The code works just in Real-Mode. (usually in the boot-code).
If you want to write in DOS-Windows to the screen you have to call a syscall.Code:
org 100h start: mov dx, hello_world mov ah, 09h int 21h mov al, 0 mov ah, 4Ch int 21h section .data hello_world: db 'hello, world', 13, 10, '$'If you compile this with nasm.exe you will get a ".com" file.
You can execute it in the Windows-DOS prompt.
Ok, ill try again ...
Offline
poopo wrote:
If you don't already know assembly I doubt you'll be able to make one. Make it in C instead.
You cannot. You must have Assembly somewhere in the code.
Maybe the osDev wiki can help?
Also, it takes years just to make a non-gui version. Longer if you are making your own GUI.
Offline
slinger wrote:
Haha, it depends on what you want to do
It doesn't take years to make an os that turns on then prints "Press enter to shut down" to the screen ;P
That can take anything from a day to a week. Depending on your skill level.
You may be better off modding ReactOS or something.
Offline
NattJohnson wrote:
if you like mincraft, pleas can you visit my project? (link)
I don't mind if you don't I just made it because minecraft is awesome!
Thank you weaf
Please don't spam, it's rude and annoying...
Ontopic: Will it be DOS or graphical interfaced?
Offline