Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

infrastructure for PDOS development

117 views
Skip to first unread message

kerravon

unread,
Jul 28, 2012, 1:32:02 AM7/28/12
to
PDOS for the x86:

http://pdos.sourceforge.net

has been dormant for some time now. However, I have
discovered someone who is willing to work on it.

So e.g. the work that I want him to do is to change
fat.c so that is supports WriteFile instead of the
current ReadFile only. That's a significant amount
of work.

He wants to know how to get started. I was going to
suggest the following:

1. Get Virtual Box (which I've never used).

2. Figure out how to get 2 MSDOS 5.0 FAT-16 partitions.

3. Install MSDOS 5.0 on one of the partitions.

4. Install EMX 0.9d for DOS.

5. Compile PDOS32.

6. Install PDOS32 on other FAT-16 partition.

7. Boot PDOS32 using Virtual Box.

Note that I wish to complete the original design of
having a 32-bit version of DOS, before branching
into the Unix API and Windows API.

I might make a 64-bit version of DOS as well.

Anyway, does that sound like a plan *for the goals I
want*, or am I barking up the wrong tree using
Virtual Box and it would be better to go with
Bochs (which I have used before, doing minimal work
on it)? The project is quite small, so there
shouldn't be an issue running under emulation.

My main goal is to be able to do PDOS32 development
under PDOS32, taking away the MSDOS 5.0 requirement.

Thanks. Paul.

Rod Pemberton

unread,
Jul 28, 2012, 5:05:09 AM7/28/12
to
"kerravon" <kerr...@w3.to> wrote in message
news:5696ba0b-741b-4a8d...@googlegroups.com...
> PDOS for the x86:
>
> http://pdos.sourceforge.net
>
> has been dormant for some time now. However, I have
> discovered someone who is willing to work on it.
>

I added comp.os.msdos.programmer.

> So e.g. the work that I want him to do is to change
> fat.c so that is supports WriteFile instead of the
> current ReadFile only. That's a significant amount
> of work.
>

Why is that a significant amount of work? Won't your code read
and write at the same locations? Code symmetry?

> He wants to know how to get started. I was going to
> suggest the following:
>
> 1. Get Virtual Box (which I've never used).
>

Or, VMWare...

That seems to be mentioned the most, although there is not much traffic here
(a.o.d. and c.o.m.p.) anymore. Maybe try OSDev or it's forums for OS
development. The "DOS ain't dead" forum seems to be active for DOS
programming.

You mentioned Bochs. I've not used it, but have heard that it's very slow.
Although, it may have some good features. E.g., Benjamin Lunt contributed
USB support and floppy fixes, etc.

I've used QEMU. Mostly, that was just for booting a few disk images. It
works.

OSDev
http://wiki.osdev.org/Main_Page

DOS ain't dead forum
http://www.bttr-software.de/forum/forum.php

> 2. Figure out how to get 2 MSDOS 5.0 FAT-16 partitions.
>

I know how to do that when *not* in an emulator...

IIRC, Linux has some nice functionality there, e.g., 'mount' with 'vfat' and
scripts for creating various fat filesystems or images. Although, I'm not
sure which emulators will work on Linux...

He might try FreeDOS instead of trying to locate an ancient copy of MS-DOS:
http://www.freedos.org/

DR-DOS/OpenDOS website is around too and is being updated.

FreeDOS-32 (stalled, incomplete)
http://freedos-32.sourceforge.net/

> 3. Install MSDOS 5.0 on one of the partitions.
>

IMO, MS-DOS 6.22 was the first DOS by MS without some serious bugs.

> 4. Install EMX 0.9d for DOS.
>

Why does he need EMX?

It seems EMX is primarily a DPMI host ... (?)

Well, DJGPP compiler (GCC + DOS library) compiles for CWSDPMI DPMI host and
OpenWatcom C compiler compiles for DOS4G/W DPMI host and DOS extender. Both
support a number of other DPMI hosts. OW also supports pure 16-bit DOS
.exe's. If you don't need POSIX or GCC, OW is a good choice. Currently,
DOS32/A and HXDOS are popular DPMI hosts and/or DOS extenders.


IIRC, your C code is ANSI C.

What C compiler were you going to suggest? BorlandC? Try OW...


Rod Pemberton


kerravon

unread,
Jul 28, 2012, 8:45:36 PM7/28/12
to
On Saturday, July 28, 2012 7:05:09 PM UTC+10, Rod Pemberton wrote:
> > So e.g. the work that I want him to do is to change
> > fat.c so that is supports WriteFile instead of the
> > current ReadFile only. That's a significant amount
> > of work.
>
> Why is that a significant amount of work? Won't your code read
> and write at the same locations? Code symmetry?

It's one thing to chain through the FAT clusters etc following someone else's path. It's a whole lot of extra logic to be able to generate your own path, and record that path properly. Well, maybe it'll be easier once we get started.

> > 4. Install EMX 0.9d for DOS.
> Why does he need EMX?
> It seems EMX is primarily a DPMI host ... (?)

No, it includes a C compiler:
http://en.wikipedia.org/wiki/EMX_(programming_environment)

> Well, DJGPP compiler (GCC + DOS library) compiles for CWSDPMI DPMI host and
> OpenWatcom C compiler compiles for DOS4G/W DPMI host and DOS extender. Both
> support a number of other DPMI hosts.

I extract the a.out file from EMX's executables.

> IIRC, your C code is ANSI C.

Yes it is, but it obviously does non-standard things like BIOS interrupts.

> What C compiler were you going to suggest? BorlandC? Try OW...

The one from EMX. Note that this is already operational. ie PDOS32 already works. It's just being extended.

Thanks for your reply. Paul.

kerravon

unread,
Jul 29, 2012, 3:08:46 AM7/29/12
to
I tried getting some experience with OpenDOS (DRDOS),
and unfortunately Bochs got a "disk unreadable" error
on the image.

The image is bigger than my DOS5 image ...

C:\devel\pdos\src\bochs>dir *.img
Volume in drive C has no label.
Volume Serial Number is 4ABA-BE3B

Directory of C:\devel\pdos\src\bochs

11/06/2001 11:47 AM 1,474,560 dos5.img
24/01/2005 07:24 PM 1,474,979 drdos.img
02/02/2011 03:31 AM 30,965,760 hd1.img
31/01/2011 10:23 PM 30,965,760 hd2.img
29/07/2012 04:58 PM 30,965,760 hd3.img
30/01/2011 04:58 PM 30,965,760 hd3x.img
30/01/2011 06:47 PM 30,965,760 hd3y.img
7 File(s) 157,778,339 bytes
0 Dir(s) 719,893,282,816 bytes free

C:\devel\pdos\src\bochs>

Any idea what is happening?

Thanks. Paul.

Jean-Marc L.

unread,
Jul 30, 2012, 7:34:08 AM7/30/12
to
Hi,

I made a VmWare image of Freedos 1.1 and I installed the EMX 0.9d compiler.

You can download it here:
http://www.cod5.org/tmp/pdos_devel.zip

https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/4_0
http://www.vmware.com/download/eula/diskmount_ws_v55.html

I tried to compile pdos but the "make" utility is missing.
I don't know which one you use, so I did not install any one.

I'm very interested by a public domain OS. I started to write a public
domain C compiler, but I have very limited free time, so the project
doesn't progress as expected.

Hope this helps,
Jean-Marc

kerravon

unread,
Aug 2, 2012, 6:27:06 AM8/2/12
to
On Monday, July 30, 2012 9:34:08 PM UTC+10, Jean-Marc L. wrote:
>
> I made a VmWare image of Freedos 1.1 and I installed the EMX 0.9d compiler.

I think Freedos 1.1 won't work for me, because I need
the "sys" command to work, and I have an io.sys and
msdos.sys that need to be installed. But thanks for
trying.

PDOS 0.86 contains those io.sys and msdos.sys executables.
Can you confirm that it is not possible to use freedos
to install them?

> I tried to compile pdos but the "make" utility is missing.
>
> I don't know which one you use, so I did not install any one.

I use the "make" from Turbo C++ 1.01, which was made
freely available.

> I'm very interested by a public domain OS. I started to write a public
> domain C compiler, but I have very limited free time, so the project
> doesn't progress as expected.

I don't think it is so necessary for the compiler to be
public domain. What I think is more necessary is for the
C runtime library to be public domain. And I have already
done that (PDPCLIB):

http://pdos.sourceforge.net

Let me know if you want to join forces on these PD projects.
See if you agree with pdpgoal.txt in the archive.

Thanks. Paul.

Jean-Marc Lienher

unread,
Aug 2, 2012, 6:27:45 PM8/2/12
to
kerravon a �crit :
> PDOS 0.86 contains those io.sys and msdos.sys executables.
> Can you confirm that it is not possible to use freedos
> to install them?

I confirm, it seems that the Freedos sys.exe is not compatible with your
files.
Freedos uses a single file instead of io.sys and msdos.sys.


> I use the "make" from Turbo C++ 1.01, which was made
> freely available.

It seems that it isn't anymore available to people who don't own an
Embarcadero product.

> I don't think it is so necessary for the compiler to be
> public domain.

The compiler is the root of the OS.
Personally, I wouldn't be happy to develop a public domain OS without a
public domain C compiler.
I admit that there is no public domain C compiler at that time, so if I
need to write an OS now, I would choose an Open Source compiler, like
GCC or Open Watcom.

(There is the new SubC public domain project http://www.t3x.org/subc/
but it seems that its features are very limited.)

> What I think is more necessary is for the
> C runtime library to be public domain. And I have already
> done that (PDPCLIB):
>
> http://pdos.sourceforge.net

Yes I know your project since several years.

> Let me know if you want to join forces on these PD projects.
> See if you agree with pdpgoal.txt in the archive.

I can't tell that I will work for any project. In the past I have said
that I would contribute to some public domain projects, but the life
shown me that days have only 24h...

I made some search on the Internet and I found some public domain OS :

Borealis: http://geezer.osdevbrasil.net/os/index.htm
Losethos: http://losethos.com/
PDOS: http://pdos.sourceforge.net/
MMURTL: http://www.ipdatacorp.com/mmurtl.html
XOS: http://openxos.org/
Plasma (Mips): http://opencores.org/project,plasma

(You can find other public domain software on my web page:
http://www.cod5.org/archive/ )

The most advanced public domain OS is XOS. It has a working tcp/ip
stack, graphic card support, USB HID and USB mass storage support...
XOS is used commercially by its author.
The problem is that it is mostly written in assembly and have mixed
calling conventions. I tried to understand how to rewrite the floppy
driver in C, but I failed.
Last year, I had some contacts with the author, he was working on
cleaning things to ease the development in C. I don't know what's the
current status of the project.

I will try to focus my efforts to my C compiler and after that I will
see which project to contribute to.


Rod Pemberton

unread,
Aug 2, 2012, 7:24:33 PM8/2/12
to
"kerravon" <kerr...@w3.to> wrote in message
news:23304fff-cfc3-4168...@googlegroups.com...
> On Monday, July 30, 2012 9:34:08 PM UTC+10, Jean-Marc L. wrote:
> >
> > I made a VmWare image of Freedos 1.1 and I installed the EMX 0.9d
> > compiler.
>
> I think Freedos 1.1 won't work for me, because I need
> the "sys" command to work, and I have an io.sys and
> msdos.sys that need to be installed. But thanks for
> trying.
>

Freedos has a sys.com.

I'm not sure how to get to directly it from the Freedos webpage of system
files. It doesn't seem to be listed in BASE, BOOT, UTILS etc filelists. I
can't seem to locate a separate webpage for the project either.

Supposedly, Freedos' sys.com in package called sysx.zip. The only one I
could find standalone is here:
http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/pkgs/

It says sys.com is being maintained by Jeremy Davis. Despite a claim of
GPL, there is no C or assembly source in the file. It just has a 16-bit
OpenWatcom sys.com binary and documentation.

fdbasews.iso which has source for other packages, has none for sysx. Maybe,
it became part of some other package ... or was renamed ... ?

Apparently, sys.com binary is also in the disk packages (base\disk01).

WARNING: This page says there are at least 3 different sys.com's included
in the fdbasecd.iso, but only one works correctly:
http://reboot.pro/15123/

fdbasecd.iso
http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/

fdbasecd.iso and fd11src.iso
http://www.freedos.org/download/

There might be even more versions in fd11src.iso ...

It seems they're including a binary for sys.com in the Kernel files package.
I'd suspect that is the most recent for each kernel version. From the
Freedos website you'd go to BASE files, then KERNEL which goes to
Sourceforge. You then select a kernel version.

Yes, I'd say something strange going on with Freedos' sys.com, or so it
seems. I.e., where is the package? I.e., where is the FOSS source?
Someone might ask on a Freedos forum.


Alternately, using a floppy, you could just use COPY.EXE from MS-DOS (not
XCOPY.EXE). With COPY/B you can copy *your* io.sys and msdos.sys to a
*previously* SYS'd floppy that has MS-DOS' io.sys and msdos.sys. COPY/B
will put yours in the correct locations.


Rod Pemberton




kerravon

unread,
Apr 11, 2013, 11:21:32 AM4/11/13
to
On Friday, August 3, 2012 9:24:33 AM UTC+10, Rod Pemberton wrote:
> "kerravon" <kerr...@w3.to> wrote in message
>
> > I think Freedos 1.1 won't work for me, because I need
> > the "sys" command to work, and I have an io.sys and
> > msdos.sys that need to be installed. But thanks for
> > trying.
>
> Freedos has a sys.com.

(but as discussed previously, not one that handles
IO.SYS and MSDOS.SYS.

I successfully downloaded DRDOS from here:

http://www.codehosting.net/blog/BlogEngine/post/DR-DOS-boot-floppy-image.aspx

and was surprised to find that there was no
"format" command (nor "sys"). Is DRDOS
incomplete?

Is there any version of MSDOS that is free
for download (same as they made the compiler
freely available)?

Thanks. Paul.

Rod Pemberton

unread,
Apr 13, 2013, 10:28:33 PM4/13/13
to
"kerravon" <kerr...@w3.to> wrote in message
news:e718cbc8-f9ab-4613...@googlegroups.com...
> On Friday, August 3, 2012 9:24:33 AM UTC+10, Rod Pemberton
> wrote:
> > "kerravon" <kerr...@w3.to> wrote in message
> >
> > > I think Freedos 1.1 won't work for me, because I need
> > > the "sys" command to work, and I have an io.sys and
> > > msdos.sys that need to be installed. But thanks for
> > > trying.
> >
> > Freedos has a sys.com.
>
> (but as discussed previously, not one that handles
> IO.SYS and MSDOS.SYS.
>

AIUI, FreeDOS uses KERNEL.SYS and COMMAND.COM. OpenDOS (or
DR-DOS) uses IBMBIO.COM and IBMDOS.COM.

1) I'd recommend finding an MS-DOS SYS command on the Internet
somewhere and use it. Use the MS-DOS SYS command to install
MS-DOS' IO.SYS and MSDOS.SYS to the correct locations on the
floppy disk. Next, COPY/B your files over their files. MS-DOS'
COPY (not XCOPY) preserves the correct file locations.

2) If an MS-DOS SYS command is not available, you'll have to make
the SYS command for FreeDOS or OpenDOS etc work for you. Use
their command to install their files. Next, you want to overwrite
their files with yours. Rename yours to their names. You may
need a special copy command to preserve locations like MS-DOS'
COPY command, or John Fine's Partcopy to overwrite their files.
Once the files are overwritten, attempt to rename the files to
your names, test to see if the disk boots ... or something like
that ... obviously experimental ...

> I successfully downloaded DRDOS from here:
>
>
http://www.codehosting.net/blog/BlogEngine/post/DR-DOS-boot-floppy-image.aspx
>
> and was surprised to find that there was no
> "format" command (nor "sys"). Is DRDOS
> incomplete?
>

Sorry, I don't know.

> Is there any version of MSDOS that is free
> for download (same as they made the compiler
> freely available)?

Sorry, I never heard about it if they did.

You should be able to find MS-DOS (5.00, 6.22, etc) and Windows
98/SE/ME (MS-DOS v7.10) boot disks fairly easily and openly on the
Internet. They should have an MS-DOS IO.SYS, MSDOS.SYS,
COMMAND.COM and perhaps also SYS.COM, FDISK.EXE, FORMAT.COM etc.
Also, in the "dark corners" of the Internet, you should be able to
find complete "copies" of various MS-DOS versions, Windows
98/SE/ME (for MS-DOS 7.10), perhaps even 2k/XP, etc not that I'm
recommending that you should do that, but they're probably still
around if seriously needed ... That might be the only way to
obtain certain obsoleted MS software. Alternately, you could pick
up a "used" version on eBay or perhaps Amazon etc.


Richard Bonner on comp.os.msdos.misc had similar sort of issues
with getting an HP laptop to boot with DR-DOS in "HP Laptop Won't
Boot DR-DOS" 12/20/12. I thought about attempting to construct a
working DR-DOS/OpenDOS boot disk to help with his problem, but I
didn't get around to it.


Rod Pemberton



Harald Peters

unread,
Apr 22, 2014, 6:26:24 PM4/22/14
to
What *DOS version Sys.com/sys.exe do you need ?

Op Sun, 14 Apr 2013 04:28:33 +0200 schreef Rod Pemberton
<do_no...@notemailnotq.cpm>:
--
Gemaakt met Opera's e-mailprogramma: http://www.opera.com/mail/

Paul Edwards

unread,
May 2, 2020, 6:34:55 AM5/2/20
to
On Monday, 30 July 2012 21:34:08 UTC+10, Jean-Marc L. wrote:

> I'm very interested by a public domain OS. I started to write a public
> domain C compiler, but I have very limited free time, so the project
> doesn't progress as expected.

Hi Jean-Marc. Are you still around? Your
website cod5.org has been taken over.

With PDOS/386 being self-hosting, I am
interested in replacing GCC 3.2.3 with a
public domain C compiler. Have you made
any progress with yours?

Thanks. Paul.

Dash

unread,
May 2, 2020, 8:39:47 AM5/2/20
to
I think he changed website:
lienher.org/jean-marc/

-- Dash

Paul Edwards

unread,
May 2, 2020, 9:51:43 AM5/2/20
to
On Saturday, 2 May 2020 22:39:47 UTC+10, Dash wrote:

> I think he changed website:
> lienher.org/jean-marc/

Thanks Dash, just what I needed.

BFN. Paul.
0 new messages