• Please Share Ada -Freedos - Dos experiences

    From Hou Van Boere@21:1/5 to All on Sat May 27 08:44:55 2023
    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)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Joakim Strandberg@21:1/5 to All on Sat May 27 13:02:58 2023
    lördag 27 maj 2023 kl. 21:49:38 UTC+2 skrev Joakim Strandberg:
    lördag 27 maj 2023 kl. 17:44:57 UTC+2 skrev Hou Van Boere:
    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)
    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

    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Joakim Strandberg@21:1/5 to All on Sat May 27 13:07:30 2023
    lördag 27 maj 2023 kl. 22:03:00 UTC+2 skrev Joakim Strandberg:
    lördag 27 maj 2023 kl. 21:49:38 UTC+2 skrev Joakim Strandberg:
    lördag 27 maj 2023 kl. 17:44:57 UTC+2 skrev Hou Van Boere:
    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)
    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
    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

    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Joakim Strandberg@21:1/5 to All on Sat May 27 12:49:36 2023
    lördag 27 maj 2023 kl. 17:44:57 UTC+2 skrev Hou Van Boere:
    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)

    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hou Van Boere@21:1/5 to All on Sat May 27 14:55:28 2023
    P.S I use less than half of Ada 95 so this compiler could help a lot.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hou Van Boere@21:1/5 to All on Sat May 27 14:54:28 2023
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jeffrey R.Carter@21:1/5 to Hou Van Boere on Sun May 28 01:00:21 2023
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Keith Thompson@21:1/5 to Joakim Strandberg on Sat May 27 16:31:39 2023
    Joakim Strandberg <joakimds@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.Thompson+u@gmail.com
    Will write code for food.
    void Void(void) { Void(); } /* The recursive call of the void */

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Luke A. Guest@21:1/5 to Joakim Strandberg on Sun May 28 07:46:14 2023
    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?"

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From DrPi@21:1/5 to All on Sun May 28 13:01:17 2023
    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From DrPi@21:1/5 to All on Sun May 28 19:42:08 2023
    Le 28/05/2023 à 13:01, DrPi a écrit :

    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.


    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)