Re: Two New Projects

 

Hi Jim,

I think your problems with NOT ATTACHED and NOT ACCESSED are arising because
you are logged on to GCCCMS. I'd suggest trying to build the code while
logged on to CMSUSER. GCCCMS is only for maintaining GCC and related stuff.

Regards,
Peter Coghlan.


HI Tom, I'm not a C guy but I have done some BASIC stuff in the old days. I
followed the directions but I'm getting a DMSACC113S 'T (19F) ' NOT ATTACHED
followed by a DISK 'T' NOT ACCESSED. I'm logged into the GCCCMS machine and
these messages occurs when I key *gcc cmsbasic c*. I then went ahead with
the directions and *cmsbasic bx10 bas* seems to go into a loop because it
processed well over 4-5 minutes before I re-IPLed CMS.
I then uploaded TBASIC.EXEC and ran it.
tbasic
FILE 'GCCLIB_S TXTLIB' NOT FOUND.
.. ERASE CMSBASIC MAP
.. Compling CMSBASIC
DMSACC113S 'T (19F) ' NOT ATTACHED
DISK 'T' NOT ACCESSED.
.. LOAD CMSBASIC
THE FOLLOWING NAMES ARE UNDEFINED:
STRLEN ISALPHA STRCPY STRCMP MALLOC REALLOC STRCHR ISDIGIT
FREE PRINTF @@EXIT FCLOSE ISUPPER FOPEN FEOF FGETC
ATOF ATOL ATOI FGETS FPRINTF SPRINTF ISALNUM STRCAT
MEMSET FSEEK FPUTS REMOVE GETS POW ABS ATAN
COS SIN TAN SQRT SINH TANH TOUPPER TOLOWER
TIME CTIME ISSPACE @@CRT0
.. GENMOD CMSBASIC
.. RENAME MAP
Ready; T=28.69/41.11 20:11:54
What am I doing wrong?
Also, I noticed each C file and BAS file contained a USERID GCCCMS
statement. Check out Moshix video M101 on Youtube to get data in/out of
VM/370 and the Mac/PC.


Re: GCC under VM370 CMS

 

Joe,

Thats fine but in VM the console is not a 3270�.

� if you use that code you will sometimes generate a wait.

Look at the source of the CLRSCRN module.

Dave

From: [email protected] <[email protected]> On Behalf Of Joe Monk
Sent: 24 January 2021 12:27
To: [email protected]
Subject: Re: [h390-vm] GCC under VM370 CMS

The actual code you want is x'1140403C40400013'.

In 3270 data stream, that means:

x'11': Set Buffer Address

x'4040': Row 1, Column 1

x'3c': Repeat to Address

x'4040: Row 1, Column 1

x'00': Character to write

x'13': Insert Cursor

So, starting at Row 1, Column 1, write hex 00 and repeat until Row 1, Column 1, then Insert the Cursor.

IOW, write hex '00' to every buffer location and put the cursor at row 1, column 1. Note that because this starts and ends at R1C1 it is size independent, and so works on any size of screen.

Joe

On Sat, Jan 23, 2021 at 11:47 PM Mark Waterbury <mark.s.waterbury@...> wrote:

Hi, again, Tom,

The first thing to understand is that in VM, with CMS, the "console" when it is a 3270 operates in two "modes" -- a line-at-a-time mode where it is emulating a keyboard printer (3215) type of console, and you can also use the CP DIAG x'58' facility to perform full-screen 3270 I/O.

When you use DIAG x'58' you must supply the actual 3270 data stream. You can find relevant manuals on bitsavers. Let me know if you need more specific pointers on that.

Tommy Sprinkle has created a nice tutorial on 3270 data streams here:



It was written for MVS, but the data streams part is the same; you will just be using DIAG x'58' vs. TSO TPUT/TGET ...

The main feature you are looking for is called "Erase Write". That's how you clear the screen.

Note that, once you put the console into full-screen mode, CP expects all further interactions to remain "full-screen"... you may want to revert to line-at-a-time mode, depending on your needs.

Hope this helps (somewhat) ...

All the best,

Mark S. Waterbury


Re: GCC under VM370 CMS

 

The actual code you want is x'1140403C40400013'.

In 3270 data stream, that means:

x'11': Set Buffer Address
x'4040': Row 1, Column 1
x'3c': Repeat to Address
x'4040: Row 1, Column 1
x'00': Character to write
x'13': Insert Cursor

So, starting at Row 1, Column 1, write hex 00 and repeat until Row 1, Column 1, then Insert the Cursor.

IOW, write hex '00' to every buffer location and put the cursor at row 1, column 1. Note that because this starts and ends at R1C1 it is size independent, and so works on any size of screen.

Joe


On Sat, Jan 23, 2021 at 11:47 PM Mark Waterbury <mark.s.waterbury@...> wrote:
Hi, again, Tom,

The first thing to understand is that in VM, with CMS, the "console" when it is a 3270 operates in two "modes" -- a line-at-a-time mode where it is emulating a keyboard printer (3215) type of console, and you can also use the CP DIAG x'58' facility to perform full-screen 3270 I/O.

When you use DIAG x'58' you must supply the actual 3270 data stream. You can find relevant manuals on bitsavers. Let me know if you need more specific pointers on that.

Tommy Sprinkle has created a nice tutorial on 3270 data streams here:



It was written for MVS, but the data streams part is the same; you will just be using DIAG x'58' vs. TSO TPUT/TGET ...

The main feature you are looking for is called "Erase Write". That's how you clear the screen.

Note that, once you put the console into full-screen mode, CP expects all further interactions to remain "full-screen"... you may want to revert to line-at-a-time mode, depending on your needs.

Hope this helps (somewhat) ...

All the best,

Mark S. Waterbury


Re: GCC under VM370 CMS

 

There are lots of incarnations. It was late and I was rushing. What I should have said is that there is the source of a CLRSCRN module on the MAINT CMS mods disk but the module on the “Y� disk but it GENMODed to load into the user area.

So you can’t run it using “system()�. A “CLRTPA� module could be made by just loading it elsewhere. It could be made into a subroutine quite simply, you might need some calls to flush the IO before it.

You can see the source by logging onto MAINT and doing CMSACC to access the CMS mods disk and it will be on the “B� drive.

Dave

From: [email protected] <[email protected]> On Behalf Of Thomas Kern via groups.io
Sent: 24 January 2021 00:32
To: [email protected]
Subject: Re: [h390-vm] GCC under VM370 CMS

I remember a VMFCLEAR module and another VMFCLR module. I do not remember what level of VM or if they were transient modules. Neither one would have been too large to get the text and load/genmod as transient.

/Tom

On 2021-01-23 18:05, Tom Chandler wrote:

Thank you. I will investigate and see what I can do.

Again, Thank You

Tom c

On Sat, Jan 23, 2021 at 4:47 PM Dave Wade <dave.g4ugm@...> wrote:

Tom,

You need to use a DIAG 58 call. There are no character sequences that clear the screen. I think the simplest solution is to create a “clrscrn� module that loads in the transient area and run that with the system command.

Dvae

From: [email protected] <[email protected]> On Behalf Of Tom Chandler
Sent: 23 January 2021 20:31
To: [email protected]
Subject: [h390-vm] GCC under VM370 CMS

I am trying to figure out to perform a clear screen form a "GCC C" program. I am using
the wc3270 program on WIndows to talk to Hercules VM370. I have tried several
different hex codes with no luck. Has anyone using "GCC C VM370 CMS" sent a command to
clear the screen.

Hope this is clear.

Thank You
Tom c


Re: GCC under VM370 CMS

 

I see a CLRSCRN MODULE on the Sixpack 1.3 beta 3 Y-disk.
Bob Bolch


Re: GCC under VM370 CMS

 

Hi Tom

Have a look round thishttps://github.com/devhawala/mecaff

The home of the brilliant EE editor etc. Somewhere in there is the c source for low level diag58 stuff and 3270 datastream err... more stuff!

Adrian


Re: GCC under VM370 CMS

 

Hi, again, Tom,

The first thing to understand is that in VM, with CMS, the "console" when it is a 3270 operates in two "modes" -- a line-at-a-time mode where it is emulating a keyboard printer (3215) type of console, and you can also use the CP DIAG x'58' facility to perform full-screen 3270 I/O.

When you use DIAG x'58' you must supply the actual 3270 data stream. You can find relevant manuals on bitsavers. Let me know if you need more specific pointers on that.

Tommy Sprinkle has created a nice tutorial on 3270 data streams here:



It was written for MVS, but the data streams part is the same; you will just be using DIAG x'58' vs. TSO TPUT/TGET ...

The main feature you are looking for is called "Erase Write". That's how you clear the screen.

Note that, once you put the console into full-screen mode, CP expects all further interactions to remain "full-screen"... you may want to revert to line-at-a-time mode, depending on your needs.

Hope this helps (somewhat) ...

All the best,

Mark S. Waterbury


Re: Two New Projects

 

Hi, Tom,

I recall we had MTS LISP running under VM/CMS back in the late 1970s.

The way it was done, someone wrote a small "layer" or "jacket" or "wrapper" for all of the MTS system calls, and that layer issued equivalent CMS macros for CMS services.

So, the first step would be to study the code to try to identify and isolate where it interfaces to MTS.

Hope that helps,

Mark S. Waterbury


Re: Two New Projects

 

HI Tom, I'm not a C guy but I have done some BASIC stuff in the old days. I followed the directions but I'm getting a DMSACC113S 'T (19F) ' NOT ATTACHED followed by a DISK 'T' NOT ACCESSED. I'm logged into the GCCCMS machine and these messages occurs when I key gcc cmsbasic c. I then went ahead with the directions and cmsbasic bx10 basseems to go into a loop because it processed well over 4-5 minutes before I re-IPLed CMS.
I then uploaded TBASIC.EXEC and ran it.
tbasic
FILE 'GCCLIB_S TXTLIB' NOT FOUND.
.. ERASE CMSBASIC MAP
.. Compling CMSBASIC
DMSACC113S 'T (19F) ' NOT ATTACHED
DISK 'T' NOT ACCESSED.
.. LOAD CMSBASIC
THE FOLLOWING NAMES ARE UNDEFINED:
STRLEN ISALPHA STRCPY STRCMP MALLOC REALLOC STRCHR ISDIGIT
FREE PRINTF @@EXIT FCLOSE ISUPPER FOPEN FEOF FGETC
ATOF ATOL ATOI FGETS FPRINTF SPRINTF ISALNUM STRCAT
MEMSET FSEEK FPUTS REMOVE GETS POW ABS ATAN
COS SIN TAN SQRT SINH TANH TOUPPER TOLOWER
TIME CTIME ISSPACE @@CRT0
.. GENMOD CMSBASIC
.. RENAME MAP
Ready; T=28.69/41.11 20:11:54
What am I doing wrong?
Also, I noticed each C file and BAS file contained a USERID GCCCMS statement. Check out Moshix video M101 on Youtube to get data in/out of VM/370 and the Mac/PC.


Re: GCC under VM370 CMS

 

I remember a VMFCLEAR module and another VMFCLR module. I do not remember what level of VM or if they were transient modules. Neither one would have been too large to get the text and load/genmod as transient.

/Tom

On 2021-01-23 18:05, Tom Chandler wrote:

Thank you. I will investigate and see what I can do.

Again, Thank You

Tom c


On Sat, Jan 23, 2021 at 4:47 PM Dave Wade <dave.g4ugm@...> wrote:

Tom,

You need to use a DIAG 58 call. There are no character sequences that clear the screen. I think the simplest solution is to create a “clrscrn� module that loads in the transient area and run that with the system command.

Dvae

From: [email protected] <[email protected]> On Behalf Of Tom Chandler
Sent: 23 January 2021 20:31
To: [email protected]
Subject: [h390-vm] GCC under VM370 CMS

I am trying to figure out to perform a clear screen form a "GCC C" program. I am using
the wc3270 program on WIndows to talk to Hercules VM370. I have tried several
different hex codes with no luck. Has anyone using "GCC C VM370 CMS" sent a command to
clear the screen.

Hope this is clear.

Thank You
Tom c


Re: GCC under VM370 CMS

 

Thank you. I will investigate and see what I can do.

Again, Thank You

Tom c


On Sat, Jan 23, 2021 at 4:47 PM Dave Wade <dave.g4ugm@...> wrote:

Tom,

You need to use a DIAG 58 call. There are no character sequences that clear the screen. I think the simplest solution is to create a “clrscrn� module that loads in the transient area and run that with the system command.

Dvae

From: [email protected] <[email protected]> On Behalf Of Tom Chandler
Sent: 23 January 2021 20:31
To: [email protected]
Subject: [h390-vm] GCC under VM370 CMS

I am trying to figure out to perform a clear screen form a "GCC C" program. I am using
the wc3270 program on WIndows to talk to Hercules VM370. I have tried several
different hex codes with no luck. Has anyone using "GCC C VM370 CMS" sent a command to
clear the screen.

Hope this is clear.

Thank You
Tom c


Re: GCC under VM370 CMS

 

Tom,

You need to use a DIAG 58 call. There are no character sequences that clear the screen. I think the simplest solution is to create a “clrscrn� module that loads in the transient area and run that with the system command.

Dvae

From: [email protected] <[email protected]> On Behalf Of Tom Chandler
Sent: 23 January 2021 20:31
To: [email protected]
Subject: [h390-vm] GCC under VM370 CMS

I am trying to figure out to perform a clear screen form a "GCC C" program. I am using
the wc3270 program on WIndows to talk to Hercules VM370. I have tried several
different hex codes with no luck. Has anyone using "GCC C VM370 CMS" sent a command to
clear the screen.

Hope this is clear.

Thank You
Tom c


GCC under VM370 CMS

 

I am trying to figure out to perform a clear screen form a "GCC C" program. I am using
the wc3270 program on WIndows to talk to Hercules VM370. I have tried several
different hex codes with no luck. Has anyone using "GCC C VM370 CMS" sent a command to
clear the screen.

Hope this is clear.

Thank You
Tom c


Re: CMS BATCH COBOL

 

Thank you. I have viewed many and now looking for something in
the area of my need.

Cheers
Tom c


On Fri, Jan 22, 2021 at 4:26 PM cjar1950 via <cjar1950=[email protected]> wrote:
Tom,

Moshix has a couple of videos about VSAM/Cobol & VM/370.

Chris
--
<cjar1950@...>



----------------------------------------------------------------------------------------------------------------------------------
On Fri, 22 Jan 2021 14:05:11 -0800
"Tom Chandler" <tchandler48@...> wrote:
> Trying to write a batch cobol program under cms. I have read cms guide. Wrote
> what I thought was a simple cobol program using VSAM, and compiled it.
> Well, many errors.
>
> Question: does anyone have an example of a batch cobol program
> using vsam files that I could look at. It might make the manual
> more understandable.
>
> Cheers
> Tom c
>
>
>
>
>








Re: CMS BATCH COBOL

 

Tom,

Moshix has a couple of videos about VSAM/Cobol & VM/370.

Chris
--
<cjar1950@...>



----------------------------------------------------------------------------------------------------------------------------------
On Fri, 22 Jan 2021 14:05:11 -0800
"Tom Chandler" <tchandler48@...> wrote:
Trying to write a batch cobol program under cms. I have read cms guide. Wrote
what I thought was a simple cobol program using VSAM, and compiled it.
Well, many errors.

Question: does anyone have an example of a batch cobol program
using vsam files that I could look at. It might make the manual
more understandable.

Cheers
Tom c





Re: CMS BATCH COBOL

 

Thank you. Don't know if any will work, but more reading and trying to understand.

Thank You
Tom c


On Fri, Jan 22, 2021 at 4:18 PM cjar1950 via <cjar1950=[email protected]> wrote:
Tom,

It might not work for VM/CMS, but have you looked at ?

Chris
--
<cjar1950@...>



----------------------------------------------------------------------------------------------------------------------------------
On Fri, 22 Jan 2021 14:05:11 -0800
"Tom Chandler" <tchandler48@...> wrote:
> Trying to write a batch cobol program under cms. I have read cms guide. Wrote
> what I thought was a simple cobol program using VSAM, and compiled it.
> Well, many errors.
>
> Question: does anyone have an example of a batch cobol program
> using vsam files that I could look at. It might make the manual
> more understandable.
>
> Cheers
> Tom c
>
>
>
>
>








Re: CMS BATCH COBOL

 

Tom,

It might not work for VM/CMS, but have you looked at ?

Chris
--
<cjar1950@...>



----------------------------------------------------------------------------------------------------------------------------------
On Fri, 22 Jan 2021 14:05:11 -0800
"Tom Chandler" <tchandler48@...> wrote:
Trying to write a batch cobol program under cms. I have read cms guide. Wrote
what I thought was a simple cobol program using VSAM, and compiled it.
Well, many errors.

Question: does anyone have an example of a batch cobol program
using vsam files that I could look at. It might make the manual
more understandable.

Cheers
Tom c





CMS BATCH COBOL

 

Trying to write a batch cobol program under cms. I have read cms guide. Wrote
what I thought was a simple cobol program using VSAM, and compiled it.
Well, many errors.

Question: does anyone have an example of a batch cobol program
using vsam files that I could look at. It might make the manual
more understandable.

Cheers
Tom c


Re: add new dasd to vm/370 sixpack

 

Thank you Martin for that clear explanation!

Peter

-----Original Message-----
From: [email protected] <[email protected]> On Behalf Of Martin Taylor
via groups.io
Sent: Saturday, January 16, 2021 11:07 AM
To: [email protected]
Subject: Re: [h390-vm] add new dasd to vm/370 sixpack

Hello,
I have had the same issue when adding DASD to a VM370 system at the 1.3 level.
Prior to this a simple create of the DASD and adding it to the machine config file
with a suitable device address (that matches the DASD type) was all that was
required. I had added new DASD to a 1.2 system many time with no issue. A
VARY all devices in AUTOLOG1 brought the DASD online. However moving my
system to 1.3 caused all the DASD I had added to become inaccessible with
message DMKLNK108E NOT LINKED NOT MOUNTED being issued when logging
on to an affected user.

The cause of the above problem is that in VM/370 1.3 a fix is implemented that
meant that the SYSUSR parameter, in DMKSYS, had to be used to have the new
DASD accessible. This means that a CP regen is required. As with the 1.2 system
once the new DASD is online it can be used to allocate mini disks space (just do
not use the first cylinder), or any other use.

Below is an explanation of what that fix was and it’s implications.

—ĔĔĔĔĔĔ—ĔĔĔĔĔĔ———� Start of insert—ĔĔĔĔĔĔ————�
—ĔĔĔĔ�-
I traced the cause of the DMKLNK108E message down to an flag setting in the
RBLOK field RDEVFLAG. When set to RDEVMOUT its considered not to be
ATTACHED/MOUNTED hence the message.

Further digging showed that adding my DASD to the SYSUSR macro and
regenning CP allowed my userid to logon correctly.

Given the above I did some more searching and found fixes that dealt with these
fields/values. This revealed fix HRC039DK which is not on the 1.2 VM/370 system
but is on the 1.3. This fix is attempted to add clarity and consistency to device
status as explained in HRC039DK MEMO.

So I would say its a pretty safe bet that the behaviour I had seen is not so must
of a bug but a correction to wooly handling of device status in the past. It does
mean that when using VM/370 beta 1.3 the use of the SYSUSR parameter in
DMKSYS is mandated, which I think is the purpose of HRC039DK. Users of the 1.3
beta who just move their directory entries over, as has worked in the past, and
expect the system to run the same as previous versions.

—ĔĔĔĔĔĔ—ĔĔĔĔĔĔ———end of insert —ĔĔĔĔĔĔ—————�
—ĔĔĔĔĔ�

Hope this is of use, at least it documents this behaviour for those moving to 1.3
and above from 1.2 systems.

Regards,
Martin.
--


Re: add new dasd to vm/370 sixpack

Martin Taylor
 

Hello,
I have had the same issue when adding DASD to a VM370 system at the 1.3 level.
Prior to this a simple create of the DASD and adding it to the machine config file with a suitable device address (that matches the DASD type) was all that was required. I had added new DASD to a 1.2 system many time with no issue. A VARY all devices in AUTOLOG1 brought the DASD online. However moving my system to 1.3 caused all the DASD I had added to become inaccessible with message DMKLNK108E NOT LINKED NOT MOUNTED being issued when logging on to an affected user.

The cause of the above problem is that in VM/370 1.3 a fix is implemented that meant that the SYSUSR parameter, in DMKSYS, had to be used to have the new DASD accessible. This means that a CP regen is required. As with the 1.2 system once the new DASD is online it can be used to allocate mini disks space (just do not use the first cylinder), or any other use.

Below is an explanation of what that fix was and it’s implications.

—ĔĔĔĔĔĔ—ĔĔĔĔĔĔ———� Start of insert—ĔĔĔĔĔĔ——————ĔĔĔĔ�-
I traced the cause of the DMKLNK108E message down to an flag setting in the RBLOK field RDEVFLAG. When set to RDEVMOUT its considered not to be ATTACHED/MOUNTED hence the message.

Further digging showed that adding my DASD to the SYSUSR macro and regenning CP allowed my userid to logon correctly.

Given the above I did some more searching and found fixes that dealt with these fields/values. This revealed fix HRC039DK which is not on the 1.2 VM/370 system but is on the 1.3. This fix is attempted to add clarity and consistency to device status as explained in HRC039DK MEMO.

So I would say its a pretty safe bet that the behaviour I had seen is not so must of a bug but a correction to wooly handling of device status in the past. It does mean that when using VM/370 beta 1.3 the use of the SYSUSR parameter in DMKSYS is mandated, which I think is the purpose of HRC039DK. Users of the 1.3 beta who just move their directory entries over, as has worked in the past, and expect the system to run the same as previous versions.

—ĔĔĔĔĔĔ—ĔĔĔĔĔĔ———end of insert —ĔĔĔĔĔĔ—ĔĔĔĔĔĔ—————�

Hope this is of use, at least it documents this behaviour for those moving to 1.3 and above from 1.2 systems.

Regards,
Martin.