flat assembler
Message board for the users of flat assembler.
![]() Goto page 1, 2 Next |
Author |
|
zhak 05 Aug 2005, 22:05
Hi, I was developing a system checker some time ago, too. And I had all the same questions...
![]() Real mode gives you an advantage of using BIOS interrupts, so you don't need to write your own keyboard driver and other stuff like that. Protected mode gives you 4GBytes of memory space. Graphics... it is good, but do you really need it? To keep things compact and simple I'd use text mode. It is possible to make very pretty interface even in text mode. Mouse support is welcomed. If you create an OS to fit on floppy than no GRUB is needed, I think. You'll just waste your disk space. That's what I think of it. |
|||
![]() |
|
DataHunter2009 05 Aug 2005, 22:33
Thanks for the reply!
So, i'm guessing I should do 16 bit real mode then? I'd like to write my keyboard driver later on, but I'm guessing that's too complex for me right now. I didn't really NEED graphics, I just thought it would make it look cooler. ![]() And what do you mean by "mouse support is welcomed"? I didn't really plan on using mouse support since it was going to be using a command line style (EX: COS:> help) I won't be using GRUB then, if it means i'll be wasting space. |
|||
![]() |
|
Dex4u 06 Aug 2005, 02:47
Your best bet is to go here and get bootprog it lets you boot a com bin or exe from a floppy makes testing very easy. you can get it here:
http://alexfru.chat.ru/epm.html#bootprog |
|||
![]() |
|
joachim_neu 06 Aug 2005, 07:49
Well this is the way I'd do it:
32 bit protected mode VESA/VBE own bootloader Greetz. |
|||
![]() |
|
DataHunter2009 06 Aug 2005, 16:12
I don't know how to use VESA at all, so I'll save that for a later project.
![]() |
|||
![]() |
|
Night Rider 06 Aug 2005, 19:15
32 PM CLI for a first time...
|
|||
![]() |
|
zhak 06 Aug 2005, 22:52
Quote:
It is better to use mouse to navigate the screen if you have a user interface with dozens of buttons and edit boxes. But, of cource, you don't need it for command promt only. |
|||
![]() |
|
THEWizardGenius 10 Aug 2005, 00:07
That would depend entirely on what you're trying to do. OF COURSE Protected mode/32-bit (You can't have one or the other, they are mutually inclusive) is best but there are some circumstances where you would prefer real mode/16-bit. For one thing, real-mode is easier to program. If you aren't trying to do a "modern" OS, just a simple, basic barebones DOS-like OS, real mode is easier. However, linux uses protected mode and multitasking. Although linux is a commandline OS, it is a modern OS. So would you rather be like DOS (real mode) or linux (protected mode)?
The simple graphics is easy, just go into graphics mode and display text as pixels instead of characters. You have to display each pixel separately instead of characters. It's really very easy, I've seen this type of thing done often. You do have to make your own font, and I suggest returning to text mode when you aren't displaying any graphics, but other than that it wouldn't be difficult. However, this wouldn't be a top priority. Work on the OS itself, you can add these optional niceties later ![]() GRUB is very complex, so I don't plan to learn it until I need to. However, since you've used it before, you may as well use GRUB- it's a very good advanced bootloader, and if you're able to use it you should. Writing your own bootloader is more complex, and not really all that important. [b]A bootloader is NOT an operating system[b] so you should focus on more important things. The last question is difficult to asnwer. If you already know assembly, you should be able to learn FASM quickly and easily. If you don't know assembly yet, you probably shouldn't be OS Deving, as OS Development requires knowledge of assembly. Even if you're writing your OS in, for example, C, you'll need to use assembly for some things, so don't fool yourself into thinking you don't need it. Remember, it's your OS, so don't take my (or anyone else's) word as law: you are the ruler, not us! And good luck! ![]() _________________ FASM Rules! OS Dev is fun! Pepsi tastes nasty! Some ants toot! It's over! |
|||
![]() |
|
Night Rider 10 Aug 2005, 19:27
Quote:
No! PM is no much complicated as RM. Only few descriptors, and it will work as RM, but with 4Gb memory. All rest(exc. IDT) stay same. |
|||
![]() |
|
DataHunter2009 11 Aug 2005, 00:05
Not exactly... now, I know you are probably more experience than I, but i've read (and heard) that RM is much easier to make a textbased OS in since printing text is only a few lines of code, while in protected mode, you have to write full functions to print text.
Again, I'm new to this, but I'm only saying what I've heard numerous times. So, back to the topic... I think I will use real mode 16 bits for now since I am only making a simple DOS-like OS to test hardware. I'll switch to PMode when I get more experience... and I don't need anything like multi-tasking or a video mode, and I'll only be including 3 functions. (test, sysinfo, and reboot). So, thanks for the posts everyone! This is why I like this forum... I can get help quickly, and get lots of it. ![]() |
|||
![]() |
|
THEWizardGenius 11 Aug 2005, 01:00
It's easier because you have BIOS for many things, so you don't have to write your own drivers, and you don't have to work with gate A20, and all the descriptor tables and selectors and everything. If protected mode weren't just plain better, I would be using real mode! But this guy doesn't necessarily NEED just plain better, so it's a lot easier to just use real mode unless he WANTS just plain better.
|
|||
![]() |
|
DataHunter2009 11 Aug 2005, 01:22
I'd rather it be EASY instead of BETTER since I'm only starting out.
![]() Last edited by DataHunter2009 on 11 Aug 2005, 01:24; edited 1 time in total |
|||
![]() |
|
THEWizardGenius 11 Aug 2005, 01:24
I know, which is why I suggested real mode.
![]() |
|||
![]() |
|
DataHunter2009 11 Aug 2005, 01:51
Well, I was saying that to everyone else.
![]() |
|||
![]() |
|
Night Rider 11 Aug 2005, 12:21
Quote:
No. It depends on using BIOS or your own functions. You can use your ones without BIOS in RM too, and BIOS can be used via VM in PM too.(but it is long way) Quote:
"I'll only be including 3 functions. (test, sysinfo, and reboot)."That can be easily done in PM. Don't afraid of PM. It ONLY SEEMS to be complicated, i thought so too ( and started coding RM too. But the i thought - what a*, i can use PM, i can ,i can. And after 2 days i recognised all "complicated" parts. They are easy in reality. Imagine" you can make IDT table, GDT table with 2 descr. - for code and for data, but you will be able to use more features. |
|||
![]() |
|
THEWizardGenius 11 Aug 2005, 16:47
But then you don't have the BIOS. If yu're only testing the system, rm should be fine (though if you want you can enter pm just to make sure pm works properly on your system as well... however, it's highly unlikely that it wouldn't, so it's not something to worry about)
|
|||
![]() |
|
DataHunter2009 11 Aug 2005, 17:41
Actually, I think I'm going to make my OS in C. And asmdemon has a nice example with PMode and everything, so I think i'm ready to go.
![]() |
|||
![]() |
|
Night Rider 11 Aug 2005, 19:07
Quote:
You can use BIOS in PM. But it is quite complicated task. I said - use VM. About testing - yes, but it will be hard to port RM code if you'l decide to use PM after. |
|||
![]() |
|
Dex4u 11 Aug 2005, 20:44
Switching to pmode and back to realmode for bios int is simple, quick enough for most int's
![]() |
|||
![]() |
|
Goto page 1, 2 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.