Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

ARM version of MSDOS (Announce)

posted by kerravon, Ligao, Free World North, 19.01.2024, 16:44

> > > > I remember that porting FreeDOS to other
> > > > processors has already been a topic many years ago [...]
> >
> > > DOS/NT (predecessor to DOS-C) ran atop 68k processors for a client,
> > right?
> > > But it was very limited. Full MS-DOS portability is harder for other
> > > architectures (needing some emulation).
> >
> > Could you please expand on this? What is "Full
> > MS-DOS portability" and why is it hard?
>
> The summary of the 68k portability case can be found in
>
> https://en.wikipedia.org/wiki/Pat_Villani#FreeDOS_involvement
>
> Pat Villani had written XDOS which grew to NSS-DOS and DOS/NT:
>
> "When one potential contractor sought to use the OS in a system equipped
> with Motorola 680x0 processors instead of Intel x86 processors, for which
> the system was designed originally and which utilize different instruction
> sets and memory models, Villani was able to redesign his system to become
> portable across a range of different compilers and target environments"

That article continues:

"This move to a completely different target platform, while losing binary compatibility with existing applications, would have required a complete rewrite from scratch had his system not been written in a high-level language such as C, which allowed him to reuse large parts."


Which is exactly my experience. ie writing in C makes porting the OS relatively easy. At least the core functionality that an OS needs to provide (managing the filesystem, managing memory, providing APIs).

The core of MSDOS is actually the same as Unix with open/read/write/seek/close - and the source code of MSDOS even mentions Xenix.

I assume that due to limited memory, tools and processor speed, MSDOS was hand-coded in assembler rather than simply copying the Xenix code (had it been written in C). Which is fine for the 8086. But if you need to port to some other environment then the MSDOS basics - if written in C - ie Xenix-like - should be portable.

So it depends what is meant by "full MSDOS portability". The fact that it is being ported clearly speaks to the fact that the application API is not going to be accepting segment/offset pairs in 8086 registers. It is clear that the interface is going to accept some sort of appropriate pointer for the system (ie same as Unix/Windows and presumably Xenix).

And so once you establish an "appropriate API" (which cannot possibly be 8086 registers on a 68000), then I'm not sure what the terms "limited", "full MSDOS portability" and "hard" even mean.

I mean - yes it's hard to write an OS (although some people dispute that). But that's the case even if you're not trying to achieve MSDOS compatibility. And again - all OSes essentially support C90 - so they're all essentially MSDOS compatible anyway.

Sorry if I rambled somewhat, but this is my exact interest for 30 years.

 

Complete thread:

Back to the forum
Board view  Mix view
22049 Postings in 2034 Threads, 396 registered users, 114 users online (0 registered, 114 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum