Page 1 of 1

Windows 3.1 like development

Posted: Sun Jan 15, 2006 12:14 pm
by SODSM
Well, I am very interested on OS Development. I love programming , however I am not a PRO so, I guess I can't make an intire OS all by myself. I really wnat to understand what I am doing, I dont want just to copy and paste codes from the net.

I really enjoy DOS, and I think WINDOWS 3.1 was a perfect system. Many people says that it can't be named as an OS, but I think it's just MORE than just a shell. WIN 3.1 can run it's own applications and it gives DOS the multitask character.

Anyway, I guess you can call WIN 3.1+DOS a complete Operating System. And it's exactly this I want to make. Even it's not an OS, I know it will be hard to do.

Ok... So I want to start it. I don't want to start programming graphs. [IM NOT MAKING ONLY A DOS SHELL]. I want to start making a program that could handle mult-taskinf for DOS. I wnat it to work like this: Its an TSR program. You can start your applications in DOS like usual, but when press ALT-TAB[xD], magically another DOS terminal would appear, where you can run others applications.

The problem is that I don't know where to start it. Can you give some information and Sites where i can found this kind of thing??? Can you give me also sites where I can find stuffs about Win3.1 development???[cant find anything on google]


Thanks and sorry for the english.....

Re:Windows 3.1 like development

Posted: Sun Jan 15, 2006 12:22 pm
by viral
Hi....
You can make a multitasking OS with V86 support. So this way you can run multiple DOS like programs (16 bit) in different Consoles.

You need a console driver which will shift the screen when you press ALT+TAB.

So you must start with a multitask kernel... dont think about DOS right now.. you can extend you kernel to load any types of program than...

Is u still want to make some 16bit OS. Then you can use BIOS interrupts & Real Mode. I dont know how u will acheive multitask in this real mode environment (as I newer tried to know it), but still there must be some way to do so...

I suggest u to go with protected mode....

Re:Windows 3.1 like development

Posted: Sun Jan 15, 2006 12:51 pm
by Dex4u
First you should give us some idea of what language you know ?.
Next i would start with "bootprog" if your a asm programmer or "OS Loader" if your a C programmer.
You could use freedos as a bootloader http://www.freedos.org/
You can get a working dos in less than 100k.
As for multitasking in realmode here is a good example that fits in the boot sector of a floppy:

Re:Windows 3.1 like development

Posted: Sun Jan 15, 2006 3:10 pm
by Cjmovie
Actually, I'd rather recommend 16-bit protected mode in this case...(If I'm not mistaken, never used it myself) That way you could still run 16-bit code without worrying about VM86, and you could just let everything run with all privelages.

Re:Windows 3.1 like development

Posted: Sun Jan 15, 2006 4:14 pm
by kataklinger
I think there's an example of multitasking under DOS in Art of Assembly Language (multitasking chapter 19 and TSR 18). It is a simple one, but you can extend it.

Re:Windows 3.1 like development

Posted: Sun Jan 15, 2006 7:14 pm
by OSDSM
OK.......Well, I programmed in QBASIC some years ago. Now I use pascal. I also know how to do something in C and ASM, but only the basic, so i don't wanna use it. And why would I need a bootloader[Im sorry, im nooob]? I am trying to make a program that provides multitask and graphs, etc, and this program would run ON THE TOP OF DOS......

I will also read this example in Art of Assembly right now

Thanks for the answers....

Re:Windows 3.1 like development

Posted: Sun Jan 15, 2006 7:57 pm
by Dex4u
Sorry i thought you was going to make your own dos.
In that case you can do your OS as a mz EXE file like Dex4u OS, you can run Dex4u OS from a floppy, hdd, cd, usb pen drive like any other OS or you can run it from dos by just typing "kernel32.exe" at the dos prompt and at the end you can type "exit" to go back to dos.

You can try it here: http://www.dex4u.com/

Re:Windows 3.1 like development

Posted: Mon Jan 16, 2006 4:04 am
by bubach
I guess you could start by making a simple Pascal program that replaces the DOS keyboard interrupt code with your own, so that you can check for alt+tab even when other programs run.
http://www.programmersheaven.com/zone24/cat579/

After that, your program can start a new command.com or something..
http://student.vub.ac.be/~bvingerh/FAQ1.htm