Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

news: gotcha


devel / comp.os.cpm / Re: CP/M 2.2 SYS attribute

SubjectAuthor
* CP/M 2.2 SYS attributeEd Batalha
+* CP/M 2.2 SYS attributeSteven Hirsch
|`* CP/M 2.2 SYS attributeDouglas Miller
| `- CP/M 2.2 SYS attributeDouglas Miller
`* CP/M 2.2 SYS attributeLawrence Woodman
 `- CP/M 2.2 SYS attributeEd Batalha

1
CP/M 2.2 SYS attribute

<trs4u0$39188$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=5056&group=comp.os.cpm#5056

  copy link   Newsgroups: comp.os.cpm
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: edbatalha@yahoo.com (Ed Batalha)
Newsgroups: comp.os.cpm
Subject: CP/M 2.2 SYS attribute
Date: Tue, 7 Feb 2023 00:10:40 +0000
Organization: A noiseless patient Spider
Lines: 28
Message-ID: <trs4u0$39188$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 7 Feb 2023 00:10:40 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="16989c2d99def3d28debd5d1b9fca64b";
logging-data="3441928"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+2xc6hNjOIIHaF1TQ3S2rm"
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:51.0) Gecko/20100101 Firefox/51.0
SeaMonkey/2.48
Cancel-Lock: sha1:RW7piXXilUtL91/LWR3hdzjCX08=
X-Mozilla-News-Host: snews://news.eternal-september.org:563
 by: Ed Batalha - Tue, 7 Feb 2023 00:10 UTC

Hi,

I'm new to CP/M and so, I'm sure this has been discussed a lot in the
past already. I looked for this in other places on the internet but
found no answer, so here goes:

In the CP/M 2.2 manual, in the glossary [1] we see this text
"
system attribute (SYS)
File attribute. You can give a file the system attribute by using
the SYS option in the STAT command or by using the set file attributes
function, BDOS Function 12. A file with the SYS attribute is not
displayed in response to a DIR command. If you give a file with user
number 0 the SYS attribute, you can read and execute that file from any
user number on the same drive. Use this feature to make your commonly
used programs available under any user number.
"
I tried to test this by changing the attributes of a file to SYS with
STAT but then, after changing user was still unable to execute it.

Is this a known CP/M bug? If so, has it ever been patched?
Or is the manual just wrong?

[1]
http://www.gaby.de/cpm/manuals/archive/cpm22htm/axh.htm

Thanks,
Ed

Re: CP/M 2.2 SYS attribute

<9fqcnay42ek3P3z-nZ2dnZfqn_ednZ2d@giganews.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=5057&group=comp.os.cpm#5057

  copy link   Newsgroups: comp.os.cpm
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border-2.nntp.ord.giganews.com!nntp.giganews.com!Xl.tags.giganews.com!local-1.nntp.ord.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Tue, 07 Feb 2023 01:00:26 +0000
Date: Mon, 6 Feb 2023 20:00:25 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.11.0
Subject: Re: CP/M 2.2 SYS attribute
Content-Language: en-US
Newsgroups: comp.os.cpm
References: <trs4u0$39188$1@dont-email.me>
From: snhirsch@gmail.com (Steven Hirsch)
In-Reply-To: <trs4u0$39188$1@dont-email.me>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <9fqcnay42ek3P3z-nZ2dnZfqn_ednZ2d@giganews.com>
Lines: 32
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-VMjYe7VMMeJiP2Gya5ZML2WWpZ9dv1Yjl8Y9gX96ff+vRwU/+5tO/HKcY1CqhdiLzgiN0vCU59lzm2L!IEuHx1ozvz6EMrnNBxc5ZlhHhYAQNeFUNlwEloa16fv2l2AmlfnpvqMbll7UgrAWoGd4WOclYKfB
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
 by: Steven Hirsch - Tue, 7 Feb 2023 01:00 UTC

On 2/6/23 19:10, Ed Batalha wrote:
> Hi,
>
> I'm new to CP/M and so, I'm sure this has been discussed a lot in the past
> already. I looked for this in other places on the internet but found no
> answer, so here goes:
>
> In the CP/M 2.2 manual, in the glossary [1] we see this text
> "
> system attribute (SYS)
>     File attribute. You can give a file the system attribute by using the SYS
> option in the STAT command or by using the set file attributes function, BDOS
> Function 12. A file with the SYS attribute is not displayed in response to a
> DIR command. If you give a file with user number 0 the SYS attribute, you can
> read and execute that file from any user number on the same drive. Use this
> feature to make your commonly used programs available under any user number.
> "
> I tried to test this by changing the attributes of a file to SYS with STAT but
> then, after changing user was still unable to execute it.
>
> Is this a known CP/M bug? If so, has it ever been patched?
> Or is the manual just wrong?
>
> [1]
> http://www.gaby.de/cpm/manuals/archive/cpm22htm/axh.htm

I'm not aware that vanilla DRI CP/M 2 ever supported "public" files. The
feature is available under NZCOM using ZRDOS. There, files in any user area
can have the public bit set and be seen from any other.

Re: CP/M 2.2 SYS attribute

<6dadcfa0-ec09-4a1e-8261-14947ac07369n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=5058&group=comp.os.cpm#5058

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:622a:1188:b0:3b8:ca58:ee4d with SMTP id m8-20020a05622a118800b003b8ca58ee4dmr257271qtk.45.1675740903506;
Mon, 06 Feb 2023 19:35:03 -0800 (PST)
X-Received: by 2002:a9d:4e91:0:b0:686:6392:ed38 with SMTP id
v17-20020a9d4e91000000b006866392ed38mr159272otk.22.1675740903184; Mon, 06 Feb
2023 19:35:03 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.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.os.cpm
Date: Mon, 6 Feb 2023 19:35:02 -0800 (PST)
In-Reply-To: <9fqcnay42ek3P3z-nZ2dnZfqn_ednZ2d@giganews.com>
Injection-Info: google-groups.googlegroups.com; posting-host=96.42.194.246; posting-account=5XW4vgoAAADMD8xScYja8bdzAXoYQrTS
NNTP-Posting-Host: 96.42.194.246
References: <trs4u0$39188$1@dont-email.me> <9fqcnay42ek3P3z-nZ2dnZfqn_ednZ2d@giganews.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6dadcfa0-ec09-4a1e-8261-14947ac07369n@googlegroups.com>
Subject: Re: CP/M 2.2 SYS attribute
From: durgadas311@gmail.com (Douglas Miller)
Injection-Date: Tue, 07 Feb 2023 03:35:03 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 1702
 by: Douglas Miller - Tue, 7 Feb 2023 03:35 UTC

There were some vendors that created their own CCP that would search for the COM file in user 0 if it didn't exist at the current user number. Many of these required the SYS attribute to be set in order to work. CP/M 3 took the feature further to allow data files to be matched on user 0 as well. CP/M 3 also introduced more options for searching for COM files. So, the CP/M 2.2 BDOS did not support such a feature, but some vendors replaced the standard CCP with one that could do more searching for COM files.

Re: CP/M 2.2 SYS attribute

<5bca0855-1cbe-4b4e-be0e-dd064b8aef39n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=5059&group=comp.os.cpm#5059

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:ac8:7f86:0:b0:3ba:1bcb:aefe with SMTP id z6-20020ac87f86000000b003ba1bcbaefemr246312qtj.92.1675741431629;
Mon, 06 Feb 2023 19:43:51 -0800 (PST)
X-Received: by 2002:a05:6870:3281:b0:14c:793a:8ea8 with SMTP id
q1-20020a056870328100b0014c793a8ea8mr2161892oac.289.1675741431331; Mon, 06
Feb 2023 19:43:51 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.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.os.cpm
Date: Mon, 6 Feb 2023 19:43:51 -0800 (PST)
In-Reply-To: <6dadcfa0-ec09-4a1e-8261-14947ac07369n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=96.42.194.246; posting-account=5XW4vgoAAADMD8xScYja8bdzAXoYQrTS
NNTP-Posting-Host: 96.42.194.246
References: <trs4u0$39188$1@dont-email.me> <9fqcnay42ek3P3z-nZ2dnZfqn_ednZ2d@giganews.com>
<6dadcfa0-ec09-4a1e-8261-14947ac07369n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <5bca0855-1cbe-4b4e-be0e-dd064b8aef39n@googlegroups.com>
Subject: Re: CP/M 2.2 SYS attribute
From: durgadas311@gmail.com (Douglas Miller)
Injection-Date: Tue, 07 Feb 2023 03:43:51 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 1726
 by: Douglas Miller - Tue, 7 Feb 2023 03:43 UTC

I also have a copy of that manual, and I don't know when/why that was added to a manual for CP/M 2.2. I see the manual was last updated 1983, which could easily have allowed some CP/M 3 features to be accidentally added. The title page of the manual actually does not specify a version, although the commands described are certainly 2.2 and not 3. It may have been a mistake from trying to keep one set of documentation for different versions/variations of the OS.

Re: CP/M 2.2 SYS attribute

<b17630b2-7c7e-4e23-86f3-803b3c2752d4n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=5060&group=comp.os.cpm#5060

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:622a:1753:b0:3b6:42ce:86e6 with SMTP id l19-20020a05622a175300b003b642ce86e6mr367703qtk.83.1675756380483;
Mon, 06 Feb 2023 23:53:00 -0800 (PST)
X-Received: by 2002:a9d:357:0:b0:68b:e2b8:3ffc with SMTP id
81-20020a9d0357000000b0068be2b83ffcmr236009otv.117.1675756380091; Mon, 06 Feb
2023 23:53:00 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.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.os.cpm
Date: Mon, 6 Feb 2023 23:52:59 -0800 (PST)
In-Reply-To: <trs4u0$39188$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=212.159.72.217; posting-account=6IOL2QoAAADcrW98uD49gn028RamCDkC
NNTP-Posting-Host: 212.159.72.217
References: <trs4u0$39188$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b17630b2-7c7e-4e23-86f3-803b3c2752d4n@googlegroups.com>
Subject: Re: CP/M 2.2 SYS attribute
From: lorrywoodman@gmail.com (Lawrence Woodman)
Injection-Date: Tue, 07 Feb 2023 07:53:00 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 3776
 by: Lawrence Woodman - Tue, 7 Feb 2023 07:52 UTC

On Tuesday, 7 February 2023 at 00:10:42 UTC, Ed Batalha wrote:
>
> In the CP/M 2.2 manual, in the glossary [1] we see this text
> "
> system attribute (SYS)
> File attribute. You can give a file the system attribute by using
> the SYS option in the STAT command or by using the set file attributes
> function, BDOS Function 12. A file with the SYS attribute is not
> displayed in response to a DIR command. If you give a file with user
> number 0 the SYS attribute, you can read and execute that file from any
> user number on the same drive. Use this feature to make your commonly
> used programs available under any user number.
> "
> Is this a known CP/M bug? If so, has it ever been patched?
> Or is the manual just wrong?

For CP/M 2.2 the manual is wrong. This must have slipped in there from
CP/M Plus or possibly a vendor patched version.

In any case you can easily patch a standard BDOS with the following code:

cat > bdos-pat.asm <<\xxxxxxxxxx
title 'BDOS patch for CP/M 2.2 to make USER 0 public'
; ;5/15/80
; ;patch courtesy of Andy Johnson-Laird
; ;******************************CAUTION******************************
; ;This patch is for grown-ups who know what they are doing.
;Note that if files of the same name are present on both USER 0 and
;the logged-in USER number, the OPEN, SEARCH for FIRST, SEARCH for NEXT
;and READ SEQUENTIAL functions will match directory entries on a first-come
;first-served basis. This will cause exciting results if multiple extent
;files of the same name are present on both USER 0 and logged-in USER.
; ;Recommended use:
; ; 1) Keep on USER 0 only commonly used programs (Files.COM)
; 2) Set these programs to $SYS to reduce directory clutter.
; 3) Set these programs to $R/O to avoid accidental erasure of
; invisible programs.
; 4) NEVER place on any other USER number programs of the same name.
; 5) Have turn-key applications cold-boot directly into the assigned
; USER number. The USER number is the high nibble of address 4.
; ;
msize equ 20 ;set your memory size here
; bdos equ (msize-20)*1024+3C00h
; patch$area equ ?????? ;this will depend on YOUR system, and
;should probably be in your BIOS area
; org bdos+075eh
jmp patch ;overlays: mov a,b
; cpi 0dh
; ;
org patch$area
patch: mov a,b
ora a
jnz patch2
ldax d
cpi 0e5h
jz patch2
mov a,m
ora a
jz bdos+077ch
patch2: mov a,b
cpi 0dh
jmp bdos+0761h
; end
xxxxxxxxxx

Alternatively you could use a shell extension such as XCCP or EPEX.

Best wishes

Lorry

---
XCCP: A Shell Extension for CP/M
https://techtinkering.com/articles/xccp-a-shell-extension-for-cpm/

Re: CP/M 2.2 SYS attribute

<trug83$3spsc$6@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=5064&group=comp.os.cpm#5064

  copy link   Newsgroups: comp.os.cpm
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: edbatalha@yahoo.com (Ed Batalha)
Newsgroups: comp.os.cpm
Subject: Re: CP/M 2.2 SYS attribute
Date: Tue, 7 Feb 2023 21:36:02 +0000
Organization: A noiseless patient Spider
Lines: 102
Message-ID: <trug83$3spsc$6@dont-email.me>
References: <trs4u0$39188$1@dont-email.me>
<b17630b2-7c7e-4e23-86f3-803b3c2752d4n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 7 Feb 2023 21:36:03 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="16989c2d99def3d28debd5d1b9fca64b";
logging-data="4089740"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19aKI7RTleh6JgLZS6KSUoa"
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:51.0) Gecko/20100101 Firefox/51.0
SeaMonkey/2.48
Cancel-Lock: sha1:RZj/1pSOEUMEAPQa8t4x+mMz6G4=
In-Reply-To: <b17630b2-7c7e-4e23-86f3-803b3c2752d4n@googlegroups.com>
 by: Ed Batalha - Tue, 7 Feb 2023 21:36 UTC

Lawrence Woodman wrote:
> On Tuesday, 7 February 2023 at 00:10:42 UTC, Ed Batalha wrote:
>>
>> In the CP/M 2.2 manual, in the glossary [1] we see this text
>> "
>> system attribute (SYS)
>> File attribute. You can give a file the system attribute by using
>> the SYS option in the STAT command or by using the set file attributes
>> function, BDOS Function 12. A file with the SYS attribute is not
>> displayed in response to a DIR command. If you give a file with user
>> number 0 the SYS attribute, you can read and execute that file from any
>> user number on the same drive. Use this feature to make your commonly
>> used programs available under any user number.
>> "
>> Is this a known CP/M bug? If so, has it ever been patched?
>> Or is the manual just wrong?
>
> For CP/M 2.2 the manual is wrong. This must have slipped in there from
> CP/M Plus or possibly a vendor patched version.
>
> In any case you can easily patch a standard BDOS with the following code:
>
> cat > bdos-pat.asm <<\xxxxxxxxxx
> title 'BDOS patch for CP/M 2.2 to make USER 0 public'
> ;
> ;5/15/80
> ;
> ;patch courtesy of Andy Johnson-Laird
> ;
> ;******************************CAUTION******************************
> ;
> ;This patch is for grown-ups who know what they are doing.
> ;Note that if files of the same name are present on both USER 0 and
> ;the logged-in USER number, the OPEN, SEARCH for FIRST, SEARCH for NEXT
> ;and READ SEQUENTIAL functions will match directory entries on a first-come
> ;first-served basis. This will cause exciting results if multiple extent
> ;files of the same name are present on both USER 0 and logged-in USER.
> ;
> ;Recommended use:
> ;
> ; 1) Keep on USER 0 only commonly used programs (Files.COM)
> ; 2) Set these programs to $SYS to reduce directory clutter.
> ; 3) Set these programs to $R/O to avoid accidental erasure of
> ; invisible programs.
> ; 4) NEVER place on any other USER number programs of the same name.
> ; 5) Have turn-key applications cold-boot directly into the assigned
> ; USER number. The USER number is the high nibble of address 4.
> ;
> ;
> msize equ 20 ;set your memory size here
> ;
> bdos equ (msize-20)*1024+3C00h
> ;
> patch$area equ ?????? ;this will depend on YOUR system, and
> ;should probably be in your BIOS area
> ;
> org bdos+075eh
> jmp patch ;overlays: mov a,b
> ; cpi 0dh
> ;
> ;
> org patch$area
> patch: mov a,b
> ora a
> jnz patch2
> ldax d
> cpi 0e5h
> jz patch2
> mov a,m
> ora a
> jz bdos+077ch
> patch2: mov a,b
> cpi 0dh
> jmp bdos+0761h
> ;
> end
> xxxxxxxxxx
>
> Alternatively you could use a shell extension such as XCCP or EPEX.
>
>
> Best wishes
>
>
> Lorry
>
> ---
> XCCP: A Shell Extension for CP/M
> https://techtinkering.com/articles/xccp-a-shell-extension-for-cpm/
>

Thanks, it worked!!!

I changed the msize to 64 and found what looked like a reasonable value
for 'patch$area' (0fbdfh).
Then assembled the file with asm and loaded the resulting hex to memory
with DDT. Will do a bit more testing now...
I'm still not really familiar with the whole putsys, movcpm, etc etc.
Hopefully I'll b able find some later to study all of that.

Cheers,
Ed

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor