From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: FreeDOS, Janus/Ada and GNAT
Date: Fri, 5 Jul 2019 15:09:12 -0500
Date: 2019-07-05T15:09:12-05:00 [thread overview]
Message-ID: <qfoap9$u4f$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: 1ddb4817-8bb0-4cc4-9653-de12f8a746d6@googlegroups.com
<joakimds@kth.se> wrote in message
news:1ddb4817-8bb0-4cc4-9653-de12f8a746d6@googlegroups.com...
>FreeDOS is an open source implementation of MS-DOS and in June 2019
>celebrated 25 years in existence.
...
>There is another Ada compiler called Janus/Ada where tasks are not mapped
>by the
>Ada-Runtime to OS-threads and an Ada application built with Janus/Ada is
>effectively
>a single thread application no matter how many tasks are used in the Ada
>code.
>Considering the task implementation by Janus/Ada, it sounds like a perfect
>fit for
>FreeDOS.
>Of course Janus/Ada produces win32 applications and not DOS application ...
The MS-DOS version of Janus/Ada 83 is still available (mainly because we
mass-produced those and there are a number of cartons of them still here).
Of course, using that would either require reading floppies or me spending
some time to copy the floppies onto a CD. (The serialization scheme used for
those expects to be able to modify the installation media, so one cannot
make a master CD for everyone without replacing the instaaller -- which
seems like too much work for this obsolete product.)
We also had a version for DOS extenders available until the mid-2000s. With
sufficient interest, that could be ported to FreeDOS or possibly the last
version (3.1.1d) could be used (with similar issues with the installer).
Dunno what the 32-bit API for FreeDOS looks like; we supported the Pharlap
DOS Extender along with another one that we used to distribute with the
compiler.
.. > but there is a DOS Extender called HX DOS which can execute many win32
>applicatins on FreeDOS. Trying it out reveals that there are three win32
>calls
>which HX DOS could not emulate:
>
>import not found: InitializeSListHead
>import not found: GetModuleHandleExW
>import not found: FindFirstFileExW
I can't find any evidence that any of these are used in the Janus/Ada
runtime or by the Janus/Ada compiler.
We use FindFirstFileA; it's possible that is implemented in terms of
FindFirstFileExW, but it seems odd that's not available. Similarly, we use
GetModuleHandleA; again, it's possibly implemented in terms of
GetModuleHandleExW, but it seems necessary to some version of
GetModuleHandle to exist.
The first one I have no idea what it is. The Microsoft document doesn't help
much on that, saying it is "for system use only".
It's conceivable I guess that something in the Microsoft SDK uses these
things (I have no idea what that would be or why it is getting added).
>If HX DOS could be extended to emulate these calls then Janus/Ada can
>*probably*
>be used to build multi-task executables for FreeDOS.
Certainly the MS-DOS version of Janus/Ada supported that, and I would be
rather surprised if it didn't work on more recent compilers. The Win32
version does a few odd things vis-a-vis memory management to get around
Windows limitations on the use of the stack, but otherwise it should pretty
vanilla.
Randy.
next prev parent reply other threads:[~2019-07-05 20:09 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-04 9:04 FreeDOS, Janus/Ada and GNAT joakimds
2019-07-04 13:09 ` joakimds
2019-07-05 20:09 ` Randy Brukardt [this message]
2019-07-08 12:47 ` joakimds
2021-01-01 21:41 ` Joakim Strandberg
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox