Not logged in, Join Here! or Log In Below:  
 
News Articles Search    
 

 Home / General Programming / Question about OS's Account Manager
 
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.
 
Tom Suter

April 29, 1999, 06:15 AM

I wonder if anyone knows a site or info about "How to write an OS". I'm planning to write an OS especially for gaming.
I've searched the internet an asked friends already. Unfortunate without success.
Thanks!

 
Jaap Suter

April 29, 1999, 06:23 AM

That's my brother :)

I'll be helping him but the only thing I know is that you should set a flag with the
aid of assembly somewhere in the boot sector to make a bootable disk
or something. Any references would be greatly appreciated.

We're not going to create the next Linux but we're still interested in the basic know how.

We just have a pc with no harddisk and an empty unformatted 1.4 MB disk. What should
we do next?



Thanks!


 
Thierry Tremblay

April 29, 1999, 12:48 PM

Funny =)

I worked on an OS myself for some months a few years ago... Just before DirectX was everywhere. Guess what, I wanted to write a game OS =)

First step is to boot from a floppy drive. The boot sector is really small so the first thing I did was go into protected mode, map memory the way I wanted it, then load a "bootstrap loader". This is the real boot code.

I this bootstrap code I had routin for display and debugging. (Dumb terminal with hexadecimal dumbs of registers).

The bootstrap code would setup the LGT/GDT/IDT with a few basic IRQ handlers and then proceed to load the kernel modules.

All the kernel modules were compacted into a big chunk of data (hence the name bootstrap loaded) and modules would be found in the block of data. Each one would be initialised one by one.

I was inspired by good old OS-9 for booting purposes. But unfortunately I stopped there after having done a basic VGA driver.

Now that I think of it... I really like this stuff and the reason I stopped was DirectX. Before that, it wasnt possible to write fast game on Windows (beside the fact the everyone had a 486 dx2).

Thierry

 
Jaap Suter

April 30, 1999, 05:32 AM

Thanks!

you know of any good i-net resources, tutorials?

Or did you get everything from the book?

Jaap Suter

 
Thierry Tremblay

April 30, 1999, 10:29 AM

>>you know of any good i-net resources, tutorials?

Absolutely not... =(

>>Or did you get everything from the book?

Yep... I knew assembly so all I used was the Intel Pentium book
and the Ziff Davis book about PC architecture (can't remember the name...)
for the Pentium.


You won't find much on the net... Books about PC architecture and DOS is what
you need. Hardware books are also quite handy (particularly VGA). A BIOS reference
is absolutely needed to do disk I/O.

Thierry

 
Sandy McArthur

May 07, 1999, 10:17 PM

I saw this over at freshmeat a while ago.
http://core.freshmeat.net/appindex/1998/12/19/914050546.html

I think it will have everything you want to know.

I don't know much about it but here are the features I think are desireable.

Small memory foot print
low cpu overhead
give as much power to the game.
you may want to create standard interfaces for sound/video/input
will run off floppy. (I'm not going to install a unknown OS just for a game)


good luck

 
Tom Suter

May 09, 1999, 03:40 PM


How can I handle the memory management? I want to realize a very simple GUI, so all the performance is for the games. Does anybody anything know about the IO subsystem? Sites or Books.

Thankjewel already!

Tom

 
Thierry Tremblay

May 19, 1999, 08:05 PM

Tom Suter wrote:
>>
>>How can I handle the memory management? I want to realize a very simple GUI, so all the performance is for the games. Does anybody anything know about the IO subsystem? Sites or Books.
>>

Sorry for the delay =)

Basically you handle memory the way you want it =)

I think you should have some protected memory zone that is never swapped for the kernel and the drivers (keeping in mind you want to write a game OS) and allow to developper to have total control of how the memory is mapped/swapped/...

A gui have nothing do to with an os.

Sorry, I don't know where you can find more infos...

Thierry

 
This thread contains 8 messages.
 
 
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.