Want to work on subsystem
Moderator: Moderator Team
-
- Posts: 52
- Joined: Sun Nov 28, 2004 6:26 pm
- Location: Scotland UK
i agree, "look at" != "take code from" but I was under the impression that openDOS was NOT open source.
http://www.drdos.com/products/buyout.htm
but the code has been bought a sold so many times i have lost track of who owns it now.
http://www.drdos.com/products/buyout.htm
but the code has been bought a sold so many times i have lost track of who owns it now.
-
- Posts: 115
- Joined: Wed Jan 05, 2005 10:53 pm
- Location: a thousand miles from Hinterland
- Contact:
While using their code may be beneficial, it is probably better to just share knowledge and experience. A subsystem is probably mostly incompatible with most of their sources anyway. In my view, solid knowledge of DOS interrupts, memory management, etc... (which few people have) is much more valuable than lines and lines of badly written indecipherable code.
caveman LIKES chocolate.
we shall reinvent the wheel until it turns properly.
we shall reinvent the wheel until it turns properly.
hello,
I am back with my silly posts
But this time, after seriously reading and experimenting with FreeDos and DosEmu code.
As many people suggested FreeDOS as an option to run as ReactOS subsystem, I concentrated more on FreeDOS.
Something I came to know are
1) We need ReactOS DOS/Win16 subsystem so that we can run 16bit DOS applications on ReactOS.
2) FreeDOS itself is 16bit system
3) Compiling FreeDOS code with 32bit compiler is so difficult that it gave birth to a new project FreeDOS-32 (I tried compiling FreeDOS code with MinGW with no success)
4) FreeDOS-32 is in its infancy. Currently it can't even run simple DOS applications
5) DOSEmu is really slow
Please give your valuable suggestions.
AcetoliNe: I agree with your last post.
I am back with my silly posts
But this time, after seriously reading and experimenting with FreeDos and DosEmu code.
As many people suggested FreeDOS as an option to run as ReactOS subsystem, I concentrated more on FreeDOS.
Something I came to know are
1) We need ReactOS DOS/Win16 subsystem so that we can run 16bit DOS applications on ReactOS.
2) FreeDOS itself is 16bit system
3) Compiling FreeDOS code with 32bit compiler is so difficult that it gave birth to a new project FreeDOS-32 (I tried compiling FreeDOS code with MinGW with no success)
4) FreeDOS-32 is in its infancy. Currently it can't even run simple DOS applications
5) DOSEmu is really slow
Please give your valuable suggestions.
AcetoliNe: I agree with your last post.
-
- Posts: 115
- Joined: Wed Jan 05, 2005 10:53 pm
- Location: a thousand miles from Hinterland
- Contact:
I agree.FreeDOS-32 is in its infancy. Currently it can't even run simple DOS applications
That doesn't necessarily mean that FreeDOS can't be compiled with a 32-bit compiler. It just means it can't be compiled with MinGW. DJGPP perhaps? Also, check that you're using the right compiler options. The executables need to be in MZ format, not PE format.Compiling FreeDOS code with 32bit compiler is so difficult that it gave birth to a new project FreeDOS-32 (I tried compiling FreeDOS code with MinGW with no success)
FreeDOS is useless as a subsystem because it is a seperate OS. It needs its own kernel, etc... in order to run. Some parts of it COULD be used, but I don't think that's very likely.
Anyways,
After a lot of pouring through emulators and testing them out, I think that the best solution is Virtual Real Mode, because it is the way Windows implements DOS. The only caveats to this are:
1. Since it's part of the OS (which has been Windows up to now) no already-implemented free solutions exist. It'll have to be 100% rewritten from scratch.
2. It will only run on x86 processors, which means that if ReactOS gets ported to another cpu architecture the subsystem will have to be rewritten.
It is however, the way Windows does it, which means full coherence with the Windows DOS subsystem, and it is also very fast (possibly the fastest option available).
caveman LIKES chocolate.
we shall reinvent the wheel until it turns properly.
we shall reinvent the wheel until it turns properly.
I agree that Virtual Real Mode seems to be the right choice. Not because windows does it this way but because it will save a lot of time on x86. ReactOS is almost usabale and DOS subsystem work has still not started.the best solution is Virtual Real Mode, because it is the way Windows implements DOS
Actually, both of the above mentioned points are good for us. As we have to write everything from scratch, we can design it in such a way that code is reusable as much as possible while porting to other processor architecture.1. Since it's part of the OS (which has been Windows up to now) no already-implemented free solutions exist. It'll have to be 100% rewritten from scratch.
2. It will only run on x86 processors, which means that if ReactOS gets ported to another cpu architecture the subsystem will have to be rewritten.
-
- Posts: 115
- Joined: Wed Jan 05, 2005 10:53 pm
- Location: a thousand miles from Hinterland
- Contact:
I checked ntoskrnl and it looks like V86 support (the backbone kernel-level code needed for virtual dos) is already more or less implemented in the kernel. Just check out ntoskrnl\ke\i386. I don't know how functional it is though. This will simplify the process of creating a subsystem to a great extent.
About freeDOS, i guess some basic progs such as COMMAND.COM could be used and could save us a lot of time.
Virtual Real mode it is then!
About freeDOS, i guess some basic progs such as COMMAND.COM could be used and could save us a lot of time.
Virtual Real mode it is then!
caveman LIKES chocolate.
we shall reinvent the wheel until it turns properly.
we shall reinvent the wheel until it turns properly.
Check out DOSBox instead !I concentrated more on FreeDOS
»Forward Agency NPO
In progress we (always) trust.
In progress we (always) trust.
DOSBox is an emulator. It works by assuming that most games were written for 2-486 and pentium class processors, and that you have a hot gaming rig of at least a gigaherz. This is a cool thing for Windows, but don't you agree it's way cooler if ReactOS implements a DOS subsystem that can run just as many games and more than DOSBox, because it, for a change (compared to WinXP's DOS subsystem), DOES implement a real DOS, and provides everything old games need? At at least twice the speed.patchworks wrote:Check out DOSBox instead !I concentrated more on FreeDOS
many dos apps directly access hardware.
in NT/ROS no app directly accesses hardware.
how will this issue be solved?
in NT/ROS no app directly accesses hardware.
how will this issue be solved?
Wir sind die Borg. Widerstand ist Spannung durch Stromstärke.
www.wakka.de
www.wakka.de
-
- Posts: 115
- Joined: Wed Jan 05, 2005 10:53 pm
- Location: a thousand miles from Hinterland
- Contact:
More than many. Basically 99.9% of dos apps directly access the hardware. The fact that many of these programs crash under NT is because of Microsoft's implementation, not because of the weakness of V86 mode.many dos apps directly access hardware.
in NT/ROS no app directly accesses hardware.
how will this issue be solved?
I believe it is best to emulate hardware. A virtual soundcard (as succesfully done in VDMSound), virtual video card, network card, etc...
In V86 mode, OUT and IN calls are sent to the 32-bit monitor, where they can easily be intercepted and virtual hardware be simulated.
caveman LIKES chocolate.
we shall reinvent the wheel until it turns properly.
we shall reinvent the wheel until it turns properly.
-
- Posts: 198
- Joined: Sun Jan 16, 2005 5:47 pm
- Location: Duesseldorf, Germany
- Contact:
A boot option (in FreeLoader) "No GUI". So you can boot ReactOS in text mode. You can start console apps and use NTFS/ext2/ext3/reiserfs driver. if you start a Win32 GUI application the GUI part of ReactOS will load. So you can open winlogon.exe or explorer.exe and you can use Ros in the normal way.pentiumforever wrote:it would be fine when you integrate a function like the windows 95/98 function "restart in the dos mode" then the user found a freedos (16BIT)
EDIT: Maybe with a dos NTFS/ext2/ext3/reiserfs driver?
Who is online
Users browsing this forum: No registered users and 29 guests