Hi Andy,

> Thanks for the responses.  I really don't have a project/idea in mind but
> am looking to get my hands dirty and develop/work on/debug/poke anything
> that needs to be done to improve the project.
> 
> After looking at the FreeDOS roadmap (
> http://www.freedos.org/wiki/index.php/FreeDOS_Road_Map) it seems like
> working on developing automated regression tests (something I do most days)
> would be beneficial to speed up releases.  Has anyone looked into this
> before?  What would be things that would be most useful to be tested?

This would be beneficial if there were frequent code changes, which is
not the case. In my personal opinion, it might be more useful to help
Mateusz keeping an eye on updated packages to wrap them up in FreeDOS
structured ZIPs for his update and installation tool, so the users can
have fresh software. Regarding regression tests: There ARE some tickets
where it would indeed be interesting to find out in which svn version
of kernel (or maybe command.com, not so many other svn-based sources)
a certain bug showed up or went away. So in that sense, your plant for
making automated VM images running automated tests CAN be useful :-)

Let me see what else the page lists:

> == An Analysis of FreeDOS Needs ==
> 
> There are certain needs that the 1.0 release does not address.  These are:
> * Built-in networking and internet connectivity currently provided by add on 
> packages.
> * Open source USB support through a built-in subsystem.
> * Integrated protected mode programming currently provided by add on packages.
> * Native 32‑ and 64‑bit code base.

Honestly all of the above work quite well as drivers (using config.sys
device drivers or command line runnable TSR drivers) and looking at
FD32 experiences, building DPMI directly into the DOS kernel only has
minimal performance advantages, for example. Of course it is important
to have a good COLLECTION of drivers for in particular basic USB device
classes and in particular wired ethernet network, even if they are just
drivers and not parts of the kernel.

For protected mode and 32/64 bit addressing (and multi CPU core thread
processing) the necessary low level programming can be very tricky, so
we have to stay thankful to the few experts who maintain the drivers
for EMS / XMS / VCPI / DPMI and related. The USB core is also complex,
but at least for drivers for specific USB devices, I see more chances
for less specialized programmers to contribute.

> * New device drivers available in other operating systems.

At the moment, for example MPXPLAY uses ported (Linux ALSA?) built-in
sound hardware drivers, but the nature of the DOS game versus soundcard
interaction makes providing drivers for those hard: Most games have the
driver built-in, not exchangeable. There are proof of concept "virtual"
hardware drivers which show a simplified SoundBlaster hardware to DOS
games while sending the actual sound to other hardware, but they suffer
from the same problem as the protected mode drivers above: Complexity.

For printing, the basic I/O can be seen as printer port, USB or network
topic (there are some native and ported tools for the latter) while the
printer language is sort of covered by ports of GhostScript and similar
but could probably gain from having more choice of methods. For example
for basic "print screen" functionality, we have a tiny driver which can
do greyscale PostScript, HP/PCL and ESC/P in old dialects, which in turn
is more convenient than having to go through GhostScript batches first.

Note that nevertheless, it is barely used: Most people seem to use DOS
only to print text or use DOS in a VM where they can also use drivers
and tools of the host operating system. In particular for games, it is
way more common to use DOSBOX or DOSEMU than to use raw hardware now.
By the way, there are cool drivers like VMSMOUNT which specifically do
driver work for improving DOS interaction with for example VMWare VMs.

> * Faster release cycle through automated regression testing.

Might be interesting, see above :-)

> == Proposed Road Map ==
> 
> The proposed road map (as of 20 August 2010) is as follows:
> * Automated regression testing will begin with version 1.1.
> * Tightly integrated protected mode support will begin with version 1.2.
> * Tightly integrated, protected mode networking, protected mode USB subsystem 
> will be part of 1.2
> * Version 1.2 will begin to share device drivers from other open source 
> operating systems.
> * Version 2.0 will migrate kernel to a portable code base to address 32- and 
> 64-bit machines.

Note that this roadmap is somewhat old and can be seen as one of several
possible ways to improve FreeDOS. It basically depends on availability
and interest of developers and on what they enjoy to contribute :-)

Regards, Eric



------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to