Hi Patrick,

> I want to program on FreeDos, I want to use GCC and I want to port
> over GnuCOBOL. Are there any books or resources you could recommend

Well DJGPP (Gnu C / C++ for DOS) is reasonably compatible
to the Linux version when you compile text oriented tools
and http://www.delorie.com/djgpp/ has documentation :-)

> there another modern SBC or small inexpensive PC...

According to this table:

> https://en.wikipedia.org/wiki/Comparison_of_single-board_computers#CPU,_GPU,_memory

there are a few x86 and/or x86-64 compatible single
board computers around, but I guess Linux and ARM
are way more common. However, you probably do not
want to run DOS in a PC simulator on ARM boards?

> I use vim on Linux, has anyone ported this over?

According to

> http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.2/repos/pkg-html/group-edit.html

the 1.2 distro already included VIM :-) The description
also contains a link to our pre-compiled VIM for DOS.

> Does FreeDos have a fixed limit in terms of resolution.

You should use VESA VBE for graphics. Support depends
on your VGA BIOS quality. You can also use a library
to do the low level stuff for you. None of that is
relevant for DOS, of course, because the kernel only
cares about text screens. You can use MODE and other
tools to change the number of text rows and columns.
This also works better if your VGA BIOS is decent :-)

> do you guys cross compile from Linux

At least some kernel and shell experts do, yes :-)

> Can I confirm that FreeDos is in real mode

Yes and no. If your app is compiled with a 32-bit
protected mode aware compiler such as DJGPP, then
it will be protected mode (for example using DPMI).

The kernel itself is real mode. Only a few memory
drivers and 32-bit tools such as the DOSFSCK port
(CHKDSK has no FAT32 support) need protected mode.

> and that the user logged in can do anything?

Sure, that is a very DOS thing to do :-)

> If I want to write to a parallel port can I just
> assign a pointer to it's address and write to it?

Parallel ports are not memory mapped in general,
so you would use PORT I/O access, not pointers.

> There is no protection correct?

You can do whatever you want with the parallel port
in DOS, you could even try COVOX sound output :-)

> ... can I confirm that FreeDos has no threading.

Correct. Unless your app uses a library which supports
threads inside the app. But the kernel itself neither
uses nor cares about threads.

> If I write a program and it's running, it has 100% of the CPU

Not really. Most modern CPU have multiple cores and a
DOS program, just like DOS itself, can only use ONE of
your cores. Unless of course you use a library which
supports distributing work to other cores, but those
are hard to find. But yes, you get almost 100% of the
CPU time on your first core because DOS has almost no
background tasks. Of course when you call the kernel
to let it do stuff, you will have 0% CPU time until
that stuff is done and the kernel returns the CPU :-)

> a program is basically deterministic and might be
> suitable for soft real time requirements? ...
> experiments and data collection.

Yes and no. I have done data collection myself and had
the following experiences: The BIOS USB keyboard and
mouse support caused lags and delays. PS/2 was fine.

I compiled my program with DJGPP and let it collect
large amounts of data in RAM (2 GB would be easy)
and only used file I/O in periods which had relaxed
timing constraints. Because as said above, when you
(or your C library) ask the DOS kernel to do stuff,
you will have 0% CPU time until DOS stuff is done.

By the way, DJGPP only supports 4 GB address space
and you have to subtract graphics and other MMIO
areas, so do not expect to have 3.5 or 64 GB heap!

Regards, Eric :-)


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to