Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Please Share Ada -Freedos - Dos experiences

64 views
Skip to first unread message

Hou Van Boere

unread,
May 27, 2023, 11:44:57 AM5/27/23
to
Hi Everyone

I am thinking about using FreeDos as a kind of RTOS. The application is to control scientific instruments so portability is a non-issue.

Can you please share bits and pieces about running Ada on FreeDos(or MS DOS)

Joakim Strandberg

unread,
May 27, 2023, 3:49:38 PM5/27/23
to
Hi,

I wrote about how to get DJGPP compiler on DOS: https://www.reddit.com/r/ada/comments/vrhsv5/how_to_install_gnat_314b_on_freedos_13/
I recommend installing a recent version of DJGPP, you will be able to use a lot the Ada language except for tasking which DJGPP does not support on FreeDos.

I have been looking for an Ada83 or Ada95 compiler for DOS which compiles real-mode executables but the ones I found are still proprietary and can be bought. It indicates there are still old systems on old hardware still in use.

I haven't built something on DOS, just toying with the idea. I've successfully been able to execute my Advent of code solutions for 2022 on FreeDOS. I've also successfully switched to VGA mode and putting pixels on the screen and switching back to text mode from an Ada application. I did it by interfacing with C code that had assembler embedded, if I remember correctly.

Best regards,
Joakim

Joakim Strandberg

unread,
May 27, 2023, 4:03:00 PM5/27/23
to
Hi again,

Another idea is to use the ObjectAda 7.0 compiler (free version) from 1996 that can be downloaded here:
https://archive.org/details/ObjectAdaSE7
It runs on Windows 95/98 but looking at the documentation for the ObjectAda compiler it says it is possible to use the compiler to create executables for DOS by using a DOS Extender. I haven't tried it but should be possbile to get working. Unfortunately there are limitations with the free version. One good thing is that it is possible to use tasks freely for creating a FreeDOS application but one must restrict one-self to Ada95 since the compiler is from 1996.

There is a professional version of ObjectAda from 2002 that can be downloaded here: https://vetusware.com/download/ObjectAda%207.2.2%20Enterprise%207.2.2/?id=17315
I've tested it and it works but the documentation no longer talks about being able to create executables for FreeDOS. Maybe it can still be used to make executables for FreeDOS?

Best regards,
Joakim

Joakim Strandberg

unread,
May 27, 2023, 4:07:32 PM5/27/23
to
Hi yet again!

However, the biggest obstacle for using FreeDOS is hardware support. FreeDOS depends upon BIOS and all motherboards since 2020 no longer support BIOS. Does anybody know of any hardware produced today that supports FreeDOS?

Best regards,
Joakim

Hou Van Boere

unread,
May 27, 2023, 5:54:30 PM5/27/23
to
Thanks Joakim! this is super helpful.
I downloaded the compiler cd.
I have tried this:
https://github.com/andrewwutw/build-djgpp

It looks helpful to build dlgpp but it does not work well enough on Trisquel Linux. I find that building GCC on current or old Slackware versions seems to work well and I am going to re-try this project. I know I will have to re-run with --enable-languages=c,ada later but at least it should set up most of what is needed.

Your Freedos environment tips will help a lot.

I just bought my son a new computer and I am kind of depressed after. The store was huge but completely geared towards gaming. It seems like today's computers are not well suited for hardware interfacing and hacking with electronics. There was way more expansion in the past and I hate having to configure for legacy bios. I think this will be dropped soon too and then we will be stuck

Hou Van Boere

unread,
May 27, 2023, 5:55:29 PM5/27/23
to
P.S I use less than half of Ada 95 so this compiler could help a lot.

Jeffrey R.Carter

unread,
May 27, 2023, 7:02:02 PM5/27/23
to
On 2023-05-27 17:44, Hou Van Boere wrote:
>
> I am thinking about using FreeDos as a kind of RTOS. The application is to control scientific instruments so portability is a non-issue.
>
> Can you please share bits and pieces about running Ada on FreeDos(or MS DOS)

I used Ada (83) (Janus/Ada and Meridian Ada) on DOS PCs in the 80s and 90s. It
was much like writing command-line applications for Linux or Windows today. I
also did some low-level stuff, trapping key strokes and doing graphics. But if
you're thinking of using DOS as an RTOS then that's probably not very helpful
for you.

RR Software (rrsoftware.com) continues to sell an Ada-83 DOS compiler, and may
be able to provide an Ada-95 DOS compiler on request. Their prices are
reasonable: the personal edition of their Ada-95 Windows compiler is $195.

Or you could look at the MaRTE OS RTOS (https://marte.unican.es/) which is
written mostly in Ada and supports GNAT compilers. I don't know how that would
compare in terms of ease of getting things set up or developing S/W for it.

--
Jeff Carter
"Use recursive procedures for recursively-
defined data structures."
Elements of Programming Style
191

Keith Thompson

unread,
May 27, 2023, 7:31:46 PM5/27/23
to
Joakim Strandberg <joak...@kth.se> writes:
[...]
> Another idea is to use the ObjectAda 7.0 compiler (free version) from
> 1996 that can be downloaded here:
> https://archive.org/details/ObjectAdaSE7
> It runs on Windows 95/98 but looking at the documentation for the
> ObjectAda compiler it says it is possible to use the compiler to
> create executables for DOS by using a DOS Extender. I haven't tried it
> but should be possbile to get working. Unfortunately there are
> limitations with the free version. One good thing is that it is
> possible to use tasks freely for creating a FreeDOS application but
> one must restrict one-self to Ada95 since the compiler is from 1996.
>
> There is a professional version of ObjectAda from 2002 that can be
> downloaded here:
> https://vetusware.com/download/ObjectAda%207.2.2%20Enterprise%207.2.2/?id=17315
> I've tested it and it works but the documentation no longer talks
> about being able to create executables for FreeDOS. Maybe it can still
> be used to make executables for FreeDOS?

I wonder if those are authorized copies. I suspect they aren't.

Aonix no longer exists, but apparently its assets are now owned by PTC,
which still sells (a much newer version of) ObjectAda.
https://www.ptc.com/en/products/developer-tools/objectada

The copy on archive.org is of a CD whose label says "This edition of
ObjectAda is not licensed for development of commercial software. This
CD may not be re-sold." It does have an "All rights reserved" copyright
message.

(I worked for Aonix many years ago, but I have no current connection
with them or their successors.)

--
Keith Thompson (The_Other_Keith) Keith.S.T...@gmail.com
Will write code for food.
void Void(void) { Void(); } /* The recursive call of the void */

Luke A. Guest

unread,
May 28, 2023, 2:47:30 AM5/28/23
to
On 27/05/2023 21:07, Joakim Strandberg wrote:

> Hi yet again!
>
> However, the biggest obstacle for using FreeDOS is hardware support. FreeDOS depends upon BIOS and all motherboards since 2020 no longer support BIOS. Does anybody know of any hardware produced today that supports FreeDOS?

I thought the CSM is what contains a compatibility "BIOS?"

DrPi

unread,
May 28, 2023, 7:02:34 AM5/28/23
to

> However, the biggest obstacle for using FreeDOS is hardware support. FreeDOS depends upon BIOS and all motherboards since 2020 no longer support BIOS. Does anybody know of any hardware produced today that supports FreeDOS?

Do you really need to use an old PC hardware ?

On a PC (and ARM), you can also run QNX which is a real-time
micro-kernel OS. It is a commercial product but is free for education
and research.

On PCs its is currently easy to use PCIe extension boards. Like FPGA boards.

Also, there are very powerful non x86 (mostly ARM) hardware today. Most
of these boards have PCIe ports to easily add extension boards.


DrPi

unread,
May 28, 2023, 1:42:16 PM5/28/23
to
I forgot to say that Adacore sells a Ada compiler for some QNX versions
(7.x +) but I don't know if there is a free version for education/research.
0 new messages