Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Old programmers never die, they just branch to a new address.


devel / comp.os.cpm / RATFOR for the SuperSoft fortran

SubjectAuthor
* RATFOR for the SuperSoft fortranАндрей Никитин
+* Re: RATFOR for the SuperSoft fortranАндрей Никитин
|+* Re: RATFOR for the SuperSoft fortranldkr...@gmail.com
||`* Re: RATFOR for the SuperSoft fortranАндрей Никитин
|| `- Re: RATFOR for the SuperSoft fortranАндрей Никитин
|`* Re: RATFOR for the SuperSoft fortranMartin
| `- Re: RATFOR for the SuperSoft fortranАндрей Никитин
`* Re: RATFOR for the SuperSoft fortranMartin
 `* Re: RATFOR for the SuperSoft fortranАндрей Никитин
  `* Re: RATFOR for the SuperSoft fortranАндрей Никитин
   `* Re: RATFOR for the SuperSoft fortranАндрей Никитин
    `* Re: RATFOR for the SuperSoft fortranАндрей Никитин
     +- Re: RATFOR for the SuperSoft fortranDennis Boone
     `* Re: RATFOR for the SuperSoft fortranMartin
      `* Re: RATFOR for the SuperSoft fortranUdo Munk
       +- Re: RATFOR for the SuperSoft fortranАндрей Никитин
       `* Re: RATFOR for the SuperSoft fortranMartin
        `* Re: RATFOR for the SuperSoft fortranUdo Munk
         `- Re: RATFOR for the SuperSoft fortranMartin

1
RATFOR for the SuperSoft fortran

<71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2995&group=comp.os.cpm#2995

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:620a:4495:: with SMTP id x21mr21627674qkp.633.1640882876538;
Thu, 30 Dec 2021 08:47:56 -0800 (PST)
X-Received: by 2002:a05:6820:508:: with SMTP id m8mr20260813ooj.38.1640882876218;
Thu, 30 Dec 2021 08:47:56 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Thu, 30 Dec 2021 08:47:55 -0800 (PST)
Injection-Info: google-groups.googlegroups.com; posting-host=77.37.209.254; posting-account=g8ksUwoAAAC0mgCsQ1LJvKj1k2HoKsbw
NNTP-Posting-Host: 77.37.209.254
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com>
Subject: RATFOR for the SuperSoft fortran
From: nikitinp...@gmail.com (Андрей Никитин)
Injection-Date: Thu, 30 Dec 2021 16:47:56 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 1
 by: Андрей Ник - Thu, 30 Dec 2021 16:47 UTC

I have the source code of the preprocessor RATFOR for the SuperSoft fortran compiler under CP/M. However, one or more included files are missing. Maybe someone has them?
Andrey

Re: RATFOR for the SuperSoft fortran

<198b66b5-34df-4138-a1c2-d8df2683a278n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=3002&group=comp.os.cpm#3002

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:620a:10af:: with SMTP id h15mr22324853qkk.493.1640966168036;
Fri, 31 Dec 2021 07:56:08 -0800 (PST)
X-Received: by 2002:aca:c44:: with SMTP id i4mr1931574oiy.0.1640966167735;
Fri, 31 Dec 2021 07:56:07 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Fri, 31 Dec 2021 07:56:07 -0800 (PST)
In-Reply-To: <9b29fa57-69ed-4fde-8624-2b56cd56a7can@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.37.209.254; posting-account=g8ksUwoAAAC0mgCsQ1LJvKj1k2HoKsbw
NNTP-Posting-Host: 77.37.209.254
References: <71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com> <9b29fa57-69ed-4fde-8624-2b56cd56a7can@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <198b66b5-34df-4138-a1c2-d8df2683a278n@googlegroups.com>
Subject: Re: RATFOR for the SuperSoft fortran
From: nikitinp...@gmail.com (Андрей Никитин)
Injection-Date: Fri, 31 Dec 2021 15:56:08 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 18
 by: Андрей Ник - Fri, 31 Dec 2021 15:56 UTC

пятница, 31 декабря 2021 г. в 18:40:21 UTC+3, ldkr...@gmail.com:
> I have the Source direct from Dr. Scherrer shared "Software Tools Archive", if that is what you are looking for.
> It was released into the public Domain and was sent to BITSAVERS for Uploading by Al.
>
>
> Larry

Many companies have released their own versions of the RATFOR preprocessor. Despite the general similarity, they differed in some details. The values of constants and their names could differ. Each vendor of the RATFOR preprocessor provided its own set of functions and versions of different vendors were not compatible with each other.
Thanks for the suggestion, but I'm interested in the RATFOR preprocessor implementation released by SuperSoft for CP/M or MSDOS.

Andrey

Re: RATFOR for the SuperSoft fortran

<f7abb44b-81a7-4983-9623-9d643c596836n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=3005&group=comp.os.cpm#3005

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:ac8:6d35:: with SMTP id r21mr33095315qtu.9.1640993121401;
Fri, 31 Dec 2021 15:25:21 -0800 (PST)
X-Received: by 2002:a9d:7459:: with SMTP id p25mr26652375otk.231.1640993121074;
Fri, 31 Dec 2021 15:25:21 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Fri, 31 Dec 2021 15:25:20 -0800 (PST)
In-Reply-To: <198b66b5-34df-4138-a1c2-d8df2683a278n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=162.191.133.226; posting-account=vgtDDgoAAAD79vzJigFqI2FioZJCfmjs
NNTP-Posting-Host: 162.191.133.226
References: <71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com>
<9b29fa57-69ed-4fde-8624-2b56cd56a7can@googlegroups.com> <198b66b5-34df-4138-a1c2-d8df2683a278n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <f7abb44b-81a7-4983-9623-9d643c596836n@googlegroups.com>
Subject: Re: RATFOR for the SuperSoft fortran
From: ldkrae...@gmail.com (ldkr...@gmail.com)
Injection-Date: Fri, 31 Dec 2021 23:25:21 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 15
 by: ldkr...@gmail.com - Fri, 31 Dec 2021 23:25 UTC

Do you have a specific computer system that was known to use the RATFOR by Supersoft?
That might narrow down the global searches.

In the TRS-80 Model 4 area of Humongous CP/M Archive there are the following files:
[quote]

ratfor20.zip

Pass Paramters to RATFOR (19xx)(Author Unknown)[MAC].zip
RATFOR Compiler and Applications (19xx)(Author Unknown)[DSK].zip

RatFor Z-80 Disassembler v1.1.1 (1982)(James Beard)[CMD].zip
RatFor Z-80 Disassembler v1.1.1 (1987)(James Beard)[CMD].zip
[/quote]

Larry

Re: RATFOR for the SuperSoft fortran

<e19406a7-a383-42e3-a6e1-a86e4faf10d6n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=3006&group=comp.os.cpm#3006

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:620a:2996:: with SMTP id r22mr25764534qkp.485.1640994552570;
Fri, 31 Dec 2021 15:49:12 -0800 (PST)
X-Received: by 2002:a4a:9747:: with SMTP id v7mr22817767ooi.31.1640994552300;
Fri, 31 Dec 2021 15:49:12 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Fri, 31 Dec 2021 15:49:12 -0800 (PST)
In-Reply-To: <f7abb44b-81a7-4983-9623-9d643c596836n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.37.209.254; posting-account=g8ksUwoAAAC0mgCsQ1LJvKj1k2HoKsbw
NNTP-Posting-Host: 77.37.209.254
References: <71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com>
<9b29fa57-69ed-4fde-8624-2b56cd56a7can@googlegroups.com> <198b66b5-34df-4138-a1c2-d8df2683a278n@googlegroups.com>
<f7abb44b-81a7-4983-9623-9d643c596836n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e19406a7-a383-42e3-a6e1-a86e4faf10d6n@googlegroups.com>
Subject: Re: RATFOR for the SuperSoft fortran
From: nikitinp...@gmail.com (Андрей Никитин)
Injection-Date: Fri, 31 Dec 2021 23:49:12 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 28
 by: Андрей Ник - Fri, 31 Dec 2021 23:49 UTC

суббота, 1 января 2022 г. в 02:25:21 UTC+3, ldkr...@gmail.com:
> Do you have a specific computer system that was known to use the RATFOR by Supersoft?
> That might narrow down the global searches.
>
> In the TRS-80 Model 4 area of Humongous CP/M Archive there are the following files:
> [quote]
>
> ratfor20.zip
>
> Pass Paramters to RATFOR (19xx)(Author Unknown)[MAC].zip
> RATFOR Compiler and Applications (19xx)(Author Unknown)[DSK].zip
>
> RatFor Z-80 Disassembler v1.1.1 (1982)(James Beard)[CMD].zip
> RatFor Z-80 Disassembler v1.1.1 (1987)(James Beard)[CMD].zip
> [/quote]
>
> Larry
The source code of the RATFOR preprocessor for the Model 4 TRS-80 is missing. The executable file is incompatible with CP/M. The RATFOR program is presented there as a library in the rel format. I tried to extract the RATFOR modules into separate files and compile the executable for CP/M. But it didn't work out for me. I tried to adapt the source code of RATFOR programs to work with libraries in the rel format. I partially succeeded, but it is difficult to fix the code that depends on another operating system. It is for this reason that I am looking for the RATFOR source code from Supersoft.
Andrey

Re: RATFOR for the SuperSoft fortran

<8171a0d0-d21b-450d-b2f8-dd39d114a80fn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=3007&group=comp.os.cpm#3007

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:ac8:7dcd:: with SMTP id c13mr32207867qte.133.1640995471959;
Fri, 31 Dec 2021 16:04:31 -0800 (PST)
X-Received: by 2002:a54:450b:: with SMTP id l11mr28771290oil.139.1640995471673;
Fri, 31 Dec 2021 16:04:31 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Fri, 31 Dec 2021 16:04:31 -0800 (PST)
In-Reply-To: <e19406a7-a383-42e3-a6e1-a86e4faf10d6n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.37.209.254; posting-account=g8ksUwoAAAC0mgCsQ1LJvKj1k2HoKsbw
NNTP-Posting-Host: 77.37.209.254
References: <71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com>
<9b29fa57-69ed-4fde-8624-2b56cd56a7can@googlegroups.com> <198b66b5-34df-4138-a1c2-d8df2683a278n@googlegroups.com>
<f7abb44b-81a7-4983-9623-9d643c596836n@googlegroups.com> <e19406a7-a383-42e3-a6e1-a86e4faf10d6n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8171a0d0-d21b-450d-b2f8-dd39d114a80fn@googlegroups.com>
Subject: Re: RATFOR for the SuperSoft fortran
From: nikitinp...@gmail.com (Андрей Никитин)
Injection-Date: Sat, 01 Jan 2022 00:04:31 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 36
 by: Андрей Ник - Sat, 1 Jan 2022 00:04 UTC

суббота, 1 января 2022 г. в 02:49:13 UTC+3, Андрей Никитин:
> суббота, 1 января 2022 г. в 02:25:21 UTC+3, ldkr...@gmail.com:
> > Do you have a specific computer system that was known to use the RATFOR by Supersoft?
> > That might narrow down the global searches.
> >
> > In the TRS-80 Model 4 area of Humongous CP/M Archive there are the following files:
> > [quote]
> >
> > ratfor20.zip
> >
> > Pass Paramters to RATFOR (19xx)(Author Unknown)[MAC].zip
> > RATFOR Compiler and Applications (19xx)(Author Unknown)[DSK].zip
> >
> > RatFor Z-80 Disassembler v1.1.1 (1982)(James Beard)[CMD].zip
> > RatFor Z-80 Disassembler v1.1.1 (1987)(James Beard)[CMD].zip
> > [/quote]
> >
> > Larry
> The source code of the RATFOR preprocessor for the Model 4 TRS-80 is missing. The executable file is incompatible with CP/M. The RATFOR program is presented there as a library in the rel format. I tried to extract the RATFOR modules into separate files and compile the executable for CP/M. But it didn't work out for me. I tried to adapt the source code of RATFOR programs to work with libraries in the rel format. I partially succeeded, but it is difficult to fix the code that depends on another operating system. It is for this reason that I am looking for the RATFOR source code from Supersoft.
> Andrey
On https://github.com/nikitinprior/RELTOASM:
LIBEDIT.RAT - the source code of the LIBE program in the RATFOR language
LIBEDIT.txt - description of the LIBE program in English
Andrey

Re: RATFOR for the SuperSoft fortran

<sqoau7$8pg$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=3008&group=comp.os.cpm#3008

  copy link   Newsgroups: comp.os.cpm
Path: i2pn2.org!i2pn.org!aioe.org!yK7nUsNSoepUkJrzy00ZRw.user.46.165.242.75.POSTED!not-for-mail
From: this.is....@so.its.invalid (Martin)
Newsgroups: comp.os.cpm
Subject: Re: RATFOR for the SuperSoft fortran
Date: Sat, 01 Jan 2022 02:29:44 +0100
Organization: Aioe.org NNTP Server
Message-ID: <sqoau7$8pg$1@gioia.aioe.org>
References: <71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com> <9b29fa57-69ed-4fde-8624-2b56cd56a7can@googlegroups.com> <198b66b5-34df-4138-a1c2-d8df2683a278n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="9008"; posting-host="yK7nUsNSoepUkJrzy00ZRw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:20.0) Gecko/20100101 SeaMonkey/2.17.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: Martin - Sat, 1 Jan 2022 01:29 UTC

Am 12/31/2021 04:56 PM, Андрей Никитин schrieb:
> пятница, 31 декабря 2021 г. в 18:40:21 UTC+3, ldkr...@gmail.com:
>> I have the Source direct from Dr. Scherrer shared "Software Tools Archive", if that is what you are looking for.
>> It was released into the public Domain and was sent to BITSAVERS for Uploading by Al.
>>
>>
>> Larry
>
> Many companies have released their own versions of the RATFOR preprocessor. Despite the general similarity, they differed in some details. The values of constants and their names could differ. Each vendor of the RATFOR preprocessor provided its own set of functions and versions of different vendors were not compatible with each other.
> Thanks for the suggestion, but I'm interested in the RATFOR preprocessor implementation released by SuperSoft for CP/M or MSDOS.
>
> Andrey
>

Some files are in rlee peter's cp/m archive:

/rlee/M/MORROW/BACKUPS/M10/D1/

-rwxr-xr-x 1 martin users 36864 Apr 10 1999 LIBRARYS.REL
-rwxr-xr-x 1 martin users 8320 Apr 10 1999 LISTREL.COM
-rwxr-xr-x 1 martin users 640 Apr 10 1999 LISTREL.DOC
-rwxr-xr-x 1 martin users 4864 Apr 10 1999 LOADER.COM
-rwxr-xr-x 1 martin users 17152 Apr 10 1999 MLIB.REL
-rwxr-xr-x 1 martin users 9472 Apr 10 1999 PATCHREL.COM
-rwxr-xr-x 1 martin users 1280 Apr 10 1999 PATCHREL.DOC
-rwxr-xr-x 1 martin users 1152 Apr 10 1999 RATDEFS.RAT
-rwxr-xr-x 1 martin users 36736 Apr 10 1999 RATFOR.COM
-rwxr-xr-x 1 martin users 18048 Apr 10 1999 RATFOR.FOR
-rwxr-xr-x 1 martin users 17408 Apr 10 1999 RATFOR.RAT
-rwxr-xr-x 1 martin users 128 Apr 10 1999 README.RAT

Re: RATFOR for the SuperSoft fortran

<711017dc-fa7e-4d0e-96d3-dda99046f724n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=3009&group=comp.os.cpm#3009

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:ac8:1088:: with SMTP id a8mr34068559qtj.653.1641038578930;
Sat, 01 Jan 2022 04:02:58 -0800 (PST)
X-Received: by 2002:a05:6808:5d7:: with SMTP id d23mr29459644oij.97.1641038578675;
Sat, 01 Jan 2022 04:02:58 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Sat, 1 Jan 2022 04:02:58 -0800 (PST)
In-Reply-To: <sqoau7$8pg$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=77.37.209.254; posting-account=g8ksUwoAAAC0mgCsQ1LJvKj1k2HoKsbw
NNTP-Posting-Host: 77.37.209.254
References: <71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com>
<9b29fa57-69ed-4fde-8624-2b56cd56a7can@googlegroups.com> <198b66b5-34df-4138-a1c2-d8df2683a278n@googlegroups.com>
<sqoau7$8pg$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <711017dc-fa7e-4d0e-96d3-dda99046f724n@googlegroups.com>
Subject: Re: RATFOR for the SuperSoft fortran
From: nikitinp...@gmail.com (Андрей Никитин)
Injection-Date: Sat, 01 Jan 2022 12:02:58 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 57
 by: Андрей Ник - Sat, 1 Jan 2022 12:02 UTC

суббота, 1 января 2022 г. в 04:31:57 UTC+3, Martin:
> Am 12/31/2021 04:56 PM, Андрей Никитин schrieb:
> > пятница, 31 декабря 2021 г. в 18:40:21 UTC+3, ldkr...@gmail.com:
> >> I have the Source direct from Dr. Scherrer shared "Software Tools Archive", if that is what you are looking for.
> >> It was released into the public Domain and was sent to BITSAVERS for Uploading by Al.
> >>
> >>
> >> Larry
> >
> > Many companies have released their own versions of the RATFOR preprocessor. Despite the general similarity, they differed in some details. The values of constants and their names could differ. Each vendor of the RATFOR preprocessor provided its own set of functions and versions of different vendors were not compatible with each other.
> > Thanks for the suggestion, but I'm interested in the RATFOR preprocessor implementation released by SuperSoft for CP/M or MSDOS.
> >
> > Andrey
> >
> Some files are in rlee peter's cp/m archive:
>
> /rlee/M/MORROW/BACKUPS/M10/D1/
>
> -rwxr-xr-x 1 martin users 36864 Apr 10 1999 LIBRARYS.REL
> -rwxr-xr-x 1 martin users 8320 Apr 10 1999 LISTREL.COM
> -rwxr-xr-x 1 martin users 640 Apr 10 1999 LISTREL.DOC
> -rwxr-xr-x 1 martin users 4864 Apr 10 1999 LOADER.COM
> -rwxr-xr-x 1 martin users 17152 Apr 10 1999 MLIB.REL
> -rwxr-xr-x 1 martin users 9472 Apr 10 1999 PATCHREL.COM
> -rwxr-xr-x 1 martin users 1280 Apr 10 1999 PATCHREL.DOC
> -rwxr-xr-x 1 martin users 1152 Apr 10 1999 RATDEFS.RAT
> -rwxr-xr-x 1 martin users 36736 Apr 10 1999 RATFOR.COM
> -rwxr-xr-x 1 martin users 18048 Apr 10 1999 RATFOR.FOR
> -rwxr-xr-x 1 martin users 17408 Apr 10 1999 RATFOR.RAT
> -rwxr-xr-x 1 martin users 128 Apr 10 1999 README.RAT

The source code of RATFOR from SuperSoft is located at the specified address. However, there is one file missing, namely COMMON.FOR. Apparently, this is an included file with COMMON descriptions for this program. Without this file, it is impossible to compile an executable file for the preprocessor.

The COMMON.FOR file is present in the source code in the RATFOR language:

INCLUDE STDAFX.RAT

#MAIN
%#%#COMMON.FOR
CHARACTER*25 INP,OUT
DATA OUTFILE /1/, INFIL /1/

This is the file I'm trying to find.
Andrey

Re: RATFOR for the SuperSoft fortran

<srj72h$1d6r$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=3014&group=comp.os.cpm#3014

  copy link   Newsgroups: comp.os.cpm
Path: i2pn2.org!i2pn.org!aioe.org!2+t6ON1p2/Yfj2e++j7tQA.user.46.165.242.75.POSTED!not-for-mail
From: this.is....@so.its.invalid (Martin)
Newsgroups: comp.os.cpm
Subject: Re: RATFOR for the SuperSoft fortran
Date: Tue, 11 Jan 2022 07:08:56 +0100
Organization: Aioe.org NNTP Server
Message-ID: <srj72h$1d6r$1@gioia.aioe.org>
References: <71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="46299"; posting-host="2+t6ON1p2/Yfj2e++j7tQA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:20.0) Gecko/20100101 SeaMonkey/2.17.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: Martin - Tue, 11 Jan 2022 06:08 UTC

Am 12/30/2021 05:47 PM, Андрей Никитин schrieb:
> I have the source code of the preprocessor RATFOR for the SuperSoft fortran compiler under CP/M. However, one or more included files are missing. Maybe someone has them?
> Andrey
>

It didn't look very difficult to create a small replacemtnt for
the missing "FCOMMON.FOR".

So after a few hours collecting variable types and dimensions,
here is my first version:

FCOMMON.FOR:
==== 8< =====
IMPLICIT INTEGER (A-Z)
CHARACTER*1000 SCRAT
CHARACTER*1000 GCBUF
CHARACTER*1000 FORSTK(10)
CHARACTER*1000 DTEXT
CHARACTER*1000 DNAMES
INTEGER BRKSTK(10)
INTEGER FORLEN(10)
LOGICAL EOFL
COMMON SCRAT,GCBUF,LGCBUF,
1 DTEXT,LDTEXT,DNAMES,LDNAMS,
1 BRKPTR,BRKSTK,
1 FORPTR,FORSTK,FORLEN,
1 INFIL,OUTFIL,
1 REASHR,LABEL,ERRCNT,EOFL
==== 8< =====

But this was not enough, whatever I tried, the resulting
executable failed with a lot of errors.

And hera began the funny part, placing WRITEs into the code
and looking whats going on.

I finally spotted the problem, a very silly type conversion problem.
In short, the compiler needs to do some form of padding when processing
INTERGER*1 types, a byte sized short integer type often used to hold
single characters.

Single quoted one-character constants were padded whith BLANK (32)
whereas function results (KHAR!) were padded with NULL (0).

The explicit conversion function INT1 also is used in some places,
it was very confusing at first.

Placing INT1 around every single character constant was enough to fix
the code:

$ diff RATFOR0.RAT RATFOR0.RAT
178c178
< | TOKEN == LEXDO | TOKEN == LEXDIGITS | INT1(TOKEN) == '[[' ) [
---
> | TOKEN == LEXDO | TOKEN == LEXDIGITS | INT1(TOKEN) == INT1('[[') ) [
188,189c188,189
< IF ( INT1(TOKEN) == ']' )
< IF ( INT1(LEXTYP(SP)) == '[[' )
---
> IF ( INT1(TOKEN) == INT1(']') )
> IF ( INT1(LEXTYP(SP)) == INT1('[[') )
223c223
< IF ( INT1(LEXTYP(SP)) == '[[' ) RETURN
---
> IF ( INT1(LEXTYP(SP)) == INT1('[[') ) RETURN
282c282
< IF (LEX1 == ';' | LEX1 == '[[' | LEX1 == ']' ) BREAK
---
> IF (LEX1 == INT1(';') | LEX1 == INT1('[[') | LEX1 == INT1(']') ) BREAK
343c343
< IF (K1!=' ' & K1!=TAB) BREAK
---
> IF (K1!=INT1(' ') & K1!=INT1(TAB)) BREAK
747c747
< IF (KHAR(GCBUF,1)!='(')
---
> IF (KHAR(GCBUF,1)!=INT1('('))
809c809
< IF (KHAR(INBUF,1)!='%') BREAK
---
> IF (KHAR(INBUF,1)!=INT1('%')) BREAK
855c855
< 3 IF (KHAR(INBUF,I+1) != '=')
---
> 3 IF (KHAR(INBUF,I+1) != INT1('='))
862c862
< 4 IF (KHAR(INBUF,I+1) != '=')
---
> 4 IF (KHAR(INBUF,I+1) != INT1('='))
869c869
< 5 IF (KHAR(INBUF,I+1) != '=')
---
> 5 IF (KHAR(INBUF,I+1) != INT1('='))
877c877
< IF (KHAR(INBUF,K) == '!')
---
> IF (KHAR(INBUF,K) == INT1('!'))
879c879
< ELSE IF (KHAR(INBUF,I+1) != '=')
---
> ELSE IF (KHAR(INBUF,I+1) != INT1('='))
886c886
< 7 IF (KHAR(INBUF,I+1) == '&')
---
> 7 IF (KHAR(INBUF,I+1) == INT1('&'))
892c892
< 8 IF (KHAR(INBUF,I+1) == '|')
---
> 8 IF (KHAR(INBUF,I+1) == INT1('|'))

These are the commands I used to build the preprocessor.
The two step "loader /h" + "sssload" helps to spot
the data areas inside the code.

A>ratfor
SSS/SUPERSOFT RATFOR TRANSLATOR VER. 4.1.

INPUT FILE? RATFOR.RAT
OUTPUT FILE? RATFOR.FOR
INCLUDING FILE: RATDEFS.RAT
TRANSLATING SUBROUTINE ADDTO(LSCRAT,GCBUF,I)
TRANSLATING INTEGER FUNCTION BYFILL(BUF,I)
TRANSLATING INTEGER FUNCTION KEYLUK(STR)
TRANSLATING CHARACTER*1000 FUNCTION LOOKUP(STRING)
TRANSLATING SUBROUTINE PARSE
TRANSLATING SUBROUTINE UNSTAK(SP,LEXTYP,LABVAL,TOKEN)
TRANSLATING INTEGER FUNCTION LEX(LEXSTR)
TRANSLATING SUBROUTINE DEFST
TRANSLATING SUBROUTINE INCLST
TRANSLATING SUBROUTINE IFCODE(LAB)
TRANSLATING SUBROUTINE WHILEC(LAB)
TRANSLATING SUBROUTINE WHILES(LAB)
TRANSLATING SUBROUTINE OTHERC(LEXSTR)
TRANSLATING SUBROUTINE REPCOD(LAB)
TRANSLATING SUBROUTINE UNTILS(LAB,UN)
TRANSLATING SUBROUTINE FORCOD(LAB)
TRANSLATING CHARACTER*80 FUNCTION CLAUSE(STRING)
TRANSLATING SUBROUTINE FORS(LAB)
TRANSLATING SUBROUTINE DOCODE(LAB)
TRANSLATING SUBROUTINE PUSH(LAB)
TRANSLATING SUBROUTINE DOSTAT(LAB)
TRANSLATING SUBROUTINE EXIT(CODE)
TRANSLATING INTEGER FUNCTION LABGEN(EXTRA)
TRANSLATING SUBROUTINE EATUP(LSCRAT)
TRANSLATING SUBROUTINE BALPAR(LSCRAT,DOSPLT)
TRANSLATING SUBROUTINE ERROR(IAR)
TRANSLATING SUBROUTINE READCD(BUF)

A>for ratfor ;d
COPYRIGHT (C) 1983 SMALL SYSTEMS SERVICES INC.

A>loader ratfor/h/l,mlib
SSS/SUPERSOFT LINKING LOADER VER 3.2
COPYRIGHT 1983 SMALL SYSTEMS SERVICES INC

A>sssload ratfor

Re: RATFOR for the SuperSoft fortran

<79dc750b-2767-486e-bc42-5af41e53fb51n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=3015&group=comp.os.cpm#3015

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:ac8:5c87:: with SMTP id r7mr3577032qta.575.1641908126587;
Tue, 11 Jan 2022 05:35:26 -0800 (PST)
X-Received: by 2002:a54:4405:: with SMTP id k5mr934931oiw.97.1641908126358;
Tue, 11 Jan 2022 05:35:26 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Tue, 11 Jan 2022 05:35:26 -0800 (PST)
In-Reply-To: <srj72h$1d6r$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=77.37.209.254; posting-account=g8ksUwoAAAC0mgCsQ1LJvKj1k2HoKsbw
NNTP-Posting-Host: 77.37.209.254
References: <71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com> <srj72h$1d6r$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <79dc750b-2767-486e-bc42-5af41e53fb51n@googlegroups.com>
Subject: Re: RATFOR for the SuperSoft fortran
From: nikitinp...@gmail.com (Андрей Никитин)
Injection-Date: Tue, 11 Jan 2022 13:35:26 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 195
 by: Андрей Ник - Tue, 11 Jan 2022 13:35 UTC

вторник, 11 января 2022 г. в 09:11:30 UTC+3, Martin:
> Am 12/30/2021 05:47 PM, Андрей Никитин schrieb:
> > I have the source code of the preprocessor RATFOR for the SuperSoft fortran compiler under CP/M. However, one or more included files are missing. Maybe someone has them?
> > Andrey
> >
> It didn't look very difficult to create a small replacemtnt for
> the missing "FCOMMON.FOR".
>
> So after a few hours collecting variable types and dimensions,
> here is my first version:
>
> FCOMMON.FOR:
> ==== 8< =====
> IMPLICIT INTEGER (A-Z)
> CHARACTER*1000 SCRAT
> CHARACTER*1000 GCBUF
> CHARACTER*1000 FORSTK(10)
> CHARACTER*1000 DTEXT
> CHARACTER*1000 DNAMES
> INTEGER BRKSTK(10)
> INTEGER FORLEN(10)
> LOGICAL EOFL
> COMMON SCRAT,GCBUF,LGCBUF,
> 1 DTEXT,LDTEXT,DNAMES,LDNAMS,
> 1 BRKPTR,BRKSTK,
> 1 FORPTR,FORSTK,FORLEN,
> 1 INFIL,OUTFIL,
> 1 REASHR,LABEL,ERRCNT,EOFL
> ==== 8< =====
>
>
> But this was not enough, whatever I tried, the resulting
> executable failed with a lot of errors.
>
> And hera began the funny part, placing WRITEs into the code
> and looking whats going on.
>
>
> I finally spotted the problem, a very silly type conversion problem.
> In short, the compiler needs to do some form of padding when processing
> INTERGER*1 types, a byte sized short integer type often used to hold
> single characters.
>
> Single quoted one-character constants were padded whith BLANK (32)
> whereas function results (KHAR!) were padded with NULL (0).
>
> The explicit conversion function INT1 also is used in some places,
> it was very confusing at first.
>
>
> Placing INT1 around every single character constant was enough to fix
> the code:
>
>
> $ diff RATFOR0.RAT RATFOR0.RAT
> 178c178
> < | TOKEN == LEXDO | TOKEN == LEXDIGITS | INT1(TOKEN) == '[[' ) [
> ---
> > | TOKEN == LEXDO | TOKEN == LEXDIGITS | INT1(TOKEN) == INT1('[[') ) [
> 188,189c188,189
> < IF ( INT1(TOKEN) == ']' )
> < IF ( INT1(LEXTYP(SP)) == '[[' )
> ---
> > IF ( INT1(TOKEN) == INT1(']') )
> > IF ( INT1(LEXTYP(SP)) == INT1('[[') )
> 223c223
> < IF ( INT1(LEXTYP(SP)) == '[[' ) RETURN
> ---
> > IF ( INT1(LEXTYP(SP)) == INT1('[[') ) RETURN
> 282c282
> < IF (LEX1 == ';' | LEX1 == '[[' | LEX1 == ']' ) BREAK
> ---
> > IF (LEX1 == INT1(';') | LEX1 == INT1('[[') | LEX1 == INT1(']') ) BREAK
> 343c343
> < IF (K1!=' ' & K1!=TAB) BREAK
> ---
> > IF (K1!=INT1(' ') & K1!=INT1(TAB)) BREAK
> 747c747
> < IF (KHAR(GCBUF,1)!='(')
> ---
> > IF (KHAR(GCBUF,1)!=INT1('('))
> 809c809
> < IF (KHAR(INBUF,1)!='%') BREAK
> ---
> > IF (KHAR(INBUF,1)!=INT1('%')) BREAK
> 855c855
> < 3 IF (KHAR(INBUF,I+1) != '=')
> ---
> > 3 IF (KHAR(INBUF,I+1) != INT1('='))
> 862c862
> < 4 IF (KHAR(INBUF,I+1) != '=')
> ---
> > 4 IF (KHAR(INBUF,I+1) != INT1('='))
> 869c869
> < 5 IF (KHAR(INBUF,I+1) != '=')
> ---
> > 5 IF (KHAR(INBUF,I+1) != INT1('='))
> 877c877
> < IF (KHAR(INBUF,K) == '!')
> ---
> > IF (KHAR(INBUF,K) == INT1('!'))
> 879c879
> < ELSE IF (KHAR(INBUF,I+1) != '=')
> ---
> > ELSE IF (KHAR(INBUF,I+1) != INT1('='))
> 886c886
> < 7 IF (KHAR(INBUF,I+1) == '&')
> ---
> > 7 IF (KHAR(INBUF,I+1) == INT1('&'))
> 892c892
> < 8 IF (KHAR(INBUF,I+1) == '|')
> ---
> > 8 IF (KHAR(INBUF,I+1) == INT1('|'))
>
>
> These are the commands I used to build the preprocessor.
> The two step "loader /h" + "sssload" helps to spot
> the data areas inside the code.
>
>
>
> A>ratfor
> SSS/SUPERSOFT RATFOR TRANSLATOR VER. 4.1.
>
> INPUT FILE? RATFOR.RAT
> OUTPUT FILE? RATFOR.FOR
> INCLUDING FILE: RATDEFS.RAT
> TRANSLATING SUBROUTINE ADDTO(LSCRAT,GCBUF,I)
> TRANSLATING INTEGER FUNCTION BYFILL(BUF,I)
> TRANSLATING INTEGER FUNCTION KEYLUK(STR)
> TRANSLATING CHARACTER*1000 FUNCTION LOOKUP(STRING)
> TRANSLATING SUBROUTINE PARSE
> TRANSLATING SUBROUTINE UNSTAK(SP,LEXTYP,LABVAL,TOKEN)
> TRANSLATING INTEGER FUNCTION LEX(LEXSTR)
> TRANSLATING SUBROUTINE DEFST
> TRANSLATING SUBROUTINE INCLST
> TRANSLATING SUBROUTINE IFCODE(LAB)
> TRANSLATING SUBROUTINE WHILEC(LAB)
> TRANSLATING SUBROUTINE WHILES(LAB)
> TRANSLATING SUBROUTINE OTHERC(LEXSTR)
> TRANSLATING SUBROUTINE REPCOD(LAB)
> TRANSLATING SUBROUTINE UNTILS(LAB,UN)
> TRANSLATING SUBROUTINE FORCOD(LAB)
> TRANSLATING CHARACTER*80 FUNCTION CLAUSE(STRING)
> TRANSLATING SUBROUTINE FORS(LAB)
> TRANSLATING SUBROUTINE DOCODE(LAB)
> TRANSLATING SUBROUTINE PUSH(LAB)
> TRANSLATING SUBROUTINE DOSTAT(LAB)
> TRANSLATING SUBROUTINE EXIT(CODE)
> TRANSLATING INTEGER FUNCTION LABGEN(EXTRA)
> TRANSLATING SUBROUTINE EATUP(LSCRAT)
> TRANSLATING SUBROUTINE BALPAR(LSCRAT,DOSPLT)
> TRANSLATING SUBROUTINE ERROR(IAR)
> TRANSLATING SUBROUTINE READCD(BUF)
>
> A>for ratfor ;d
> COPYRIGHT (C) 1983 SMALL SYSTEMS SERVICES INC.
>
> A>loader ratfor/h/l,mlib
> SSS/SUPERSOFT LINKING LOADER VER 3.2
> COPYRIGHT 1983 SMALL SYSTEMS SERVICES INC
>
>
>
> A>sssload ratfor

I think that actually solving this problem is not as easy as it seems.
1. You needed to make corrections to the source code of the RATFOR.RAT preprocessor. This fact suggests that the source code of the FCOMMON file.FOR is not restored quite correctly.
2, Although the modified file is processed by the preprocessor RATFOR.COM and compiled by the program FOR.COM without error messages, there is no certainty that the output after compilation creates the correct relocatable object file RATFOR.REL.
3. Next, you create an image of the executable file as a file in hexadecimal format with the extension .HEX., and not immediately as a binary file with the extension .COM.
I couldn't generate the executable file directly.
4. Then you create an executable file from a hexadecimal image. Outwardly, I managed it as well as you. However, the size of the executable file was 53 KB, instead of 37 KB in the original executable file. And most importantly, the newly created file does not work fine.

Your work on restoring the FCOMMON.FOR file is not entirely correct, since it does not lead to the creation of a properly working preprocessor program..

Andrey

Re: RATFOR for the SuperSoft fortran

<2902a312-5693-4381-b869-1e2762f156ccn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=3016&group=comp.os.cpm#3016

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:620a:2001:: with SMTP id c1mr3172002qka.374.1641909713152;
Tue, 11 Jan 2022 06:01:53 -0800 (PST)
X-Received: by 2002:a9d:8c2:: with SMTP id 60mr3363755otf.174.1641909712405;
Tue, 11 Jan 2022 06:01:52 -0800 (PST)
Path: i2pn2.org!rocksolid2!news.neodome.net!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Tue, 11 Jan 2022 06:01:52 -0800 (PST)
In-Reply-To: <79dc750b-2767-486e-bc42-5af41e53fb51n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.37.209.254; posting-account=g8ksUwoAAAC0mgCsQ1LJvKj1k2HoKsbw
NNTP-Posting-Host: 77.37.209.254
References: <71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com>
<srj72h$1d6r$1@gioia.aioe.org> <79dc750b-2767-486e-bc42-5af41e53fb51n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2902a312-5693-4381-b869-1e2762f156ccn@googlegroups.com>
Subject: Re: RATFOR for the SuperSoft fortran
From: nikitinp...@gmail.com (Андрей Никитин)
Injection-Date: Tue, 11 Jan 2022 14:01:53 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 206
 by: Андрей Ник - Tue, 11 Jan 2022 14:01 UTC

вторник, 11 января 2022 г. в 16:35:27 UTC+3, Андрей Никитин:
> вторник, 11 января 2022 г. в 09:11:30 UTC+3, Martin:
> > Am 12/30/2021 05:47 PM, Андрей Никитин schrieb:
> > > I have the source code of the preprocessor RATFOR for the SuperSoft fortran compiler under CP/M. However, one or more included files are missing.. Maybe someone has them?
> > > Andrey
> > >
> > It didn't look very difficult to create a small replacemtnt for
> > the missing "FCOMMON.FOR".
> >
> > So after a few hours collecting variable types and dimensions,
> > here is my first version:
> >
> > FCOMMON.FOR:
> > ==== 8< =====
> > IMPLICIT INTEGER (A-Z)
> > CHARACTER*1000 SCRAT
> > CHARACTER*1000 GCBUF
> > CHARACTER*1000 FORSTK(10)
> > CHARACTER*1000 DTEXT
> > CHARACTER*1000 DNAMES
> > INTEGER BRKSTK(10)
> > INTEGER FORLEN(10)
> > LOGICAL EOFL
> > COMMON SCRAT,GCBUF,LGCBUF,
> > 1 DTEXT,LDTEXT,DNAMES,LDNAMS,
> > 1 BRKPTR,BRKSTK,
> > 1 FORPTR,FORSTK,FORLEN,
> > 1 INFIL,OUTFIL,
> > 1 REASHR,LABEL,ERRCNT,EOFL
> > ==== 8< =====
> >
> >
> > But this was not enough, whatever I tried, the resulting
> > executable failed with a lot of errors.
> >
> > And hera began the funny part, placing WRITEs into the code
> > and looking whats going on.
> >
> >
> > I finally spotted the problem, a very silly type conversion problem.
> > In short, the compiler needs to do some form of padding when processing
> > INTERGER*1 types, a byte sized short integer type often used to hold
> > single characters.
> >
> > Single quoted one-character constants were padded whith BLANK (32)
> > whereas function results (KHAR!) were padded with NULL (0).
> >
> > The explicit conversion function INT1 also is used in some places,
> > it was very confusing at first.
> >
> >
> > Placing INT1 around every single character constant was enough to fix
> > the code:
> >
> >
> > $ diff RATFOR0.RAT RATFOR0.RAT
> > 178c178
> > < | TOKEN == LEXDO | TOKEN == LEXDIGITS | INT1(TOKEN) == '[[' ) [
> > ---
> > > | TOKEN == LEXDO | TOKEN == LEXDIGITS | INT1(TOKEN) == INT1('[[') ) [
> > 188,189c188,189
> > < IF ( INT1(TOKEN) == ']' )
> > < IF ( INT1(LEXTYP(SP)) == '[[' )
> > ---
> > > IF ( INT1(TOKEN) == INT1(']') )
> > > IF ( INT1(LEXTYP(SP)) == INT1('[[') )
> > 223c223
> > < IF ( INT1(LEXTYP(SP)) == '[[' ) RETURN
> > ---
> > > IF ( INT1(LEXTYP(SP)) == INT1('[[') ) RETURN
> > 282c282
> > < IF (LEX1 == ';' | LEX1 == '[[' | LEX1 == ']' ) BREAK
> > ---
> > > IF (LEX1 == INT1(';') | LEX1 == INT1('[[') | LEX1 == INT1(']') ) BREAK
> > 343c343
> > < IF (K1!=' ' & K1!=TAB) BREAK
> > ---
> > > IF (K1!=INT1(' ') & K1!=INT1(TAB)) BREAK
> > 747c747
> > < IF (KHAR(GCBUF,1)!='(')
> > ---
> > > IF (KHAR(GCBUF,1)!=INT1('('))
> > 809c809
> > < IF (KHAR(INBUF,1)!='%') BREAK
> > ---
> > > IF (KHAR(INBUF,1)!=INT1('%')) BREAK
> > 855c855
> > < 3 IF (KHAR(INBUF,I+1) != '=')
> > ---
> > > 3 IF (KHAR(INBUF,I+1) != INT1('='))
> > 862c862
> > < 4 IF (KHAR(INBUF,I+1) != '=')
> > ---
> > > 4 IF (KHAR(INBUF,I+1) != INT1('='))
> > 869c869
> > < 5 IF (KHAR(INBUF,I+1) != '=')
> > ---
> > > 5 IF (KHAR(INBUF,I+1) != INT1('='))
> > 877c877
> > < IF (KHAR(INBUF,K) == '!')
> > ---
> > > IF (KHAR(INBUF,K) == INT1('!'))
> > 879c879
> > < ELSE IF (KHAR(INBUF,I+1) != '=')
> > ---
> > > ELSE IF (KHAR(INBUF,I+1) != INT1('='))
> > 886c886
> > < 7 IF (KHAR(INBUF,I+1) == '&')
> > ---
> > > 7 IF (KHAR(INBUF,I+1) == INT1('&'))
> > 892c892
> > < 8 IF (KHAR(INBUF,I+1) == '|')
> > ---
> > > 8 IF (KHAR(INBUF,I+1) == INT1('|'))
> >
> >
> > These are the commands I used to build the preprocessor.
> > The two step "loader /h" + "sssload" helps to spot
> > the data areas inside the code.
> >
> >
> >
> > A>ratfor
> > SSS/SUPERSOFT RATFOR TRANSLATOR VER. 4.1.
> >
> > INPUT FILE? RATFOR.RAT
> > OUTPUT FILE? RATFOR.FOR
> > INCLUDING FILE: RATDEFS.RAT
> > TRANSLATING SUBROUTINE ADDTO(LSCRAT,GCBUF,I)
> > TRANSLATING INTEGER FUNCTION BYFILL(BUF,I)
> > TRANSLATING INTEGER FUNCTION KEYLUK(STR)
> > TRANSLATING CHARACTER*1000 FUNCTION LOOKUP(STRING)
> > TRANSLATING SUBROUTINE PARSE
> > TRANSLATING SUBROUTINE UNSTAK(SP,LEXTYP,LABVAL,TOKEN)
> > TRANSLATING INTEGER FUNCTION LEX(LEXSTR)
> > TRANSLATING SUBROUTINE DEFST
> > TRANSLATING SUBROUTINE INCLST
> > TRANSLATING SUBROUTINE IFCODE(LAB)
> > TRANSLATING SUBROUTINE WHILEC(LAB)
> > TRANSLATING SUBROUTINE WHILES(LAB)
> > TRANSLATING SUBROUTINE OTHERC(LEXSTR)
> > TRANSLATING SUBROUTINE REPCOD(LAB)
> > TRANSLATING SUBROUTINE UNTILS(LAB,UN)
> > TRANSLATING SUBROUTINE FORCOD(LAB)
> > TRANSLATING CHARACTER*80 FUNCTION CLAUSE(STRING)
> > TRANSLATING SUBROUTINE FORS(LAB)
> > TRANSLATING SUBROUTINE DOCODE(LAB)
> > TRANSLATING SUBROUTINE PUSH(LAB)
> > TRANSLATING SUBROUTINE DOSTAT(LAB)
> > TRANSLATING SUBROUTINE EXIT(CODE)
> > TRANSLATING INTEGER FUNCTION LABGEN(EXTRA)
> > TRANSLATING SUBROUTINE EATUP(LSCRAT)
> > TRANSLATING SUBROUTINE BALPAR(LSCRAT,DOSPLT)
> > TRANSLATING SUBROUTINE ERROR(IAR)
> > TRANSLATING SUBROUTINE READCD(BUF)
> >
> > A>for ratfor ;d
> > COPYRIGHT (C) 1983 SMALL SYSTEMS SERVICES INC.
> >
> > A>loader ratfor/h/l,mlib
> > SSS/SUPERSOFT LINKING LOADER VER 3.2
> > COPYRIGHT 1983 SMALL SYSTEMS SERVICES INC
> >
> >
> >
> > A>sssload ratfor
> I think that actually solving this problem is not as easy as it seems.
> 1. You needed to make corrections to the source code of the RATFOR.RAT preprocessor. This fact suggests that the source code of the FCOMMON file.FOR is not restored quite correctly.
> 2, Although the modified file is processed by the preprocessor RATFOR.COM and compiled by the program FOR.COM without error messages, there is no certainty that the output after compilation creates the correct relocatable object file RATFOR.REL.
> 3. Next, you create an image of the executable file as a file in hexadecimal format with the extension .HEX., and not immediately as a binary file with the extension .COM.
> I couldn't generate the executable file directly.
> 4. Then you create an executable file from a hexadecimal image. Outwardly, I managed it as well as you. However, the size of the executable file was 53 KB, instead of 37 KB in the original executable file. And most importantly, the newly created file does not work fine.
>
> Your work on restoring the FCOMMON.FOR file is not entirely correct, since it does not lead to the creation of a properly working preprocessor program.
>
> Andrey

Perhaps your final version of FCOMMON.FOR is different from the first one?
In fact, there are errors during compilation, but they are not displayed on the screen, but are located in the listing file.
Errors are just in the content area of the included file.
If the final version of FCOMMON.FOR is different, please post it.

Andrey

Re: RATFOR for the SuperSoft fortran

<4bee9f66-16b3-41f1-8cb8-0358e54f7d97n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=3017&group=comp.os.cpm#3017

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:ac8:5985:: with SMTP id e5mr2479256qte.58.1641910960479;
Tue, 11 Jan 2022 06:22:40 -0800 (PST)
X-Received: by 2002:a9d:4706:: with SMTP id a6mr3429285otf.130.1641910960033;
Tue, 11 Jan 2022 06:22:40 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Tue, 11 Jan 2022 06:22:39 -0800 (PST)
In-Reply-To: <2902a312-5693-4381-b869-1e2762f156ccn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.37.209.254; posting-account=g8ksUwoAAAC0mgCsQ1LJvKj1k2HoKsbw
NNTP-Posting-Host: 77.37.209.254
References: <71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com>
<srj72h$1d6r$1@gioia.aioe.org> <79dc750b-2767-486e-bc42-5af41e53fb51n@googlegroups.com>
<2902a312-5693-4381-b869-1e2762f156ccn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4bee9f66-16b3-41f1-8cb8-0358e54f7d97n@googlegroups.com>
Subject: Re: RATFOR for the SuperSoft fortran
From: nikitinp...@gmail.com (Андрей Никитин)
Injection-Date: Tue, 11 Jan 2022 14:22:40 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 217
 by: Андрей Ник - Tue, 11 Jan 2022 14:22 UTC

вторник, 11 января 2022 г. в 17:01:56 UTC+3, Андрей Никитин:
> вторник, 11 января 2022 г. в 16:35:27 UTC+3, Андрей Никитин:
> > вторник, 11 января 2022 г. в 09:11:30 UTC+3, Martin:
> > > Am 12/30/2021 05:47 PM, Андрей Никитин schrieb:
> > > > I have the source code of the preprocessor RATFOR for the SuperSoft fortran compiler under CP/M. However, one or more included files are missing. Maybe someone has them?
> > > > Andrey
> > > >
> > > It didn't look very difficult to create a small replacemtnt for
> > > the missing "FCOMMON.FOR".
> > >
> > > So after a few hours collecting variable types and dimensions,
> > > here is my first version:
> > >
> > > FCOMMON.FOR:
> > > ==== 8< =====
> > > IMPLICIT INTEGER (A-Z)
> > > CHARACTER*1000 SCRAT
> > > CHARACTER*1000 GCBUF
> > > CHARACTER*1000 FORSTK(10)
> > > CHARACTER*1000 DTEXT
> > > CHARACTER*1000 DNAMES
> > > INTEGER BRKSTK(10)
> > > INTEGER FORLEN(10)
> > > LOGICAL EOFL
> > > COMMON SCRAT,GCBUF,LGCBUF,
> > > 1 DTEXT,LDTEXT,DNAMES,LDNAMS,
> > > 1 BRKPTR,BRKSTK,
> > > 1 FORPTR,FORSTK,FORLEN,
> > > 1 INFIL,OUTFIL,
> > > 1 REASHR,LABEL,ERRCNT,EOFL
> > > ==== 8< =====
> > >
> > >
> > > But this was not enough, whatever I tried, the resulting
> > > executable failed with a lot of errors.
> > >
> > > And hera began the funny part, placing WRITEs into the code
> > > and looking whats going on.
> > >
> > >
> > > I finally spotted the problem, a very silly type conversion problem.
> > > In short, the compiler needs to do some form of padding when processing
> > > INTERGER*1 types, a byte sized short integer type often used to hold
> > > single characters.
> > >
> > > Single quoted one-character constants were padded whith BLANK (32)
> > > whereas function results (KHAR!) were padded with NULL (0).
> > >
> > > The explicit conversion function INT1 also is used in some places,
> > > it was very confusing at first.
> > >
> > >
> > > Placing INT1 around every single character constant was enough to fix
> > > the code:
> > >
> > >
> > > $ diff RATFOR0.RAT RATFOR0.RAT
> > > 178c178
> > > < | TOKEN == LEXDO | TOKEN == LEXDIGITS | INT1(TOKEN) == '[[' ) [
> > > ---
> > > > | TOKEN == LEXDO | TOKEN == LEXDIGITS | INT1(TOKEN) == INT1('[[') ) [
> > > 188,189c188,189
> > > < IF ( INT1(TOKEN) == ']' )
> > > < IF ( INT1(LEXTYP(SP)) == '[[' )
> > > ---
> > > > IF ( INT1(TOKEN) == INT1(']') )
> > > > IF ( INT1(LEXTYP(SP)) == INT1('[[') )
> > > 223c223
> > > < IF ( INT1(LEXTYP(SP)) == '[[' ) RETURN
> > > ---
> > > > IF ( INT1(LEXTYP(SP)) == INT1('[[') ) RETURN
> > > 282c282
> > > < IF (LEX1 == ';' | LEX1 == '[[' | LEX1 == ']' ) BREAK
> > > ---
> > > > IF (LEX1 == INT1(';') | LEX1 == INT1('[[') | LEX1 == INT1(']') ) BREAK
> > > 343c343
> > > < IF (K1!=' ' & K1!=TAB) BREAK
> > > ---
> > > > IF (K1!=INT1(' ') & K1!=INT1(TAB)) BREAK
> > > 747c747
> > > < IF (KHAR(GCBUF,1)!='(')
> > > ---
> > > > IF (KHAR(GCBUF,1)!=INT1('('))
> > > 809c809
> > > < IF (KHAR(INBUF,1)!='%') BREAK
> > > ---
> > > > IF (KHAR(INBUF,1)!=INT1('%')) BREAK
> > > 855c855
> > > < 3 IF (KHAR(INBUF,I+1) != '=')
> > > ---
> > > > 3 IF (KHAR(INBUF,I+1) != INT1('='))
> > > 862c862
> > > < 4 IF (KHAR(INBUF,I+1) != '=')
> > > ---
> > > > 4 IF (KHAR(INBUF,I+1) != INT1('='))
> > > 869c869
> > > < 5 IF (KHAR(INBUF,I+1) != '=')
> > > ---
> > > > 5 IF (KHAR(INBUF,I+1) != INT1('='))
> > > 877c877
> > > < IF (KHAR(INBUF,K) == '!')
> > > ---
> > > > IF (KHAR(INBUF,K) == INT1('!'))
> > > 879c879
> > > < ELSE IF (KHAR(INBUF,I+1) != '=')
> > > ---
> > > > ELSE IF (KHAR(INBUF,I+1) != INT1('='))
> > > 886c886
> > > < 7 IF (KHAR(INBUF,I+1) == '&')
> > > ---
> > > > 7 IF (KHAR(INBUF,I+1) == INT1('&'))
> > > 892c892
> > > < 8 IF (KHAR(INBUF,I+1) == '|')
> > > ---
> > > > 8 IF (KHAR(INBUF,I+1) == INT1('|'))
> > >
> > >
> > > These are the commands I used to build the preprocessor.
> > > The two step "loader /h" + "sssload" helps to spot
> > > the data areas inside the code.
> > >
> > >
> > >
> > > A>ratfor
> > > SSS/SUPERSOFT RATFOR TRANSLATOR VER. 4.1.
> > >
> > > INPUT FILE? RATFOR.RAT
> > > OUTPUT FILE? RATFOR.FOR
> > > INCLUDING FILE: RATDEFS.RAT
> > > TRANSLATING SUBROUTINE ADDTO(LSCRAT,GCBUF,I)
> > > TRANSLATING INTEGER FUNCTION BYFILL(BUF,I)
> > > TRANSLATING INTEGER FUNCTION KEYLUK(STR)
> > > TRANSLATING CHARACTER*1000 FUNCTION LOOKUP(STRING)
> > > TRANSLATING SUBROUTINE PARSE
> > > TRANSLATING SUBROUTINE UNSTAK(SP,LEXTYP,LABVAL,TOKEN)
> > > TRANSLATING INTEGER FUNCTION LEX(LEXSTR)
> > > TRANSLATING SUBROUTINE DEFST
> > > TRANSLATING SUBROUTINE INCLST
> > > TRANSLATING SUBROUTINE IFCODE(LAB)
> > > TRANSLATING SUBROUTINE WHILEC(LAB)
> > > TRANSLATING SUBROUTINE WHILES(LAB)
> > > TRANSLATING SUBROUTINE OTHERC(LEXSTR)
> > > TRANSLATING SUBROUTINE REPCOD(LAB)
> > > TRANSLATING SUBROUTINE UNTILS(LAB,UN)
> > > TRANSLATING SUBROUTINE FORCOD(LAB)
> > > TRANSLATING CHARACTER*80 FUNCTION CLAUSE(STRING)
> > > TRANSLATING SUBROUTINE FORS(LAB)
> > > TRANSLATING SUBROUTINE DOCODE(LAB)
> > > TRANSLATING SUBROUTINE PUSH(LAB)
> > > TRANSLATING SUBROUTINE DOSTAT(LAB)
> > > TRANSLATING SUBROUTINE EXIT(CODE)
> > > TRANSLATING INTEGER FUNCTION LABGEN(EXTRA)
> > > TRANSLATING SUBROUTINE EATUP(LSCRAT)
> > > TRANSLATING SUBROUTINE BALPAR(LSCRAT,DOSPLT)
> > > TRANSLATING SUBROUTINE ERROR(IAR)
> > > TRANSLATING SUBROUTINE READCD(BUF)
> > >
> > > A>for ratfor ;d
> > > COPYRIGHT (C) 1983 SMALL SYSTEMS SERVICES INC.
> > >
> > > A>loader ratfor/h/l,mlib
> > > SSS/SUPERSOFT LINKING LOADER VER 3.2
> > > COPYRIGHT 1983 SMALL SYSTEMS SERVICES INC
> > >
> > >
> > >
> > > A>sssload ratfor
> > I think that actually solving this problem is not as easy as it seems.
> > 1. You needed to make corrections to the source code of the RATFOR.RAT preprocessor. This fact suggests that the source code of the FCOMMON file.FOR is not restored quite correctly.
> > 2, Although the modified file is processed by the preprocessor RATFOR.COM and compiled by the program FOR.COM without error messages, there is no certainty that the output after compilation creates the correct relocatable object file RATFOR.REL.
> > 3. Next, you create an image of the executable file as a file in hexadecimal format with the extension .HEX., and not immediately as a binary file with the extension .COM.
> > I couldn't generate the executable file directly.
> > 4. Then you create an executable file from a hexadecimal image. Outwardly, I managed it as well as you. However, the size of the executable file was 53 KB, instead of 37 KB in the original executable file. And most importantly, the newly created file does not work fine.
> >
> > Your work on restoring the FCOMMON.FOR file is not entirely correct, since it does not lead to the creation of a properly working preprocessor program.
> >
> > Andrey
> Perhaps your final version of FCOMMON.FOR is different from the first one?
> In fact, there are errors during compilation, but they are not displayed on the screen, but are located in the listing file.
> Errors are just in the content area of the included file.
> If the final version of FCOMMON.FOR is different, please post it.
>
> Andrey


Click here to read the complete article
Re: RATFOR for the SuperSoft fortran

<d452efad-debb-4e31-b30e-89e799527912n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=3018&group=comp.os.cpm#3018

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:622a:308:: with SMTP id q8mr3957817qtw.463.1641914173285;
Tue, 11 Jan 2022 07:16:13 -0800 (PST)
X-Received: by 2002:a4a:ba90:: with SMTP id d16mr3396771oop.80.1641914172903;
Tue, 11 Jan 2022 07:16:12 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Tue, 11 Jan 2022 07:16:12 -0800 (PST)
In-Reply-To: <4bee9f66-16b3-41f1-8cb8-0358e54f7d97n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.37.209.254; posting-account=g8ksUwoAAAC0mgCsQ1LJvKj1k2HoKsbw
NNTP-Posting-Host: 77.37.209.254
References: <71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com>
<srj72h$1d6r$1@gioia.aioe.org> <79dc750b-2767-486e-bc42-5af41e53fb51n@googlegroups.com>
<2902a312-5693-4381-b869-1e2762f156ccn@googlegroups.com> <4bee9f66-16b3-41f1-8cb8-0358e54f7d97n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d452efad-debb-4e31-b30e-89e799527912n@googlegroups.com>
Subject: Re: RATFOR for the SuperSoft fortran
From: nikitinp...@gmail.com (Андрей Никитин)
Injection-Date: Tue, 11 Jan 2022 15:16:13 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 250
 by: Андрей Ник - Tue, 11 Jan 2022 15:16 UTC

вторник, 11 января 2022 г. в 17:22:41 UTC+3, Андрей Никитин:
> вторник, 11 января 2022 г. в 17:01:56 UTC+3, Андрей Никитин:
> > вторник, 11 января 2022 г. в 16:35:27 UTC+3, Андрей Никитин:
> > > вторник, 11 января 2022 г. в 09:11:30 UTC+3, Martin:
> > > > Am 12/30/2021 05:47 PM, Андрей Никитин schrieb:
> > > > > I have the source code of the preprocessor RATFOR for the SuperSoft fortran compiler under CP/M. However, one or more included files are missing. Maybe someone has them?
> > > > > Andrey
> > > > >
> > > > It didn't look very difficult to create a small replacemtnt for
> > > > the missing "FCOMMON.FOR".
> > > >
> > > > So after a few hours collecting variable types and dimensions,
> > > > here is my first version:
> > > >
> > > > FCOMMON.FOR:
> > > > ==== 8< =====
> > > > IMPLICIT INTEGER (A-Z)
> > > > CHARACTER*1000 SCRAT
> > > > CHARACTER*1000 GCBUF
> > > > CHARACTER*1000 FORSTK(10)
> > > > CHARACTER*1000 DTEXT
> > > > CHARACTER*1000 DNAMES
> > > > INTEGER BRKSTK(10)
> > > > INTEGER FORLEN(10)
> > > > LOGICAL EOFL
> > > > COMMON SCRAT,GCBUF,LGCBUF,
> > > > 1 DTEXT,LDTEXT,DNAMES,LDNAMS,
> > > > 1 BRKPTR,BRKSTK,
> > > > 1 FORPTR,FORSTK,FORLEN,
> > > > 1 INFIL,OUTFIL,
> > > > 1 REASHR,LABEL,ERRCNT,EOFL
> > > > ==== 8< =====
> > > >
> > > >
> > > > But this was not enough, whatever I tried, the resulting
> > > > executable failed with a lot of errors.
> > > >
> > > > And hera began the funny part, placing WRITEs into the code
> > > > and looking whats going on.
> > > >
> > > >
> > > > I finally spotted the problem, a very silly type conversion problem..
> > > > In short, the compiler needs to do some form of padding when processing
> > > > INTERGER*1 types, a byte sized short integer type often used to hold
> > > > single characters.
> > > >
> > > > Single quoted one-character constants were padded whith BLANK (32)
> > > > whereas function results (KHAR!) were padded with NULL (0).
> > > >
> > > > The explicit conversion function INT1 also is used in some places,
> > > > it was very confusing at first.
> > > >
> > > >
> > > > Placing INT1 around every single character constant was enough to fix
> > > > the code:
> > > >
> > > >
> > > > $ diff RATFOR0.RAT RATFOR0.RAT
> > > > 178c178
> > > > < | TOKEN == LEXDO | TOKEN == LEXDIGITS | INT1(TOKEN) == '[[' ) [
> > > > ---
> > > > > | TOKEN == LEXDO | TOKEN == LEXDIGITS | INT1(TOKEN) == INT1('[[') ) [
> > > > 188,189c188,189
> > > > < IF ( INT1(TOKEN) == ']' )
> > > > < IF ( INT1(LEXTYP(SP)) == '[[' )
> > > > ---
> > > > > IF ( INT1(TOKEN) == INT1(']') )
> > > > > IF ( INT1(LEXTYP(SP)) == INT1('[[') )
> > > > 223c223
> > > > < IF ( INT1(LEXTYP(SP)) == '[[' ) RETURN
> > > > ---
> > > > > IF ( INT1(LEXTYP(SP)) == INT1('[[') ) RETURN
> > > > 282c282
> > > > < IF (LEX1 == ';' | LEX1 == '[[' | LEX1 == ']' ) BREAK
> > > > ---
> > > > > IF (LEX1 == INT1(';') | LEX1 == INT1('[[') | LEX1 == INT1(']') ) BREAK
> > > > 343c343
> > > > < IF (K1!=' ' & K1!=TAB) BREAK
> > > > ---
> > > > > IF (K1!=INT1(' ') & K1!=INT1(TAB)) BREAK
> > > > 747c747
> > > > < IF (KHAR(GCBUF,1)!='(')
> > > > ---
> > > > > IF (KHAR(GCBUF,1)!=INT1('('))
> > > > 809c809
> > > > < IF (KHAR(INBUF,1)!='%') BREAK
> > > > ---
> > > > > IF (KHAR(INBUF,1)!=INT1('%')) BREAK
> > > > 855c855
> > > > < 3 IF (KHAR(INBUF,I+1) != '=')
> > > > ---
> > > > > 3 IF (KHAR(INBUF,I+1) != INT1('='))
> > > > 862c862
> > > > < 4 IF (KHAR(INBUF,I+1) != '=')
> > > > ---
> > > > > 4 IF (KHAR(INBUF,I+1) != INT1('='))
> > > > 869c869
> > > > < 5 IF (KHAR(INBUF,I+1) != '=')
> > > > ---
> > > > > 5 IF (KHAR(INBUF,I+1) != INT1('='))
> > > > 877c877
> > > > < IF (KHAR(INBUF,K) == '!')
> > > > ---
> > > > > IF (KHAR(INBUF,K) == INT1('!'))
> > > > 879c879
> > > > < ELSE IF (KHAR(INBUF,I+1) != '=')
> > > > ---
> > > > > ELSE IF (KHAR(INBUF,I+1) != INT1('='))
> > > > 886c886
> > > > < 7 IF (KHAR(INBUF,I+1) == '&')
> > > > ---
> > > > > 7 IF (KHAR(INBUF,I+1) == INT1('&'))
> > > > 892c892
> > > > < 8 IF (KHAR(INBUF,I+1) == '|')
> > > > ---
> > > > > 8 IF (KHAR(INBUF,I+1) == INT1('|'))
> > > >
> > > >
> > > > These are the commands I used to build the preprocessor.
> > > > The two step "loader /h" + "sssload" helps to spot
> > > > the data areas inside the code.
> > > >
> > > >
> > > >
> > > > A>ratfor
> > > > SSS/SUPERSOFT RATFOR TRANSLATOR VER. 4.1.
> > > >
> > > > INPUT FILE? RATFOR.RAT
> > > > OUTPUT FILE? RATFOR.FOR
> > > > INCLUDING FILE: RATDEFS.RAT
> > > > TRANSLATING SUBROUTINE ADDTO(LSCRAT,GCBUF,I)
> > > > TRANSLATING INTEGER FUNCTION BYFILL(BUF,I)
> > > > TRANSLATING INTEGER FUNCTION KEYLUK(STR)
> > > > TRANSLATING CHARACTER*1000 FUNCTION LOOKUP(STRING)
> > > > TRANSLATING SUBROUTINE PARSE
> > > > TRANSLATING SUBROUTINE UNSTAK(SP,LEXTYP,LABVAL,TOKEN)
> > > > TRANSLATING INTEGER FUNCTION LEX(LEXSTR)
> > > > TRANSLATING SUBROUTINE DEFST
> > > > TRANSLATING SUBROUTINE INCLST
> > > > TRANSLATING SUBROUTINE IFCODE(LAB)
> > > > TRANSLATING SUBROUTINE WHILEC(LAB)
> > > > TRANSLATING SUBROUTINE WHILES(LAB)
> > > > TRANSLATING SUBROUTINE OTHERC(LEXSTR)
> > > > TRANSLATING SUBROUTINE REPCOD(LAB)
> > > > TRANSLATING SUBROUTINE UNTILS(LAB,UN)
> > > > TRANSLATING SUBROUTINE FORCOD(LAB)
> > > > TRANSLATING CHARACTER*80 FUNCTION CLAUSE(STRING)
> > > > TRANSLATING SUBROUTINE FORS(LAB)
> > > > TRANSLATING SUBROUTINE DOCODE(LAB)
> > > > TRANSLATING SUBROUTINE PUSH(LAB)
> > > > TRANSLATING SUBROUTINE DOSTAT(LAB)
> > > > TRANSLATING SUBROUTINE EXIT(CODE)
> > > > TRANSLATING INTEGER FUNCTION LABGEN(EXTRA)
> > > > TRANSLATING SUBROUTINE EATUP(LSCRAT)
> > > > TRANSLATING SUBROUTINE BALPAR(LSCRAT,DOSPLT)
> > > > TRANSLATING SUBROUTINE ERROR(IAR)
> > > > TRANSLATING SUBROUTINE READCD(BUF)
> > > >
> > > > A>for ratfor ;d
> > > > COPYRIGHT (C) 1983 SMALL SYSTEMS SERVICES INC.
> > > >
> > > > A>loader ratfor/h/l,mlib
> > > > SSS/SUPERSOFT LINKING LOADER VER 3.2
> > > > COPYRIGHT 1983 SMALL SYSTEMS SERVICES INC
> > > >
> > > >
> > > >
> > > > A>sssload ratfor
> > > I think that actually solving this problem is not as easy as it seems..
> > > 1. You needed to make corrections to the source code of the RATFOR.RAT preprocessor. This fact suggests that the source code of the FCOMMON file..FOR is not restored quite correctly.
> > > 2, Although the modified file is processed by the preprocessor RATFOR..COM and compiled by the program FOR.COM without error messages, there is no certainty that the output after compilation creates the correct relocatable object file RATFOR.REL.
> > > 3. Next, you create an image of the executable file as a file in hexadecimal format with the extension .HEX., and not immediately as a binary file with the extension .COM.
> > > I couldn't generate the executable file directly.
> > > 4. Then you create an executable file from a hexadecimal image. Outwardly, I managed it as well as you. However, the size of the executable file was 53 KB, instead of 37 KB in the original executable file. And most importantly, the newly created file does not work fine.
> > >
> > > Your work on restoring the FCOMMON.FOR file is not entirely correct, since it does not lead to the creation of a properly working preprocessor program.
> > >
> > > Andrey
> > Perhaps your final version of FCOMMON.FOR is different from the first one?
> > In fact, there are errors during compilation, but they are not displayed on the screen, but are located in the listing file.
> > Errors are just in the content area of the included file.
> > If the final version of FCOMMON.FOR is different, please post it.
> >
> > Andrey
> I apologize. I created the FCOMMON.FOR file incorrectly. After fixing it, everything worked.
>
> Andrey


Click here to read the complete article
Re: RATFOR for the SuperSoft fortran

<15KdnXoQuKINP0D8nZ2dnUU7-cGdnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=3019&group=comp.os.cpm#3019

  copy link   Newsgroups: comp.os.cpm
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!buffer2.nntp.dca1.giganews.com!buffer1.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Tue, 11 Jan 2022 09:30:24 -0600
Sender: Dennis Boone <drb@yagi.h-net.org>
From: drb...@ihatespam.msu.edu (Dennis Boone)
Subject: Re: RATFOR for the SuperSoft fortran
Newsgroups: comp.os.cpm
References: <71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com> <srj72h$1d6r$1@gioia.aioe.org> <79dc750b-2767-486e-bc42-5af41e53fb51n@googlegroups.com> <2902a312-5693-4381-b869-1e2762f156ccn@googlegroups.com> <4bee9f66-16b3-41f1-8cb8-0358e54f7d97n@googlegroups.com> <d452efad-debb-4e31-b30e-89e799527912n@googlegroups.com>
User-Agent: tin/2.4.5-20201224 ("Glen Albyn") (FreeBSD/12.2-RELEASE-p7 (amd64))
Message-ID: <15KdnXoQuKINP0D8nZ2dnUU7-cGdnZ2d@giganews.com>
Date: Tue, 11 Jan 2022 09:30:24 -0600
Lines: 9
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-s4zTwBPZe5RR1y4MDB85nKml6lkQQFjK2xdD5Ft7hiYIr+fBkf4uQSAYiUJLpKFyezzVENbouk1wkI6!hCBSVrHvku2qaHymvjhgKnGmM9vU+VUXLmHIP8FdpRlHqU/qMOuPLs854R0rh+btamkhqec=
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 1698
 by: Dennis Boone - Tue, 11 Jan 2022 15:30 UTC

> In fact, Fortran had significant limitations compared to subsequent
> programming languages. However, even complex system programs were
> written on it, for example, the PL/M compiler for the i8080 processor.
> Implementations of the Fortran IV compiler for CP/M are great and should
> be known to modern programmers.

Even some operating systems were written mostly in fortran.

De

Re: RATFOR for the SuperSoft fortran

<srkgjn$1ikj$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=3020&group=comp.os.cpm#3020

  copy link   Newsgroups: comp.os.cpm
Path: i2pn2.org!i2pn.org!aioe.org!FOLJg/8cW7Bi/sOUYaWUZQ.user.46.165.242.75.POSTED!not-for-mail
From: this.is....@so.its.invalid (Martin)
Newsgroups: comp.os.cpm
Subject: Re: RATFOR for the SuperSoft fortran
Date: Tue, 11 Jan 2022 18:57:50 +0100
Organization: Aioe.org NNTP Server
Message-ID: <srkgjn$1ikj$1@gioia.aioe.org>
References: <71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com> <srj72h$1d6r$1@gioia.aioe.org> <79dc750b-2767-486e-bc42-5af41e53fb51n@googlegroups.com> <2902a312-5693-4381-b869-1e2762f156ccn@googlegroups.com> <4bee9f66-16b3-41f1-8cb8-0358e54f7d97n@googlegroups.com> <d452efad-debb-4e31-b30e-89e799527912n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="51859"; posting-host="FOLJg/8cW7Bi/sOUYaWUZQ.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:20.0) Gecko/20100101 SeaMonkey/2.17.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: Martin - Tue, 11 Jan 2022 17:57 UTC

Am 01/11/2022 04:16 PM, Андрей Никитин schrieb:

[...] Very hard work left out :-)

>
> Martin
>
> Fortran was the first programming language that I managed to learn and subsequently write programs in it, and even in the Fortran IV version. For CP/M, I know two versions of the compiler. These are Microsoft's F80 and SuperSoft's sss Fortran. Unlike Nevada Fortran, compilers of these companies are able to work with object files and form a program from several files, including libraries. It's almost like on big computers. At the present time, on toy computers with limited memory, it was possible to create such compilers.. It was a miracle at the time of their creation and remains so to this day..
> I am very grateful to you for restoring the FCOMMON.FOR file for the RATFOR preprocessor from SuperSoft. Another program has been restored, the source code of which has been partially lost for several decades. In those early days, the RATFOR preprocessor was in demand and represented a convenient extension of the capabilities of standard Fortran.
> In fact, Fortran had significant limitations compared to subsequent programming languages. However, even complex system programs were written on it, for example, the PL/M compiler for the i8080 processor. Implementations of the Fortran IV compiler for CP/M are great and should be known to modern programmers.
>
> Once again, I thank you for recreating the lost included file and I apologize that it was not the first time I managed to compile the program.
>
> Regards
> Andrey
>

[Sorry, I could not reply earlier]

You are welcome, nothing to apologize!

I'm also often finding me in the such situations ...

I'm very happy, you posted in such a direct way, your positive and
enthusiastic occupation enlights me.

And a *VERY BIG* thank you for your huge reverse engineering work!

I have to thank you.
Martin

Re: RATFOR for the SuperSoft fortran

<d6a823ab-37cc-4da4-a230-1b92569f7146n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=3021&group=comp.os.cpm#3021

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:ad4:4ee7:: with SMTP id dv7mr2012434qvb.48.1641924552712;
Tue, 11 Jan 2022 10:09:12 -0800 (PST)
X-Received: by 2002:a4a:dcd6:: with SMTP id h22mr3879428oou.42.1641924552579;
Tue, 11 Jan 2022 10:09:12 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Tue, 11 Jan 2022 10:09:12 -0800 (PST)
In-Reply-To: <srkgjn$1ikj$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=89.245.99.102; posting-account=RHtB3AoAAABZlu_FJY7ySUmJrtfW41bO
NNTP-Posting-Host: 89.245.99.102
References: <71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com>
<srj72h$1d6r$1@gioia.aioe.org> <79dc750b-2767-486e-bc42-5af41e53fb51n@googlegroups.com>
<2902a312-5693-4381-b869-1e2762f156ccn@googlegroups.com> <4bee9f66-16b3-41f1-8cb8-0358e54f7d97n@googlegroups.com>
<d452efad-debb-4e31-b30e-89e799527912n@googlegroups.com> <srkgjn$1ikj$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d6a823ab-37cc-4da4-a230-1b92569f7146n@googlegroups.com>
Subject: Re: RATFOR for the SuperSoft fortran
From: udo.m...@freenet.de (Udo Munk)
Injection-Date: Tue, 11 Jan 2022 18:09:12 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 0
 by: Udo Munk - Tue, 11 Jan 2022 18:09 UTC

Can you guys make then end result available somewhere, thanks.

Re: RATFOR for the SuperSoft fortran

<9edac33c-813b-481f-aaa9-d808be17556an@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=3022&group=comp.os.cpm#3022

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:620a:3713:: with SMTP id de19mr4176715qkb.618.1641928491984;
Tue, 11 Jan 2022 11:14:51 -0800 (PST)
X-Received: by 2002:a05:6808:1642:: with SMTP id az2mr2973465oib.73.1641928491408;
Tue, 11 Jan 2022 11:14:51 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Tue, 11 Jan 2022 11:14:51 -0800 (PST)
In-Reply-To: <d6a823ab-37cc-4da4-a230-1b92569f7146n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.37.209.254; posting-account=g8ksUwoAAAC0mgCsQ1LJvKj1k2HoKsbw
NNTP-Posting-Host: 77.37.209.254
References: <71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com>
<srj72h$1d6r$1@gioia.aioe.org> <79dc750b-2767-486e-bc42-5af41e53fb51n@googlegroups.com>
<2902a312-5693-4381-b869-1e2762f156ccn@googlegroups.com> <4bee9f66-16b3-41f1-8cb8-0358e54f7d97n@googlegroups.com>
<d452efad-debb-4e31-b30e-89e799527912n@googlegroups.com> <srkgjn$1ikj$1@gioia.aioe.org>
<d6a823ab-37cc-4da4-a230-1b92569f7146n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9edac33c-813b-481f-aaa9-d808be17556an@googlegroups.com>
Subject: Re: RATFOR for the SuperSoft fortran
From: nikitinp...@gmail.com (Андрей Никитин)
Injection-Date: Tue, 11 Jan 2022 19:14:51 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 9
 by: Андрей Ник - Tue, 11 Jan 2022 19:14 UTC

вторник, 11 января 2022 г. в 21:09:13 UTC+3, Udo Munk:
> Can you guys make then end result available somewhere, thanks.

The source code of the RATFOR preprocessor for SuperSoft fortran for CP/M is hosted on github. It can be found at the following address:

https://github.com/nikitinprior/P_RATFOR

Andrey

Re: RATFOR for the SuperSoft fortran

<srkl0k$1uc2$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=3023&group=comp.os.cpm#3023

  copy link   Newsgroups: comp.os.cpm
Path: i2pn2.org!i2pn.org!aioe.org!FOLJg/8cW7Bi/sOUYaWUZQ.user.46.165.242.75.POSTED!not-for-mail
From: this.is....@so.its.invalid (Martin)
Newsgroups: comp.os.cpm
Subject: Re: RATFOR for the SuperSoft fortran
Date: Tue, 11 Jan 2022 20:12:59 +0100
Organization: Aioe.org NNTP Server
Message-ID: <srkl0k$1uc2$1@gioia.aioe.org>
References: <71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com> <srj72h$1d6r$1@gioia.aioe.org> <79dc750b-2767-486e-bc42-5af41e53fb51n@googlegroups.com> <2902a312-5693-4381-b869-1e2762f156ccn@googlegroups.com> <4bee9f66-16b3-41f1-8cb8-0358e54f7d97n@googlegroups.com> <d452efad-debb-4e31-b30e-89e799527912n@googlegroups.com> <srkgjn$1ikj$1@gioia.aioe.org> <d6a823ab-37cc-4da4-a230-1b92569f7146n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="63874"; posting-host="FOLJg/8cW7Bi/sOUYaWUZQ.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:20.0) Gecko/20100101 SeaMonkey/2.17.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: Martin - Tue, 11 Jan 2022 19:12 UTC

Am 01/11/2022 07:09 PM, Udo Munk schrieb:
> Can you guys make then end result available somewhere, thanks.
>

So, for my part...

Andrey, I would be grateful if you want to reuse my initial work.

Especially, if this working RATFOR preprocessor somehow helps to
resurrect a more complete manual, that would be fantastic.

Martin

Re: RATFOR for the SuperSoft fortran

<c9b25f95-e3c2-48d8-8351-4ea0c681b83cn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=3024&group=comp.os.cpm#3024

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a37:db12:: with SMTP id e18mr4629843qki.14.1641935301333;
Tue, 11 Jan 2022 13:08:21 -0800 (PST)
X-Received: by 2002:a9d:8c2:: with SMTP id 60mr4560941otf.174.1641935301074;
Tue, 11 Jan 2022 13:08:21 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Tue, 11 Jan 2022 13:08:20 -0800 (PST)
In-Reply-To: <srkl0k$1uc2$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=89.245.99.102; posting-account=RHtB3AoAAABZlu_FJY7ySUmJrtfW41bO
NNTP-Posting-Host: 89.245.99.102
References: <71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com>
<srj72h$1d6r$1@gioia.aioe.org> <79dc750b-2767-486e-bc42-5af41e53fb51n@googlegroups.com>
<2902a312-5693-4381-b869-1e2762f156ccn@googlegroups.com> <4bee9f66-16b3-41f1-8cb8-0358e54f7d97n@googlegroups.com>
<d452efad-debb-4e31-b30e-89e799527912n@googlegroups.com> <srkgjn$1ikj$1@gioia.aioe.org>
<d6a823ab-37cc-4da4-a230-1b92569f7146n@googlegroups.com> <srkl0k$1uc2$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c9b25f95-e3c2-48d8-8351-4ea0c681b83cn@googlegroups.com>
Subject: Re: RATFOR for the SuperSoft fortran
From: udo.m...@freenet.de (Udo Munk)
Injection-Date: Tue, 11 Jan 2022 21:08:21 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 0
 by: Udo Munk - Tue, 11 Jan 2022 21:08 UTC

Cool, thanks for the link. And the SuperSoft compiler is available somewhere too?

Re: RATFOR for the SuperSoft fortran

<srkt4o$1rh7$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=3025&group=comp.os.cpm#3025

  copy link   Newsgroups: comp.os.cpm
Path: i2pn2.org!i2pn.org!aioe.org!FOLJg/8cW7Bi/sOUYaWUZQ.user.46.165.242.75.POSTED!not-for-mail
From: this.is....@so.its.invalid (Martin)
Newsgroups: comp.os.cpm
Subject: Re: RATFOR for the SuperSoft fortran
Date: Tue, 11 Jan 2022 22:31:43 +0100
Organization: Aioe.org NNTP Server
Message-ID: <srkt4o$1rh7$1@gioia.aioe.org>
References: <71e131a9-461b-4ec1-89ca-104ef705de8an@googlegroups.com> <srj72h$1d6r$1@gioia.aioe.org> <79dc750b-2767-486e-bc42-5af41e53fb51n@googlegroups.com> <2902a312-5693-4381-b869-1e2762f156ccn@googlegroups.com> <4bee9f66-16b3-41f1-8cb8-0358e54f7d97n@googlegroups.com> <d452efad-debb-4e31-b30e-89e799527912n@googlegroups.com> <srkgjn$1ikj$1@gioia.aioe.org> <d6a823ab-37cc-4da4-a230-1b92569f7146n@googlegroups.com> <srkl0k$1uc2$1@gioia.aioe.org> <c9b25f95-e3c2-48d8-8351-4ea0c681b83cn@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="60967"; posting-host="FOLJg/8cW7Bi/sOUYaWUZQ.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:20.0) Gecko/20100101 SeaMonkey/2.17.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: Martin - Tue, 11 Jan 2022 21:31 UTC

Am 01/11/2022 10:08 PM, Udo Munk schrieb:
> Cool, thanks for the link. And the SuperSoft compiler is available somewhere too?
>

http://www.z80.eu/for-compiler.html

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor