Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

It's computer hardware, of course it's worth having <g> -- Espy on #Debian


devel / comp.lang.c / PL/M

SubjectAuthor
* PL/Mmuta...@gmail.com
+- PL/MBob McConnell
`* PL/MBart
 `* PL/MPaul Edwards
  +- PL/MBart
  `* PL/MEd Prochak
   `* PL/MPaul Edwards
    `* PL/Maph
     +* PL/MEd Prochak
     |`- PL/MBart
     `* PL/MPaul Edwards
      +* PL/MPaul Edwards
      |`* PL/MEd Prochak
      | `* PL/MPaul Edwards
      |  +- PL/Mjak
      |  `- PL/Mjak
      +- PL/MPaul Edwards
      +- PL/MPaul Edwards
      `* PL/Maph
       +* PL/MBart
       |`- PL/MPaul Edwards
       `* PL/MPaul Edwards
        +* PL/MPaul Edwards
        |`* PL/MEd Prochak
        | `- PL/MSpiros Bousbouras
        +* PL/MEd Prochak
        |`* PL/MPaul Edwards
        | +* PL/MScott Lurndal
        | |`- PL/MLew Pitcher
        | +* PL/MDavid Brown
        | |`* PL/MPaul Edwards
        | | `* PL/MDavid Brown
        | |  +* PL/MScott Lurndal
        | |  |`* PL/MPaul Edwards
        | |  | `* PL/MVir Campestris
        | |  |  `* PL/MKenny McCormack
        | |  |   `- PL/MKaz Kylheku
        | |  `* PL/MPaul Edwards
        | |   +* PL/MBart
        | |   |`- PL/MJoe Monk
        | |   `- PL/MDavid Brown
        | +* PL/MEd Prochak
        | |+* PL/MPaul Edwards
        | ||`* PL/MEd Prochak
        | || `* PL/Maph
        | ||  `- PL/MJoe Monk
        | |`* PL/MVir Campestris
        | | `- PL/MBart
        | `* PL/MBart
        |  `* PL/MPaul Edwards
        |   `- PL/MEd Prochak
        `* PL/MBen Bacarisse
         `* PL/MPaul Edwards
          `- PL/MBen Bacarisse

Pages:123
Re: PL/M

<99c2d0e7-91ea-446f-b037-02f80b9a48d4n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=403&group=comp.lang.c#403

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:a05:622a:1995:b0:410:443:21fc with SMTP id u21-20020a05622a199500b00410044321fcmr100127qtc.4.1691959633468; Sun, 13 Aug 2023 13:47:13 -0700 (PDT)
X-Received: by 2002:a63:3c5d:0:b0:565:ba88:9615 with SMTP id i29-20020a633c5d000000b00565ba889615mr233592pgn.2.1691959633027; Sun, 13 Aug 2023 13:47:13 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!69.80.99.15.MISMATCH!border-1.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Sun, 13 Aug 2023 13:47:12 -0700 (PDT)
In-Reply-To: <259b3264-1c89-406d-be8b-2ac50ce6487en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:5f82:5000:3854:abc3:957d:66a5; posting-account=3ty6FAkAAACYEfch20jQ1ZACFatw-Vdx
NNTP-Posting-Host: 2600:1700:5f82:5000:3854:abc3:957d:66a5
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com> <u99vta$2ck7s$1@dont-email.me> <40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com> <af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com> <54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com> <4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com> <84f0b296-5b42-44bc-ae57-c710fce94b66n@googlegroups.com> <D7WcnaPmNrACGCP5nZ2dnZfqn_qdnZ2d@supernews.com> <769232bf-f759-44e8-84ed-4835735b6897n@googlegroups.com> <b4842421-c508-4620-9232-4d785f5347ffn@googlegroups.com> <e144f59d-ed63-48ce-8258-56ce94b0294an@googlegroups.com> <ua1l1v$2chh1$1@dont-email.me> <3d83c7b4-0110-4b68-a061-fcba0f878c9an@googlegroups.com> <8cb3732f-e0b8-41af-82c3-db6685c257d6n@googlegroups.com> <259b3264-1c89-406d-be8b-2ac50ce6487en@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <99c2d0e7-91ea-446f-b037-02f80b9a48d4n@googlegroups.com>
Subject: Re: PL/M
From: edprochak@gmail.com (Ed Prochak)
Injection-Date: Sun, 13 Aug 2023 20:47:13 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 36
 by: Ed Prochak - Sun, 13 Aug 2023 20:47 UTC

On Thursday, August 10, 2023 at 7:12:00 AM UTC-4, Paul Edwards wrote:
> On Monday, July 31, 2023 at 12:12:09 PM UTC+8, Ed Prochak wrote:
>
> > Okay. I am trying to make sure I don't offend you here,
> > but
> > you do know that the OBJ file contains more than the
> > executable code and that even the code it contains
> > may not be in binary format,
> > RIGHT?
> Yes, I know that, but it's mostly binary code and
> here is the fat code in the PDOS/86 kernel:
>
> fat_TEXT CODE AUTO 33f2:0000 0000b222
>
> 45602 bytes. Compiled with Open Watcom.
>
> I checked the disassembly - it is all legitimate code.
>
> It could be the price of the huge memory model, which I
> wouldn't encounter on the 8080.
>
> BFN. Paul.

Last I checked 45602 is still less than 64K (65536).
Did you misread a decimal place?

But that doesn't mean all of that code needs to be in memory all the time.
(As pointed out by others in this conversation). In the old days of small
machines these were called overlays. It is more formally called virtual memory.

On small machines if slows things down but these are hardware solutions.

TTFN
Ed

Re: PL/M

<98066bbb-6a34-4ad1-a5ad-f7ccc3b2d9ebn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=1818&group=comp.lang.c#1818

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:ac8:5b91:0:b0:40b:2fd7:55a8 with SMTP id a17-20020ac85b91000000b0040b2fd755a8mr113332qta.8.1692000890855;
Mon, 14 Aug 2023 01:14:50 -0700 (PDT)
X-Received: by 2002:a17:903:2301:b0:1b8:95fc:d0f with SMTP id
d1-20020a170903230100b001b895fc0d0fmr3785611plh.7.1692000890513; Mon, 14 Aug
2023 01:14:50 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!feeder1.feed.usenet.farm!feed.usenet.farm!peer02.ams4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Mon, 14 Aug 2023 01:14:49 -0700 (PDT)
In-Reply-To: <99c2d0e7-91ea-446f-b037-02f80b9a48d4n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=136.158.103.92; posting-account=CeHKkQoAAAAowY1GfiJYG55VVc0s1zaG
NNTP-Posting-Host: 136.158.103.92
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
<u99vta$2ck7s$1@dont-email.me> <40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>
<af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com> <54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com>
<4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com> <84f0b296-5b42-44bc-ae57-c710fce94b66n@googlegroups.com>
<D7WcnaPmNrACGCP5nZ2dnZfqn_qdnZ2d@supernews.com> <769232bf-f759-44e8-84ed-4835735b6897n@googlegroups.com>
<b4842421-c508-4620-9232-4d785f5347ffn@googlegroups.com> <e144f59d-ed63-48ce-8258-56ce94b0294an@googlegroups.com>
<ua1l1v$2chh1$1@dont-email.me> <3d83c7b4-0110-4b68-a061-fcba0f878c9an@googlegroups.com>
<8cb3732f-e0b8-41af-82c3-db6685c257d6n@googlegroups.com> <259b3264-1c89-406d-be8b-2ac50ce6487en@googlegroups.com>
<99c2d0e7-91ea-446f-b037-02f80b9a48d4n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <98066bbb-6a34-4ad1-a5ad-f7ccc3b2d9ebn@googlegroups.com>
Subject: Re: PL/M
From: mutazilah@gmail.com (Paul Edwards)
Injection-Date: Mon, 14 Aug 2023 08:14:50 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 5245
 by: Paul Edwards - Mon, 14 Aug 2023 08:14 UTC

On Monday, August 14, 2023 at 4:47:21 AM UTC+8, Ed Prochak wrote:
> On Thursday, August 10, 2023 at 7:12:00 AM UTC-4, Paul Edwards wrote:
> > On Monday, July 31, 2023 at 12:12:09 PM UTC+8, Ed Prochak wrote:
> >
> > > Okay. I am trying to make sure I don't offend you here,
> > > but
> > > you do know that the OBJ file contains more than the
> > > executable code and that even the code it contains
> > > may not be in binary format,
> > > RIGHT?
> > Yes, I know that, but it's mostly binary code and
> > here is the fat code in the PDOS/86 kernel:
> >
> > fat_TEXT CODE AUTO 33f2:0000 0000b222
> >
> > 45602 bytes. Compiled with Open Watcom.
> >
> > I checked the disassembly - it is all legitimate code.
> >
> > It could be the price of the huge memory model, which I
> > wouldn't encounter on the 8080.
> >
> > BFN. Paul.

> Last I checked 45602 is still less than 64K (65536).
> Did you misread a decimal place?

Here is what I originally reported:

this 8086 object code:

2023-07-29 08:22 56,783 fat.obj

almost blowing away the entire 64k possible

Note the word "almost".

> But that doesn't mean all of that code needs to be in memory all the time..
> (As pointed out by others in this conversation). In the old days of small
> machines these were called overlays. It is more formally called virtual memory.
>
> On small machines if slows things down but these are hardware solutions.

Well - is that how CP/M managed to pull off the feat with PL/M?

PL/M does automatic overlays? Or were they manually done?

I guess dropping LFN and FAT32 would save space.

And as I mentioned - this is using the huge memory model.
Although I would have thought that the 8080 with 8-bit
registers and 16-bit addresses would be the equivalent of
huge memory model also.

Although that in itself is another design choice I made - I
wanted my code to be C90-compliant instead of having
"near" and "far" and "huge" keywords everywhere, so I
just chose to blanketly compile in true huge memory model
(all pointers huge). And if that doesn't leave enough room
for apps on an 8086 then upgrade to either a Turbo 186 or
an 80286 or above. Rather than change the OS source code.

I should be able to get another 64k on the Book 8088 by
using the region A0000-AFFFF and simply not use graphics,
but I haven't tried that yet. I'm not sure if I will find RAM or
a hole at B0000-B7FFF. If there is RAM there then I could
switch to using a VT100 terminal and get B0000-BFFFF.
Or fragmented memory would be OK too. But I won't bother
doing that until I have started reusing the kernel's C library
instead of each application having their own.

I think there's a ROM at C0000-FFFFF, without backing RAM
(on the Book 8088), even if it was possible to bank it out.

(note that this was just unrelated comments about the 8086
design - the original question is about 8080 - I'm just not
sure what's going to happen when I take the 8086 and 80386
design and try to implement it on the 8080 - or what the design
should be).

BFN. Paul.

Re: PL/M

<ubcpt7$28428$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2020&group=comp.lang.c#2020

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: nospam@please.ty (jak)
Newsgroups: comp.lang.c
Subject: Re: PL/M
Date: Mon, 14 Aug 2023 10:50:46 +0200
Organization: A noiseless patient Spider
Lines: 91
Message-ID: <ubcpt7$28428$1@dont-email.me>
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
<u99vta$2ck7s$1@dont-email.me>
<40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>
<af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com>
<54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com>
<4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com>
<84f0b296-5b42-44bc-ae57-c710fce94b66n@googlegroups.com>
<D7WcnaPmNrACGCP5nZ2dnZfqn_qdnZ2d@supernews.com>
<769232bf-f759-44e8-84ed-4835735b6897n@googlegroups.com>
<b4842421-c508-4620-9232-4d785f5347ffn@googlegroups.com>
<e144f59d-ed63-48ce-8258-56ce94b0294an@googlegroups.com>
<ua1l1v$2chh1$1@dont-email.me>
<3d83c7b4-0110-4b68-a061-fcba0f878c9an@googlegroups.com>
<8cb3732f-e0b8-41af-82c3-db6685c257d6n@googlegroups.com>
<259b3264-1c89-406d-be8b-2ac50ce6487en@googlegroups.com>
<99c2d0e7-91ea-446f-b037-02f80b9a48d4n@googlegroups.com>
<98066bbb-6a34-4ad1-a5ad-f7ccc3b2d9ebn@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 14 Aug 2023 08:50:47 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="34b48f9e9a649f7a2de30c5fc390b72f";
logging-data="2363464"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18VQyg0it8tPqujUYJVJIVP"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Firefox/91.0 SeaMonkey/2.53.17
Cancel-Lock: sha1:rZVWVmOF41+Sm3AAAXyjXYFxcZ0=
In-Reply-To: <98066bbb-6a34-4ad1-a5ad-f7ccc3b2d9ebn@googlegroups.com>
 by: jak - Mon, 14 Aug 2023 08:50 UTC

Paul Edwards ha scritto:
> On Monday, August 14, 2023 at 4:47:21 AM UTC+8, Ed Prochak wrote:
>> On Thursday, August 10, 2023 at 7:12:00 AM UTC-4, Paul Edwards wrote:
>>> On Monday, July 31, 2023 at 12:12:09 PM UTC+8, Ed Prochak wrote:
>>>
>>>> Okay. I am trying to make sure I don't offend you here,
>>>> but
>>>> you do know that the OBJ file contains more than the
>>>> executable code and that even the code it contains
>>>> may not be in binary format,
>>>> RIGHT?
>>> Yes, I know that, but it's mostly binary code and
>>> here is the fat code in the PDOS/86 kernel:
>>>
>>> fat_TEXT CODE AUTO 33f2:0000 0000b222
>>>
>>> 45602 bytes. Compiled with Open Watcom.
>>>
>>> I checked the disassembly - it is all legitimate code.
>>>
>>> It could be the price of the huge memory model, which I
>>> wouldn't encounter on the 8080.
>>>
>>> BFN. Paul.
>
>> Last I checked 45602 is still less than 64K (65536).
>> Did you misread a decimal place?
>
> Here is what I originally reported:
>
> this 8086 object code:
>
> 2023-07-29 08:22 56,783 fat.obj
>
> almost blowing away the entire 64k possible
>
>
> Note the word "almost".
>
>> But that doesn't mean all of that code needs to be in memory all the time.
>> (As pointed out by others in this conversation). In the old days of small
>> machines these were called overlays. It is more formally called virtual memory.
>>
>> On small machines if slows things down but these are hardware solutions.
>
> Well - is that how CP/M managed to pull off the feat with PL/M?
>
> PL/M does automatic overlays? Or were they manually done?
>
> I guess dropping LFN and FAT32 would save space.
>
> And as I mentioned - this is using the huge memory model.
> Although I would have thought that the 8080 with 8-bit
> registers and 16-bit addresses would be the equivalent of
> huge memory model also.
>
> Although that in itself is another design choice I made - I
> wanted my code to be C90-compliant instead of having
> "near" and "far" and "huge" keywords everywhere, so I
> just chose to blanketly compile in true huge memory model
> (all pointers huge). And if that doesn't leave enough room
> for apps on an 8086 then upgrade to either a Turbo 186 or
> an 80286 or above. Rather than change the OS source code.
>
> I should be able to get another 64k on the Book 8088 by
> using the region A0000-AFFFF and simply not use graphics,
> but I haven't tried that yet. I'm not sure if I will find RAM or
> a hole at B0000-B7FFF. If there is RAM there then I could
> switch to using a VT100 terminal and get B0000-BFFFF.
> Or fragmented memory would be OK too. But I won't bother
> doing that until I have started reusing the kernel's C library
> instead of each application having their own.
>
> I think there's a ROM at C0000-FFFFF, without backing RAM
> (on the Book 8088), even if it was possible to bank it out.
>

There was the rom for services. For example, at C800:5 you could find
the low-level formatting program for hard-disks. At the DOS period, to
use it it was sufficient to launch debug.exe and to its prompt to give
the command "G C800: 5" :^)

> (note that this was just unrelated comments about the 8086
> design - the original question is about 8080 - I'm just not
> sure what's going to happen when I take the 8086 and 80386
> design and try to implement it on the 8080 - or what the design
> should be).
>
> BFN. Paul.
>

Re: PL/M

<ubcsba$28eua$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2220&group=comp.lang.c#2220

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: nospam@please.ty (jak)
Newsgroups: comp.lang.c
Subject: Re: PL/M
Date: Mon, 14 Aug 2023 11:32:26 +0200
Organization: A noiseless patient Spider
Lines: 92
Message-ID: <ubcsba$28eua$1@dont-email.me>
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
<u99vta$2ck7s$1@dont-email.me>
<40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>
<af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com>
<54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com>
<4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com>
<84f0b296-5b42-44bc-ae57-c710fce94b66n@googlegroups.com>
<D7WcnaPmNrACGCP5nZ2dnZfqn_qdnZ2d@supernews.com>
<769232bf-f759-44e8-84ed-4835735b6897n@googlegroups.com>
<b4842421-c508-4620-9232-4d785f5347ffn@googlegroups.com>
<e144f59d-ed63-48ce-8258-56ce94b0294an@googlegroups.com>
<ua1l1v$2chh1$1@dont-email.me>
<3d83c7b4-0110-4b68-a061-fcba0f878c9an@googlegroups.com>
<8cb3732f-e0b8-41af-82c3-db6685c257d6n@googlegroups.com>
<259b3264-1c89-406d-be8b-2ac50ce6487en@googlegroups.com>
<99c2d0e7-91ea-446f-b037-02f80b9a48d4n@googlegroups.com>
<98066bbb-6a34-4ad1-a5ad-f7ccc3b2d9ebn@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 14 Aug 2023 09:32:26 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="34b48f9e9a649f7a2de30c5fc390b72f";
logging-data="2374602"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19vnKEe8Z6GpqGdF+snfgXY"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Firefox/91.0 SeaMonkey/2.53.17
Cancel-Lock: sha1:OR2AXDZPIZnSRhX0L4srsm38FI4=
In-Reply-To: <98066bbb-6a34-4ad1-a5ad-f7ccc3b2d9ebn@googlegroups.com>
 by: jak - Mon, 14 Aug 2023 09:32 UTC

Paul Edwards ha scritto:
> On Monday, August 14, 2023 at 4:47:21 AM UTC+8, Ed Prochak wrote:
>> On Thursday, August 10, 2023 at 7:12:00 AM UTC-4, Paul Edwards wrote:
>>> On Monday, July 31, 2023 at 12:12:09 PM UTC+8, Ed Prochak wrote:
>>>
>>>> Okay. I am trying to make sure I don't offend you here,
>>>> but
>>>> you do know that the OBJ file contains more than the
>>>> executable code and that even the code it contains
>>>> may not be in binary format,
>>>> RIGHT?
>>> Yes, I know that, but it's mostly binary code and
>>> here is the fat code in the PDOS/86 kernel:
>>>
>>> fat_TEXT CODE AUTO 33f2:0000 0000b222
>>>
>>> 45602 bytes. Compiled with Open Watcom.
>>>
>>> I checked the disassembly - it is all legitimate code.
>>>
>>> It could be the price of the huge memory model, which I
>>> wouldn't encounter on the 8080.
>>>
>>> BFN. Paul.
>
>> Last I checked 45602 is still less than 64K (65536).
>> Did you misread a decimal place?
>
> Here is what I originally reported:
>
> this 8086 object code:
>
> 2023-07-29 08:22 56,783 fat.obj
>
> almost blowing away the entire 64k possible
>
>
> Note the word "almost".
>
>> But that doesn't mean all of that code needs to be in memory all the time.
>> (As pointed out by others in this conversation). In the old days of small
>> machines these were called overlays. It is more formally called virtual memory.
>>
>> On small machines if slows things down but these are hardware solutions.
>
> Well - is that how CP/M managed to pull off the feat with PL/M?
>
> PL/M does automatic overlays? Or were they manually done?
>
> I guess dropping LFN and FAT32 would save space.
>
> And as I mentioned - this is using the huge memory model.
> Although I would have thought that the 8080 with 8-bit
> registers and 16-bit addresses would be the equivalent of
> huge memory model also.
>
> Although that in itself is another design choice I made - I
> wanted my code to be C90-compliant instead of having
> "near" and "far" and "huge" keywords everywhere, so I
> just chose to blanketly compile in true huge memory model
> (all pointers huge). And if that doesn't leave enough room
> for apps on an 8086 then upgrade to either a Turbo 186 or
> an 80286 or above. Rather than change the OS source code.
>
> I should be able to get another 64k on the Book 8088 by
> using the region A0000-AFFFF and simply not use graphics,
> but I haven't tried that yet. I'm not sure if I will find RAM or
> a hole at B0000-B7FFF. If there is RAM there then I could
> switch to using a VT100 terminal and get B0000-BFFFF.

The memory of the monochromatic graphic cards in text mode is mapped to
the address B0000, as well as at the address B8000 for the color graphic
cards. These memory areas also exist in RAM but are not used (some
memory managers made it available to use them in Dos. The name of the
most famous was Qemm).

> Or fragmented memory would be OK too. But I won't bother
> doing that until I have started reusing the kernel's C library
> instead of each application having their own.
>
> I think there's a ROM at C0000-FFFFF, without backing RAM
> (on the Book 8088), even if it was possible to bank it out.
>
> (note that this was just unrelated comments about the 8086
> design - the original question is about 8080 - I'm just not
> sure what's going to happen when I take the 8086 and 80386
> design and try to implement it on the 8080 - or what the design
> should be).
>
> BFN. Paul.
>

Re: PL/M

<b3441bb5-9bd9-4d72-b575-790493b3839an@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=36588&group=comp.lang.c#36588

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:a05:620a:6891:b0:76d:72d:20c with SMTP id rv17-20020a05620a689100b0076d072d020cmr19172qkn.14.1691665408862;
Thu, 10 Aug 2023 04:03:28 -0700 (PDT)
X-Received: by 2002:a05:6a00:2d8d:b0:687:4ed6:ec12 with SMTP id
fb13-20020a056a002d8d00b006874ed6ec12mr966427pfb.3.1691665408550; Thu, 10 Aug
2023 04:03:28 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Thu, 10 Aug 2023 04:03:27 -0700 (PDT)
In-Reply-To: <c06ae02b-74c4-4a12-a094-7d0bbdf18895n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=136.158.103.32; posting-account=CeHKkQoAAAAowY1GfiJYG55VVc0s1zaG
NNTP-Posting-Host: 136.158.103.32
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
<u99vta$2ck7s$1@dont-email.me> <40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>
<af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com> <54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com>
<4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com> <84f0b296-5b42-44bc-ae57-c710fce94b66n@googlegroups.com>
<D7WcnaPmNrACGCP5nZ2dnZfqn_qdnZ2d@supernews.com> <769232bf-f759-44e8-84ed-4835735b6897n@googlegroups.com>
<b4842421-c508-4620-9232-4d785f5347ffn@googlegroups.com> <e144f59d-ed63-48ce-8258-56ce94b0294an@googlegroups.com>
<621b184d-8311-45c4-ab68-9cc83febed87n@googlegroups.com> <ed3ae7fd-877a-4d9f-88db-940299128fbcn@googlegroups.com>
<c06ae02b-74c4-4a12-a094-7d0bbdf18895n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b3441bb5-9bd9-4d72-b575-790493b3839an@googlegroups.com>
Subject: Re: PL/M
From: mutazilah@gmail.com (Paul Edwards)
Injection-Date: Thu, 10 Aug 2023 11:03:28 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 3876
 by: Paul Edwards - Thu, 10 Aug 2023 11:03 UTC

Sorry for the delay - I was sick - possibly Covid as it had
symptoms I wasn't used to - plus had some other priorities.

> Looking at your other posts I now understand that you want a
> couple of things--
> ONE: a C standard language that is usable from what I'll call
> server/mainframe class processors (64bit)
> down to
> utility class processors (8bit).
> Note: glad to see you are not asking to include 4 bit processors!
>
> TWO: the ability to write an Operating system in that standard
> C language that is portable from utility class to server class
> hardware.
>
> Sorry but you hit a key limit of the C language. I doubt ANY
> language can meet both of those goals at the same time.

That's what I'm trying to understand.

Note that I have 16-bit to 64-bit already done.

I didn't notice any limitation in the language.

> Just consider GNU/LINUX. Even though the LINUX kernel
> is is available on many processors and platforms, these
> are all a minimum of 32bit processors. And the source code
> is not portable in the sense that it had compile conditionals
> to modify the code as needed for the target hardware.

They probably aren't using the PDOS-generic model
which is what I am now using.

> May I ask, are you skilled in assembly language?
> For which processors?

I know/used 6502, x86 and S/370 assembler.

I'm not claiming to be an expert. I program almost
exclusively in C90.

> On the 6502 did you program at the low level, bare hardware?
> Or within a defined environment (like a commadore64)?

On the C64.

> > Yes, you can use some tricks to reduce space, but I don't
> > want to take away the design simplicity, so my solution
> > is to switch to the 80286 so that I have 2 MB. I haven't
> > done that yet though.

> So which target are you programming for, 8bit or 32 bit?

The 80286 is 16-bit register size.

But right at the moment I have switched to 64-bit because
someone contributed some 64-bit code and I am utilizing
that as priority.

BFN. Paul.

Re: PL/M

<259b3264-1c89-406d-be8b-2ac50ce6487en@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=36590&group=comp.lang.c#36590

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:a05:6214:1747:b0:63c:eda9:400a with SMTP id dc7-20020a056214174700b0063ceda9400amr21568qvb.1.1691665912604;
Thu, 10 Aug 2023 04:11:52 -0700 (PDT)
X-Received: by 2002:a63:a742:0:b0:55a:12cf:3660 with SMTP id
w2-20020a63a742000000b0055a12cf3660mr389024pgo.1.1691665912088; Thu, 10 Aug
2023 04:11:52 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Thu, 10 Aug 2023 04:11:51 -0700 (PDT)
In-Reply-To: <8cb3732f-e0b8-41af-82c3-db6685c257d6n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=136.158.103.32; posting-account=CeHKkQoAAAAowY1GfiJYG55VVc0s1zaG
NNTP-Posting-Host: 136.158.103.32
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
<u99vta$2ck7s$1@dont-email.me> <40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>
<af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com> <54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com>
<4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com> <84f0b296-5b42-44bc-ae57-c710fce94b66n@googlegroups.com>
<D7WcnaPmNrACGCP5nZ2dnZfqn_qdnZ2d@supernews.com> <769232bf-f759-44e8-84ed-4835735b6897n@googlegroups.com>
<b4842421-c508-4620-9232-4d785f5347ffn@googlegroups.com> <e144f59d-ed63-48ce-8258-56ce94b0294an@googlegroups.com>
<ua1l1v$2chh1$1@dont-email.me> <3d83c7b4-0110-4b68-a061-fcba0f878c9an@googlegroups.com>
<8cb3732f-e0b8-41af-82c3-db6685c257d6n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <259b3264-1c89-406d-be8b-2ac50ce6487en@googlegroups.com>
Subject: Re: PL/M
From: mutazilah@gmail.com (Paul Edwards)
Injection-Date: Thu, 10 Aug 2023 11:11:52 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2524
 by: Paul Edwards - Thu, 10 Aug 2023 11:11 UTC

On Monday, July 31, 2023 at 12:12:09 PM UTC+8, Ed Prochak wrote:

> Okay. I am trying to make sure I don't offend you here,
> but
> you do know that the OBJ file contains more than the
> executable code and that even the code it contains
> may not be in binary format,
> RIGHT?

Yes, I know that, but it's mostly binary code and
here is the fat code in the PDOS/86 kernel:

fat_TEXT CODE AUTO 33f2:0000 0000b222

45602 bytes. Compiled with Open Watcom.

I checked the disassembly - it is all legitimate code.

It could be the price of the huge memory model, which I
wouldn't encounter on the 8080.

BFN. Paul.

Re: PL/M

<3a6b4be6-794f-41f6-9ab2-ccdc1cdf6945n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=36591&group=comp.lang.c#36591

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:a05:620a:9c7:b0:76d:473:2e74 with SMTP id y7-20020a05620a09c700b0076d04732e74mr22167qky.6.1691666549616;
Thu, 10 Aug 2023 04:22:29 -0700 (PDT)
X-Received: by 2002:a63:79cf:0:b0:563:9b68:cf59 with SMTP id
u198-20020a6379cf000000b005639b68cf59mr469770pgc.8.1691666549010; Thu, 10 Aug
2023 04:22:29 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Thu, 10 Aug 2023 04:22:28 -0700 (PDT)
In-Reply-To: <uabvfm$3pcm5$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=136.158.103.32; posting-account=CeHKkQoAAAAowY1GfiJYG55VVc0s1zaG
NNTP-Posting-Host: 136.158.103.32
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
<u99vta$2ck7s$1@dont-email.me> <40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>
<af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com> <54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com>
<4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com> <84f0b296-5b42-44bc-ae57-c710fce94b66n@googlegroups.com>
<D7WcnaPmNrACGCP5nZ2dnZfqn_qdnZ2d@supernews.com> <769232bf-f759-44e8-84ed-4835735b6897n@googlegroups.com>
<b4842421-c508-4620-9232-4d785f5347ffn@googlegroups.com> <e144f59d-ed63-48ce-8258-56ce94b0294an@googlegroups.com>
<u9tl55$1sajh$1@dont-email.me> <432c17a3-8e76-4829-8eec-90c29bc8d421n@googlegroups.com>
<u9tsah$1svth$1@dont-email.me> <7dca77f3-778a-4281-9bdb-a6dfe734042en@googlegroups.com>
<uabvfm$3pcm5$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3a6b4be6-794f-41f6-9ab2-ccdc1cdf6945n@googlegroups.com>
Subject: Re: PL/M
From: mutazilah@gmail.com (Paul Edwards)
Injection-Date: Thu, 10 Aug 2023 11:22:29 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3131
 by: Paul Edwards - Thu, 10 Aug 2023 11:22 UTC

On Wednesday, August 2, 2023 at 6:03:47 AM UTC+8, David Brown wrote:

> Portable to what? It is extremely rare to have to make code portable to
> /any/ architecture with a C implementation.

It's not "have to", it's "want to". I didn't "have to" write
PDOS at all. Well, there could be room for a semantic
debate there, but I'm not interested in that.

> > And C90 is hugely superior to SubC, and I'm still waiting
> > for that gap to be closed.
> >
> I have no idea what "SubC" might be. But if someone says lasagne makes
> a nicer diner than plain bread, saying plain bread is nicer than eating
> rocks does not count as a reason for turning down the lasagne.

There is no public domain lasagne. Just public domain rocks.

> > Writing an application, writing an OS, and writing a compiler
> > are independent tasks.
> >
> And each is perhaps 5 orders of magnitude more effort than writing a
> little C++ class.

And I am doing the OS task above, and someone else is
doing the compiler task above.

> You have doubts that when people write "int8_t", they mean "an eight bit
> signed integer type" ?

I have doubts that that translates to a business requirement
or a logical need.

BFN. Paul.

PL/M

<0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=47376&group=comp.lang.c#47376

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:a05:620a:2548:b0:767:e807:e4fe with SMTP id s8-20020a05620a254800b00767e807e4femr84553qko.4.1689807377187;
Wed, 19 Jul 2023 15:56:17 -0700 (PDT)
X-Received: by 2002:a05:6808:159b:b0:3a3:efef:5c74 with SMTP id
t27-20020a056808159b00b003a3efef5c74mr7187101oiw.8.1689807376776; Wed, 19 Jul
2023 15:56:16 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!1.us.feeder.erje.net!3.us.feeder.erje.net!feeder.erje.net!border-1.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Wed, 19 Jul 2023 15:56:16 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=136.158.103.55; posting-account=CeHKkQoAAAAowY1GfiJYG55VVc0s1zaG
NNTP-Posting-Host: 136.158.103.55
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
Subject: PL/M
From: mutazilah@gmail.com (muta...@gmail.com)
Injection-Date: Wed, 19 Jul 2023 22:56:17 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 17
 by: muta...@gmail.com - Wed, 19 Jul 2023 22:56 UTC

CP/M-80 was written in PL/M.

Is there any technical reason why it couldn't have
been written in C90 instead (if the language had
existed at the time)?

ie does C produce code too inefficiently or not
provide the ability to do something that PL/M
provides?

I wasn't aware that these small machines could
handle being programmed in a language other
than assembler (at least for something critical
like the OS).

MSDOS wasn't written in PL/M - why not?

Thanks. Paul.

Re: PL/M

<17736c61e07e90c1$370$2302728$baa1eca3@news.newsdemon.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=47381&group=comp.lang.c#47381

  copy link   Newsgroups: comp.lang.c
From: rmcconne@lightlink.com (Bob McConnell)
Subject: Re: PL/M
Newsgroups: comp.lang.c
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
Mime-Version: 1.0
User-Agent: Pan/0.149 (Bellevue; 4c157ba git@gitlab.gnome.org:GNOME/pan.git)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Lines: 25
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!feeder.usenetexpress.com!tr2.iad1.usenetexpress.com!news.newsdemon.com!not-for-mail
Date: Thu, 20 Jul 2023 00:37:32 +0000
Nntp-Posting-Date: Thu, 20 Jul 2023 00:37:32 +0000
X-Received-Bytes: 1399
Organization: NewsDemon - www.newsdemon.com
X-Complaints-To: abuse@newsdemon.com
Message-Id: <17736c61e07e90c1$370$2302728$baa1eca3@news.newsdemon.com>
 by: Bob McConnell - Thu, 20 Jul 2023 00:37 UTC

On Wed, 19 Jul 2023 15:56:16 -0700 (PDT), muta...@gmail.com wrote:

> CP/M-80 was written in PL/M.
>
> Is there any technical reason why it couldn't have been written in C90
> instead (if the language had existed at the time)?
>
> ie does C produce code too inefficiently or not provide the ability to
> do something that PL/M provides?
>
> I wasn't aware that these small machines could handle being programmed
> in a language other than assembler (at least for something critical like
> the OS).
>
> MSDOS wasn't written in PL/M - why not?
>
> Thanks. Paul.

CP/M was first released in 1974, sixteen years before C90 was finalized.
The first version of K&R C was released in 1978. PL/M was the primary
language on the mini computer Gary Kildall used to develop his OS. The
syntax and vocabulary of PL/M is very similar to C, so if you can read
one, you can figure out both.

Bob McConnell

Re: PL/M

<u99vta$2ck7s$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=47382&group=comp.lang.c#47382

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc@freeuk.com (Bart)
Newsgroups: comp.lang.c
Subject: Re: PL/M
Date: Thu, 20 Jul 2023 01:42:18 +0100
Organization: A noiseless patient Spider
Lines: 32
Message-ID: <u99vta$2ck7s$1@dont-email.me>
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 20 Jul 2023 00:42:18 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="2e13e49741e984015742a684e1703412";
logging-data="2511100"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18O0PGU5/ARjlzlZP9lDKMXG5W3C/2w9R0="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.13.0
Cancel-Lock: sha1:NUCIIOMuyI/NjzZHsgd9ftDNSr4=
In-Reply-To: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
 by: Bart - Thu, 20 Jul 2023 00:42 UTC

On 19/07/2023 23:56, muta...@gmail.com wrote:
> CP/M-80 was written in PL/M.
>
> Is there any technical reason why it couldn't have
> been written in C90 instead (if the language had
> existed at the time)?
>
> ie does C produce code too inefficiently or not
> provide the ability to do something that PL/M
> provides?

What year was it written?

My company wrote a CP/M clone, they did so using Z80 assembly (this was
around 1982). One constraint was that the OS had to operate within 4-8KB
of memory.

I'd imagine that C compilers of that time, especially for 8080, were not
that sophisticated nor did they optimise. (They would have taken ages to
develop with too; maybe PL/M was simpler and faster to work with.)

BTW which CP/M are we talking about? I can find sources for CP/M 1, 2
and 3, which appear to mix ASM and PL/M. The PL/M looks surprisingly good.

I didn't use it myself, but had used another machine-oriented language.
It was simpler and lower-level than C, if you can imagine that, but was
definitely not assembly.

A C compiler now for those devices, run as a cross-compiler on a modern
PC, would likely do a better job.

Re: PL/M

<40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=47386&group=comp.lang.c#47386

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:a05:620a:2908:b0:767:ea3b:cecf with SMTP id m8-20020a05620a290800b00767ea3bcecfmr18600qkp.12.1689841462974;
Thu, 20 Jul 2023 01:24:22 -0700 (PDT)
X-Received: by 2002:a05:6808:1514:b0:3a3:b8ab:c211 with SMTP id
u20-20020a056808151400b003a3b8abc211mr1943595oiw.4.1689841462740; Thu, 20 Jul
2023 01:24:22 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Thu, 20 Jul 2023 01:24:22 -0700 (PDT)
In-Reply-To: <u99vta$2ck7s$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=136.158.103.55; posting-account=CeHKkQoAAAAowY1GfiJYG55VVc0s1zaG
NNTP-Posting-Host: 136.158.103.55
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com> <u99vta$2ck7s$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>
Subject: Re: PL/M
From: mutazilah@gmail.com (Paul Edwards)
Injection-Date: Thu, 20 Jul 2023 08:24:22 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2859
 by: Paul Edwards - Thu, 20 Jul 2023 08:24 UTC

On Thursday, July 20, 2023 at 8:42:33 AM UTC+8, Bart wrote:

> > ie does C produce code too inefficiently or not
> > provide the ability to do something that PL/M
> > provides?

> What year was it written?

1974 or something.

> My company wrote a CP/M clone, they did so using Z80 assembly (this was
> around 1982). One constraint was that the OS had to operate within 4-8KB
> of memory.

Yeah - this is what I expected - assembler as the only choice.

> I'd imagine that C compilers of that time, especially for 8080, were not
> that sophisticated nor did they optimise. (They would have taken ages to
> develop with too; maybe PL/M was simpler and faster to work with.)

How did PL/M achieve either of these things?

> BTW which CP/M are we talking about? I can find sources for CP/M 1, 2
> and 3, which appear to mix ASM and PL/M. The PL/M looks surprisingly good..

1 I guess. I just looked at a little bit of one of them and confirmed
that it was in a high level language that looked similar to PL/1.

> I didn't use it myself, but had used another machine-oriented language.
> It was simpler and lower-level than C, if you can imagine that, but was
> definitely not assembly.

That's exactly the problem - I can't imagine that.

> A C compiler now for those devices, run as a cross-compiler on a modern
> PC, would likely do a better job.

I see. Ok, so the problem has been solved.

But if C had been invented at the same time as PL/M and
had the same amount of effort put into it, would it have
always been the equal of PL/M?

Or is there something special about PL/M?

Thanks. Paul.

Re: PL/M

<u9b49f$2m3vt$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=47399&group=comp.lang.c#47399

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc@freeuk.com (Bart)
Newsgroups: comp.lang.c
Subject: Re: PL/M
Date: Thu, 20 Jul 2023 12:03:11 +0100
Organization: A noiseless patient Spider
Lines: 64
Message-ID: <u9b49f$2m3vt$1@dont-email.me>
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
<u99vta$2ck7s$1@dont-email.me>
<40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 20 Jul 2023 11:03:11 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="2e13e49741e984015742a684e1703412";
logging-data="2822141"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18FVM/UhiS0zYQVfrhG6es7o3oCk9gDXh4="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.13.0
Cancel-Lock: sha1:c/frq++KjhRuNVqv7RwVWQlVgn8=
In-Reply-To: <40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>
 by: Bart - Thu, 20 Jul 2023 11:03 UTC

On 20/07/2023 09:24, Paul Edwards wrote:
> On Thursday, July 20, 2023 at 8:42:33 AM UTC+8, Bart wrote:
>
>>> ie does C produce code too inefficiently or not
>>> provide the ability to do something that PL/M
>>> provides?
>
>> What year was it written?
>
> 1974 or something.
>
>> My company wrote a CP/M clone, they did so using Z80 assembly (this was
>> around 1982). One constraint was that the OS had to operate within 4-8KB
>> of memory.
>
> Yeah - this is what I expected - assembler as the only choice.
>
>> I'd imagine that C compilers of that time, especially for 8080, were not
>> that sophisticated nor did they optimise. (They would have taken ages to
>> develop with too; maybe PL/M was simpler and faster to work with.)
>
> How did PL/M achieve either of these things?

The implementations used a mix of PL/M and assembly. Some CP/M routines
would have been independent programs, not resident, so less pressure on
space.

And if it was in 1974, probably they used a cross-compiler; I don't
know. But at that time, it sounds unlikely there was even a C
cross-compiler, for these early microprocessors. The ones from nearly a
decade later seemed bad enough.

The 'M' in PL/M means the language was specially designed for
microprocessors. According to Wikipedia, it had facilities for dealing
with interrupts, accessing cpu flags, and for accessing I/O ports.

>> BTW which CP/M are we talking about? I can find sources for CP/M 1, 2
>> and 3, which appear to mix ASM and PL/M. The PL/M looks surprisingly
good.
>
> 1 I guess. I just looked at a little bit of one of them and confirmed
> that it was in a high level language that looked similar to PL/1.
>
>> I didn't use it myself, but had used another machine-oriented language.
>> It was simpler and lower-level than C, if you can imagine that, but was
>> definitely not assembly.
>
> That's exactly the problem - I can't imagine that.

There are various simplifications that are possible. For example, PL/M
only had two primitive types, equivalent to `u8` and `u16` (BYTE and
ADDRESS).

The u16 type served also as a pointer type.

(My first language for microprocessors in '81 had types equivalent to
u8, i16 and f24. I can't remember how I handled pointers. It was on a
smaller scale than PL/M, and much smaller than C (now it's overtaken C).

It ran directly on the device, and I used it for 3D vector graphics and
for some image processing, obviously in a crude way with a low-res display.)

Re: PL/M

<af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=47428&group=comp.lang.c#47428

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:a05:6214:a44:b0:635:db77:3570 with SMTP id ee4-20020a0562140a4400b00635db773570mr535qvb.8.1689886109603;
Thu, 20 Jul 2023 13:48:29 -0700 (PDT)
X-Received: by 2002:a05:622a:201:b0:403:acaa:abe0 with SMTP id
b1-20020a05622a020100b00403acaaabe0mr577qtx.8.1689886109322; Thu, 20 Jul 2023
13:48:29 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Thu, 20 Jul 2023 13:48:29 -0700 (PDT)
In-Reply-To: <40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:5f82:5000:545a:2982:9d74:ecff;
posting-account=3ty6FAkAAACYEfch20jQ1ZACFatw-Vdx
NNTP-Posting-Host: 2600:1700:5f82:5000:545a:2982:9d74:ecff
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
<u99vta$2ck7s$1@dont-email.me> <40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com>
Subject: Re: PL/M
From: edprochak@gmail.com (Ed Prochak)
Injection-Date: Thu, 20 Jul 2023 20:48:29 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Ed Prochak - Thu, 20 Jul 2023 20:48 UTC

On Thursday, July 20, 2023 at 4:24:31 AM UTC-4, Paul Edwards wrote:
[]
> But if C had been invented at the same time as PL/M and
> had the same amount of effort put into it, would it have
> always been the equal of PL/M?
>
> Or is there something special about PL/M?
>
> Thanks. Paul.

PL/M was an Intel variation of PL/1 from IBM. PL/M toolset was optimized for
the Intel Processors, especially the 8080 family. You had much better control over
memory usage as the sizes of Integers, pointers and character variables were well defined.

I used PL/M for a debugger tool on the 8086. I thought it was a good language
and fought for PL/M versus C when the selection was being made for the next
generation of products at that company. This was around 1984/1985.

I still like PL/M, but ending up using C at many other places I worked. I like C as well.

Enjoy,
Ed

Re: PL/M

<54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=47432&group=comp.lang.c#47432

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:a05:620a:8282:b0:767:f116:17e0 with SMTP id ox2-20020a05620a828200b00767f11617e0mr304qkn.14.1689895067667;
Thu, 20 Jul 2023 16:17:47 -0700 (PDT)
X-Received: by 2002:a05:6870:5b30:b0:1b0:460c:548b with SMTP id
ds48-20020a0568705b3000b001b0460c548bmr252725oab.3.1689895067366; Thu, 20 Jul
2023 16:17:47 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Thu, 20 Jul 2023 16:17:46 -0700 (PDT)
In-Reply-To: <af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=136.158.103.133; posting-account=CeHKkQoAAAAowY1GfiJYG55VVc0s1zaG
NNTP-Posting-Host: 136.158.103.133
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
<u99vta$2ck7s$1@dont-email.me> <40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>
<af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com>
Subject: Re: PL/M
From: mutazilah@gmail.com (Paul Edwards)
Injection-Date: Thu, 20 Jul 2023 23:17:47 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Paul Edwards - Thu, 20 Jul 2023 23:17 UTC

On Friday, July 21, 2023 at 4:48:38 AM UTC+8, Ed Prochak wrote:

> > But if C had been invented at the same time as PL/M and
> > had the same amount of effort put into it, would it have
> > always been the equal of PL/M?
> >
> > Or is there something special about PL/M?

> PL/M was an Intel variation of PL/1 from IBM. PL/M toolset was optimized for
> the Intel Processors, especially the 8080 family. You had much better control over
> memory usage as the sizes of Integers, pointers and character variables were well defined.

Surely that "issue" in C is easily mitigated by having a "flavor"
of C (if you need to go that far) that has very well-defined
16-bit addresses and 8-bit unsigned chars?

Sure - if you write code according to those assumptions it
won't be portable (not a lot of code is), but it's likely to be
far less work to port it to another environment than if you
threw the baby out with the bathwater and opted for
PL/M instead.

BFN. Paul.

Re: PL/M

<4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=47503&group=comp.lang.c#47503

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!feeder.usenetexpress.com!tr2.iad1.usenetexpress.com!69.80.99.27.MISMATCH!Xl.tags.giganews.com!local-2.nntp.ord.giganews.com!nntp.supernews.com!news.supernews.com.POSTED!not-for-mail
NNTP-Posting-Date: Sat, 22 Jul 2023 13:32:57 +0000
Sender: Andrew Haley <aph@zarquon.pink>
From: aph@littlepinkcloud.invalid
Subject: Re: PL/M
Newsgroups: comp.lang.c
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com> <u99vta$2ck7s$1@dont-email.me> <40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com> <af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com> <54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com>
User-Agent: tin/1.9.2-20070201 ("Dalaruan") (UNIX) (Linux/4.18.0-477.13.1.el8_8.x86_64 (x86_64))
Message-ID: <4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com>
Date: Sat, 22 Jul 2023 13:32:57 +0000
Lines: 19
X-Trace: sv3-CAZ9Z2UZTcOWhEj81UzTI8Xlj6DwNJNF2HSwIkxSnwa9r2cjXjiGK8yDlJEzRQL2NTAay1LC5zkw5mt!Nz8v1aROSvMMz9Ct/hJbN/0pim+4Q+w6kv9l9EPk44pvlkxvSPCzZrhxUEgs7f68ihZlkJvJUDam!C+HYiW2tbqM=
X-Complaints-To: www.supernews.com/docs/abuse.html
X-DMCA-Complaints-To: www.supernews.com/docs/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
 by: aph@littlepinkcloud.invalid - Sat, 22 Jul 2023 13:32 UTC

Paul Edwards <mutazilah@gmail.com> wrote:
> On Friday, July 21, 2023 at 4:48:38?AM UTC+8, Ed Prochak wrote:
>
>> PL/M was an Intel variation of PL/1 from IBM. PL/M toolset was
>> optimized for the Intel Processors, especially the 8080 family. You
>> had much better control over memory usage as the sizes of Integers,
>> pointers and character variables were well defined.
>
> Surely that "issue" in C is easily mitigated by having a "flavor" of
> C (if you need to go that far) that has very well-defined 16-bit
> addresses and 8-bit unsigned chars?

Not entirely. PL/M has a simpler type system than C, for example very
little in the way of promotion rules. It makes for fairly efficient
code on a pure 8-bit processor without a heavyweight optimizer. And
the language is simple enough that the compiler can fit in memory and
be reasonably fast.

Andrew.

Re: PL/M

<77a1b847-5807-4e8d-a068-aa727025bc2an@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=47547&group=comp.lang.c#47547

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:a37:8647:0:b0:762:42ca:919e with SMTP id i68-20020a378647000000b0076242ca919emr11499qkd.9.1690052451663;
Sat, 22 Jul 2023 12:00:51 -0700 (PDT)
X-Received: by 2002:a05:6870:771b:b0:1bb:4d41:e92e with SMTP id
dw27-20020a056870771b00b001bb4d41e92emr922876oab.2.1690052451475; Sat, 22 Jul
2023 12:00:51 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Sat, 22 Jul 2023 12:00:51 -0700 (PDT)
In-Reply-To: <4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com>
Injection-Info: google-groups.googlegroups.com; posting-host=69.231.86.239; posting-account=3ty6FAkAAACYEfch20jQ1ZACFatw-Vdx
NNTP-Posting-Host: 69.231.86.239
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
<u99vta$2ck7s$1@dont-email.me> <40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>
<af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com> <54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com>
<4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <77a1b847-5807-4e8d-a068-aa727025bc2an@googlegroups.com>
Subject: Re: PL/M
From: edprochak@gmail.com (Ed Prochak)
Injection-Date: Sat, 22 Jul 2023 19:00:51 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3288
 by: Ed Prochak - Sat, 22 Jul 2023 19:00 UTC

On Saturday, July 22, 2023 at 9:33:20 AM UTC-4, a...@littlepinkcloud.invalid wrote:
> Paul Edwards <muta...@gmail.com> wrote:
> > On Friday, July 21, 2023 at 4:48:38?AM UTC+8, Ed Prochak wrote:
> >
> >> PL/M was an Intel variation of PL/1 from IBM. PL/M toolset was
> >> optimized for the Intel Processors, especially the 8080 family. You
> >> had much better control over memory usage as the sizes of Integers,
> >> pointers and character variables were well defined.
> >
> > Surely that "issue" in C is easily mitigated by having a "flavor" of
> > C (if you need to go that far) that has very well-defined 16-bit
> > addresses and 8-bit unsigned chars?
> Not entirely. PL/M has a simpler type system than C, for example very
> little in the way of promotion rules. It makes for fairly efficient
> code on a pure 8-bit processor without a heavyweight optimizer. And
> the language is simple enough that the compiler can fit in memory and
> be reasonably fast.
>
> Andrew.

Andrew, Yes "reasonably fast"! On the INTEL blue boxes where we ran the PL/M compiler
there was dual 8inch floppy drives. I don't remember how much RAM. The compile of
that debugger took close to an hour to produce just the load image. I had to run a
second pass to produce the assembler listing because you could not fit both on the
output floppy! (Later a 5 meg hard drive was added and the build time for the
debugger went from over an hour to about 5 minutes to produce both image and listing!)

When we did get the C cross compiler, it ran on a DEC VAX!

We did take advantage of C's portability on the next project, debugging the logic
of our embedded software on the VAX before compiling them for the target 8086 boards.
So Paul, don't get me wrong. In the end I liked C and have used it a LOT.

Enjoy
Ed

Re: PL/M

<u9hkua$3v9vb$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=47559&group=comp.lang.c#47559

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc@freeuk.com (Bart)
Newsgroups: comp.lang.c
Subject: Re: PL/M
Date: Sat, 22 Jul 2023 23:24:11 +0100
Organization: A noiseless patient Spider
Lines: 55
Message-ID: <u9hkua$3v9vb$1@dont-email.me>
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
<u99vta$2ck7s$1@dont-email.me>
<40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>
<af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com>
<54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com>
<4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com>
<77a1b847-5807-4e8d-a068-aa727025bc2an@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 22 Jul 2023 22:24:10 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="1ff3cd75a92dd528a6e3b811369f9b54";
logging-data="4171755"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+YLYOjpVKHkahi4ASEteZGgQl5gH03CPs="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.13.0
Cancel-Lock: sha1:Y2FmF7Vw4vitoJxyBGm+5WP9Z5I=
In-Reply-To: <77a1b847-5807-4e8d-a068-aa727025bc2an@googlegroups.com>
 by: Bart - Sat, 22 Jul 2023 22:24 UTC

On 22/07/2023 20:00, Ed Prochak wrote:
> On Saturday, July 22, 2023 at 9:33:20 AM UTC-4,
a...@littlepinkcloud.invalid wrote:
>> Paul Edwards <muta...@gmail.com> wrote:
>>> On Friday, July 21, 2023 at 4:48:38?AM UTC+8, Ed Prochak wrote:
>>>
>>>> PL/M was an Intel variation of PL/1 from IBM. PL/M toolset was
>>>> optimized for the Intel Processors, especially the 8080 family. You
>>>> had much better control over memory usage as the sizes of Integers,
>>>> pointers and character variables were well defined.
>>>
>>> Surely that "issue" in C is easily mitigated by having a "flavor" of
>>> C (if you need to go that far) that has very well-defined 16-bit
>>> addresses and 8-bit unsigned chars?
>> Not entirely. PL/M has a simpler type system than C, for example very
>> little in the way of promotion rules. It makes for fairly efficient
>> code on a pure 8-bit processor without a heavyweight optimizer. And
>> the language is simple enough that the compiler can fit in memory and
>> be reasonably fast.
>>
>> Andrew.
>
> Andrew, Yes "reasonably fast"! On the INTEL blue boxes where we ran
the PL/M compiler
> there was dual 8inch floppy drives. I don't remember how much RAM.
The compile of
> that debugger took close to an hour to produce just the load image.

That sounds extremely slow even for 8080 running on floppies (what was
the size of the image produced?).

Was this 'blue box' an emulator for 8080 running on an 8080? That seems
to be the gist of what is written about this 'Intel MDS 80'. If so that
might explain the speed, although not why it was necessary to use such
an emulator.

I ran my own compiler directly on Z80, at perhaps double the clock
speed, and using 5" floppies that could have been double the capacity of
8" ones (320KB vs 160KB or something).

It only took seconds to build a program. The limiting factor was the
time to read files off disk, at 20KB/sec or some such value, but the
largest program that could be loaded was only 60KB anyway.

> I had to run a
> second pass to produce the assembler listing because you could not
fit both on the
> output floppy!

I've heard of such listings but it's not something I ever bothered with.
It sounds a bit of a luxury on such devices.

Re: PL/M

<84f0b296-5b42-44bc-ae57-c710fce94b66n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=47569&group=comp.lang.c#47569

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:a05:622a:1a20:b0:403:a627:8b79 with SMTP id f32-20020a05622a1a2000b00403a6278b79mr15823qtb.13.1690070378334; Sat, 22 Jul 2023 16:59:38 -0700 (PDT)
X-Received: by 2002:a05:6808:1292:b0:3a1:dd24:5ac6 with SMTP id a18-20020a056808129200b003a1dd245ac6mr11779117oiw.11.1690070377984; Sat, 22 Jul 2023 16:59:37 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!feeder.usenetexpress.com!tr3.iad1.usenetexpress.com!69.80.99.11.MISMATCH!border-1.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Sat, 22 Jul 2023 16:59:37 -0700 (PDT)
In-Reply-To: <4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com>
Injection-Info: google-groups.googlegroups.com; posting-host=136.158.103.115; posting-account=CeHKkQoAAAAowY1GfiJYG55VVc0s1zaG
NNTP-Posting-Host: 136.158.103.115
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com> <u99vta$2ck7s$1@dont-email.me> <40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com> <af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com> <54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com> <4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <84f0b296-5b42-44bc-ae57-c710fce94b66n@googlegroups.com>
Subject: Re: PL/M
From: mutazilah@gmail.com (Paul Edwards)
Injection-Date: Sat, 22 Jul 2023 23:59:38 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 31
 by: Paul Edwards - Sat, 22 Jul 2023 23:59 UTC

On Saturday, July 22, 2023 at 9:33:20 PM UTC+8, a...@littlepinkcloud.invalid wrote:

> >> PL/M was an Intel variation of PL/1 from IBM. PL/M toolset was
> >> optimized for the Intel Processors, especially the 8080 family. You
> >> had much better control over memory usage as the sizes of Integers,
> >> pointers and character variables were well defined.
> >
> > Surely that "issue" in C is easily mitigated by having a "flavor" of
> > C (if you need to go that far) that has very well-defined 16-bit
> > addresses and 8-bit unsigned chars?

> Not entirely. PL/M has a simpler type system than C, for example very
> little in the way of promotion rules. It makes for fairly efficient
> code on a pure 8-bit processor without a heavyweight optimizer. And
> the language is simple enough that the compiler can fit in memory and
> be reasonably fast.

Can a subset of C be used to match both of those things?

Or a slight variant?

I'm talking about with the same effort that was put into PL/M
at the time (1970s) - ie NOT relying on modern heavyweight
optimization of C from 2023.

Basically if the language C90 had existed in say 1950, and at
the time people started writing PL/M they instead were inspired
by C90=C50, would C have been perfectly fine for the eventual
task of writing the CPM-80 operating system?

Thanks. Paul.

Re: PL/M

<D7WcnaPmNrACGCP5nZ2dnZfqn_qdnZ2d@supernews.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=47647&group=comp.lang.c#47647

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!feeder.usenetexpress.com!tr3.iad1.usenetexpress.com!69.80.99.22.MISMATCH!Xl.tags.giganews.com!local-2.nntp.ord.giganews.com!nntp.supernews.com!news.supernews.com.POSTED!not-for-mail
NNTP-Posting-Date: Mon, 24 Jul 2023 14:07:27 +0000
Sender: Andrew Haley <aph@zarquon.pink>
From: aph@littlepinkcloud.invalid
Subject: Re: PL/M
Newsgroups: comp.lang.c
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com> <u99vta$2ck7s$1@dont-email.me> <40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com> <af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com> <54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com> <4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com> <84f0b296-5b42-44bc-ae57-c710fce94b66n@googlegroups.com>
User-Agent: tin/1.9.2-20070201 ("Dalaruan") (UNIX) (Linux/4.18.0-477.13.1.el8_8.x86_64 (x86_64))
Message-ID: <D7WcnaPmNrACGCP5nZ2dnZfqn_qdnZ2d@supernews.com>
Date: Mon, 24 Jul 2023 14:07:27 +0000
Lines: 33
X-Trace: sv3-6Woekq6yxxtxpz2otsHwkGEGMlZxOf2eKgCQ95zjENX4ae6k1GzZCw/Fu+XClGtO96FTn7Wl0gZRGdA!/UCf/sRAHq6SBFYalOcDye+SLwxHci1n2EyPqOvGU3wlmoYuVN9gYSuBQwkG48akwU3RxDnTlo+z!ZXvoZPqXK4o=
X-Complaints-To: www.supernews.com/docs/abuse.html
X-DMCA-Complaints-To: www.supernews.com/docs/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
 by: aph@littlepinkcloud.invalid - Mon, 24 Jul 2023 14:07 UTC

Paul Edwards <mutazilah@gmail.com> wrote:
> On Saturday, July 22, 2023 at 9:33:20?PM UTC+8, a...@littlepinkcloud.invalid wrote:
>> PL/M has a simpler type system than C, for example very
>> little in the way of promotion rules. It makes for fairly efficient
>> code on a pure 8-bit processor without a heavyweight optimizer. And
>> the language is simple enough that the compiler can fit in memory and
>> be reasonably fast.
>
> Can a subset of C be used to match both of those things?
>
> Or a slight variant?

I guess so, sure, if you ditch the integer promotion rules and end up
with something that corresponds more-or-less to the PL/M feature set
but with C's syntax.

> I'm talking about with the same effort that was put into PL/M
> at the time (1970s) - ie NOT relying on modern heavyweight
> optimization of C from 2023.
>
> Basically if the language C90 had existed in say 1950,

Be realistic: 1960. The first functioning stored-program computers
became available around 1950.

> and at the time people started writing PL/M they instead were
> inspired by C90=C50, would C have been perfectly fine for the
> eventual task of writing the CPM-80 operating system?

Well, yes, if by "C" you mean a sort of Tiny C subset that corresponds
to PL/M.

Andrew.

Re: PL/M

<u9m327$n03m$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=47652&group=comp.lang.c#47652

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc@freeuk.com (Bart)
Newsgroups: comp.lang.c
Subject: Re: PL/M
Date: Mon, 24 Jul 2023 15:49:45 +0100
Organization: A noiseless patient Spider
Lines: 49
Message-ID: <u9m327$n03m$1@dont-email.me>
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
<u99vta$2ck7s$1@dont-email.me>
<40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>
<af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com>
<54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com>
<4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com>
<84f0b296-5b42-44bc-ae57-c710fce94b66n@googlegroups.com>
<D7WcnaPmNrACGCP5nZ2dnZfqn_qdnZ2d@supernews.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 24 Jul 2023 14:49:43 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="bc713edb1ff551516d7c9b4e592eb73a";
logging-data="753782"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19JlxLKQt5ZncVwKw0NUpzlRfciJOs3LNY="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.13.0
Cancel-Lock: sha1:a731gqmL+48uvmHZD6/RPlY7yOQ=
In-Reply-To: <D7WcnaPmNrACGCP5nZ2dnZfqn_qdnZ2d@supernews.com>
 by: Bart - Mon, 24 Jul 2023 14:49 UTC

On 24/07/2023 15:07, aph@littlepinkcloud.invalid wrote:
> Paul Edwards <mutazilah@gmail.com> wrote:
>> On Saturday, July 22, 2023 at 9:33:20?PM UTC+8, a...@littlepinkcloud.invalid wrote:
>>> PL/M has a simpler type system than C, for example very
>>> little in the way of promotion rules. It makes for fairly efficient
>>> code on a pure 8-bit processor without a heavyweight optimizer. And
>>> the language is simple enough that the compiler can fit in memory and
>>> be reasonably fast.
>>
>> Can a subset of C be used to match both of those things?
>>
>> Or a slight variant?
>
> I guess so, sure, if you ditch the integer promotion rules and end up
> with something that corresponds more-or-less to the PL/M feature set
> but with C's syntax.
>
>> I'm talking about with the same effort that was put into PL/M
>> at the time (1970s) - ie NOT relying on modern heavyweight
>> optimization of C from 2023.
>>
>> Basically if the language C90 had existed in say 1950,
>
> Be realistic: 1960. The first functioning stored-program computers
> became available around 1950.
>
>> and at the time people started writing PL/M they instead were
>> inspired by C90=C50, would C have been perfectly fine for the
>> eventual task of writing the CPM-80 operating system?
>
> Well, yes, if by "C" you mean a sort of Tiny C subset that corresponds
> to PL/M.

Tiny C actually implements a substantial subset of C99. I think only
Complex support is missing (or that I'm aware of).

My own C compiler does a smaller subset (leaving out also VLAs,
designated initialisers, compound literals among others), but even that
implements a massively bigger language that than used by PL/M.

There will likely be many toy 'C' compilers at that level (though
probably not that generate code for 8080).

Personally I would just keep that PL/M code as PL/M.

However, I've long lost track of what the OP is trying to achieve. Is
the aim to have a compiler that /runs on/ the 8080? The PL/M sources I
saw were written in Fortran, and presumably were for a cross-compiler.

Re: PL/M

<28153469-ad65-42dc-94dc-d5c90ed6c1b0n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=47698&group=comp.lang.c#47698

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:ad4:4b2b:0:b0:635:e3ae:e0a0 with SMTP id s11-20020ad44b2b000000b00635e3aee0a0mr1414qvw.9.1690330352246; Tue, 25 Jul 2023 17:12:32 -0700 (PDT)
X-Received: by 2002:a05:6808:1993:b0:3a4:26e5:8b24 with SMTP id bj19-20020a056808199300b003a426e58b24mr1106449oib.9.1690330352034; Tue, 25 Jul 2023 17:12:32 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!69.80.99.14.MISMATCH!border-1.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Tue, 25 Jul 2023 17:12:31 -0700 (PDT)
In-Reply-To: <u9m327$n03m$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=136.158.103.55; posting-account=CeHKkQoAAAAowY1GfiJYG55VVc0s1zaG
NNTP-Posting-Host: 136.158.103.55
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com> <u99vta$2ck7s$1@dont-email.me> <40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com> <af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com> <54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com> <4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com> <84f0b296-5b42-44bc-ae57-c710fce94b66n@googlegroups.com> <D7WcnaPmNrACGCP5nZ2dnZfqn_qdnZ2d@supernews.com> <u9m327$n03m$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <28153469-ad65-42dc-94dc-d5c90ed6c1b0n@googlegroups.com>
Subject: Re: PL/M
From: mutazilah@gmail.com (Paul Edwards)
Injection-Date: Wed, 26 Jul 2023 00:12:32 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 32
 by: Paul Edwards - Wed, 26 Jul 2023 00:12 UTC

On Monday, July 24, 2023 at 10:49:57 PM UTC+8, Bart wrote:

> There will likely be many toy 'C' compilers at that level (though
> probably not that generate code for 8080).
>
> Personally I would just keep that PL/M code as PL/M.

I'm not attempting to change the existing PL/M code.
I want to compete with it, in C, on a level playing field.

> However, I've long lost track of what the OP is trying to achieve. Is
> the aim to have a compiler that /runs on/ the 8080?

Not necessarily. CP/M was written via cross-compilation,
so I am happy to do that too.

But I know there are C compilers that run on the 8080,
one of them (BDS C) was actually released to the
public domain. It's written in 8080 assembler.

So if I can run the compiler on the 8080, cool, but I
believe you have to make compromises to fit into
64k. Even SubC has exceeded 64k of code in small
memory model 8086 and hasn't even reached C90
yet. Nevermind data.

And I don't want to make compromises to the source
code of the C compiler due to ridiculous memory
constraints.

So cross-compiling is probably the only option.

BFN. Paul.

Re: PL/M

<769232bf-f759-44e8-84ed-4835735b6897n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=47699&group=comp.lang.c#47699

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:ad4:57ad:0:b0:635:49d7:544f with SMTP id g13-20020ad457ad000000b0063549d7544fmr1680qvx.4.1690331513138;
Tue, 25 Jul 2023 17:31:53 -0700 (PDT)
X-Received: by 2002:a05:6830:199:b0:6b8:92ea:23c4 with SMTP id
q25-20020a056830019900b006b892ea23c4mr1004182ota.4.1690331512806; Tue, 25 Jul
2023 17:31:52 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border-2.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Tue, 25 Jul 2023 17:31:52 -0700 (PDT)
In-Reply-To: <D7WcnaPmNrACGCP5nZ2dnZfqn_qdnZ2d@supernews.com>
Injection-Info: google-groups.googlegroups.com; posting-host=136.158.103.55; posting-account=CeHKkQoAAAAowY1GfiJYG55VVc0s1zaG
NNTP-Posting-Host: 136.158.103.55
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
<u99vta$2ck7s$1@dont-email.me> <40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>
<af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com> <54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com>
<4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com> <84f0b296-5b42-44bc-ae57-c710fce94b66n@googlegroups.com>
<D7WcnaPmNrACGCP5nZ2dnZfqn_qdnZ2d@supernews.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <769232bf-f759-44e8-84ed-4835735b6897n@googlegroups.com>
Subject: Re: PL/M
From: mutazilah@gmail.com (Paul Edwards)
Injection-Date: Wed, 26 Jul 2023 00:31:53 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 92
 by: Paul Edwards - Wed, 26 Jul 2023 00:31 UTC

On Monday, July 24, 2023 at 10:07:50 PM UTC+8, a...@littlepinkcloud..invalid wrote:

> >> PL/M has a simpler type system than C, for example very
> >> little in the way of promotion rules. It makes for fairly efficient
> >> code on a pure 8-bit processor without a heavyweight optimizer. And
> >> the language is simple enough that the compiler can fit in memory and
> >> be reasonably fast.
> >
> > Can a subset of C be used to match both of those things?
> >
> > Or a slight variant?

> I guess so, sure, if you ditch the integer promotion rules and end up
> with something that corresponds more-or-less to the PL/M feature set
> but with C's syntax.

Ok, I've been programming in C for about 35 years, but
some aspects I have never had to delve into too deeply,
and promotion rules is one of them.

Is this something you could elaborate or is it too much work?

Basically, what is standard C doing, and what does a C
variant need to do to compete with PL/M? (with regard
to promotion rule changes)

> > I'm talking about with the same effort that was put into PL/M
> > at the time (1970s) - ie NOT relying on modern heavyweight
> > optimization of C from 2023.
> >
> > Basically if the language C90 had existed in say 1950,

> Be realistic: 1960. The first functioning stored-program computers
> became available around 1950.

Ok.

> > and at the time people started writing PL/M they instead were
> > inspired by C90=C50, would C have been perfectly fine for the
> > eventual task of writing the CPM-80 operating system?

> Well, yes, if by "C" you mean a sort of Tiny C subset that corresponds
> to PL/M.

Ok, great - this sounds exactly what I'm after.

And in fact, C evolved through BPCL and B too.

Starting in 1960, I would like a C90-inspired language that will
cover the development of all OSes on all platforms. I know it
is possible to write a mainframe OS in C90 (that's what I did
with z/PDOS). With some assembler routines to be called from
C of course. So IBM could have used C instead of PL/S and
assembler on the S/360 line.

But for the 8080, apparently type promotion interfered with
writing an OS. And maybe the same issue happened with
writing QDOS/86DOS/MSDOS 1.0 for the 8086?

So I need a suitable subset of C. Note that the Sub C C
compiler has a subset of C too - but that's due to it taking
a long time to find someone to write the necessary code.

And SubC has an evolution too - the older versions don't
have struct, and a version with struct has been written
without using struct. So there are a series of stepping
stones. And it only supports char (which is unsigned)
and int. So maybe it is already the PL/M equivalent, and
exactly SubC was needed to write a CP/M equivalent?

I don't like the requirement of C90 for "long" to be 32-bits
either. That seems onerous for an 8-bit system to me.

Are you aware of Sector C? A C subset that is less than
512 bytes of 8086 assembler. I converted that to C and
called it Multisector C, and targeted the mainframe too.

I don't know if it is technically possible to start with
Sector C/Multisector C and then - purely writing in
valid C90 code (subset) - aside from things that need to
be in assembler - you can eventually produce a full C90
compiler. ie a series of stepping stones.

And I don't know if the PL/M equivalent would be part
of that stepping stone process, or a side-track.

Basically I'm trying to rationalize my use of C. Sort of
like I know English, but need to adjust to Glaswegian
accent. Or Indian accent.

Thanks. Paul.

Re: PL/M

<56a05b3b-c24d-444f-9e2a-a3241e7cd3dfn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=47701&group=comp.lang.c#47701

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:ad4:55cd:0:b0:63c:f38d:e0ce with SMTP id bt13-20020ad455cd000000b0063cf38de0cemr5224qvb.1.1690340528998;
Tue, 25 Jul 2023 20:02:08 -0700 (PDT)
X-Received: by 2002:a05:6808:30a2:b0:3a0:44fb:53c2 with SMTP id
bl34-20020a05680830a200b003a044fb53c2mr2117269oib.0.1690340528689; Tue, 25
Jul 2023 20:02:08 -0700 (PDT)
Path: i2pn2.org!rocksolid2!news.neodome.net!feeder1.feed.usenet.farm!feed.usenet.farm!peer02.ams4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Tue, 25 Jul 2023 20:02:08 -0700 (PDT)
In-Reply-To: <769232bf-f759-44e8-84ed-4835735b6897n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=136.158.103.55; posting-account=CeHKkQoAAAAowY1GfiJYG55VVc0s1zaG
NNTP-Posting-Host: 136.158.103.55
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
<u99vta$2ck7s$1@dont-email.me> <40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>
<af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com> <54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com>
<4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com> <84f0b296-5b42-44bc-ae57-c710fce94b66n@googlegroups.com>
<D7WcnaPmNrACGCP5nZ2dnZfqn_qdnZ2d@supernews.com> <769232bf-f759-44e8-84ed-4835735b6897n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <56a05b3b-c24d-444f-9e2a-a3241e7cd3dfn@googlegroups.com>
Subject: Re: PL/M
From: mutazilah@gmail.com (Paul Edwards)
Injection-Date: Wed, 26 Jul 2023 03:02:08 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2446
 by: Paul Edwards - Wed, 26 Jul 2023 03:02 UTC

On Wednesday, July 26, 2023 at 8:32:02 AM UTC+8, Paul Edwards wrote:

> Basically I'm trying to rationalize my use of C. Sort of
> like I know English, but need to adjust to Glaswegian
> accent. Or Indian accent.

There was something similar attempted with English.
They wanted an "international business English" or
something. You were allowed to say "close" to close a
tap, but you weren't allowed to say "get close to the
object".

It didn't work, because natives could never remember
which words they weren't supposed to use.

But in this case the compiler will quickly inform you
which syntax is not supported by a particular dialect
or subset of C for "small memory use" (or whatever
this is called - primitive compiler technology use?).

BFN. Paul.

Re: PL/M

<b4842421-c508-4620-9232-4d785f5347ffn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=47718&group=comp.lang.c#47718

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:a05:622a:1a08:b0:403:acd3:eb2f with SMTP id f8-20020a05622a1a0800b00403acd3eb2fmr6166qtb.4.1690382107084;
Wed, 26 Jul 2023 07:35:07 -0700 (PDT)
X-Received: by 2002:a05:6871:6b9e:b0:1bb:78b4:2e6e with SMTP id
zh30-20020a0568716b9e00b001bb78b42e6emr3511959oab.7.1690382106784; Wed, 26
Jul 2023 07:35:06 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Wed, 26 Jul 2023 07:35:06 -0700 (PDT)
In-Reply-To: <769232bf-f759-44e8-84ed-4835735b6897n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:5f82:5000:a5aa:367e:fa1b:8227;
posting-account=3ty6FAkAAACYEfch20jQ1ZACFatw-Vdx
NNTP-Posting-Host: 2600:1700:5f82:5000:a5aa:367e:fa1b:8227
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
<u99vta$2ck7s$1@dont-email.me> <40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>
<af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com> <54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com>
<4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com> <84f0b296-5b42-44bc-ae57-c710fce94b66n@googlegroups.com>
<D7WcnaPmNrACGCP5nZ2dnZfqn_qdnZ2d@supernews.com> <769232bf-f759-44e8-84ed-4835735b6897n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b4842421-c508-4620-9232-4d785f5347ffn@googlegroups.com>
Subject: Re: PL/M
From: edprochak@gmail.com (Ed Prochak)
Injection-Date: Wed, 26 Jul 2023 14:35:07 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Ed Prochak - Wed, 26 Jul 2023 14:35 UTC

On Tuesday, July 25, 2023 at 8:32:02 PM UTC-4, Paul Edwards wrote:
> On Monday, July 24, 2023 at 10:07:50 PM UTC+8, a...@littlepinkcloud.invalid wrote:
>
> > >> PL/M has a simpler type system than C, for example very
> > >> little in the way of promotion rules. It makes for fairly efficient
> > >> code on a pure 8-bit processor without a heavyweight optimizer. And
> > >> the language is simple enough that the compiler can fit in memory and
> > >> be reasonably fast.
> > >
> > > Can a subset of C be used to match both of those things?
> > >
> > > Or a slight variant?
>
> > I guess so, sure, if you ditch the integer promotion rules and end up
> > with something that corresponds more-or-less to the PL/M feature set
> > but with C's syntax.
> Ok, I've been programming in C for about 35 years, but
> some aspects I have never had to delve into too deeply,
> and promotion rules is one of them.
>
> Is this something you could elaborate or is it too much work?
>
> Basically, what is standard C doing, and what does a C
> variant need to do to compete with PL/M? (with regard
> to promotion rule changes)

The versions of C in the mid 1980's competed with PL/M
and eventually won. As I mentioned, where I worked, PL/M
was dropped for application development. It did require a
cross compiler running on a larger machine (VAX), but gave
an advantage of debugging the logic of the c programs on
the VAX.

> > > I'm talking about with the same effort that was put into PL/M
> > > at the time (1970s) - ie NOT relying on modern heavyweight
> > > optimization of C from 2023.
> > >
> > > Basically if the language C90 had existed in say 1950,
>
> > Be realistic: 1960. The first functioning stored-program computers
> > became available around 1950.
> Ok.
> > > and at the time people started writing PL/M they instead were
> > > inspired by C90=C50, would C have been perfectly fine for the
> > > eventual task of writing the CPM-80 operating system?

Yes C would have been fine for CP/M. UNIX was eventually
written in C.

Ignoring the differences, both languages are Turing complete,
so any program that can be written with PL/M can be written
in C and vice versa.

>
> > Well, yes, if by "C" you mean a sort of Tiny C subset that corresponds
> > to PL/M.
> Ok, great - this sounds exactly what I'm after.
>
> And in fact, C evolved through BPCL and B too.
>
> Starting in 1960, I would like a C90-inspired language that will
> cover the development of all OSes on all platforms. I know it
> is possible to write a mainframe OS in C90 (that's what I did
> with z/PDOS). With some assembler routines to be called from
> C of course. So IBM could have used C instead of PL/S and
> assembler on the S/360 line.

Why would they? PL/S had features that IBM wanted that made the
development easier. This "use C for any OS" mantra is nice, but
not useful. There are still parts that have to be written in assembly.
Other languages like PL/S provide different features that may
be more useful for the specific goals of a specific OS.

So I think the bottom line answer to your question is:
Sure, CP/M can be written in C. And if you want to
use C90 or better, go for it.

Ed

Re: PL/M

<2555e5b6-926d-45be-861f-74228930d19dn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=47720&group=comp.lang.c#47720

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:a05:622a:1a98:b0:404:132c:e7da with SMTP id s24-20020a05622a1a9800b00404132ce7damr12276qtc.5.1690382979353;
Wed, 26 Jul 2023 07:49:39 -0700 (PDT)
X-Received: by 2002:a05:6808:2102:b0:3a3:89a2:50a5 with SMTP id
r2-20020a056808210200b003a389a250a5mr5366538oiw.10.1690382978993; Wed, 26 Jul
2023 07:49:38 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!3.eu.feeder.erje.net!2.eu.feeder.erje.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Wed, 26 Jul 2023 07:49:38 -0700 (PDT)
In-Reply-To: <56a05b3b-c24d-444f-9e2a-a3241e7cd3dfn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:5f82:5000:a5aa:367e:fa1b:8227;
posting-account=3ty6FAkAAACYEfch20jQ1ZACFatw-Vdx
NNTP-Posting-Host: 2600:1700:5f82:5000:a5aa:367e:fa1b:8227
References: <0e28c4e8-19e2-4d66-a4a5-20ff20c0ed6dn@googlegroups.com>
<u99vta$2ck7s$1@dont-email.me> <40a96aa9-9a8d-487e-a361-18428e543c69n@googlegroups.com>
<af6800ed-8ca2-42ad-a9a6-ecbff34f8de3n@googlegroups.com> <54eed49f-2fc3-48c4-a399-a363735661ddn@googlegroups.com>
<4O2dnadSTZcURyb5nZ2dnZfqn_qdnZ2d@supernews.com> <84f0b296-5b42-44bc-ae57-c710fce94b66n@googlegroups.com>
<D7WcnaPmNrACGCP5nZ2dnZfqn_qdnZ2d@supernews.com> <769232bf-f759-44e8-84ed-4835735b6897n@googlegroups.com>
<56a05b3b-c24d-444f-9e2a-a3241e7cd3dfn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2555e5b6-926d-45be-861f-74228930d19dn@googlegroups.com>
Subject: Re: PL/M
From: edprochak@gmail.com (Ed Prochak)
Injection-Date: Wed, 26 Jul 2023 14:49:39 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Ed Prochak - Wed, 26 Jul 2023 14:49 UTC

On Tuesday, July 25, 2023 at 11:02:18 PM UTC-4, Paul Edwards wrote:
> On Wednesday, July 26, 2023 at 8:32:02 AM UTC+8, Paul Edwards wrote:
>
> > Basically I'm trying to rationalize my use of C. Sort of
> > like I know English, but need to adjust to Glaswegian
> > accent. Or Indian accent.
> There was something similar attempted with English.
> They wanted an "international business English" or
> something. You were allowed to say "close" to close a
> tap, but you weren't allowed to say "get close to the
> object".
>
> It didn't work, because natives could never remember
> which words they weren't supposed to use.
>
> But in this case the compiler will quickly inform you
> which syntax is not supported by a particular dialect
> or subset of C for "small memory use" (or whatever
> this is called - primitive compiler technology use?).
>
> BFN. Paul.

Except watch out, those error messages can quickly
be confusing.

Here's an example from my experience:
Source code has structures but no code of the style:
structureB = structureA;

yet the C cross compiler produces the error message:
"Structure assignments not available."

After much consternation and discussions with the
compiler writers, we learned the error referred to a
function call:
funcA(..., structureA, ...);
which should have been:
funcA(..., &structureA, ...);

(This was just a chance for me to vent one of my
pet peeves that error messages are often written
from the view of the developer, not of the end user.
But it is the end user that has to understand them!)

TTFN
Ed

Pages:123
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor