Hi, > On Jun 5, 2015, at 6:10 PM, Steve Nickolas <[email protected]> wrote: > > A port of DOS to ARM would not be bound to any existing API and would not > need to be compatible with any existing DOS implementations, while still > being a port of DOS. >
That’s technically incorrect. The reason that Linux (and UNIX) work on different architectures is that the API is the same, but the low level interface to the hardware is the difference. Since there is no BIOS to speak of on other processors, nor a concept of real and protected mode, a lot will have to go into the kernel, basically making a hardware abstraction layer that emulates the BIOS, that can process a DOS executable for Intel processors and make determinations on whether it is a 16-bit application or a 32-bit application and run it accordingly. If you don’t keep the basic DOS API (via Int 21h) then it’s technically not DOS, but another operating system. Microsoft attempted (for the x86 version) to keep a compatibility layer in the OS so that you could run DOS applications, even though these applications were written for a single task, 16-bit real mode OS that allowed direct hardware access, which unfortunately can cause issues in a 32-bit protected mode environment. Fortunately, the benefit in our favor is some of this work has already been done. There is an open source BIOS implementation that can be grafted in to FreeDOS, it’s just a matter of figuring out which one to use and how to implement it. > -uso. > > ------------------------------------------------------------------------------ > _______________________________________________ > Freedos-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/freedos-devel ------------------------------------------------------------------------------ _______________________________________________ Freedos-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freedos-devel
