Here you will find the VM releases. See the menu to the left.?
We recommend that you use the latest release as it contains many fixes and enhancements.
Older releases are retained so that any regression issues may be checked,
Keyboard Shortcuts
Likes
- H390-Vm
- Messages
Search
This group is for all folks running the original IBM VM/370 Release 6 operating system (or later (e.g. VMTCE (Community Edition)) on Hercules. Like the other early IBM operating systems this version has always been in the public domain and so can be freely distributed. The base version as supplied by IBM is lacking in many facilities. IBM solved this by providing additional extension products which were licensed and so are not available. There are however many user enhancements available which can be installed. In addition, in order to get users up and running quickly updated "releases" of VM/370 included the most popular updates are available for download, so novices can start to learn VM without having to delve into the system internals. It is intended that this wiki will provide information on the base release and these updates.
The available versions are here :-
?
?
Re: Possible bug in BREXX parse instruction
Yes. The problem is that BREXX doesn't handle literals in the parse template!! I just don't know enough C to find and fix it. Bob Bolch On Sun, Oct 16, 2022, 12:46 PM Martin Scheffler <San-Lorenzo@...> wrote: Comparing with results from real iron (z/VM 6.4): |
Re: Possible bug in BREXX parse instruction
Comparing with results from real iron (z/VM 6.4):
Ready; T=0.01/0.01 10:46:48?????????????????????????????????????? ? ?DAVEMTST???????????????????????????????????????????????????????? ? z/VM Version 6 Release 4.0, service level 1701 (64-bit)?????????? ? Generated at 04/24/17 16:30:42 EST??????????????????????????????? ? IPL at 10/08/22 07:37:33 EST????????????????????????????????????? ? CMS Level 28, Service Level 1701????????????????????????????????? ? REXX370 4.02 01 Dec 1998????????????????????????????????????????? ? test of () trial 1??????????????????????????????????????????????? ? in1 = //????????????????????????????????????????????????????????? ? in2 = //????????????????????????????????????????????????????????? ? outer=/ trial 1/????????????????????????????????????????????????? ? test of (1) trial 2?????????????????????????????????????????????? ? in1 = /1/???????????????????????????????????????????????????????? ? in2 = //????????????????????????????????????????????????????????? ? outer=/ trial 2/????????????????????????????????????????????????? ? test of (1 3) trial 3???????????????????????????????????????????? ? in1 = /1/???????????????????????????????????????????????????????? ? in2 = /3/???????????????????????????????????????????????????????? ? outer=/ trial3/?????????????????????????????????????????????????? ? Ready; T=0.01/0.01 10:46:51?????????????????????????????????????? ? ????????????????????????????????????????????????????????????????? ? ????????????????????????????????????????????????????????????????? ? Written new file: DAVEMTST EXEC A1??????????????????????????????? ? Ready; T=0.09/0.23 15:58:32?????????????????????????????????????? ? DAVEMTST????????????????????????????????????????????????????????? ? SYSTEM 4381-A???????????????????????????????????????????????????? ? VM/370 Community Edition Version? 1 Release? 1.2 10/11/22 08:44:05 VM/370 CMS Community Edition Version 1 Release 1.2??????????????? ? CMS bREXX 1.0.1 Jul? 5 2022?????????????????????????????????????? ? test of () trial 1??????????????????????????????????????????????? ? in1 = /)/???????????????????????????????????????????????????????? ? in2 = /trial 1/?????????????????????????????????????????????????? ? outer=//????????????????????????????????????????????????????????? ? test of (1) trial 2?????????????????????????????????????????????? ? in1 = /1)/??????????????????????????????????????????????????????? ? in2 = /trial 2/?????????????????????????????????????????????????? ? outer=//????????????????????????????????????????????????????????? ? test of (1 3) trial 3???????????????????????????????????????????? ? in1 = /1/???????????????????????????????????????????????????????? ? in2 = /3/???????????????????????????????????????????????????????? ? outer=/ trial3/?????????????????????????????????????????????????? ? Ready; T=0.08/0.12 15:58:38?????????????????????????????????????? ? ????????????????????????????????????????????????????????????????? ? *** side by side:???????????????????????????????????????????????? ? ????????????????????????????????????????????????????????????????? ? REXX370 4.02 01 Dec 1998? CMS bREXX 1.0.1 Jul? 5 2022???????????? ? test of () trial 1??????? test of () trial 1????????????????????? ? in1 = //????????????????? in1 = /)/?????????????????????????????? ? in2 = //????????????????? in2 = /trial 1/???????????????????????? ? outer=/ trial 1/????????? outer=//??????????????????????????????? ? test of (1) trial 2?????? test of (1) trial 2???????????????????? ? in1 = /1/???????????????? in1 = /1)/????????????????????????????? ? in2 = //????????????????? in2 = /trial 2/???????????????????????? ? outer=/ trial 2/????????? outer=//??????????????????????????????? ? test of (1 3) trial 3???? test of (1 3) trial 3?????????????????? ? in1 = /1/???????????????? in1 = /1/?????????????????????????????? ? in2 = /3/???????????????? in2 = /3/?????????????????????????????? ? outer=/ trial3/?????????? outer=/ trial3/???????????????????????? ? ????????????????????????????????????????????????????????????????? ? ?DAVEMTST EXEC???? A1? F 80? Trunc=80 Size=22 Line=11 Col=1 Alt=0 ? ====>???????????????????????????????????????????????????????????? ? ??? 0 * * * Top of File * * *???????????????????????????????????? ? ??? 1 /* test parse */??????????????????????????????????????????? ? ??? 2 "q cplevel"???????????????????????????????????????????????? ? ??? 3 "q cmslevel"??????????????????????????????????????????????? ? ??? 4 parse version v???????????????????????????????????????????? ? ??? 5 say v?????????????????????????????????????????????????????? ? ??? 6?? trest = '() trial 1'????????????????????????????????????? ? ??? 7?? say 'test of () trial 1'????????????????????????????????? ? ??? 8?? s = dotell(trest)???????????????????????????????????????? ? ??? 9?? trest = '(1) trial 2'???????????????????????????????????? ? ?? 10?? say 'test of (1) trial 2'???????????????????????????????? ? ?? 11?? s = dotell(trest)???????????????????????????????????????? ? ?? 12?? trest = '(1 3) trial3'??????????????????????????????????? ? ?? 13?? say 'test of (1 3) trial 3'?????????????????????????????? ? ?? 14?? s = dotell(trest)???????????????????????????????????????? ? ?? 15?? exit????????????????????????????????????????????????????? ? ?? 16???????????????????????????????????????????????????????????? ? ?? 17 dotell:???????????????????????????????????????????????????? ? ?? 18?? parse arg with '(' in1 in2 ')' outer????????????????????? ? ?? 19?? say 'in1 = /'in1'/'?????????????????????????????????????? ? ?? 20?? say 'in2 = /'in2'/'?????????????????????????????????????? ? ?? 21?? say 'outer=/'outer'/'???????????????????????????????????? ? ?? 22?? return 0????????????????????????????????????????????????? ? ?? 23 * * * End of File * * *???????????????????????????????????? ? |
Re: Possible bug in BREXX parse instruction
The best description of how the parsing of?literal strings in the template?is supposed to work, see: 'The Rexx Language' by Mike ( I have the second edition.) See Section 10 on Parsing in the subsection on "Parsing with literal templates". Bob On Sun, Oct 16, 2022 at 11:36 AM Bob Bolch via <Bob=[email protected]> wrote:
|
Re: Possible bug in BREXX parse instruction
Hi Mark, 'That said, the definition for parsing using the PARSE ARG, or ARG commands does not appear to identify the right parenthesis as a special character, as it identifies the left parenthesis.' Which left parentheses?are you referring?to in that sentence? Also, the WITH keyword is only valid in a parse of the form: PARSE VALUE expression WITH template The 'with' in Dave Mitchell's example is a variable name. The correct result of the DAVEMTST?EXEC is the following: davemtst ? ? ? ? ? ? ? ? ? ? ? TEST OF () TRIAL 1 ? ? ? ? ? ? IN1 = // ? ? ? ? ? ? ? ? ? ? ? IN2 = // ? ? ? ? ? ? ? ? ? ? ? OUTER=/ TRIAL 1/ ? ? ? ? ? ? ? TEST OF (1) TRIAL 2 ? ? ? ? ? IN1 = /1/ ? ? ? ? ? ? ? ? ? ? IN2 = // ? ? ? ? ? ? ? ? ? ? ? OUTER=/ TRIAL 2/ ? ? ? ? ? ? ? TEST OF (1 3) TRIAL 3 ? ? ? ? IN1 = /1/ ? ? ? ? ? ? ? ? ? ? IN2 = /3/ ? ? ? ? ? ? ? ? ? ? OUTER=/ TRIAL3/ ? ? ? ? ? ? ? Ready; T=0.01/0.01 11:28:05 ? ? Questions?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Bob On Sun, Oct 16, 2022 at 11:10 AM Mark A. Stevens via <marXtevens=[email protected]> wrote: On Sun, Dec 12, 2021 at 07:33 AM, Dave Mitchell wrote: |
Re: Possible bug in BREXX parse instruction
On Sun, Dec 12, 2021 at 07:33 AM, Dave Mitchell wrote:
I seem to have stumbled on a bug in the way the parse instruction works in BREXX? specifically when a pattern is used. Here's a sample exec;With the replacement of the GCCLIB segment, I tried this again, and the results are the same. I've been looking at the REXX syntax definitions, and Mike's definitive book, trying to understand what the C code should be doing. That said, the definition for parsing using the PARSE ARG, or ARG commands does not appear to identify the right parenthesis as a special character, as it identifies the left parenthesis. What did not exist in VM/SP 6, and prior was the 'WITH' parameter. I'm guessing, for lack of documentation and knowledge, this was added to resolve the challenge Dave is talking about. type davemtst exec a ? /* test parse */ ? trest = '() trial 1' ? say 'test of () trial 1' ? s = dotell(trest) ? trest = '(1) trial 2' ? say 'test of (1) trial 2' ? s = dotell(trest) ? trest = '(1 3) trial3' ? say 'test of (1 3) trial 3' ? s = dotell(trest) ? exit ? dotell: ? parse arg with '(' in1 in2 ')' outer ? say 'in1 = /'in1'/' ? say 'in2 = /'in2'/' ? say 'outer=/'outer'/' ? return 0 ? Ready; T=0.01/0.01 09:55:08 davemtst test of () trial 1 in1 = /)/ in2 = /trial 1/ outer=// test of (1) trial 2 in1 = /1)/ in2 = /trial 2/ outer=// test of (1 3) trial 3 in1 = /1/ in2 = /3/ outer=/ trial3/ Ready; T=0.04/0.05 09:55:15 ?... Mark S. This ... and $5.00, might get you a cup of coffee. I'm old enough to remember 25 cents, but not a nickel, for a cup. |
Re: Another Time Zone Question (Sorta)
On Sun, Oct 16, 2022 at 12:28 AM, Dave Wade wrote:
However I notice that there are already some change files for DMKSYS which are for generating an 2-CPU nucleus. I wonder are these redundant?Dave, I don't have my system available in front of me at the moment but to the best of my recollection those change files were controlling the OPTIONS COPY member, for the support of varying the AP=YES/NO selection in DMKSYS and thus including an extra COPY member in the conditional assembly. Its been a long time since I ran the AP nucleus (because, really what is the point on a single user system and it doesn't perform that well anyway) but as I recall I didn't use the change files and just manually updated the OPTIONS on the A-disk, with an original OPTIONS COPY on one of the original materials disks. Regards, Bob |
Re: Another Time Zone Question (Sorta)
On Fri 14 Oct 2022 at 20:30:32 -0700, Jim Snellen wrote:
I'm guessing on the replace statement, I'm sure there's an IBM manualLater CMS versions have some command where you can edit a file with all updates applied, and where you can create new update files. So I made something similar (much simpler, I expect). I called it VMFEE EXEC. I got some inspiration from VMFASM EXEC S. * * Usage: VMFEE fn ctlfile * VMFEE fn ft ctlfile * * Like VMFASM, update the given ASSEMBLE file with the UPDATES * (given as the fn of the CNTRL file) * but call EE to show the result (using $fn ft A). * * If you don't specify the file type, it is assumed to be ASSEMBLE * like with VMFASM. * * If you save changes, a file "$fn UPDATE" is created. * * If this file already exists when invoking this exec, * the updates are not re-done, but you can edit from where you left * off. * If you don't save changes, the temporary files are removed. * &CONTROL OFF &IF &INDEX LT 3 &GOTO -ARGS2 -ARGS3 &NAME = &1 &FT = &2 &CNTL = &3 &GOTO -ARGDON -ARGS2 &NAME = &1 &FT = ASSEMBLE &CNTL = &2 * -ARGDON &UPNM = $&NAME &ANAME = &UPNM &EDITOR = EE * -STSYS STATE &NAME &FT * &IF &RETCODE EQ 0 &GOTO -STCTL &TYPE *** &NAME &FT NOT FOUND *** &EXIT 1 * -STCTL STATE &CNTL CNTRL * &IF &RETCODE EQ 0 &GOTO -STUPD &TYPE *** &CNTL CNTRL NOT FOUND *** &EXIT 2 * Did we edit this file before? -STUPD &TYPE STATE &ANAME UPDATE A STATE &ANAME UPDATE A &IF &RETCODE EQ 0 &GOTO -DOEDIT * Do the update -FUPD UPDATE &NAME &FT * &CNTL CNTRL * ( CTL STK &IF &RETCODE EQ 40 &ANAME = &NAME &IF &RETCODE GT 12 &IF &RETCODE NE 40 &GOTO -UPDERR * Get most recent update level &IF &READFLAG EQ CONSOLE &GOTO -EXIT &READ ARGS &TEXT = &2 &READ ARGS &ARGS &2 &3 &4 &5 &6 &7 &8 &9 * &BAKFT = BAK&FT COPY &ANAME &FT A = &BAKFT = (REPLACE -DOEDIT &TYPE EDITING &ANAME &FT ... UPDATE &TEXT &EDITOR &ANAME &FT &GLOBAL0 = &RETCODE &TYPE EDITED " &NAME &FT " ... UPDATE " &TEXT " * Automatically generate some update statements from * the differences, and put them in fn UPDATE A. XCOMPARE &ANAME &BAKFT A = &FT = (CMSUPD * Did the user change something? STATE &ANAME UPDATE A &IF &RETCODE EQ 0 &GOTO -UPDATED * Since we didn't edit the file we may as well remove it ERASE &ANAME &FT A ERASE &ANAME &BAKFT A &GOTO -EXIT * -UPDATED &IF &RETCODE EQ 0 &TYPE UPDATE FILE " &ANAME UPDATE A " CREATED -EXIT &EXIT &GLOBAL0 -Olaf. -- ___ "Buying carbon credits is a bit like a serial killer paying someone else to \X/ have kids to make his activity cost neutral." -The BOFH falu.nl@rhialto |
Re: Another Time Zone Question (Sorta)
¿ªÔÆÌåÓýBertram, We handle most things folks throw at us. I¡¯ve updated that page to point out later versions are elsewhere. Dave ? From: [email protected] <[email protected]> On Behalf Of Bertram Moshier
Sent: 16 October 2022 06:50 To: [email protected] Subject: Re: [h390-vm] Another Time Zone Question (Sorta) ? Hello Dave, ? I got my copy of VM/370 from: ? ? It is Six Pack 1.3. ? I got the URL from YouTube watching the Moshix channel. ? If these are different, how are they different? ? Does this group handle both or just one line (VM/CE or SixPack)? ? Thank you, ? Bertram Moshier ? On Sat, Oct 15, 2022, 06:40 Dave Wade <dave.g4ugm@...> wrote:
|
Re: Another Time Zone Question (Sorta)
¿ªÔÆÌåÓýBob, That¡¯s certainly the way I used to do it. I suspect in some situations in the ¡°modern world¡± one might be asked to use UPDATE files simply for change control. However I notice that there are already some change files for DMKSYS which are for generating an 2-CPU nucleus. I wonder are these redundant? Dave ? From: [email protected] <[email protected]> On Behalf Of Bob Polmanter
Sent: 15 October 2022 23:34 To: [email protected] Subject: Re: [h390-vm] Another Time Zone Question (Sorta) ? Jim, |
Re: Another Time Zone Question (Sorta)
Is it possible to run different Herc systems with their own different VM systems. of course on the same PC or different PC connected by means?I have just done a fresh install to have an "untouched" running under a second Hercules. Of course the port number has to be different from 3270 which is in use by my main system. fc vm370ce.conf vm370ce.bak????????????????????? Comparing files vm370ce.conf and VM370CE.BAK?? ? vm370ce.conf???????????????????????????? ? ARCHMODE??????? S/370????????????????????????? ? CNSLPORT??????? 3271?????????????????????????? ? CODEPAGE??????? 819/1047?????????????????????? ? VM370CE.BAK????????????????????????????? ? ARCHMODE??????? S/370????????????????????????? ? CNSLPORT??????? 3270?????????????????????????? ? CODEPAGE??????? 819/1047?????????????????????? ? ????????????????????????????????????????? ? |
Re: Another Time Zone Question (Sorta)
Is it possible to run different Herc systems with their own different VM systems. of course on the same PC or different PC connected by means? Thank you. On Sun, Oct 16, 2022, 01:34 Martin Scheffler <San-Lorenzo@...> wrote: You should consider to upgrade to . |
Re: Another Time Zone Question (Sorta)
toggle quoted message
Show quoted text
|
Re: Another Time Zone Question (Sorta)
Hello Dave, I got my copy of VM/370 from: It is Six Pack 1.3. I got the URL from YouTube watching the Moshix channel. If these are different, how are they different? Does this group handle both or just one line (VM/CE or SixPack)? Thank you, Bertram Moshier On Sat, Oct 15, 2022, 06:40 Dave Wade <dave.g4ugm@...> wrote:
|
Re: Another Time Zone Question (Sorta)
¿ªÔÆÌåÓýBob,?Thanks again for a great explanation. I¡¯ve used SYSID in the past but didn¡¯t know it was added in VM/ CE.? I better do some more reading! Best regards, Jim ? On Oct 15, 2022, at 6:45 PM, Jim Snellen <jsnellen55@...> wrote:
|
Re: Another Time Zone Question (Sorta)
Bob Polmanter wrote:
Jim,FWIW, I agree wholeheartedly: for such a simple change using update files is vast overkill. <snip remainder which I didn't bother reading> -- "Fish" (David B. Trout) Software Development Laboratories mail: fish@... |
Re: Another Time Zone Question (Sorta)
Jim,
SYSID was added to Sixpack 1.2 via a patch (HRC108DK) and of course is carried forward into VM/CE.? The internals of the change are documented in HRC108DK MEMO.?? Thus, you won't see it in any VM/370 documentation published by IBM.?? Later, SYSID appeared in VM/SP. If you need to know how to use it or need examples, please ask.? I am not the author of this modification but I do use it and it works perfectly. Regards, Bob |
Re: Another Time Zone Question (Sorta)
¿ªÔÆÌåÓýBob,You certainly verified my thinking as that¡¯s the way I did it many years ago. I noticed there were a lot of changes to DMKSYS that were not made via AUX files so I was a little confused. There is no ¡°original¡± IBM files so that not an issue. In fact, the manual I¡¯m using doesn¡¯t even have the SYSID macro defined.? As for keeping track of any changes, I always did that manually as well. Thanks for your input.? Best regards, Jim ? On Oct 15, 2022, at 6:34 PM, Bob Polmanter <wably@...> wrote:
|
Re: Another Time Zone Question (Sorta)
Jim,
I definitely would not use update files and AUX files in order to manage DMKSYS for the purposes of a time zone change.? I realize that VM/CE may be more or less set up for that, but it doesn't mean you have to use it.? My stance might irritate some but it is just overkill for the purpose. Keep in mind that the three user modifiable CP modules DMKSYS, DMKRIO, and DMKSNT are meant to be customized for the specific installation.? There is no need to preserve the "untouched original IBM code" for these three modules.? It is expected that a system programmer will alter these three files. If you like, you can save a copy of the original IBM versions on another minidisk, but in all seriousness I would directly edit any of those three as changes are needed, and simply reassemble them as usual using VMFASM DMKxxx DMKLCL.?? I wouldn't use any update or AUX files for these three.? The only possible case I could see would be that update files do provide a sort of history of changes; if that is important to you then use them.? In lieu of that, you could also keep track of important changes with comments in these three modules as well, as you see fit. I'm practicing what I am preaching here still to this day, just as I did on my real VM system on real hardware for years, back in the day. Regards, Bob |