Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Warp 7 -- It's a law we can live with.


devel / comp.os.cpm / CP/M version of lbrate

SubjectAuthor
* CP/M version of lbrateLawrence Nelson
`* Re: CP/M version of lbrateRussell Marks
 `* Re: CP/M version of lbrateMark Ogden
  `- Re: CP/M version of lbrateLawrence Nelson

1
CP/M version of lbrate

<abe007f5-4c0a-49d3-a9c7-abfad931570fn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:622a:44d:b0:3b8:4c57:cd7a with SMTP id o13-20020a05622a044d00b003b84c57cd7amr284700qtx.327.1675263968611;
Wed, 01 Feb 2023 07:06:08 -0800 (PST)
X-Received: by 2002:a05:6870:8a10:b0:163:655b:c7b0 with SMTP id
p16-20020a0568708a1000b00163655bc7b0mr253293oaq.139.1675263967916; Wed, 01
Feb 2023 07:06:07 -0800 (PST)
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.os.cpm
Date: Wed, 1 Feb 2023 07:06:07 -0800 (PST)
Injection-Info: google-groups.googlegroups.com; posting-host=74.78.214.240; posting-account=B0A6CgkAAAB6FiCHlGWGm95Bgsdc11rG
NNTP-Posting-Host: 74.78.214.240
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <abe007f5-4c0a-49d3-a9c7-abfad931570fn@googlegroups.com>
Subject: CP/M version of lbrate
From: larsnel...@adelphia.net (Lawrence Nelson)
Injection-Date: Wed, 01 Feb 2023 15:06:08 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Lawrence Nelson - Wed, 1 Feb 2023 15:06 UTC

While browsing the HiTech C subdirectory on my Z80 system, I came upon the file MAIN.C which appears to be a version of LBRATE for CP/M and HiTech C. There were also 4 header files for the various decompression methods but there were no corresponding C files. LBRATE was written by Russel Marks for Linux I believe and I have searched high can't find where this file came. I do have a zip file with the Linux source, docs and makefile. Does any one have the complete HiTech C, CP/M, version of LBRATE?

Re: CP/M version of lbrate

<YXLCL.2981441$miq3.1822298@usenetxs.com>

  copy mid

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

  copy link   Newsgroups: comp.os.cpm
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!ecngs!feeder2.ecngs.de!178.20.174.213.MISMATCH!feeder1.feed.usenet.farm!feed.usenet.farm!peer01.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!fx02.ams4.POSTED!not-for-mail
From: zgedn...@spam^H^H^H^Hgmail.com (Russell Marks)
Newsgroups: comp.os.cpm
Subject: Re: CP/M version of lbrate
References: <abe007f5-4c0a-49d3-a9c7-abfad931570fn@googlegroups.com>
Organization: this space intentionally left blank
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
Lines: 21
Message-ID: <YXLCL.2981441$miq3.1822298@usenetxs.com>
X-Complaints-To: https://www.astraweb.com/aup
NNTP-Posting-Date: Thu, 02 Feb 2023 10:07:52 UTC
Date: Thu, 02 Feb 2023 10:07:52 GMT
X-Received-Bytes: 1609
 by: Russell Marks - Thu, 2 Feb 2023 10:07 UTC

Lawrence Nelson <larsnelson@adelphia.net> wrote:

> While browsing the HiTech C subdirectory on my Z80 system, I came upon
> the file MAIN.C which appears to be a version of LBRATE for CP/M and
> HiTech C. There were also 4 header files for the various decompression
> methods but there were no corresponding C files. LBRATE was written by
> Russel Marks for Linux I believe and I have searched high can't find
> where this file came. I do have a zip file with the Linux source, docs
> and makefile. Does any one have the complete HiTech C, CP/M, version
> of LBRATE?

To me that sounds like it might be a modified version intended just to
e.g. list the contents of LBR files while "correcting" the filenames
that were modified by compression.

I feel like lbrate proper would run very badly if at all on CP/M - it
rather extravagantly decompresses each file to RAM in full before
writing it, which makes for nicer code in some ways but would be
completely absurd on an 8-bit machine.

-Rus.

Re: CP/M version of lbrate

<3a389e9b-81cb-40d6-bf27-6f90dd96aaa4n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:ae9:e513:0:b0:706:94a4:545b with SMTP id w19-20020ae9e513000000b0070694a4545bmr758276qkf.80.1675425709920;
Fri, 03 Feb 2023 04:01:49 -0800 (PST)
X-Received: by 2002:a05:6870:5614:b0:163:655b:c7b0 with SMTP id
m20-20020a056870561400b00163655bc7b0mr774328oao.139.1675425707321; Fri, 03
Feb 2023 04:01:47 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.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.os.cpm
Date: Fri, 3 Feb 2023 04:01:47 -0800 (PST)
In-Reply-To: <YXLCL.2981441$miq3.1822298@usenetxs.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2a00:23c4:83:c101:18bc:227b:b794:378b;
posting-account=7LAplAoAAAByKIXUc8acNTC_dUp06kdO
NNTP-Posting-Host: 2a00:23c4:83:c101:18bc:227b:b794:378b
References: <abe007f5-4c0a-49d3-a9c7-abfad931570fn@googlegroups.com> <YXLCL.2981441$miq3.1822298@usenetxs.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3a389e9b-81cb-40d6-bf27-6f90dd96aaa4n@googlegroups.com>
Subject: Re: CP/M version of lbrate
From: ogde...@gmail.com (Mark Ogden)
Injection-Date: Fri, 03 Feb 2023 12:01:49 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Mark Ogden - Fri, 3 Feb 2023 12:01 UTC

On Thursday, 2 February 2023 at 10:07:53 UTC, Russell Marks wrote:
> Lawrence Nelson <larsn...@adelphia.net> wrote:
>
> > While browsing the HiTech C subdirectory on my Z80 system, I came upon
> > the file MAIN.C which appears to be a version of LBRATE for CP/M and
> > HiTech C. There were also 4 header files for the various decompression
> > methods but there were no corresponding C files. LBRATE was written by
> > Russel Marks for Linux I believe and I have searched high can't find
> > where this file came. I do have a zip file with the Linux source, docs
> > and makefile. Does any one have the complete HiTech C, CP/M, version
> > of LBRATE?
> To me that sounds like it might be a modified version intended just to
> e.g. list the contents of LBR files while "correcting" the filenames
> that were modified by compression.
>
> I feel like lbrate proper would run very badly if at all on CP/M - it
> rather extravagantly decompresses each file to RAM in full before
> writing it, which makes for nicer code in some ways but would be
> completely absurd on an 8-bit machine.
>
> -Rus.
I had a go at modifying lbrate 1.1 to compile with hitech c. It can be compiled, but not linked.
There are two problems
1) two additional routines are required.
memmove which is easily implemented and
strerror which is more problematic due to the fact that errno support isn't particularly well supported in the CPM libraries.
2) After providing dummy routines for memmove and strerror, the code fails to link properly, because the overall size exceeds 64k
Name Link Load Length
(abs) 0 0 0
text 0 0 738d
data 738d 738d 12a0
bss 862d 862d f821
i.e. total size is 97,870 bytes even with dummy routines, with heap being another demand above this.

The main culprit is readlzw.c which allocates 5 arrays of int [4096], an array of unsigned char [4096] and an array of int[5003].
The total data+bss usage for the various files is
File data+bss
readlzw.c 55132
readlzh.c 7094
main.c 3619
getopt.c 508
readhuff.c 90
readrle.c 4
total 66447
The data space requirement alone exceeds the memory space even without the library data+bss demands.
Without a radical rewite or removal of, lzw support it does not look like a CP/M lbrate version is viable.

Mark

Re: CP/M version of lbrate

<88cbead9-d1ff-4a72-b229-b0d5cd481016n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:ac8:580a:0:b0:3b8:6aaf:6ad with SMTP id g10-20020ac8580a000000b003b86aaf06admr1125148qtg.400.1675430711255;
Fri, 03 Feb 2023 05:25:11 -0800 (PST)
X-Received: by 2002:a05:6808:2010:b0:367:75c:b5c5 with SMTP id
q16-20020a056808201000b00367075cb5c5mr509839oiw.26.1675430711002; Fri, 03 Feb
2023 05:25:11 -0800 (PST)
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.os.cpm
Date: Fri, 3 Feb 2023 05:25:10 -0800 (PST)
In-Reply-To: <3a389e9b-81cb-40d6-bf27-6f90dd96aaa4n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=74.78.214.240; posting-account=B0A6CgkAAAB6FiCHlGWGm95Bgsdc11rG
NNTP-Posting-Host: 74.78.214.240
References: <abe007f5-4c0a-49d3-a9c7-abfad931570fn@googlegroups.com>
<YXLCL.2981441$miq3.1822298@usenetxs.com> <3a389e9b-81cb-40d6-bf27-6f90dd96aaa4n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <88cbead9-d1ff-4a72-b229-b0d5cd481016n@googlegroups.com>
Subject: Re: CP/M version of lbrate
From: larsnel...@adelphia.net (Lawrence Nelson)
Injection-Date: Fri, 03 Feb 2023 13:25:11 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Lawrence Nelson - Fri, 3 Feb 2023 13:25 UTC

On Friday, February 3, 2023 at 7:01:50 AM UTC-5, Mark Ogden wrote:
> On Thursday, 2 February 2023 at 10:07:53 UTC, Russell Marks wrote:
> > Lawrence Nelson <larsn...@adelphia.net> wrote:
> >
> > > While browsing the HiTech C subdirectory on my Z80 system, I came upon
> > > the file MAIN.C which appears to be a version of LBRATE for CP/M and
> > > HiTech C. There were also 4 header files for the various decompression
> > > methods but there were no corresponding C files. LBRATE was written by
> > > Russel Marks for Linux I believe and I have searched high can't find
> > > where this file came. I do have a zip file with the Linux source, docs
> > > and makefile. Does any one have the complete HiTech C, CP/M, version
> > > of LBRATE?
> > To me that sounds like it might be a modified version intended just to
> > e.g. list the contents of LBR files while "correcting" the filenames
> > that were modified by compression.
> >
> > I feel like lbrate proper would run very badly if at all on CP/M - it
> > rather extravagantly decompresses each file to RAM in full before
> > writing it, which makes for nicer code in some ways but would be
> > completely absurd on an 8-bit machine.
> >
> > -Rus.
> I had a go at modifying lbrate 1.1 to compile with hitech c. It can be compiled, but not linked.
> There are two problems
> 1) two additional routines are required.
> memmove which is easily implemented and
> strerror which is more problematic due to the fact that errno support isn't particularly well supported in the CPM libraries.
> 2) After providing dummy routines for memmove and strerror, the code fails to link properly, because the overall size exceeds 64k
> Name Link Load Length
> (abs) 0 0 0
> text 0 0 738d
> data 738d 738d 12a0
> bss 862d 862d f821
> i.e. total size is 97,870 bytes even with dummy routines, with heap being another demand above this.
>
> The main culprit is readlzw.c which allocates 5 arrays of int [4096], an array of unsigned char [4096] and an array of int[5003].
> The total data+bss usage for the various files is
> File data+bss
> readlzw.c 55132
> readlzh.c 7094
> main.c 3619
> getopt.c 508
> readhuff.c 90
> readrle.c 4
> total 66447
> The data space requirement alone exceeds the memory space even without the library data+bss demands.
> Without a radical rewite or removal of, lzw support it does not look like a CP/M lbrate version is viable.
>
> Mark
Thanks all for responding. Yeah, I have since read the documentation for the Linux version and found out LBRATE does indeed keep everything in memory so obviously as Mark states, "it does not look like a CP/M version is viable." Still puzzling as to where I got main.c modified for compilation with HiTech-C . Unlikely that I did the mods since I am a HiTech-C ludite. In fact I haven't done much C programming since System 7 Unix.

Lars

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor