Hi Andrew,

> Is freedos a reverse engineering of MS-DOS...

No. It is a program written based on the documentation
about what MS DOS does for you, how it interacts with
DOS software and drivers. At the moment, the FreeDOS
kernel behaves a lot like MS DOS even as far as some
quite exotic things are concerned. When our "bible",
the RBIL (Ralf Brown's Interrupt List) tells that MS
DOS would do something strange in a certain situation,
we often had to make FreeDOS do the same strange thing,
because software and drivers written for DOS were only
tested with MS DOS and actually expect the strange but
"normal for MS DOS" thing to happen. Sometimes we even
have to find out by experimentation. For example we had
to look at the TC3 IDE to find out why it did not run
on FreeDOS :-).

> built on IA32 architecture?

You call it IA32, but actually the FreeDOS kernel only
uses 16bit *pointers* (first 1 MB plus 64 kB of HMA).
We have 8086 compatible versions but you can also use a
version which uses 32bit *calculations*. Then you need
a 386 or newer CPU, but you will save a bit of RAM and
you will gain a little bit of speed. FreeDOS runs in
real mode, but DOS extenders and drivers can use the
protected mode. For example EMM386 itself runs in the
32bit (with 32bit pointers) protected mode and opens
a "vm8086" task where DOS keeps running with real mode
style 16bit pointers while EMM386 is loaded and active.

> Are there any ports to say... mac, sun, and other
> architectures?

That would make little sense: While you can compile the
FreeDOS kernel for other CPU families with some work
(you would have to replace the parts written in Assembly
language), none of your DOS programs would run, because
all DOS programs are only available for IA32 CPU types.

You would also have to replace (probably very few) direct
hardware access parts of the kernel, and you will have to
provide a basic PC compatible BIOS for access to disk,
keyboard and screen (optionally others, like serial and
printer ports and clock). There is a nice FAQ item which
has a list of BIOS functions needed by FreeDOS, written
for somebody who wanted to build a minimal embedded system
computer with DOS on it. Google for "embedded system" on
site:fd-doc.sourceforge.net to find it :-).

> Am curious whether freedos can be natively ported to other
> platforms...  like PSP, etc.

See above. I do not think the PSP has an IA32 CPU, so the
answer is probably no. But people have ported FreeDOS to
Tandy / Sanyo "PC" by writing a custom BIOS extension and
loading it in RAM (the Tandy has no PC compatible BIOS)
and by modifying the memory layout of the kernel a bit.
There is also a port for the old communicator 9000 phone,
I believe.

> What steps are required for one to do if one wants to
> port freedos natively to PSP?

See above. But note that a Linux for PSP already exists,
so you could run a virtual PC like Bochs on PSP and then
install FreeDOS there. If the PSP would have a CPU from
the IA32 family, you could gain a lot of speed by using
the DOSEmu emulator and installing FreeDOS there, as this
emulator only creates virtual hardware (screen, keyboard
etc) but lets DOS run in a vm8086 task on the native CPU.

Eric



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to