Keyboard Shortcuts
Likes
- H390-Vm
- Messages
Search
CONGRATULATIONS!!! On Sat, Nov 12, 2022, 01:39 Martin Scheffler <San-Lorenzo@...> wrote: The spirit has left the bottle and will never return: EE has run its first REXX macro. |
|||||||||||||||
The spirit has left the bottle and will never return: EE has run its first REXX macro.
This version is still incomplete and not stable enough for public display. Now there is MUCH legwork to be done with the EXTRACT command ... and all existing EE commands have to "learn" how to provide an XEDIT-compatible return code. Martin The REXX macro below produces the same results on LCM+L's VM/SP Release 5. File: PRIMEXED LISTING? A1?? RECFM: V LRECL: 125(125) Lines:? 100 Current:?? 12? ?====>???????????????????????????????????????????????????????????????????????? ? ??? 0 * * * Top of File * * *????????????????????????????????????????????????? ? ??? 1 1 is prime?????????????????????????????????????????????????????????????? ? ??? 2 2 is prime?????????????????????????????????????????????????????????????? ? ??? 3 3 is prime?????????????????????????????????????????????????????????????? ? ??? 4 4 = 2*2????????????????????????????????????????????????????????????????? ? ??? 5 5 is prime?????????????????????????????????????????????????????????????? ? ??? 6 6 = 2*3????????????????????????????????????????????????????????????????? ? ??? 7 7 is prime?????????????????????????????????????????????????????????????? ? ??? 8 8 = 2*2*2??????????????????????????????????????????????????????????????? ? ??? 9 9 = 3*3????????????????????????????????????????????????????????????????? ? ?? 10 10 = 2*5???????????????????????????????????????????????????????????????? ? ?? 11 11 is prime????????????????????????????????????????????????????????????? ? ?? 12 12 = 2*2*3?????????????????????????????????????????????????????????????? ? ?? 13 13 is prime????????????????????????????????????????????????????????????? ? ?? 14 14 = 2*7???????????????????????????????????????????????????????????????? ? ?? 15 15 = 3*5???????????????????????????????????????????????????????????????? ? ?? 16 16 = 2*2*2*2???????????????????????????????????????????????????????????? ? ?? 17 17 is prime????????????????????????????????????????????????????????????? ? ?? 18 18 = 2*3*3?????????????????????????????????????????????????????????????? ? ?? 19 19 is prime????????????????????????????????????????????????????????????? ? ?? 20 20 = 2*2*5?????????????????????????????????????????????????????????????? ? ?? 21 21 = 3*7???????????????????????????????????????????????????????????????? ? ?? 22 22 = 2*11??????????????????????????????????????????????????????????????? ? ?? 23 23 is prime????????????????????????????????????????????????????????????? ? Modified?????????????????????????????????? XeDiT V1.3.0_221112-0730,? 6 File(s)? ?????????????????????????????????????????????????????????????????????????????? ? ?????????????????????????????????????????????????????????????????????????????? ? File: PRIMEXED EXEC???? A1?? RECFM: V LRECL: 125(255) Lines:?? 33 Current:?? 12? ?====>???????????????????????????????????????????????????????????????????????? ? ??? 0 * * * Top of File * * *????????????????????????????????????????????????? ? ??? 1 /* REXX */?????????????????????????????????????????????????????????????? ? ??? 2 address "XEDIT"????????????????????????????????????????????????????????? ? ??? 3????????????????????????????????????????????????????????????????????????? ? ??? 4 default = 23???????????????????????????????????????????????????????????? ? ??? 5 parse arg limit .??????????????????????????????????????????????????????? ? ??? 6 if datatype(limit,"W") = 0 then limit = default????????????????????????? ? ??? 7 if limit < 7 then limit = default??????????????????????????????????????? ? ??? 8 prime. = "0"???????????????????????????????????????????????????????????? ? ??? 9 number. = "0"??????????????????????????????????????????????????????????? ? ?? 10????????????????????????????????????????????????????????????????????????? ? ?? 11 "bottom"???????????????????????????????????????????????????????????????? ? ?? 12 do i = 1 to limit??????????????????????????????????????????????????????? ? ?? 13?? is_prime = 1 /* in the beginning we assume it is prime */????????????? ? ?? 14?? factors = ""?????????????????????????????????????????????????????????? ? ?? 15?? m = i????????????????????????????????????????????????????????????????? ? ?? 16?? do j = 2 to prime.0??????????????????????????????????????????????????? ? ?? 17???? do forever?????????????????????????????????????????????????????????? ? ?? 18?????? if (m // prime.j) <> 0 then leave????????????????????????????????? ? ?? 19?????? is_prime = 0?????????????????????????????????????????????????????? ? ?? 20?????? factors = factors"*"prime.j??????????????????????????????????????? ? ?? 21?????? m = m % prime.j??????????????????????????????????????????????????? ? ?? 22???? end????????????????????????????????????????????????????????????????? ? ?? 23?? end??????????????????????????????????????????????????????????????????? ? ?? 24?? if is_prime = 1 then do??????????????????????????????????????????????? ? ?? 25???? k = prime.0 + 1????????????????????????????????????????????????????? ? ?? 26???? prime.k = i????????????????????????????????????????????????????????? ? ?? 27???? prime.0 = k????????????????????????????????????????????????????????? ? ?? 28???? "input" i "is prime"???????????????????????????????????????????????? ? ?? 29?? end??????????????????????????????????????????????????????????????????? ? ?? 30?? else do??????????????????????????????????????????????????????????????? ? ?? 31???? "input" i "=" substr(factors,2)????????????????????????????????????? ? ?? 32?? end??????????????????????????????????????????????????????????????????? ? ?? 33 end????????????????????????????????????????????????????????????????????? ? ?? 34 * * * End of File * * *????????????????????????????????????????????????? ? Unchanged????????????????????????????????? XeDiT V1.3.0_221112-0730,? 7 File(s)? |
|||||||||||||||
Re: TN3270 and various versions.
Bertram Moshier wrote:
Hi,I'm surprised no one mentioned Tom Brennan's Vista 3270: * It supports custom screen sizes up to 99 lines by 200 characters wide. It's not free, but is reasonably priced ($30), a *very* nice product IMO, and was written by a former IBM mainframe system programmer as well: * -- "Fish" (David B. Trout) Software Development Laboratories mail: fish@... |
|||||||||||||||
Re: TN3270 and various versions.
On Thu, Nov 10, 2022 at 01:26 PM, Bob Bolch wrote:
Does ZOC distribute its own IND$FILE MODULE?See A sobering finding (Re: Automatic generation of transcoding tables for IND$FILE) ZOC only implements the terminal side, it uses the IND$FILE already installed on the mainframe:
Martin |
|||||||||||||||
Re: TN3270 and various versions.
¿ªÔÆÌåÓýHi Betram,
according to this, WC3270 does support
a 3278 Model 5, so your 132 columns display should be fine:
The first part is the?base model, which is either?3278?or?3279.?3278?specifies a monochrome (green on black) 3270 display;?3279?specifies a color 3270 display. The second part is the?model number, which specifies the number of rows and columns. Model 4 is the default.
Note: Technically, there is no such 3270 display as a 3279-4 or 3279-5, but most hosts seem to work with them anyway. The default model is?3279-4. But as a disclaimer, I am not a Windows
user and the X3270 can do all of these things, so I can only point
to the manual page.
Thomas
On 11/10/22 10:39, Bertram Moshier
wrote:
-- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorised copying, disclosure or distribution of the material in this e-mail or of parts hereof is strictly forbidden. We have taken precautions to minimize the risk of transmitting software viruses but nevertheless advise you to carry out your own virus checks on any attachment of this message. We accept no liability for loss or damage caused by software viruses except in case of gross negligence or willful behaviour. Any e-mail messages from us are sent in good faith, but shall not be binding or construed as constituting any kind of obligation on our part. -------------------------- Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtuemlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese E-Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail oder von Teilen dieser E-Mail ist nicht gestattet. Wir haben alle verkehrsueblichen Massnahmen unternommen, um das Risiko der Verbreitung virenbefallener Software oder E-Mails zu minimieren, dennoch raten wir Ihnen, Ihre eigenen Virenkontrollen auf alle Anhaenge an dieser Nachricht durchzufuehren. Wir schliessen ausser fuer den Fall von Vorsatz oder grober Fahrlaessigkeit die Haftung fuer jeglichen Verlust oder Schaeden durch virenbefallene Software oder E-Mails aus. Jede von uns versendete E-Mail ist sorgfaeltig erstellt worden, dennoch schliessen wir die rechtliche Verbindlichkeit aus; sie kann nicht zu einer irgendwie gearteten Verpflichtung zu unseren Lasten ausgelegt werden. |
|||||||||||||||
Re: TN3270 and various versions.
¿ªÔÆÌåÓýThat mention revived some pleasant memories.? ZOC became my 'go-to' dial-up terminal program, replacing ProCOMM Plus (under Win/OS2) back in my OS/2 days.
DeWayne On 11/10/22 05:08, Martin Scheffler
wrote:
ZOC (commercial software for MS Windows and macOS) has a very generous evluation policy. It has 3279 132x27 wide screen and 3270 IND$FILE Transfer inside. Sample screenshot. |
|||||||||||||||
Re: TN3270 and various versions.
Hi Martin, Does ZOC distribute its own IND$FILE MODULE? The one from MECAFF is only documented to work on the Vista emulator and on WC3270. I can't distribute any IBM IND$FILE MODULE on VMCE, but the MECAFF version does not work consistently?on the Blue Zone emulator that I use, from Rocket Software. I am looking for a better IND$FILE. Thanks/Bob Bolch On Thu, Nov 10, 2022 at 7:08 AM Martin Scheffler <San-Lorenzo@...> wrote: ZOC (commercial software for MS Windows and macOS) has a very generous evluation policy. It has 3279 132x27 wide screen and 3270 IND$FILE Transfer inside. Sample screenshot. |
|||||||||||||||
Re: TN3270 and various versions.
ZOC (commercial software for MS Windows and macOS) has a very generous evluation policy. It has 3279 132x27 wide screen and 3270 IND$FILE Transfer inside. Sample screenshot.
|
|||||||||||||||
Re: Possible bug in BREXX parse instruction
I've been following this thread about possible bug in the Parse instruction, and thought I might weigh in.? While the desired behavior would be to break the parse target on literals first, my reading of the Rexx "bible" and my own experience in Rexx programming leads me to believe that such is not the case.? I learned to parse on literals first:
Arg parm_string '(' option_string Then apply blank-delimited token parsing Parse Upper Value parm_string with mode fn ft fm fx . FWIW, Jim |
|||||||||||||||
¿ªÔÆÌåÓýOK. I get it. ?It isn't different C libraries. ?In modern terms there are two separate ABI (application binary interface) stacks that do not communicate between each other. Or, perhaps a better description is a way for either program to know how to call the other or how to share data with each other. Yes, a bit "yucky" to deal with to say the least. ?Some assembler somewhere will likely do the "trick". Thanks, for the explanation, Harold Grovesteen On Tue, 2022-11-08 at 14:04 -0500, Bob Bolch wrote:
|
|||||||||||||||
Martin is exactly right. What I call "the C runtime environment" is the CMSCRAB control block which? is basically the R13 save area for the currently running C function, and other pointers for stack control followed by automatic?variables for the running function. One GCC program can call another, of course, but there are no read/write areas common to multiple C programs. EE can call BREXX, but only using CMSCALL (SVC 202 in VM/370). BREXX can't run a subroutine that is part of EE (without some tricks :-). Bob On Tue, Nov 8, 2022 at 11:19 AM Martin Scheffler <San-Lorenzo@...> wrote: On Tue, Nov 8, 2022 at 04:52 PM, Harold Grovesteen wrote: |
|||||||||||||||
On Tue, Nov 8, 2022 at 04:52 PM, Harold Grovesteen wrote:
can you help me understand how we ended up with two distinct C runtime environments?It is the dynamic data, not the code.
IBM had to solve this problem when they made XEDIT, EXEC 2 did the job on VM/SP 1+2 |
|||||||||||||||
¿ªÔÆÌåÓýOn Tue, 2022-11-08 at 08:39 -0500, Bob Bolch wrote:
As I am not in the weeds like some of you, can you help me understand how we ended up with two distinct C runtime environments? And how did you run into the same thing with BREXX? Just curious. Did we not use GCC to compile these programs? And also a little confused. Harold Grovesteen
|
|||||||||||||||
Hi Martin, You are correct in that CMS calling sequences, program management structure, and interface to supervisor services know nothing about the GCC compiler runtime interface.? Enabling EE to use BREXX macros is further complicated by the fact that there are two separate and distinct C runtime environments in play (one in EE, and the other in BREXX). A similar?set of issues are present and solved in my implementation of EXECCOMM for BREXX. I do think BREXX macros for EE can be made to work, but it is going to require an in depth knowledge? of both GCC and CMS internals to make it happen. Bob Bolch On Tue, Nov 8, 2022 at 4:43 AM Martin Scheffler <San-Lorenzo@...> wrote: On Mon, Nov 7, 2022 at 02:15 AM, Martin Scheffler wrote: |
|||||||||||||||
On Mon, Nov 7, 2022 at 02:15 AM, Martin Scheffler wrote:
There might be an incompatibilty of calling conventions.It is R13. AFAIK CMS does not know anything about GCCCRAB, therefore the SUBCOM entry handler does not know what R13 should point to.? @DSTAKIN expects specific things through R13, see file? DYNSTK ASSEMBLE H1???? on?? GCCCMS??? . File: DYNSTK?? ASSEMBLE H1?????????????????????????????????????????????? ? ===>???????????????????????????????????????????????????????????????????? ? ?? 11 * ? ?? 12 *??????????????????????????????????????????????????????????????? * ? ?? 13 * Assembler stubs for the dynamic stack implemetation??????????? * ? ?? 14 * These routines are called from PDPEPIL and PDPPRLG MACROs????? * ? ?? 15 * To maximise performance, as they have not got a save area they * ? ?? 16 * can use to save registers, and because Adrian's lack of??????? * ? ?? 17 * experience these use a register based linkage:???????????????? * ? ?? 18 *?? R5 for the base (called address)???????????????????????????? * ? ?? 19 *?? R15 is used by callers - should not be touched?????????????? * ? ?? 20 *?? R14 Return Address?????????????????????????????????????????? * ? ?? 21 *?? R13 Save Area / stack frame being manipulated??????????????? * ? ?? 22 *?? R12 is the callers base address - should not be touched????? * ? ?? 23 *??????????????????????????????????????????????????????????????? * ? ?? 24 * ? ?? 25 *??????????????????????????????????????????????????????????????? * ? ?? 26 DYNSTK?? CSECT???????????????????????????????????????????????????? ? ?? 27 *????????????????????????????????????????????????????????????????? ? ?? 28 * ? ?? 29 * @DSTAKIN - Into a new strack frame???????????????????????????? * ? ?? 30 * The point of this stub is to call MORESTAK when the current??? * ? ?? 31 * stack bin is used up?????????????????????????????????????????? * ? ?? 32 * ? ?? 33 * Parameters (see also this file's header)???????????????????????? ? ?? 34 *?? R9 - Stack Space requested???????????????????????????????????? ? ?? 35 * Register Usage:????????????????????????????????????????????????? ? ?? 36 *?? R11 - End of STACK BIN???????????????????????????????????????? ? ?? 37 *?? R8 - GCCCRAB?????????????????????????????????????????????????? ? ?? 38 *?? R7 - Next Available byte on the Stack (i.e. the new save area) ? ?? 39 *?? R6 - The end of the requested area in current bin (might be??? ? ?? 40 *??????? too big). The next free space after the new frame.??????? ? ?? 41 *?? R0 - Work Register???????????????????????????????????????????? ? ?? 42 *?? R1 - MORESTAK parameter pointer??????????????????????????????? ? ?? 43 *?? R2 - Saved R1 during MORESTAK Call???????????????????????????? ? ?? 44 *?? R3 - Saved R14 during MORESTAK call??????????????????????????? ? ?? 45 * Output?????????????????????????????????????????????????????????? ? ?? 46 *?? R13 - New Frame??????????????????????????????????????????????? ? ?? 47 * ? ?? 48????????? ENTRY @DSTAKIN??????????????????????????????????????????? ? ?? 49 @DSTAKIN DS??? 0H????????????????????????????????????????????????? ? ?? 50????????? USING @DSTAKIN,R5???????????????????????????????????????? ? ?? 51????????? USING CMSCRAB,R13???????????????????????????????????????? ? ?? 52????????? L???? R8,GCCCRABA????? get address of the GCCCRAB???????? ? ?? 53????????? USING GCCCRAB,R8????????????????????????????????????????? ? ?? 54 * Get the dynamic stack information pointer??????????????????????? ? ?? 55????????? L???? R11,DSTACK???? Get the dynamic stack control??????? ? ?? 56 *????????????????????????????? from R13 save area reserved word??? ? ?? 57????????? LA??? R11,0(,R11)??? Remove flag bits???????????????????? ? ?? 58 * Get new save area in R7????????????????????????????????????????? ? ?? 59????????? L???? R7,STACKNXT??? get next available byte in GCC stack ? ?? 60 *?????????????????????????????? from the CMSCRAB work area???????? ? ?? 61 * Get the address after the frame of the required size in R6?????? ? ?? 62????????? LA??? R6,0(R7,R9)??? point to end of R9 sized stack?????? ? ?? 63 * Have we enough space???????????????????????????????????????????? ? ?? 64????????? CR??? R6,R11???????? Request bigger than available??????? ? ?? 65????????? BNH?? OKSTACK???????????????????????????????????????????? ? ?? 66????????? CLI?? DSTACK,X'01'?? Check stack flags??????????????????? ? ?? 67????????? BL??? OKSTACK??????? If flag is zero, no check is done??? ? ?? 68 * Insufficient space in this stack segment, allocate some????????? ? ?? 69????????? BE??? OVERFLOW?????? If static, then overflow error?????? ? ?? 70 *????????????????????????????????????????????????????????????????? ? ?? 71 * Calling MORESTAK???????????????????????????????????????????????? ? ?? 72????????? LR??? R3,R14?????????? Return address to PDPPRLG????????? ? ?? 73????????? LR??? R2,R1??????????? Hold R1 (C function parms)???????? ? ?? 74 *????????????????????????????????????????????????????????????????? ? ?? 75 * MORESTAK needs a two word parameter list.??????????????????????? ? ?? 76 *????????? Word 1 is the address of the current stack frame??????? ? ?? 77 *????????? Word 2 is the frame size requested????????????????????? ? ?? 78????????? LR??? R6,R13?????????? Pointer to current stack frame???? ? ?? 79????????? LR??? R7,R9??????????? Frame size wanted????????????????? ? |
|||||||||||||||
Re: Possible bug in BREXX parse instruction
On Sun, Nov 6, 2022 at 08:43 AM, Martin Scheffler wrote:
Remembering the rough times of EXEC 2 when there was no 'parse' instruction: I now have a real use case where I need to program around this bug. Here are some quick ideas.If you have VM/370 CE 1.1.2 up and running, look at the ASSIST EXEC on the Y minidisk, for a working example of how to get around the PARSE problem. If you don't have it, look at ASSIST_VM370_etc in the Files section for this discussion. All the files are there. ?... Mark S. |
|||||||||||||||
Re: AP and/or MP support in VM/CE: Does it exist or no?
¿ªÔÆÌåÓýBertram, ? VM or rather Hercules will use more than one core, which is one reason it performs well. Remember that the 30xx boxes had, for their time high performance and sophisticated IO systems. Hercules will use an additional core to simulate the IO subsystem so if you can generate a workload that does asynchronous disk IO you are able to get at least two cores in your system running code. So whilst it might not run an AP or MP the channels, controllers and devices are emulated in a separate engine in a way that is close to real hardware. The result is that on a decent dual core PC it will blow a 308x out of the water. And don¡¯t let anyone tell you PC IO is slow. A modern SATA disk runs has intelligent buffering on the disk and does IO independently of the CPU. Then if you stick in an SSD it will just scream. If you want a genuine 308x experience you need to run it on a Raspberry PI 3 with some slow spinning disks on a USB interface. Even on this you may struggle to get things roaring along. You really need lots of users logged on¡¡. ? Dave ? Note:- there are some differences in the way IO is managed which can confuse some software. For example tapes unload instantly, and I don¡¯t believe Hercules ever returns ¡°channel busy¡± but its pretty good. ? From: [email protected] <[email protected]> On Behalf Of Bertram Moshier
Sent: 07 November 2022 03:59 To: [email protected] Subject: Re: [h390-vm] AP and/or MP support in VM/CE: Does it exist or no? ? Hi, ? Thank you for the information. I understand and agree why you didn't get the AP working. ? I have a Dell Precision 7910 with dual E5-2667 v3 and 128GB of RAM.? I just like the idea of a VM version able to use more than just a sole core. ? I wonder how VM/CE on my computer compares with past Iron (where they would match). ? What I need to do now is learn Hercules and VM/CE as well as I knew VM/SP on a 3031 in 1981-1983. ? On Sun, Nov 6, 2022, 21:20 Drew Derbyshire <swhobbit@...> wrote:
|
|||||||||||||||
Re: AP and/or MP support in VM/CE: Does it exist or no?
Hi, Thank you for the information. I understand and agree why you didn't get the AP working. I have a Dell Precision 7910 with dual E5-2667 v3 and 128GB of RAM.? I just like the idea of a VM version able to use more than just a sole core. I wonder how VM/CE on my computer compares with past Iron (where they would match). What I need to do now is learn Hercules and VM/CE as well as I knew VM/SP on a 3031 in 1981-1983. On Sun, Nov 6, 2022, 21:20 Drew Derbyshire <swhobbit@...> wrote: On Sun, Oct 30, 2022 at 04:44 PM, Bertram Moshier wrote: |
|||||||||||||||
Re: AP and/or MP support in VM/CE: Does it exist or no?
On Sun, Oct 30, 2022 at 04:44 PM, Bertram Moshier wrote:
The use case for an AP VM/370 servicing single CMS user is? CMS doesn't multitask; it doesn't even generally do asynchronous disk I/O.?? Also, running VM/SP in AP mode under Hercules resulted increased failed IPL instances. It wasn't worth the effort to chase it, especially since it didn't match the live 4361 UP hardware.
Working on functionality visible to user would be more rewarding to more people. -ahd- p.s. As I?dimly?recall from ~ 4 years ago,?I?tested VM/SP on the live LCM+L IBM 4361 versus the Hercules image used to develop for the 4361.? Hercules was on Raspberry Pi 3b (or 3b+, I don't know remember). The VM/SP running under Hercules had ~3 times the performance as the live hardware, and the Pi 3b is not build for speed. Using fast x86 box, a UP VM would be blazing. |